@alfresco/adf-content-services
Version:
Alfresco ADF content services
70 lines • 14.7 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { NodePermissionService } from '../../services/node-permission.service';
import { ContentService } from '../../../common/services/content.service';
import { AllowableOperationsEnum } from '../../../common/models/allowable-operations.enum';
import { CommonModule } from '@angular/common';
import { AddPermissionPanelComponent } from './add-permission-panel.component';
import { MatButtonModule } from '@angular/material/button';
import { TranslateModule } from '@ngx-translate/core';
import * as i0 from "@angular/core";
import * as i1 from "../../services/node-permission.service";
import * as i2 from "../../../common/services/content.service";
import * as i3 from "@angular/material/button";
import * as i4 from "@ngx-translate/core";
/*
* @deprecated in 4.4.0, use adf-add-permission-panel instead.
*/
export class AddPermissionComponent {
constructor(nodePermissionService, contentService) {
this.nodePermissionService = nodePermissionService;
this.contentService = contentService;
/** Emitted when the node is updated successfully. */
this.success = new EventEmitter();
/** Emitted when an error occurs during the update. */
this.error = new EventEmitter();
this.selectedItems = [];
}
ngOnInit() {
this.nodePermissionService.getNodeWithRoles(this.nodeId).subscribe(({ node, roles }) => {
this.currentNode = node;
this.currentNodeRoles = roles;
});
}
onSelect(selection) {
this.selectedItems = selection;
}
isAddEnabled() {
return (this.contentService.hasAllowableOperations(this.currentNode, AllowableOperationsEnum.UPDATEPERMISSIONS) && this.selectedItems.length !== 0);
}
applySelection() {
if (this.contentService.hasAllowableOperations(this.currentNode, AllowableOperationsEnum.UPDATEPERMISSIONS)) {
const permissions = this.transformNodeToPermissionElement(this.selectedItems, this.currentNodeRoles[0].role);
this.nodePermissionService.updateNodePermissions(this.nodeId, permissions).subscribe((node) => {
this.success.emit(node);
}, (error) => {
this.error.emit(error);
});
}
}
transformNodeToPermissionElement(nodes, role) {
return nodes.map((node) => ({
authorityId: node.entry.properties['cm:authorityName'] ?? node.entry.properties['cm:userName'],
name: role,
accessStatus: 'ALLOWED'
}));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AddPermissionComponent, deps: [{ token: i1.NodePermissionService }, { token: i2.ContentService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: AddPermissionComponent, isStandalone: true, selector: "adf-add-permission", inputs: { nodeId: "nodeId" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<adf-add-permission-panel (select)=\"onSelect($event)\" />\n<div id=\"adf-add-permission-actions\">\n <button mat-button\n id=\"adf-add-permission-action-button\"\n class=\"adf-permission-action\"\n [disabled]=\"!isAddEnabled()\"\n (click)=\"applySelection()\">\n {{'PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION' | translate}}\n </button>\n</div>\n", styles: [".adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AddPermissionPanelComponent, selector: "adf-add-permission-panel", outputs: ["select"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AddPermissionComponent, decorators: [{
type: Component,
args: [{ selector: 'adf-add-permission', standalone: true, imports: [CommonModule, AddPermissionPanelComponent, MatButtonModule, TranslateModule], encapsulation: ViewEncapsulation.None, template: "<adf-add-permission-panel (select)=\"onSelect($event)\" />\n<div id=\"adf-add-permission-actions\">\n <button mat-button\n id=\"adf-add-permission-action-button\"\n class=\"adf-permission-action\"\n [disabled]=\"!isAddEnabled()\"\n (click)=\"applySelection()\">\n {{'PERMISSION_MANAGER.ADD-PERMISSION.ADD-ACTION' | translate}}\n </button>\n</div>\n", styles: [".adf-permission-action[disabled]{opacity:.6}.adf-permission-action:enabled{color:var(--theme-primary-color)}\n"] }]
}], ctorParameters: () => [{ type: i1.NodePermissionService }, { type: i2.ContentService }], propDecorators: { nodeId: [{
type: Input,
args: [{ required: true }]
}], success: [{
type: Output
}], error: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXBlcm1pc3Npb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLW1hbmFnZXIvY29tcG9uZW50cy9hZGQtcGVybWlzc2lvbi9hZGQtcGVybWlzc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL2FkZC1wZXJtaXNzaW9uL2FkZC1wZXJtaXNzaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBVXREOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQWlCL0IsWUFBb0IscUJBQTRDLEVBQVUsY0FBOEI7UUFBcEYsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVp4RyxxREFBcUQ7UUFFckQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbkMsc0RBQXNEO1FBRXRELFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWhDLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztJQUkyRSxDQUFDO0lBRTVHLFFBQVE7UUFDSixJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDbkYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRLENBQUMsU0FBc0I7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLENBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUM3SSxDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDMUcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FDaEYsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQ0osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0NBQWdDLENBQUMsS0FBa0IsRUFBRSxJQUFZO1FBQ3JFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QixXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDOUYsSUFBSSxFQUFFLElBQUk7WUFDVixZQUFZLEVBQUUsU0FBUztTQUMxQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBeERRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZKQ3ZDbkMsMllBVUEsdUtEcUJjLFlBQVksK0JBQUUsMkJBQTJCLHlGQUFFLGVBQWUsMk5BQUUsZUFBZTs7MkZBUTVFLHNCQUFzQjtrQkFYbEMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLDJCQUEyQixFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsaUJBR3ZFLGlCQUFpQixDQUFDLElBQUk7dUhBUXJDLE1BQU07c0JBREwsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS3pCLE9BQU87c0JBRE4sTUFBTTtnQkFLUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5vZGUsIE5vZGVFbnRyeSwgUGVybWlzc2lvbkVsZW1lbnQgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub2RlLXBlcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBSb2xlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcm9sZS5tb2RlbCc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vbW9kZWxzL2FsbG93YWJsZS1vcGVyYXRpb25zLmVudW0nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFkZFBlcm1pc3Npb25QYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYWRkLXBlcm1pc3Npb24tcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtYWRkLXBlcm1pc3Npb24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQWRkUGVybWlzc2lvblBhbmVsQ29tcG9uZW50LCBNYXRCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkZC1wZXJtaXNzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hZGQtcGVybWlzc2lvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG4vKlxuICogQGRlcHJlY2F0ZWQgaW4gNC40LjAsIHVzZSBhZGYtYWRkLXBlcm1pc3Npb24tcGFuZWwgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFkZFBlcm1pc3Npb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKiBJRCBvZiB0aGUgdGFyZ2V0IG5vZGUuICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBub2RlSWQ6IHN0cmluZztcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIG5vZGUgaXMgdXBkYXRlZCBzdWNjZXNzZnVsbHkuICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZT4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBzZWxlY3RlZEl0ZW1zOiBOb2RlRW50cnlbXSA9IFtdO1xuICAgIGN1cnJlbnROb2RlOiBOb2RlO1xuICAgIGN1cnJlbnROb2RlUm9sZXM6IFJvbGVNb2RlbFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlUGVybWlzc2lvblNlcnZpY2U6IE5vZGVQZXJtaXNzaW9uU2VydmljZSwgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ub2RlUGVybWlzc2lvblNlcnZpY2UuZ2V0Tm9kZVdpdGhSb2xlcyh0aGlzLm5vZGVJZCkuc3Vic2NyaWJlKCh7IG5vZGUsIHJvbGVzIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBub2RlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Tm9kZVJvbGVzID0gcm9sZXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2VsZWN0KHNlbGVjdGlvbjogTm9kZUVudHJ5W10pIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIGlzQWRkRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29udGVudFNlcnZpY2UuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyh0aGlzLmN1cnJlbnROb2RlLCBBbGxvd2FibGVPcGVyYXRpb25zRW51bS5VUERBVEVQRVJNSVNTSU9OUykgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFwcGx5U2VsZWN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKHRoaXMuY3VycmVudE5vZGUsIEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtLlVQREFURVBFUk1JU1NJT05TKSkge1xuICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSB0aGlzLnRyYW5zZm9ybU5vZGVUb1Blcm1pc3Npb25FbGVtZW50KHRoaXMuc2VsZWN0ZWRJdGVtcywgdGhpcy5jdXJyZW50Tm9kZVJvbGVzWzBdLnJvbGUpO1xuICAgICAgICAgICAgdGhpcy5ub2RlUGVybWlzc2lvblNlcnZpY2UudXBkYXRlTm9kZVBlcm1pc3Npb25zKHRoaXMubm9kZUlkLCBwZXJtaXNzaW9ucykuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KG5vZGUpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdHJhbnNmb3JtTm9kZVRvUGVybWlzc2lvbkVsZW1lbnQobm9kZXM6IE5vZGVFbnRyeVtdLCByb2xlOiBzdHJpbmcpOiBQZXJtaXNzaW9uRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgICAgIGF1dGhvcml0eUlkOiBub2RlLmVudHJ5LnByb3BlcnRpZXNbJ2NtOmF1dGhvcml0eU5hbWUnXSA/PyBub2RlLmVudHJ5LnByb3BlcnRpZXNbJ2NtOnVzZXJOYW1lJ10sXG4gICAgICAgICAgICBuYW1lOiByb2xlLFxuICAgICAgICAgICAgYWNjZXNzU3RhdHVzOiAnQUxMT1dFRCdcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cbiIsIjxhZGYtYWRkLXBlcm1pc3Npb24tcGFuZWwgKHNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCIgLz5cbjxkaXYgaWQ9XCJhZGYtYWRkLXBlcm1pc3Npb24tYWN0aW9uc1wiPlxuICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgaWQ9XCJhZGYtYWRkLXBlcm1pc3Npb24tYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJhZGYtcGVybWlzc2lvbi1hY3Rpb25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNBZGRFbmFibGVkKClcIlxuICAgICAgICAgIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCI+XG4gICAgIHt7J1BFUk1JU1NJT05fTUFOQUdFUi5BREQtUEVSTUlTU0lPTi5BREQtQUNUSU9OJyB8IHRyYW5zbGF0ZX19XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==