@alfresco/aca-content 4.3.0-6492016595 → 4.3.0-6539484143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/en.json +1 -1
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +6 -4
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +20 -6
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +10 -3
- package/fesm2015/alfresco-aca-content.mjs +33 -10
- package/fesm2015/alfresco-aca-content.mjs.map +1 -1
- package/fesm2020/alfresco-aca-content.mjs +32 -9
- package/fesm2020/alfresco-aca-content.mjs.map +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +3 -0
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +2 -1
- package/package.json +5 -5
package/assets/i18n/en.json
CHANGED
|
@@ -488,7 +488,7 @@
|
|
|
488
488
|
"CONFLICT": "This Library ID is already used. Check the trashcan.",
|
|
489
489
|
"ID_TOO_LONG": "Use 72 characters or less for the URL name",
|
|
490
490
|
"DESCRIPTION_TOO_LONG": "Use 512 characters or less for description",
|
|
491
|
-
"
|
|
491
|
+
"TITLE_TOO_LONG_OR_MISSING": "Use 256 characters or less for title",
|
|
492
492
|
"ILLEGAL_CHARACTERS": "Use numbers and letters only",
|
|
493
493
|
"ONLY_SPACES": "Library name can't contain only spaces",
|
|
494
494
|
"LIBRARY_UPDATE_ERROR": "There was an error updating library properties"
|
|
@@ -91,15 +91,17 @@ export class CustomNameColumnComponent extends NameColumnComponent {
|
|
|
91
91
|
this.onDestroy$$.complete();
|
|
92
92
|
}
|
|
93
93
|
onBadgeClick(badge) {
|
|
94
|
-
|
|
94
|
+
if (badge.actions?.click) {
|
|
95
|
+
this.appExtensionService.runActionById(badge.actions?.click, this.node);
|
|
96
|
+
}
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
CustomNameColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CustomNameColumnComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Actions }, { token: i2.NodesApiService }, { token: i3.AppExtensionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
CustomNameColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: CustomNameColumnComponent, isStandalone: true, selector: "aca-custom-name-column", host: { classAttribute: "adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column" }, usesInheritance: true, ngImport: i0, template: "<div class=\"aca-custom-name-column\">\n <div
|
|
100
|
+
CustomNameColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: CustomNameColumnComponent, isStandalone: true, selector: "aca-custom-name-column", host: { classAttribute: "adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column" }, usesInheritance: true, ngImport: i0, template: "<div class=\"aca-custom-name-column\">\n <div class=\"aca-name-column-container\">\n <span\n role=\"link\"\n tabindex=\"0\"\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate : { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n </div>\n <div class=\"aca-name-column-badges\">\n <ng-container *ngFor=\"let badge of badges\">\n <adf-dynamic-component *ngIf=\"badge.component; else iconBadge\" [id]=\"badge.component\" [data]=\"{ node }\"></adf-dynamic-component>\n <ng-template #iconBadge>\n <adf-icon class=\"adf-datatable-cell-badge\" [title]=\"badge.tooltip | translate\" [value]=\"badge.icon\" (click)=\"onBadgeClick(badge)\"></adf-icon>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: [".aca-custom-name-column{display:flex;align-items:center;justify-content:space-between;width:100%}.aca-custom-name-column .aca-name-column-badges{display:flex}.aca-custom-name-column .aca-name-column-badges .adf-datatable-cell-badge{color:var(--theme-contrast-gray)}.aca-custom-name-column .aca-name-column-container{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}.adf-datatable-content-cell.adf-name-column.aca-custom-name-column{position:unset}.adf-datatable-list .adf-datatable-link:hover .aca-name-column-badges{color:var(--adf-theme-foreground-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: LockedByComponent, selector: "aca-locked-by", inputs: ["node"] }, { kind: "ngmodule", type: ContentPipeModule }, { kind: "pipe", type: i2.NodeNameTooltipPipe, name: "adfNodeNameTooltip" }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i6.IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "component", type: i7.DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
99
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CustomNameColumnComponent, decorators: [{
|
|
100
102
|
type: Component,
|
|
101
103
|
args: [{ standalone: true, imports: [CommonModule, TranslateModule, LockedByComponent, ContentPipeModule, IconModule, ExtensionsModule], selector: 'aca-custom-name-column', encapsulation: ViewEncapsulation.None, host: {
|
|
102
104
|
class: 'adf-datatable-content-cell adf-datatable-link adf-name-column aca-custom-name-column'
|
|
103
|
-
}, template: "<div class=\"aca-custom-name-column\">\n <div
|
|
105
|
+
}, template: "<div class=\"aca-custom-name-column\">\n <div class=\"aca-name-column-container\">\n <span\n role=\"link\"\n tabindex=\"0\"\n [attr.aria-label]=\"\n (isFile ? 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FILE_LINK_ARIA_LABEL' : 'CUSTOM_NAME_COLUMN.ACCESSIBILITY.FOLDER_LINK_ARIA_LABEL')\n | translate : { name: displayText$ | async }\n \"\n class=\"adf-datatable-cell-value\"\n title=\"{{ node | adfNodeNameTooltip }}\"\n (click)=\"onLinkClick($event)\"\n (keyup.enter)=\"onLinkClick($event)\"\n >\n {{ displayText$ | async }}\n </span>\n\n <ng-container *ngIf=\"isFile && isFileWriteLocked\">\n <aca-locked-by [node]=\"context.row.node\"></aca-locked-by>\n </ng-container>\n </div>\n <div class=\"aca-name-column-badges\">\n <ng-container *ngFor=\"let badge of badges\">\n <adf-dynamic-component *ngIf=\"badge.component; else iconBadge\" [id]=\"badge.component\" [data]=\"{ node }\"></adf-dynamic-component>\n <ng-template #iconBadge>\n <adf-icon class=\"adf-datatable-cell-badge\" [title]=\"badge.tooltip | translate\" [value]=\"badge.icon\" (click)=\"onBadgeClick(badge)\"></adf-icon>\n </ng-template>\n </ng-container>\n </div>\n</div>\n", styles: [".aca-custom-name-column{display:flex;align-items:center;justify-content:space-between;width:100%}.aca-custom-name-column .aca-name-column-badges{display:flex}.aca-custom-name-column .aca-name-column-badges .adf-datatable-cell-badge{color:var(--theme-contrast-gray)}.aca-custom-name-column .aca-name-column-container{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-custom-name-column .aca-name-column-container aca-locked-by{display:flex;align-items:center;color:#0000008a;max-width:100%;padding:0 10px}.aca-custom-name-column .aca-name-column-container aca-locked-by .locked_by--name{overflow:hidden;text-overflow:ellipsis}.adf-datatable-content-cell.adf-name-column.aca-custom-name-column{position:unset}.adf-datatable-list .adf-datatable-link:hover .aca-name-column-badges{color:var(--adf-theme-foreground-text-color)}\n"] }]
|
|
104
106
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Actions }, { type: i2.NodesApiService }, { type: i3.AppExtensionService }]; } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFTLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9C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LEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRSxDQUFDOztzSEF6RVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsMk5DL0N0Qyxvd0NBOEJBLGl4QkRRWSxZQUFZLGtaQUFFLGVBQWUsNEZBQUUsaUJBQWlCLDJFQUFFLGlCQUFpQiwwR0FBRSxVQUFVLDBJQUFFLGdCQUFnQjsyRkFTaEcseUJBQXlCO2tCQVhyQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFlBQ2xHLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsc0ZBQXNGO3FCQUM5RiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb250ZW50UGlwZU1vZHVsZSwgTmFtZUNvbHVtbkNvbXBvbmVudCwgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5vZGVBY3Rpb25UeXBlcyB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IExvY2tlZEJ5Q29tcG9uZW50LCBpc0xvY2tlZCwgQXBwRXh0ZW5zaW9uU2VydmljZSwgQmFkZ2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEV4dGVuc2lvbnNNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBMb2NrZWRCeUNvbXBvbmVudCwgQ29udGVudFBpcGVNb2R1bGUsIEljb25Nb2R1bGUsIEV4dGVuc2lvbnNNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2FjYS1jdXN0b20tbmFtZS1jb2x1bW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmFtZS1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYW1lLWNvbHVtbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhZGYtZGF0YXRhYmxlLWNvbnRlbnQtY2VsbCBhZGYtZGF0YXRhYmxlLWxpbmsgYWRmLW5hbWUtY29sdW1uIGFjYS1jdXN0b20tbmFtZS1jb2x1bW4nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tTmFtZUNvbHVtbkNvbXBvbmVudCBleHRlbmRzIE5hbWVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgb25EZXN0cm95JCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGlzRmlsZTogYm9vbGVhbjtcbiAgaXNGaWxlV3JpdGVMb2NrZWQ6IGJvb2xlYW47XG4gIGJhZGdlczogQmFkZ2VbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBub2Rlc1NlcnZpY2U6IE5vZGVzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGFwcEV4dGVuc2lvblNlcnZpY2U6IEFwcEV4dGVuc2lvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudCwgbm9kZXNTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICB0aGlzLmlzRmlsZSA9IHRoaXMubm9kZT8uZW50cnkgJiYgIXRoaXMubm9kZS5lbnRyeS5pc0ZvbGRlcjtcbiAgICB0aGlzLmlzRmlsZVdyaXRlTG9ja2VkID0gaXNMb2NrZWQodGhpcy5ub2RlKTtcblxuICAgIHRoaXMubm9kZXNTZXJ2aWNlLm5vZGVVcGRhdGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCQpKS5zdWJzY3JpYmUoKG5vZGU6IGFueSkgPT4ge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5jb250ZXh0LnJvdztcbiAgICAgIGlmIChyb3cpIHtcbiAgICAgICAgY29uc3QgeyBlbnRyeSB9ID0gcm93Lm5vZGU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJZCA9IGVudHJ5Lm5vZGVJZCB8fCBlbnRyeS5pZDtcbiAgICAgICAgY29uc3QgdXBkYXRlZElkID0gbm9kZS5ub2RlSWQgfHwgbm9kZS5pZDtcblxuICAgICAgICBpZiAoY3VycmVudElkID09PSB1cGRhdGVkSWQpIHtcbiAgICAgICAgICBlbnRyeS5uYW1lID0gbm9kZS5uYW1lO1xuICAgICAgICAgIHJvdy5ub2RlID0geyBlbnRyeSB9O1xuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNGaWxlID0gdGhpcy5ub2RlPy5lbnRyeSAmJiAhdGhpcy5ub2RlLmVudHJ5LmlzRm9sZGVyO1xuICAgICAgICB0aGlzLmlzRmlsZVdyaXRlTG9ja2VkID0gaXNMb2NrZWQodGhpcy5ub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBvZlR5cGU8YW55PihOb2RlQWN0aW9uVHlwZXMuRWRpdE9mZmxpbmUpLFxuICAgICAgICBmaWx0ZXIoKHZhbCkgPT4gdGhpcy5ub2RlLmVudHJ5LmlkID09PSB2YWwucGF5bG9hZC5lbnRyeS5pZCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNGaWxlV3JpdGVMb2NrZWQgPSBpc0xvY2tlZCh0aGlzLm5vZGUpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hcHBFeHRlbnNpb25TZXJ2aWNlXG4gICAgICAuZ2V0QmFkZ2VzKHRoaXMubm9kZSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGJhZGdlcykgPT4ge1xuICAgICAgICB0aGlzLmJhZGdlcyA9IGJhZGdlcztcbiAgICAgIH0pO1xuICB9XG5cbiAgb25MaW5rQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkNsaWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuXG4gICAgdGhpcy5vbkRlc3Ryb3kkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uQmFkZ2VDbGljayhiYWRnZTogQmFkZ2UpIHtcbiAgICB0aGlzLmFwcEV4dGVuc2lvblNlcnZpY2UucnVuQWN0aW9uQnlJZChiYWRnZS5hY3Rpb25zPy5jbGljaywgdGhpcy5ub2RlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFjYS1jdXN0b20tbmFtZS1jb2x1bW5cIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdhY2EtbmFtZS1jb2x1bW4tY29udGFpbmVyJzogaXNGaWxlICYmIGlzRmlsZVdyaXRlTG9ja2VkIH1cIj5cbiAgICA8c3BhblxuICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgIChpc0ZpbGUgPyAnQ1VTVE9NX05BTUVfQ09MVU1OLkFDQ0VTU0lCSUxJVFkuRklMRV9MSU5LX0FSSUFfTEFCRUwnIDogJ0NVU1RPTV9OQU1FX0NPTFVNTi5BQ0NFU1NJQklMSVRZLkZPTERFUl9MSU5LX0FSSUFfTEFCRUwnKVxuICAgICAgICAgIHwgdHJhbnNsYXRlIDogeyBuYW1lOiBkaXNwbGF5VGV4dCQgfCBhc3luYyB9XG4gICAgICBcIlxuICAgICAgY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWVcIlxuICAgICAgdGl0bGU9XCJ7eyBub2RlIHwgYWRmTm9kZU5hbWVUb29sdGlwIH19XCJcbiAgICAgIChjbGljayk9XCJvbkxpbmtDbGljaygkZXZlbnQpXCJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJvbkxpbmtDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICB7eyBkaXNwbGF5VGV4dCQgfCBhc3luYyB9fVxuICAgIDwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpbGUgJiYgaXNGaWxlV3JpdGVMb2NrZWRcIj5cbiAgICAgIDxhY2EtbG9ja2VkLWJ5IFtub2RlXT1cImNvbnRleHQucm93Lm5vZGVcIj48L2FjYS1sb2NrZWQtYnk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYWNhLW5hbWUtY29sdW1uLWJhZGdlc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGJhZGdlIG9mIGJhZGdlc1wiPlxuICAgICAgPGFkZi1keW5hbWljLWNvbXBvbmVudCAqbmdJZj1cImJhZGdlLmNvbXBvbmVudDsgZWxzZSBpY29uQmFkZ2VcIiBbaWRdPVwiYmFkZ2UuY29tcG9uZW50XCIgW2RhdGFdPVwieyBub2RlIH1cIj48L2FkZi1keW5hbWljLWNvbXBvbmVudD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvbkJhZGdlPlxuICAgICAgICA8YWRmLWljb24gY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtYmFkZ2VcIiBbdGl0bGVdPVwiYmFkZ2UudG9vbHRpcCB8IHRyYW5zbGF0ZVwiIFt2YWx1ZV09XCJiYWRnZS5pY29uXCIgKGNsaWNrKT1cIm9uQmFkZ2VDbGljayhiYWRnZSlcIj48L2FkZi1pY29uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2RsLWN1c3RvbS1jb21wb25lbnRzL25hbWUtY29sdW1uL25hbWUtY29sdW1uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFTLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9C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LEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQzs7c0hBM0VVLHlCQUF5QjswR0FBekIseUJBQXlCLDJOQy9DdEMsNnRDQThCQSw4M0JEUVksWUFBWSxvVEFBRSxlQUFlLDRGQUFFLGlCQUFpQiwyRUFBRSxpQkFBaUIsMEdBQUUsVUFBVSwwSUFBRSxnQkFBZ0I7MkZBU2hHLHlCQUF5QjtrQkFYckMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUNsRyx3QkFBd0IsaUJBR25CLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHNGQUFzRjtxQkFDOUYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29udGVudFBpcGVNb2R1bGUsIE5hbWVDb2x1bW5Db21wb25lbnQsIE5vZGVzQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOb2RlQWN0aW9uVHlwZXMgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBMb2NrZWRCeUNvbXBvbmVudCwgaXNMb2NrZWQsIEFwcEV4dGVuc2lvblNlcnZpY2UsIEJhZGdlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgTG9ja2VkQnlDb21wb25lbnQsIENvbnRlbnRQaXBlTW9kdWxlLCBJY29uTW9kdWxlLCBFeHRlbnNpb25zTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtY3VzdG9tLW5hbWUtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hbWUtY29sdW1uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmFtZS1jb2x1bW4uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYWRmLWRhdGF0YWJsZS1jb250ZW50LWNlbGwgYWRmLWRhdGF0YWJsZS1saW5rIGFkZi1uYW1lLWNvbHVtbiBhY2EtY3VzdG9tLW5hbWUtY29sdW1uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbU5hbWVDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBOYW1lQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG9uRGVzdHJveSQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBpc0ZpbGU6IGJvb2xlYW47XG4gIGlzRmlsZVdyaXRlTG9ja2VkOiBib29sZWFuO1xuICBiYWRnZXM6IEJhZGdlW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgbm9kZXNTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBFeHRlbnNpb25TZXJ2aWNlOiBBcHBFeHRlbnNpb25TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIG5vZGVzU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgdGhpcy5pc0ZpbGUgPSB0aGlzLm5vZGU/LmVudHJ5ICYmICF0aGlzLm5vZGUuZW50cnkuaXNGb2xkZXI7XG4gICAgdGhpcy5pc0ZpbGVXcml0ZUxvY2tlZCA9IGlzTG9ja2VkKHRoaXMubm9kZSk7XG5cbiAgICB0aGlzLm5vZGVzU2VydmljZS5ub2RlVXBkYXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQkKSkuc3Vic2NyaWJlKChub2RlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHJvdyA9IHRoaXMuY29udGV4dC5yb3c7XG4gICAgICBpZiAocm93KSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHJvdy5ub2RlO1xuICAgICAgICBjb25zdCBjdXJyZW50SWQgPSBlbnRyeS5ub2RlSWQgfHwgZW50cnkuaWQ7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRJZCA9IG5vZGUubm9kZUlkIHx8IG5vZGUuaWQ7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJZCA9PT0gdXBkYXRlZElkKSB7XG4gICAgICAgICAgZW50cnkubmFtZSA9IG5vZGUubmFtZTtcbiAgICAgICAgICByb3cubm9kZSA9IHsgZW50cnkgfTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRmlsZSA9IHRoaXMubm9kZT8uZW50cnkgJiYgIXRoaXMubm9kZS5lbnRyeS5pc0ZvbGRlcjtcbiAgICAgICAgdGhpcy5pc0ZpbGVXcml0ZUxvY2tlZCA9IGlzTG9ja2VkKHRoaXMubm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZUeXBlPGFueT4oTm9kZUFjdGlvblR5cGVzLkVkaXRPZmZsaW5lKSxcbiAgICAgICAgZmlsdGVyKCh2YWwpID0+IHRoaXMubm9kZS5lbnRyeS5pZCA9PT0gdmFsLnBheWxvYWQuZW50cnkuaWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRmlsZVdyaXRlTG9ja2VkID0gaXNMb2NrZWQodGhpcy5ub2RlKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYXBwRXh0ZW5zaW9uU2VydmljZVxuICAgICAgLmdldEJhZGdlcyh0aGlzLm5vZGUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKChiYWRnZXMpID0+IHtcbiAgICAgICAgdGhpcy5iYWRnZXMgPSBiYWRnZXM7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uTGlua0NsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25DbGljaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIHRoaXMub25EZXN0cm95JCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbkJhZGdlQ2xpY2soYmFkZ2U6IEJhZGdlKSB7XG4gICAgaWYgKGJhZGdlLmFjdGlvbnM/LmNsaWNrKSB7XG4gICAgICB0aGlzLmFwcEV4dGVuc2lvblNlcnZpY2UucnVuQWN0aW9uQnlJZChiYWRnZS5hY3Rpb25zPy5jbGljaywgdGhpcy5ub2RlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2EtY3VzdG9tLW5hbWUtY29sdW1uXCI+XG4gIDxkaXYgY2xhc3M9XCJhY2EtbmFtZS1jb2x1bW4tY29udGFpbmVyXCI+XG4gICAgPHNwYW5cbiAgICAgIHJvbGU9XCJsaW5rXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAoaXNGaWxlID8gJ0NVU1RPTV9OQU1FX0NPTFVNTi5BQ0NFU1NJQklMSVRZLkZJTEVfTElOS19BUklBX0xBQkVMJyA6ICdDVVNUT01fTkFNRV9DT0xVTU4uQUNDRVNTSUJJTElUWS5GT0xERVJfTElOS19BUklBX0xBQkVMJylcbiAgICAgICAgICB8IHRyYW5zbGF0ZSA6IHsgbmFtZTogZGlzcGxheVRleHQkIHwgYXN5bmMgfVxuICAgICAgXCJcbiAgICAgIGNsYXNzPVwiYWRmLWRhdGF0YWJsZS1jZWxsLXZhbHVlXCJcbiAgICAgIHRpdGxlPVwie3sgbm9kZSB8IGFkZk5vZGVOYW1lVG9vbHRpcCB9fVwiXG4gICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soJGV2ZW50KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib25MaW5rQ2xpY2soJGV2ZW50KVwiXG4gICAgPlxuICAgICAge3sgZGlzcGxheVRleHQkIHwgYXN5bmMgfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaWxlICYmIGlzRmlsZVdyaXRlTG9ja2VkXCI+XG4gICAgICA8YWNhLWxvY2tlZC1ieSBbbm9kZV09XCJjb250ZXh0LnJvdy5ub2RlXCI+PC9hY2EtbG9ja2VkLWJ5PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjYS1uYW1lLWNvbHVtbi1iYWRnZXNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBiYWRnZSBvZiBiYWRnZXNcIj5cbiAgICAgIDxhZGYtZHluYW1pYy1jb21wb25lbnQgKm5nSWY9XCJiYWRnZS5jb21wb25lbnQ7IGVsc2UgaWNvbkJhZGdlXCIgW2lkXT1cImJhZGdlLmNvbXBvbmVudFwiIFtkYXRhXT1cInsgbm9kZSB9XCI+PC9hZGYtZHluYW1pYy1jb21wb25lbnQ+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25CYWRnZT5cbiAgICAgICAgPGFkZi1pY29uIGNsYXNzPVwiYWRmLWRhdGF0YWJsZS1jZWxsLWJhZGdlXCIgW3RpdGxlXT1cImJhZGdlLnRvb2x0aXAgfCB0cmFuc2xhdGVcIiBbdmFsdWVdPVwiYmFkZ2UuaWNvblwiIChjbGljayk9XCJvbkJhZGdlQ2xpY2soYmFkZ2UpXCI+PC9hZGYtaWNvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs
CHANGED
|
@@ -71,7 +71,7 @@ export class LibraryMetadataFormComponent {
|
|
|
71
71
|
];
|
|
72
72
|
this.form = new UntypedFormGroup({
|
|
73
73
|
id: new UntypedFormControl({ value: '', disabled: true }),
|
|
74
|
-
title: new UntypedFormControl({ value: '' }, [Validators.required, Validators.maxLength(256)]),
|
|
74
|
+
title: new UntypedFormControl({ value: '' }, [Validators.required, Validators.maxLength(256), this.validateEmptyName]),
|
|
75
75
|
description: new UntypedFormControl({ value: '' }, [Validators.maxLength(512)]),
|
|
76
76
|
visibility: new UntypedFormControl(this.libraryType[0].value)
|
|
77
77
|
});
|
|
@@ -84,6 +84,9 @@ export class LibraryMetadataFormComponent {
|
|
|
84
84
|
this._queriesApi = this._queriesApi ?? new QueriesApi(this.alfrescoApiService.getInstance());
|
|
85
85
|
return this._queriesApi;
|
|
86
86
|
}
|
|
87
|
+
get titleErrorTranslationKey() {
|
|
88
|
+
return this._titleErrorTranslationKey;
|
|
89
|
+
}
|
|
87
90
|
getVisibilityLabel(value) {
|
|
88
91
|
return this.libraryType.find((type) => type.value === value).label;
|
|
89
92
|
}
|
|
@@ -97,6 +100,11 @@ export class LibraryMetadataFormComponent {
|
|
|
97
100
|
}
|
|
98
101
|
ngOnInit() {
|
|
99
102
|
this.updateForm(this.node);
|
|
103
|
+
this.form.controls.title.statusChanges
|
|
104
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
105
|
+
.subscribe(() => (this._titleErrorTranslationKey = this.form.controls.title.errors?.empty
|
|
106
|
+
? 'LIBRARY.ERRORS.ONLY_SPACES'
|
|
107
|
+
: 'LIBRARY.ERRORS.TITLE_TOO_LONG_OR_MISSING'));
|
|
100
108
|
this.form.controls['title'].valueChanges
|
|
101
109
|
.pipe(debounceTime(300), mergeMap((title) => this.findLibraryByTitle(title)), takeUntil(this.onDestroy$))
|
|
102
110
|
.subscribe((result) => {
|
|
@@ -128,7 +136,10 @@ export class LibraryMetadataFormComponent {
|
|
|
128
136
|
update() {
|
|
129
137
|
if (this.canUpdateLibrary && this.form.valid) {
|
|
130
138
|
this.form.markAsPristine();
|
|
131
|
-
this.store.dispatch(new UpdateLibraryAction(
|
|
139
|
+
this.store.dispatch(new UpdateLibraryAction({
|
|
140
|
+
...this.form.value,
|
|
141
|
+
title: this.form.value.title.trim()
|
|
142
|
+
}));
|
|
132
143
|
}
|
|
133
144
|
}
|
|
134
145
|
updateForm(node) {
|
|
@@ -142,7 +153,7 @@ export class LibraryMetadataFormComponent {
|
|
|
142
153
|
}
|
|
143
154
|
findLibraryByTitle(libraryTitle) {
|
|
144
155
|
return from(this.queriesApi
|
|
145
|
-
.findSites(libraryTitle, {
|
|
156
|
+
.findSites(libraryTitle.trim(), {
|
|
146
157
|
maxItems: 1,
|
|
147
158
|
fields: ['title']
|
|
148
159
|
})
|
|
@@ -153,9 +164,12 @@ export class LibraryMetadataFormComponent {
|
|
|
153
164
|
.pipe(ofType(actionType), filter((action) => action.payload === payload), takeUntil(this.onDestroy$))
|
|
154
165
|
.subscribe(handle);
|
|
155
166
|
}
|
|
167
|
+
validateEmptyName(control) {
|
|
168
|
+
return control.value.length && !control.value.trim() ? { empty: true } : null;
|
|
169
|
+
}
|
|
156
170
|
}
|
|
157
171
|
LibraryMetadataFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LibraryMetadataFormComponent, deps: [{ token: i1.AlfrescoApiService }, { token: i2.Store }, { token: i3.Actions }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
-
LibraryMetadataFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: LibraryMetadataFormComponent, isStandalone: true, selector: "app-library-metadata-form", inputs: { node: "node" }, usesOnChanges: true, ngImport: i0, template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-name-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-id-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-visibility-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ visibilityLabel | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-description-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field floatLabel=\"auto\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{
|
|
172
|
+
LibraryMetadataFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: LibraryMetadataFormComponent, isStandalone: true, selector: "app-library-metadata-form", inputs: { node: "node" }, usesOnChanges: true, ngImport: i0, template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-name-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-id-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-visibility-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ visibilityLabel | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-description-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field floatLabel=\"auto\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{ titleErrorTranslationKey | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"edit && canUpdateLibrary\">\n <button mat-button (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: ["app-library-metadata-form .mat-form-field{width:100%}app-library-metadata-form .mat-form-field-infix{position:relative;width:180px}app-library-metadata-form .mat-form-field-infix .mat-form-field-label-wrapper{position:absolute;width:100%;pointer-events:none}app-library-metadata-form .mat-form-field-infix .mat-form-field-label-wrapper .mat-form-field-label{position:absolute;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i5.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i7.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
159
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: LibraryMetadataFormComponent, decorators: [{
|
|
160
174
|
type: Component,
|
|
161
175
|
args: [{ standalone: true, imports: [
|
|
@@ -170,8 +184,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
170
184
|
MatInputModule,
|
|
171
185
|
A11yModule,
|
|
172
186
|
MatButtonModule
|
|
173
|
-
], selector: 'app-library-metadata-form', encapsulation: ViewEncapsulation.None, template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-name-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-id-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-visibility-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ visibilityLabel | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-description-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field floatLabel=\"auto\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{
|
|
187
|
+
], selector: 'app-library-metadata-form', encapsulation: ViewEncapsulation.None, template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-name-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-id-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-visibility-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ visibilityLabel | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float\">\n <div class=\"mat-form-field-wrapper\" data-automation-id=\"library-description-properties-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field floatLabel=\"auto\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{ titleErrorTranslationKey | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field floatLabel=\"auto\">\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"edit && canUpdateLibrary\">\n <button mat-button (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n </mat-card-actions>\n</mat-card>\n", styles: ["app-library-metadata-form .mat-form-field{width:100%}app-library-metadata-form .mat-form-field-infix{position:relative;width:180px}app-library-metadata-form .mat-form-field-infix .mat-form-field-label-wrapper{position:absolute;width:100%;pointer-events:none}app-library-metadata-form .mat-form-field-infix .mat-form-field-label-wrapper .mat-form-field-label{position:absolute;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0}\n"] }]
|
|
174
188
|
}], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }, { type: i2.Store }, { type: i3.Actions }]; }, propDecorators: { node: [{
|
|
175
189
|
type: Input
|
|
176
190
|
}] } });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1tZXRhZGF0YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFnQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUE4QixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSixPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUdMLG1CQUFtQixFQUduQixtQkFBbUIsRUFDcEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFjLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFx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LENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFDOUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7eUhBM0hVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLG9JQzdFekMsMG9LQXNJQSxrZ0JEMUVJLFlBQVksK1BBQ1osYUFBYSx1V0FDYixlQUFlLDJGQUNmLGtCQUFrQiwrWEFDbEIsV0FBVyx3M0JBQ1gsbUJBQW1CLCtVQUNuQixlQUFlLDBRQUNmLGVBQWUsOEJBQ2YsY0FBYywyV0FDZCxVQUFVLDhCQUNWLGVBQWU7MkZBT04sNEJBQTRCO2tCQXBCeEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixlQUFlO3FCQUNoQixZQUNTLDJCQUEyQixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSTttSkFVckMsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdGb3JtLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1ZXJpZXNBcGksIFNpdGVFbnRyeSwgU2l0ZVBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBcHBTdG9yZSxcbiAgU25hY2tiYXJBY3Rpb24sXG4gIFNuYWNrYmFyQWN0aW9uVHlwZXMsXG4gIFNuYWNrYmFyRXJyb3JBY3Rpb24sXG4gIFNuYWNrYmFySW5mb0FjdGlvbixcbiAgVXBkYXRlTGlicmFyeUFjdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWVyZ2VNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciwgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5cbmV4cG9ydCBjbGFzcyBJbnN0YW50RXJyb3JTdGF0ZU1hdGNoZXIgaW1wbGVtZW50cyBFcnJvclN0YXRlTWF0Y2hlciB7XG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSBmb3JtICYmIGZvcm0uc3VibWl0dGVkO1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQgfHwgaXNTdWJtaXR0ZWQpKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBMaWJyYXJ5TWV0YWRhdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3F1ZXJpZXNBcGk6IFF1ZXJpZXNBcGk7XG4gIGdldCBxdWVyaWVzQXBpKCk6IFF1ZXJpZXNBcGkge1xuICAgIHRoaXMuX3F1ZXJpZXNBcGkgPSB0aGlzLl9xdWVyaWVzQXBpID8/IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl9xdWVyaWVzQXBpO1xuICB9XG5cbiAgQElucHV0KClcbiAgbm9kZTogU2l0ZUVudHJ5O1xuXG4gIGVkaXQ6IGJvb2xlYW47XG4gIGxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuXG4gIGxpYnJhcnlUeXBlID0gW1xuICAgIHsgdmFsdWU6ICdQVUJMSUMnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5QVUJMSUMnIH0sXG4gICAgeyB2YWx1ZTogJ1BSSVZBVEUnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5QUklWQVRFJyB9LFxuICAgIHsgdmFsdWU6ICdNT0RFUkFURUQnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5NT0RFUkFURUQnIH1cbiAgXTtcblxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIGlkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9KSxcbiAgICB0aXRsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiAnJyB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0pLFxuICAgIGRlc2NyaXB0aW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnIH0sIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXSksXG4gICAgdmlzaWJpbGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmxpYnJhcnlUeXBlWzBdLnZhbHVlKVxuICB9KTtcblxuICBtYXRjaGVyID0gbmV3IEluc3RhbnRFcnJvclN0YXRlTWF0Y2hlcigpO1xuICBjYW5VcGRhdGVMaWJyYXJ5ID0gZmFsc2U7XG4gIHZpc2liaWxpdHlMYWJlbCA9ICcnO1xuXG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxmcmVzY29BcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8QXBwU3RvcmU+LCBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zKSB7fVxuICBnZXRWaXNpYmlsaXR5TGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmxpYnJhcnlUeXBlLmZpbmQoKHR5cGUpID0+IHR5cGUudmFsdWUgPT09IHZhbHVlKS5sYWJlbDtcbiAgfVxuXG4gIHRvZ2dsZUVkaXQoKSB7XG4gICAgdGhpcy5lZGl0ID0gIXRoaXMuZWRpdDtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5ub2RlKTtcbiAgICB0aGlzLnRvZ2dsZUVkaXQoKTtcbiAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzWyd0aXRsZSddLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBtZXJnZU1hcCgodGl0bGUpID0+IHRoaXMuZmluZExpYnJhcnlCeVRpdGxlKHRpdGxlKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBlbnRyaWVzIH0gPSByZXN1bHQubGlzdDtcblxuICAgICAgICBpZiAoZW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLnZhbHVlID09PSB0aGlzLm5vZGUuZW50cnkudGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMubGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubGlicmFyeVRpdGxlRXhpc3RzID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLnZhbHVlID09PSBlbnRyaWVzWzBdLmVudHJ5LnRpdGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLmNhblVwZGF0ZUxpYnJhcnkgPSB0aGlzLm5vZGU/LmVudHJ5Py5yb2xlID09PSAnU2l0ZU1hbmFnZXInO1xuICAgIHRoaXMudmlzaWJpbGl0eUxhYmVsID0gdGhpcy5saWJyYXJ5VHlwZS5maW5kKCh0eXBlKSA9PiB0eXBlLnZhbHVlID09PSB0aGlzLmZvcm0uY29udHJvbHNbJ3Zpc2liaWxpdHknXS52YWx1ZSkubGFiZWw7XG4gICAgdGhpcy5oYW5kbGVVcGRhdGluZ0V2ZW50PFNuYWNrYmFySW5mb0FjdGlvbj4oU25hY2tiYXJBY3Rpb25UeXBlcy5JbmZvLCAnTElCUkFSWS5TVUNDRVNTLkxJQlJBUllfVVBEQVRFRCcsICgpID0+XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubm9kZS5lbnRyeSwgdGhpcy5mb3JtLnZhbHVlKVxuICAgICk7XG4gICAgdGhpcy5oYW5kbGVVcGRhdGluZ0V2ZW50PFNuYWNrYmFyRXJyb3JBY3Rpb24+KFNuYWNrYmFyQWN0aW9uVHlwZXMuRXJyb3IsICdMSUJSQVJZLkVSUk9SUy5MSUJSQVJZX1VQREFURV9FUlJPUicsICgpID0+IHRoaXMuZm9ybS5tYXJrQXNEaXJ0eSgpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy51cGRhdGVGb3JtKHRoaXMubm9kZSk7XG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgaWYgKHRoaXMuY2FuVXBkYXRlTGlicmFyeSAmJiB0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlTGlicmFyeUFjdGlvbih0aGlzLmZvcm0udmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZvcm0obm9kZTogU2l0ZUVudHJ5KSB7XG4gICAgY29uc3QgeyBlbnRyeSB9ID0gbm9kZTtcblxuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBpZDogZW50cnkuaWQsXG4gICAgICB0aXRsZTogZW50cnkudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogZW50cnkuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICB2aXNpYmlsaXR5OiBlbnRyeS52aXNpYmlsaXR5XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRMaWJyYXJ5QnlUaXRsZShsaWJyYXJ5VGl0bGU6IHN0cmluZyk6IE9ic2VydmFibGU8U2l0ZVBhZ2luZyB8IHsgbGlzdDogeyBlbnRyaWVzOiBhbnlbXSB9IH0+IHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMucXVlcmllc0FwaVxuICAgICAgICAuZmluZFNpdGVzKGxpYnJhcnlUaXRsZSwge1xuICAgICAgICAgIG1heEl0ZW1zOiAxLFxuICAgICAgICAgIGZpZWxkczogWyd0aXRsZSddXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiAoeyBsaXN0OiB7IGVudHJpZXM6IFtdIH0gfSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVXBkYXRpbmdFdmVudDxUIGV4dGVuZHMgU25hY2tiYXJBY3Rpb24+KGFjdGlvblR5cGU6IFNuYWNrYmFyQWN0aW9uVHlwZXMsIHBheWxvYWQ6IHN0cmluZywgaGFuZGxlOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG9mVHlwZTxUPihhY3Rpb25UeXBlKSxcbiAgICAgICAgZmlsdGVyKChhY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkID09PSBwYXlsb2FkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoaGFuZGxlKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkICpuZ0lmPVwibm9kZVwiPlxuICA8bWF0LWNhcmQtY29udGVudCAqbmdJZj1cIiFlZGl0XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkIG1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LWlucHV0IG1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1uYW1lLXByb3BlcnRpZXMtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtZmxleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1pbmZpeFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5OQU1FJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWlucHV0LWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkIG1hdC1wcmltYXJ5IG1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LWlucHV0IG1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1pZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uU0lURV9JRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1pbnB1dC1lbGVtZW50XCI+XG4gICAgICAgICAgICAgIHt7IGZvcm0uY29udHJvbHMuaWQudmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZCBtYXQtcHJpbWFyeSBtYXQtZm9ybS1maWVsZC10eXBlLW1hdC1pbnB1dCBtYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtd3JhcHBlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktdmlzaWJpbGl0eS1wcm9wZXJ0aWVzLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uVklTSUJJTElUWScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1pbnB1dC1lbGVtZW50XCI+XG4gICAgICAgICAgICAgIHt7IHZpc2liaWxpdHlMYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkIG1hdC1wcmltYXJ5IG1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LWlucHV0IG1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibGlicmFyeS1kZXNjcmlwdGlvbi1wcm9wZXJ0aWVzLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaW5wdXQtZWxlbWVudFwiPlxuICAgICAgICAgICAgICB7eyBmb3JtLmNvbnRyb2xzLmRlc2NyaXB0aW9uPy52YWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgPG1hdC1jYXJkLWFjdGlvbnMgYWxpZ249XCJlbmRcIiAqbmdJZj1cIiFlZGl0ICYmIGNhblVwZGF0ZUxpYnJhcnlcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInRvZ2dsZUVkaXQoKVwiPlxuICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkVESVQnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cblxuICA8bWF0LWNhcmQtY29udGVudCAqbmdJZj1cImVkaXRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5OQU1FJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1oaW50ICpuZ0lmPVwibGlicmFyeVRpdGxlRXhpc3RzXCI+e3sgJ0xJQlJBUlkuSElOVFMuU0lURV9USVRMRV9FWElTVFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuVElUTEVfVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlNJVEVfSUQnIHwgdHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwiaWRcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uVklTSUJJTElUWScgfCB0cmFuc2xhdGUgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ2aXNpYmlsaXR5XCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUudmFsdWVcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBsaWJyYXJ5VHlwZVwiPlxuICAgICAgICAgICAge3sgdHlwZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuREVTQ1JJUFRJT05fVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtYWN0aW9ucyBhbGlnbj1cImVuZFwiICpuZ0lmPVwiZWRpdCAmJiBjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCIgKGNsaWNrKT1cInVwZGF0ZSgpXCI+XG4gICAgICB7eyAnTElCUkFSWS5ESUFMT0cuVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuIl19
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1tZXRhZGF0YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFnQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixVQUFVLEVBR1YsV0FBVyxFQUNYLG1CQUFtQixFQUdwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBR0wsbUJBQW1CLEVBR25CLG1CQUFtQixFQUNwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVB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Q2YsY0FBYywyV0FDZCxVQUFVLDhCQUNWLGVBQWU7MkZBT04sNEJBQTRCO2tCQXBCeEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixlQUFlO3FCQUNoQixZQUNTLDJCQUEyQixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSTttSkFnQnJDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBWYWxpZGF0b3JzLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5nRm9ybSxcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIEZvcm1Db250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1ZXJpZXNBcGksIFNpdGVFbnRyeSwgU2l0ZVBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBcHBTdG9yZSxcbiAgU25hY2tiYXJBY3Rpb24sXG4gIFNuYWNrYmFyQWN0aW9uVHlwZXMsXG4gIFNuYWNrYmFyRXJyb3JBY3Rpb24sXG4gIFNuYWNrYmFySW5mb0FjdGlvbixcbiAgVXBkYXRlTGlicmFyeUFjdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWVyZ2VNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciwgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5cbmV4cG9ydCBjbGFzcyBJbnN0YW50RXJyb3JTdGF0ZU1hdGNoZXIgaW1wbGVtZW50cyBFcnJvclN0YXRlTWF0Y2hlciB7XG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSBmb3JtICYmIGZvcm0uc3VibWl0dGVkO1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQgfHwgaXNTdWJtaXR0ZWQpKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBMaWJyYXJ5TWV0YWRhdGFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3F1ZXJpZXNBcGk6IFF1ZXJpZXNBcGk7XG4gIHByaXZhdGUgX3RpdGxlRXJyb3JUcmFuc2xhdGlvbktleTogc3RyaW5nO1xuXG4gIGdldCBxdWVyaWVzQXBpKCk6IFF1ZXJpZXNBcGkge1xuICAgIHRoaXMuX3F1ZXJpZXNBcGkgPSB0aGlzLl9xdWVyaWVzQXBpID8/IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl9xdWVyaWVzQXBpO1xuICB9XG5cbiAgZ2V0IHRpdGxlRXJyb3JUcmFuc2xhdGlvbktleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aXRsZUVycm9yVHJhbnNsYXRpb25LZXk7XG4gIH1cblxuICBASW5wdXQoKVxuICBub2RlOiBTaXRlRW50cnk7XG5cbiAgZWRpdDogYm9vbGVhbjtcbiAgbGlicmFyeVRpdGxlRXhpc3RzID0gZmFsc2U7XG5cbiAgbGlicmFyeVR5cGUgPSBbXG4gICAgeyB2YWx1ZTogJ1BVQkxJQycsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBVQkxJQycgfSxcbiAgICB7IHZhbHVlOiAnUFJJVkFURScsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLlBSSVZBVEUnIH0sXG4gICAgeyB2YWx1ZTogJ01PREVSQVRFRCcsIGxhYmVsOiAnTElCUkFSWS5WSVNJQklMSVRZLk1PREVSQVRFRCcgfVxuICBdO1xuXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XG4gICAgaWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgIHRpdGxlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyNTYpLCB0aGlzLnZhbGlkYXRlRW1wdHlOYW1lXSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woeyB2YWx1ZTogJycgfSwgW1ZhbGlkYXRvcnMubWF4TGVuZ3RoKDUxMildKSxcbiAgICB2aXNpYmlsaXR5OiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMubGlicmFyeVR5cGVbMF0udmFsdWUpXG4gIH0pO1xuXG4gIG1hdGNoZXIgPSBuZXcgSW5zdGFudEVycm9yU3RhdGVNYXRjaGVyKCk7XG4gIGNhblVwZGF0ZUxpYnJhcnkgPSBmYWxzZTtcbiAgdmlzaWJpbGl0eUxhYmVsID0gJyc7XG5cbiAgb25EZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbGZyZXNjb0FwaVNlcnZpY2U6IEFsZnJlc2NvQXBpU2VydmljZSwgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMpIHt9XG4gIGdldFZpc2liaWxpdHlMYWJlbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubGlicmFyeVR5cGUuZmluZCgodHlwZSkgPT4gdHlwZS52YWx1ZSA9PT0gdmFsdWUpLmxhYmVsO1xuICB9XG5cbiAgdG9nZ2xlRWRpdCgpIHtcbiAgICB0aGlzLmVkaXQgPSAhdGhpcy5lZGl0O1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuICAgIHRoaXMudG9nZ2xlRWRpdCgpO1xuICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVGb3JtKHRoaXMubm9kZSk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAodGhpcy5fdGl0bGVFcnJvclRyYW5zbGF0aW9uS2V5ID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRpdGxlLmVycm9ycz8uZW1wdHlcbiAgICAgICAgICAgID8gJ0xJQlJBUlkuRVJST1JTLk9OTFlfU1BBQ0VTJ1xuICAgICAgICAgICAgOiAnTElCUkFSWS5FUlJPUlMuVElUTEVfVE9PX0xPTkdfT1JfTUlTU0lORycpXG4gICAgICApO1xuICAgIHRoaXMuZm9ybS5jb250cm9sc1sndGl0bGUnXS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgbWVyZ2VNYXAoKHRpdGxlKSA9PiB0aGlzLmZpbmRMaWJyYXJ5QnlUaXRsZSh0aXRsZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZW50cmllcyB9ID0gcmVzdWx0Lmxpc3Q7XG5cbiAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSA9PT0gdGhpcy5ub2RlLmVudHJ5LnRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IHRoaXMuZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSA9PT0gZW50cmllc1swXS5lbnRyeS50aXRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5saWJyYXJ5VGl0bGVFeGlzdHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy5jYW5VcGRhdGVMaWJyYXJ5ID0gdGhpcy5ub2RlPy5lbnRyeT8ucm9sZSA9PT0gJ1NpdGVNYW5hZ2VyJztcbiAgICB0aGlzLnZpc2liaWxpdHlMYWJlbCA9IHRoaXMubGlicmFyeVR5cGUuZmluZCgodHlwZSkgPT4gdHlwZS52YWx1ZSA9PT0gdGhpcy5mb3JtLmNvbnRyb2xzWyd2aXNpYmlsaXR5J10udmFsdWUpLmxhYmVsO1xuICAgIHRoaXMuaGFuZGxlVXBkYXRpbmdFdmVudDxTbmFja2JhckluZm9BY3Rpb24+KFNuYWNrYmFyQWN0aW9uVHlwZXMuSW5mbywgJ0xJQlJBUlkuU1VDQ0VTUy5MSUJSQVJZX1VQREFURUQnLCAoKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm5vZGUuZW50cnksIHRoaXMuZm9ybS52YWx1ZSlcbiAgICApO1xuICAgIHRoaXMuaGFuZGxlVXBkYXRpbmdFdmVudDxTbmFja2JhckVycm9yQWN0aW9uPihTbmFja2JhckFjdGlvblR5cGVzLkVycm9yLCAnTElCUkFSWS5FUlJPUlMuTElCUkFSWV9VUERBVEVfRVJST1InLCAoKSA9PiB0aGlzLmZvcm0ubWFya0FzRGlydHkoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLmNhblVwZGF0ZUxpYnJhcnkgJiYgdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgIG5ldyBVcGRhdGVMaWJyYXJ5QWN0aW9uKHtcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgdGl0bGU6IHRoaXMuZm9ybS52YWx1ZS50aXRsZS50cmltKClcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtKG5vZGU6IFNpdGVFbnRyeSkge1xuICAgIGNvbnN0IHsgZW50cnkgfSA9IG5vZGU7XG5cbiAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xuICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgdGl0bGU6IGVudHJ5LnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IGVudHJ5LmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgdmlzaWJpbGl0eTogZW50cnkudmlzaWJpbGl0eVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTGlicmFyeUJ5VGl0bGUobGlicmFyeVRpdGxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNpdGVQYWdpbmcgfCB7IGxpc3Q6IHsgZW50cmllczogYW55W10gfSB9PiB7XG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLnF1ZXJpZXNBcGlcbiAgICAgICAgLmZpbmRTaXRlcyhsaWJyYXJ5VGl0bGUudHJpbSgpLCB7XG4gICAgICAgICAgbWF4SXRlbXM6IDEsXG4gICAgICAgICAgZmllbGRzOiBbJ3RpdGxlJ11cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+ICh7IGxpc3Q6IHsgZW50cmllczogW10gfSB9KSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVVcGRhdGluZ0V2ZW50PFQgZXh0ZW5kcyBTbmFja2JhckFjdGlvbj4oYWN0aW9uVHlwZTogU25hY2tiYXJBY3Rpb25UeXBlcywgcGF5bG9hZDogc3RyaW5nLCBoYW5kbGU6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgb2ZUeXBlPFQ+KGFjdGlvblR5cGUpLFxuICAgICAgICBmaWx0ZXIoKGFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQgPT09IHBheWxvYWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShoYW5kbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUVtcHR5TmFtZShjb250cm9sOiBGb3JtQ29udHJvbDxzdHJpbmc+KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgcmV0dXJuIGNvbnRyb2wudmFsdWUubGVuZ3RoICYmICFjb250cm9sLnZhbHVlLnRyaW0oKSA/IHsgZW1wdHk6IHRydWUgfSA6IG51bGw7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCAqbmdJZj1cIm5vZGVcIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCIhZWRpdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZCBtYXQtZm9ybS1maWVsZC10eXBlLW1hdC1pbnB1dCBtYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtd3JhcHBlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktbmFtZS1wcm9wZXJ0aWVzLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uTkFNRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1pbnB1dC1lbGVtZW50XCI+XG4gICAgICAgICAgICAgIHt7IGZvcm0uY29udHJvbHMudGl0bGUudmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZCBtYXQtcHJpbWFyeSBtYXQtZm9ybS1maWVsZC10eXBlLW1hdC1pbnB1dCBtYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtd3JhcHBlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktaWQtcHJvcGVydGllcy13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWluZml4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlNJVEVfSUQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaW5wdXQtZWxlbWVudFwiPlxuICAgICAgICAgICAgICB7eyBmb3JtLmNvbnRyb2xzLmlkLnZhbHVlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQgbWF0LXByaW1hcnkgbWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtaW5wdXQgbWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJsaWJyYXJ5LXZpc2liaWxpdHktcHJvcGVydGllcy13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWluZml4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlZJU0lCSUxJVFknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaW5wdXQtZWxlbWVudFwiPlxuICAgICAgICAgICAgICB7eyB2aXNpYmlsaXR5TGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZCBtYXQtcHJpbWFyeSBtYXQtZm9ybS1maWVsZC10eXBlLW1hdC1pbnB1dCBtYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtd3JhcHBlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImxpYnJhcnktZGVzY3JpcHRpb24tcHJvcGVydGllcy13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWluZml4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWlucHV0LWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9scy5kZXNjcmlwdGlvbj8udmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGFsaWduPVwiZW5kXCIgKm5nSWY9XCIhZWRpdCAmJiBjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIj5cbiAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5FRElUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJlZGl0XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImF1dG9cIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBjZGtGb2N1c0luaXRpYWxcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uTkFNRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIC8+XG4gICAgICAgIDxtYXQtaGludCAqbmdJZj1cImxpYnJhcnlUaXRsZUV4aXN0c1wiPnt7ICdMSUJSQVJZLkhJTlRTLlNJVEVfVElUTEVfRVhJU1RTJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhpbnQ+XG4gICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAge3sgdGl0bGVFcnJvclRyYW5zbGF0aW9uS2V5IHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlNJVEVfSUQnIHwgdHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwiaWRcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0IHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uVklTSUJJTElUWScgfCB0cmFuc2xhdGUgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ2aXNpYmlsaXR5XCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUudmFsdWVcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBsaWJyYXJ5VHlwZVwiPlxuICAgICAgICAgICAge3sgdHlwZS5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuREVTQ1JJUFRJT05fVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtYWN0aW9ucyBhbGlnbj1cImVuZFwiICpuZ0lmPVwiZWRpdCAmJiBjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCIgKGNsaWNrKT1cInVwZGF0ZSgpXCI+XG4gICAgICB7eyAnTElCUkFSWS5ESUFMT0cuVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuIl19
|
|
@@ -29,7 +29,7 @@ import { AppConfigService, NotificationService } from '@alfresco/adf-core';
|
|
|
29
29
|
import { Subject } from 'rxjs';
|
|
30
30
|
import { Store } from '@ngrx/store';
|
|
31
31
|
import { ContentMetadataModule, ContentMetadataService } from '@alfresco/adf-content-services';
|
|
32
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
32
|
+
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
33
33
|
import { CommonModule } from '@angular/common';
|
|
34
34
|
import { Actions, ofType } from '@ngrx/effects';
|
|
35
35
|
import * as i0 from "@angular/core";
|
|
@@ -69,6 +69,11 @@ export class MetadataTabComponent {
|
|
|
69
69
|
this.editable = false;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
+
this.customPanels = this.extensions.getCustomMetadataPanels({ entry: this.node }).pipe(map((panels) => {
|
|
73
|
+
return panels.map((panel) => {
|
|
74
|
+
return { panelTitle: panel.title, component: panel.component };
|
|
75
|
+
});
|
|
76
|
+
}), takeUntil(this.onDestroy$));
|
|
72
77
|
}
|
|
73
78
|
ngOnDestroy() {
|
|
74
79
|
this.onDestroy$.next(true);
|
|
@@ -85,10 +90,11 @@ MetadataTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
85
90
|
[preset]="'custom'"
|
|
86
91
|
[node]="node"
|
|
87
92
|
[displayAspect]="displayAspect$ | async"
|
|
93
|
+
[customPanels]="customPanels | async"
|
|
88
94
|
[(editable)]="editable"
|
|
89
95
|
>
|
|
90
96
|
</adf-content-metadata-card>
|
|
91
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ContentMetadataModule }, { kind: "component", type: i4.ContentMetadataCardComponent, selector: "adf-content-metadata-card", inputs: ["node", "displayEmpty", "displayAspect", "displayTags", "displayCategories", "preset", "readOnly", "multi", "editable", "displayDefaultProperties"], outputs: ["editableChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
97
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ContentMetadataModule }, { kind: "component", type: i4.ContentMetadataCardComponent, selector: "adf-content-metadata-card", inputs: ["node", "displayEmpty", "displayAspect", "displayTags", "displayCategories", "preset", "readOnly", "multi", "editable", "customPanels", "displayDefaultProperties"], outputs: ["editableChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
92
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MetadataTabComponent, decorators: [{
|
|
93
99
|
type: Component,
|
|
94
100
|
args: [{
|
|
@@ -101,6 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
101
107
|
[preset]="'custom'"
|
|
102
108
|
[node]="node"
|
|
103
109
|
[displayAspect]="displayAspect$ | async"
|
|
110
|
+
[customPanels]="customPanels | async"
|
|
104
111
|
[(editable)]="editable"
|
|
105
112
|
>
|
|
106
113
|
</adf-content-metadata-card>
|
|
@@ -111,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
|
|
|
111
118
|
}], ctorParameters: function () { return [{ type: i1.NodePermissionService }, { type: i1.AppExtensionService }, { type: i2.AppConfigService }, { type: i3.Store }, { type: i2.NotificationService }, { type: i4.ContentMetadataService }, { type: i5.Actions }]; }, propDecorators: { node: [{
|
|
112
119
|
type: Input
|
|
113
120
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBK0Isd0JBQXdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQW1CaEQsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUNVLFVBQWlDLEVBQy9CLFVBQStCLEVBQ2pDLFNBQTJCLEVBQzNCLEtB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QVNUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7aUJBQ3BDOzhSQUtDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVQZXJtaXNzaW9uU2VydmljZSwgaXNMb2NrZWQsIEFwcEV4dGVuc2lvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgRWRpdE9mZmxpbmVBY3Rpb24sIGluZm9EcmF3ZXJNZXRhZGF0YUFzcGVjdCwgTm9kZUFjdGlvblR5cGVzIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbnRlbnRNZXRhZGF0YU1vZHVsZSwgQ29udGVudE1ldGFkYXRhU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvbnRlbnRNZXRhZGF0YU1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYXBwLW1ldGFkYXRhLXRhYicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFkZi1jb250ZW50LW1ldGFkYXRhLWNhcmRcbiAgICAgIFtyZWFkT25seV09XCIhY2FuVXBkYXRlTm9kZVwiXG4gICAgICBbcHJlc2V0XT1cIidjdXN0b20nXCJcbiAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgW2Rpc3BsYXlBc3BlY3RdPVwiZGlzcGxheUFzcGVjdCQgfCBhc3luY1wiXG4gICAgICBbKGVkaXRhYmxlKV09XCJlZGl0YWJsZVwiXG4gICAgPlxuICAgIDwvYWRmLWNvbnRlbnQtbWV0YWRhdGEtY2FyZD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC1tZXRhZGF0YS10YWInIH1cbn0pXG5leHBvcnQgY2xhc3MgTWV0YWRhdGFUYWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKVxuICBub2RlOiBOb2RlO1xuXG4gIGRpc3BsYXlBc3BlY3QkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGNhblVwZGF0ZU5vZGUgPSBmYWxzZTtcbiAgZWRpdGFibGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBlcm1pc3Npb246IE5vZGVQZXJtaXNzaW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGVudE1ldGFkYXRhU2VydmljZTogQ29udGVudE1ldGFkYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zXG4gICkge1xuICAgIGlmICh0aGlzLmV4dGVuc2lvbnMuY29udGVudE1ldGFkYXRhKSB7XG4gICAgICB0aGlzLmFwcENvbmZpZy5jb25maWdbJ2NvbnRlbnQtbWV0YWRhdGEnXS5wcmVzZXRzID0gdGhpcy5leHRlbnNpb25zLmNvbnRlbnRNZXRhZGF0YS5wcmVzZXRzO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlBc3BlY3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoaW5mb0RyYXdlck1ldGFkYXRhQXNwZWN0KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGVudE1ldGFkYXRhU2VydmljZS5lcnJvci5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGVycjogeyBtZXNzYWdlOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcihlcnIubWVzc2FnZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jaGVja0lmTm9kZUlzVXBkYXRhYmxlKHRoaXMubm9kZSk7XG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG9mVHlwZTxFZGl0T2ZmbGluZUFjdGlvbj4oTm9kZUFjdGlvblR5cGVzLkVkaXRPZmZsaW5lKSxcbiAgICAgICAgZmlsdGVyKCh1cGRhdGVkTm9kZSkgPT4gdGhpcy5ub2RlLmlkID09PSB1cGRhdGVkTm9kZS5wYXlsb2FkLmVudHJ5LmlkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWROb2RlKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tJZk5vZGVJc1VwZGF0YWJsZSh1cGRhdGVkTm9kZT8ucGF5bG9hZC5lbnRyeSk7XG4gICAgICAgIGlmICghdGhpcy5jYW5VcGRhdGVOb2RlKSB7XG4gICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0lmTm9kZUlzVXBkYXRhYmxlKG5vZGU6IE5vZGUpIHtcbiAgICB0aGlzLmNhblVwZGF0ZU5vZGUgPSBub2RlICYmICFpc0xvY2tlZCh7IGVudHJ5OiBub2RlIH0pID8gdGhpcy5wZXJtaXNzaW9uLmNoZWNrKG5vZGUsIFsndXBkYXRlJ10pIDogZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBK0Isd0JBQXdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBOEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzSCxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBb0JoRCxNQUFNLE9BQU8sb0JBQW9CO0lBVy9CLFlBQ1UsVUFBaUMsRUFDL0IsVUFBK0IsRUFDakMsU0FB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LENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVHLENBQUM7O2lIQTVEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixvSkFkckI7Ozs7Ozs7Ozs7R0FVVCwyREFaUyxZQUFZLG1GQUFFLHFCQUFxQjsyRkFnQmxDLG9CQUFvQjtrQkFsQmhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUMsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtpQkFDcEM7OFJBS0MsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgTm9kZVBlcm1pc3Npb25TZXJ2aWNlLCBpc0xvY2tlZCwgQXBwRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IEFwcFN0b3JlLCBFZGl0T2ZmbGluZUFjdGlvbiwgaW5mb0RyYXdlck1ldGFkYXRhQXNwZWN0LCBOb2RlQWN0aW9uVHlwZXMgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29udGVudE1ldGFkYXRhTW9kdWxlLCBDb250ZW50TWV0YWRhdGFTZXJ2aWNlLCBDb250ZW50TWV0YWRhdGFDdXN0b21QYW5lbCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29udGVudE1ldGFkYXRhTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhcHAtbWV0YWRhdGEtdGFiJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YWRmLWNvbnRlbnQtbWV0YWRhdGEtY2FyZFxuICAgICAgW3JlYWRPbmx5XT1cIiFjYW5VcGRhdGVOb2RlXCJcbiAgICAgIFtwcmVzZXRdPVwiJ2N1c3RvbSdcIlxuICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICBbZGlzcGxheUFzcGVjdF09XCJkaXNwbGF5QXNwZWN0JCB8IGFzeW5jXCJcbiAgICAgIFtjdXN0b21QYW5lbHNdPVwiY3VzdG9tUGFuZWxzIHwgYXN5bmNcIlxuICAgICAgWyhlZGl0YWJsZSldPVwiZWRpdGFibGVcIlxuICAgID5cbiAgICA8L2FkZi1jb250ZW50LW1ldGFkYXRhLWNhcmQ+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtbWV0YWRhdGEtdGFiJyB9XG59KVxuZXhwb3J0IGNsYXNzIE1ldGFkYXRhVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KClcbiAgbm9kZTogTm9kZTtcblxuICBkaXNwbGF5QXNwZWN0JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjYW5VcGRhdGVOb2RlID0gZmFsc2U7XG4gIGVkaXRhYmxlID0gZmFsc2U7XG4gIGN1c3RvbVBhbmVsczogT2JzZXJ2YWJsZTxDb250ZW50TWV0YWRhdGFDdXN0b21QYW5lbFtdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBlcm1pc3Npb246IE5vZGVQZXJtaXNzaW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFwcENvbmZpZzogQXBwQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGVudE1ldGFkYXRhU2VydmljZTogQ29udGVudE1ldGFkYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zXG4gICkge1xuICAgIGlmICh0aGlzLmV4dGVuc2lvbnMuY29udGVudE1ldGFkYXRhKSB7XG4gICAgICB0aGlzLmFwcENvbmZpZy5jb25maWdbJ2NvbnRlbnQtbWV0YWRhdGEnXS5wcmVzZXRzID0gdGhpcy5leHRlbnNpb25zLmNvbnRlbnRNZXRhZGF0YS5wcmVzZXRzO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlBc3BlY3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoaW5mb0RyYXdlck1ldGFkYXRhQXNwZWN0KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGVudE1ldGFkYXRhU2VydmljZS5lcnJvci5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGVycjogeyBtZXNzYWdlOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcihlcnIubWVzc2FnZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jaGVja0lmTm9kZUlzVXBkYXRhYmxlKHRoaXMubm9kZSk7XG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG9mVHlwZTxFZGl0T2ZmbGluZUFjdGlvbj4oTm9kZUFjdGlvblR5cGVzLkVkaXRPZmZsaW5lKSxcbiAgICAgICAgZmlsdGVyKCh1cGRhdGVkTm9kZSkgPT4gdGhpcy5ub2RlLmlkID09PSB1cGRhdGVkTm9kZS5wYXlsb2FkLmVudHJ5LmlkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWROb2RlKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tJZk5vZGVJc1VwZGF0YWJsZSh1cGRhdGVkTm9kZT8ucGF5bG9hZC5lbnRyeSk7XG4gICAgICAgIGlmICghdGhpcy5jYW5VcGRhdGVOb2RlKSB7XG4gICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLmN1c3RvbVBhbmVscyA9IHRoaXMuZXh0ZW5zaW9ucy5nZXRDdXN0b21NZXRhZGF0YVBhbmVscyh7IGVudHJ5OiB0aGlzLm5vZGUgfSkucGlwZShcbiAgICAgIG1hcCgocGFuZWxzKSA9PiB7XG4gICAgICAgIHJldHVybiBwYW5lbHMubWFwKChwYW5lbCkgPT4ge1xuICAgICAgICAgIHJldHVybiB7IHBhbmVsVGl0bGU6IHBhbmVsLnRpdGxlLCBjb21wb25lbnQ6IHBhbmVsLmNvbXBvbmVudCB9O1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZOb2RlSXNVcGRhdGFibGUobm9kZTogTm9kZSkge1xuICAgIHRoaXMuY2FuVXBkYXRlTm9kZSA9IG5vZGUgJiYgIWlzTG9ja2VkKHsgZW50cnk6IG5vZGUgfSkgPyB0aGlzLnBlcm1pc3Npb24uY2hlY2sobm9kZSwgWyd1cGRhdGUnXSkgOiBmYWxzZTtcbiAgfVxufVxuIl19
|