@valtimo/task-management 12.1.0 → 12.1.2

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.
@@ -49,10 +49,10 @@ export class TaskManagementDetailComponent {
49
49
  setActiveTab(tab) {
50
50
  this.taskManagementService.setActiveTab(tab);
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.PageTitleService }, { token: i4.ActivatedRoute }, { token: i5.TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i8.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i8.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: TaskManagementColumnsComponent, selector: "valtimo-task-management-columns", inputs: ["carbonTheme"] }, { kind: "component", type: TaskManagementSearchFieldsComponent, selector: "valtimo-task-management-search-fields" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.PageTitleService }, { token: i4.ActivatedRoute }, { token: i5.TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i8.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i8.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: TaskManagementColumnsComponent, selector: "valtimo-task-management-columns", inputs: ["carbonTheme"] }, { kind: "component", type: TaskManagementSearchFieldsComponent, selector: "valtimo-task-management-search-fields" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
58
58
  CommonModule,
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
65
65
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3.PageTitleService }, { type: i4.ActivatedRoute }, { type: i5.TaskManagementService }], propDecorators: { carbonTheme: [{
66
66
  type: Input
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtZGV0YWlsL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7O0FBbUI3SCxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsS0FBcUIsRUFDckIscUJBQTRDO1FBSjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUF2Qi9DLGdCQUFXLEdBQWlCLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFFN0MsK0JBQTBCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUNsQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtDQUFrQyxDQUFDLHNCQUFzQixDQUFDLENBQ2hGLEVBQ0QsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFFLGtCQUEwQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVZLGVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRW5ELGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQVExQyxDQUFDO0lBRUcsWUFBWSxDQUFDLEdBQXNCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0E3QlUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsbUdBSDdCLENBQUMscUJBQXFCLENBQUMsMEJDMUNwQywwL0NBMENBLDZ1QkRQSSxZQUFZLHVMQUNaLGdCQUFnQiw4QkFDaEIsZUFBZSwyRkFDZixVQUFVLCtaQUNWLDhCQUE4QixxR0FDOUIsbUNBQW1DOzsyRkFLMUIsNkJBQTZCO2tCQWhCekMsU0FBUztpQ0FHSSxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLG1DQUFtQztxQkFDcEMsYUFDVSxDQUFDLHFCQUFxQixDQUFDLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJO2dOQUdyQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDYXJib25MaXN0TW9kdWxlLCBQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uLCBEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50VGFifSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtY29sdW1ucyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgVGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50LFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUYXNrTWFuYWdlbWVudFNlcnZpY2VdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudERldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8RG9jdW1lbnREZWZpbml0aW9uPiA9XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKSxcbiAgICAgIHN3aXRjaE1hcChkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbkZvck1hbmFnZW1lbnQoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICB0YXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZSgoZG9jdW1lbnREZWZpbml0aW9uIGFzIGFueSk/LnNjaGVtYT8udGl0bGUgfHwgJy0nKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiJCA9IHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLmFjdGl2ZVRhYiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IFRBQl9FTlVNID0gVGFza01hbmFnZW1lbnRUYWI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza01hbmFnZW1lbnRTZXJ2aWNlOiBUYXNrTWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWIodGFiOiBUYXNrTWFuYWdlbWVudFRhYik6IHZvaWQge1xuICAgIHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLnNldEFjdGl2ZVRhYih0YWIpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgYWN0aXZlVGFiOiBhY3RpdmVUYWIkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuICBjbGFzcz1cInRhc2stbWFuYWdlbWVudC1kZXRhaWxcIlxuPlxuICA8Y2RzLXRhYnMgY2xhc3M9XCJkb3NzaWVyLW1hbmFnZW1lbnQtdGFic1wiIHR5cGU9XCJjb250YWluZWRcIj5cbiAgICA8Y2RzLXRhYlxuICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5DT0xVTU5TXCJcbiAgICAgIFtoZWFkaW5nXT1cIid0YXNrTWFuYWdlbWVudC5jb2x1bW5zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLkNPTFVNTlMpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtY29sdW1ucz4gPC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zPlxuICAgIDwvY2RzLXRhYj5cblxuICAgICAgPGNkcy10YWJcbiAgICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5TRUFSQ0hfRklFTERTXCJcbiAgICAgICAgW2hlYWRpbmddPVwiJ3Rhc2tNYW5hZ2VtZW50LnNlYXJjaEZpZWxkcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLlNFQVJDSF9GSUVMRFMpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+IDwvdmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcz5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICBcbiAgPC9jZHMtdGFicz5cbjwvZGl2PlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtZGV0YWlsL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7O0FBbUI3SCxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsS0FBcUIsRUFDckIscUJBQTRDO1FBSjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUF2Qi9DLGdCQUFXLEdBQWlCLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFFN0MsK0JBQTBCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUNsQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtDQUFrQyxDQUFDLHNCQUFzQixDQUFDLENBQ2hGLEVBQ0QsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFFLGtCQUEwQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVZLGVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRW5ELGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQVExQyxDQUFDO0lBRUcsWUFBWSxDQUFDLEdBQXNCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0E3QlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsbUdBSDdCLENBQUMscUJBQXFCLENBQUMsMEJDMUNwQywwL0NBMENBLDZ1QkRQSSxZQUFZLHVMQUNaLGdCQUFnQiw4QkFDaEIsZUFBZSwyRkFDZixVQUFVLCtaQUNWLDhCQUE4QixxR0FDOUIsbUNBQW1DOzs0RkFLMUIsNkJBQTZCO2tCQWhCekMsU0FBUztpQ0FHSSxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLG1DQUFtQztxQkFDcEMsYUFDVSxDQUFDLHFCQUFxQixDQUFDLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJO2dOQUdyQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDYXJib25MaXN0TW9kdWxlLCBQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uLCBEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50VGFifSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtY29sdW1ucyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgVGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50LFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUYXNrTWFuYWdlbWVudFNlcnZpY2VdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudERldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8RG9jdW1lbnREZWZpbml0aW9uPiA9XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKSxcbiAgICAgIHN3aXRjaE1hcChkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbkZvck1hbmFnZW1lbnQoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICB0YXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZSgoZG9jdW1lbnREZWZpbml0aW9uIGFzIGFueSk/LnNjaGVtYT8udGl0bGUgfHwgJy0nKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiJCA9IHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLmFjdGl2ZVRhYiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IFRBQl9FTlVNID0gVGFza01hbmFnZW1lbnRUYWI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza01hbmFnZW1lbnRTZXJ2aWNlOiBUYXNrTWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWIodGFiOiBUYXNrTWFuYWdlbWVudFRhYik6IHZvaWQge1xuICAgIHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLnNldEFjdGl2ZVRhYih0YWIpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgYWN0aXZlVGFiOiBhY3RpdmVUYWIkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuICBjbGFzcz1cInRhc2stbWFuYWdlbWVudC1kZXRhaWxcIlxuPlxuICA8Y2RzLXRhYnMgY2xhc3M9XCJkb3NzaWVyLW1hbmFnZW1lbnQtdGFic1wiIHR5cGU9XCJjb250YWluZWRcIj5cbiAgICA8Y2RzLXRhYlxuICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5DT0xVTU5TXCJcbiAgICAgIFtoZWFkaW5nXT1cIid0YXNrTWFuYWdlbWVudC5jb2x1bW5zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLkNPTFVNTlMpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtY29sdW1ucz4gPC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zPlxuICAgIDwvY2RzLXRhYj5cblxuICAgICAgPGNkcy10YWJcbiAgICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5TRUFSQ0hfRklFTERTXCJcbiAgICAgICAgW2hlYWRpbmddPVwiJ3Rhc2tNYW5hZ2VtZW50LnNlYXJjaEZpZWxkcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLlNFQVJDSF9GSUVMRFMpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+IDwvdmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcz5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICBcbiAgPC9jZHMtdGFicz5cbjwvZGl2PlxuIl19
@@ -158,10 +158,10 @@ export class TaskManagementSearchFieldsComponent {
158
158
  return fieldType.toLowerCase();
159
159
  }
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.TaskManagementSearchFieldsService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: TaskManagementSearchFieldsComponent, isStandalone: true, selector: "valtimo-task-management-search-fields", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i7.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i7.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TaskManagementSearchFieldsModalComponent, selector: "valtimo-task-management-search-fields-modal", inputs: ["open", "documentDefinitionName", "prefillData"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i6.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementSearchFieldsComponent, deps: [{ token: i1.DocumentService }, { token: i2.ActivatedRoute }, { token: i3.TaskManagementSearchFieldsService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementSearchFieldsComponent, isStandalone: true, selector: "valtimo-task-management-search-fields", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i6.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i7.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i7.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "component", type: TaskManagementSearchFieldsModalComponent, selector: "valtimo-task-management-search-fields-modal", inputs: ["open", "documentDefinitionName", "prefillData"], outputs: ["closeEvent"] }, { kind: "ngmodule", type: ConfirmationModalModule }, { kind: "component", type: i6.ConfirmationModalComponent, selector: "valtimo-confirmation-modal", inputs: ["titleTranslationKey", "title", "content", "contentTranslationKey", "confirmButtonText", "confirmButtonTextTranslationKey", "confirmButtonType", "showOptionalButton", "optionalButtonText", "optionalButtonTextTranslationKey", "optionalButtonType", "cancelButtonText", "cancelButtonTextTranslationKey", "cancelButtonType", "showModalSubject$", "outputOnConfirm", "outputOnOptional", "spacerAfterCancelButton"], outputs: ["confirmEvent", "optionalEvent", "cancelEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsComponent, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementSearchFieldsComponent, decorators: [{
165
165
  type: Component,
166
166
  args: [{ selector: 'valtimo-task-management-search-fields', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
167
167
  CommonModule,
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
173
173
  ConfirmationModalModule,
174
174
  ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n" }]
175
175
  }], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: i3.TaskManagementSearchFieldsService }, { type: i4.TranslateService }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVMLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUdMLDRCQUE0QixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7Ozs7Ozs7OztBQWlCOUksTUFBTSxPQUFPLG1DQUFtQztJQWtFOUMsWUFDbUIsZUFBZ0MsRUFDaEMsS0FBcUIsRUFDckIsbUJBQXNELEVBQ3RELGdCQUFrQztRQUhsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFtQztRQUN0RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckVyQyw0QkFBdUIsR0FBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNsRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUNoQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ2xDLEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM1RixDQUFDO1FBRWUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksQ0FBQyxDQUFDO1FBRTdDLGtCQUFhLEdBQXNDLGFBQWEsQ0FBQztZQUMvRSxJQUFJLENBQUMsdUJBQXVCO1lBQzVCLElBQUksQ0FBQyxTQUFTO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixFQUFFLENBQUMsRUFDbkUsR0FBRyxDQUFDLENBQUMsWUFBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUNqRixDQUFDO1FBRWMsWUFBTyxHQUErQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1I7Z0JBQ0UsR0FBRyxFQUFFLE9BQU87Z0JBQ1osS0FBSyxFQUFFLDRCQUE0QjtnQkFDbkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHFCQUFxQjtnQkFDMUIsS0FBSyxFQUFFLCtCQUErQjtnQkFDdEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHNCQUFzQjtnQkFDM0IsS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFYyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN2RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3RELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQTZCLElBQUksQ0FBQyxDQUFDO1FBQ3RFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQTZCLElBQUksQ0FBQyxDQUFDO1FBRXJFLGlCQUFZLEdBQWlCO1lBQzNDO2dCQUNFLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0YsQ0FBQztJQU9DLENBQUM7SUFFRyxTQUFTLENBQUMsSUFBeUI7UUFDeEMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWU7aUJBQ2pCLGVBQWUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUE2QyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFFTCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFLO1FBQzNCLElBQUksQ0FBQyxtQkFBbUI7YUFDckIseUJBQXlCLENBQUMsS0FBSyxDQUFDO2FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLENBQ2pCLFdBQXVDLEVBQ3ZDLFdBQXVDO1FBRXZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixNQUFNLGlCQUFpQixHQUNyQixXQUFXLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLHNCQUFzQjtZQUM3RSxXQUFXLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO1FBRS9FLENBQUMsQ0FBQyxXQUFXO1lBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUM7WUFDakUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FDbEU7YUFDRSxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUN2QyxPQUFPLGlCQUFpQjtnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQ25DLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQ2hDLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLEdBQUcsRUFDVCxXQUFXLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FDakM7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFnQztRQUMxRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxDQUFDLG1CQUFtQjthQUNyQix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ25DLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxvQkFBb0I7WUFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQ3JDLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsR0FBRyxDQUNUO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNULENBQ0Y7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGVBQWUsQ0FDckIsWUFBbUM7UUFFbkMsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3RCxHQUFHLFdBQVc7WUFDZCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUNoRCxnQkFBZ0IsV0FBVyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUNyRDtZQUNELG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ2pELHdCQUF3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNFO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBdUM7UUFDbEUsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNsQixLQUFLLDRCQUE0QixDQUFDLHNCQUFzQjtnQkFDdEQsT0FBTyx3QkFBd0IsQ0FBQztZQUNsQyxLQUFLLDRCQUE0QixDQUFDLHFCQUFxQjtnQkFDckQsT0FBTyx1QkFBdUIsQ0FBQztZQUNqQztnQkFDRSxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzs4R0FyTFUsbUNBQW1DO2tHQUFuQyxtQ0FBbUMsaUdDOURoRCxzZ0ZBcUVBLDJDRGhCSSxZQUFZLDhWQUNaLGVBQWUsMkZBQ2YsZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixVQUFVLDZOQUNWLHdDQUF3QywyS0FDeEMsdUJBQXVCOzsyRkFHZCxtQ0FBbUM7a0JBZi9DLFNBQVM7K0JBQ0UsdUNBQXVDLG1CQUVoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1Ysd0NBQXdDO3dCQUN4Qyx1QkFBdUI7cUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBWaWV3VHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgVGFza0xpc3RTZWFyY2hEcm9wZG93blZhbHVlLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLFxufSBmcm9tICdAdmFsdGltby90YXNrJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlYXJjaEZpZWxkc01vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICd0YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzTW9kYWxDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSksXG4gICAgdGFwKChkb2NEZWZOYW1lOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRmllbGRzU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY0RlZk5hbWUpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoRmllbGRzJDogT2JzZXJ2YWJsZTxUYXNrTGlzdFNlYXJjaEZpZWxkW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLl9yZWZyZXNoJCxcbiAgICB0aGlzLnRyYXNubGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLmdldFRhc2tMaXN0U2VhcmNoRmllbGRzKCkpLFxuICAgIG1hcCgoc2VhcmNoRmllbGRzOiBUYXNrTGlzdFNlYXJjaEZpZWxkW10pID0+IHRoaXMubWFwVHJhbnNsYXRpb25zKHNlYXJjaEZpZWxkcykpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkcyQ6IE9ic2VydmFibGU8Q29sdW1uQ29uZmlnW10+ID0gdGhpcy50cmFzbmxhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JykucGlwZShcbiAgICBtYXAoKCkgPT4gW1xuICAgICAge1xuICAgICAgICBrZXk6ICd0aXRsZScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcudGl0bGUnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2tleScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdwYXRoJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5wYXRoJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdkYXRhVHlwZVRyYW5zbGF0aW9uJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5kYXRhVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmllbGRUeXBlVHJhbnNsYXRpb24nLFxuICAgICAgICBsYWJlbDogJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmZpZWxkVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICBdKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVNb2RhbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZE1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1Ub0RlbGV0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxEYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBBQ1RJT05fSVRFTVM6IEFjdGlvbkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5lZGl0JyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmVkaXRGaWVsZC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ25vcm1hbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5kZWxldGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZGVsZXRlRmllbGQuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaEZpZWxkc1NlcnZpY2U6IFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYXNubGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBlZGl0RmllbGQoaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCk6IHZvaWQge1xuICAgIGlmICghIWl0ZW0uZHJvcGRvd25EYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAgIC5nZXREcm9wZG93bkRhdGEoaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlciwgaXRlbS5vd25lcklkLCBpdGVtLmtleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShkcm9wZG93blZhbHVlcyA9PiB7XG4gICAgICAgICAgaXRlbS5kcm9wZG93blZhbHVlcyA9IGRyb3Bkb3duVmFsdWVzIGFzIFRhc2tMaXN0U2VhcmNoRHJvcGRvd25WYWx1ZTtcbiAgICAgICAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KGl0ZW0pO1xuICAgICAgICAgIHRoaXMuZmllbGRNb2RhbE9wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucHJlZmlsbERhdGEkLm5leHQoaXRlbSk7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1zUmVvcmRlcmVkKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlXG4gICAgICAub3JkZXJUYXNrTGlzdFNlYXJjaEZpZWxkcyhldmVudClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCkpO1xuICB9XG5cbiAgcHVibGljIG9uQWRkQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRXZlbnQoXG4gICAgc2VhcmNoRmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsLFxuICAgIHByZWZpbGxEYXRhOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkTW9kYWxPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KG51bGwpO1xuICAgIGlmICghc2VhcmNoRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGhhc0Ryb3Bkb3duVmFsdWVzOiBib29sZWFuID1cbiAgICAgIHNlYXJjaEZpZWxkLmZpZWxkVHlwZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOIHx8XG4gICAgICBzZWFyY2hGaWVsZC5maWVsZFR5cGUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOO1xuXG4gICAgKCFwcmVmaWxsRGF0YVxuICAgICAgPyB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UuY3JlYXRlVGFza0xpc3RTZWFyY2hGaWVsZChzZWFyY2hGaWVsZClcbiAgICAgIDogdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLnVwZGF0ZVRhc2tMaXN0U2VhcmNoRmllbGQoc2VhcmNoRmllbGQpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoZmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaGFzRHJvcGRvd25WYWx1ZXNcbiAgICAgICAgICAgID8gdGhpcy5kb2N1bWVudFNlcnZpY2UucG9zdERyb3Bkb3duRGF0YShcbiAgICAgICAgICAgICAgICBmaWVsZC5kcm9wZG93bkRhdGFQcm92aWRlciA/PyAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZC5vd25lcklkLFxuICAgICAgICAgICAgICAgIGZpZWxkLmtleSxcbiAgICAgICAgICAgICAgICBzZWFyY2hGaWVsZC5kcm9wZG93blZhbHVlcyA/PyB7fVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG9mKGZpZWxkKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVGaWVsZENvbmZpcm0oaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcblxuICAgIHRoaXMuc2VhcmNoRmllbGRzU2VydmljZVxuICAgICAgLmRlbGV0ZVRhc2tMaXN0U2VhcmNoRmllbGQoaXRlbS5rZXkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlclxuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGVEcm9wZG93bkRhdGEoXG4gICAgICAgICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlcixcbiAgICAgICAgICAgICAgICBpdGVtLm93bmVySWQsXG4gICAgICAgICAgICAgICAgaXRlbS5rZXlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZigpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZpZWxkKGl0ZW06IFRhc2tMaXN0U2VhcmNoRmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1Ub0RlbGV0ZSQubmV4dChpdGVtKTtcbiAgICB0aGlzLmRlbGV0ZU1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVHJhbnNsYXRpb25zKFxuICAgIHNlYXJjaEZpZWxkczogVGFza0xpc3RTZWFyY2hGaWVsZFtdXG4gICk6IChUYXNrTGlzdFNlYXJjaEZpZWxkICYge2RhdGFUeXBlVHJhbnNsYXRpb246IHN0cmluZzsgZmllbGRUeXBlVHJhbnNsYXRpb246IHN0cmluZ30pW10ge1xuICAgIHJldHVybiBzZWFyY2hGaWVsZHMubWFwKChzZWFyY2hGaWVsZDogVGFza0xpc3RTZWFyY2hGaWVsZCkgPT4gKHtcbiAgICAgIC4uLnNlYXJjaEZpZWxkLFxuICAgICAgZGF0YVR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHMuJHtzZWFyY2hGaWVsZC5kYXRhVHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICksXG4gICAgICBmaWVsZFR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHNPdmVydmlldy4ke3RoaXMuZmllbGRUeXBlVHJhbnNsYXRpb24oc2VhcmNoRmllbGQuZmllbGRUeXBlKX1gXG4gICAgICApLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZmllbGRUeXBlVHJhbnNsYXRpb24oZmllbGRUeXBlOiBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgY2FzZSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV046XG4gICAgICAgIHJldHVybiAnc2luZ2xlLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBjYXNlIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOOlxuICAgICAgICByZXR1cm4gJ211bHRpLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmllbGRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgZmllbGRNb2RhbE9wZW46IGZpZWxkTW9kYWxPcGVuJCB8IGFzeW5jLFxuICAgIGZpZWxkczogZmllbGRzJCB8IGFzeW5jLFxuICAgIGl0ZW1Ub0RlbGV0ZTogaXRlbVRvRGVsZXRlJCB8IGFzeW5jLFxuICAgIHByZWZpbGxEYXRhOiBwcmVmaWxsRGF0YSQgfCBhc3luYyxcbiAgICBzZWFyY2hGaWVsZHM6IHNlYXJjaEZpZWxkcyQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgW2FjdGlvbkl0ZW1zXT1cIkFDVElPTl9JVEVNU1wiXG4gICAgW2ZpZWxkc109XCJvYnMuZmllbGRzXCJcbiAgICBbaXRlbXNdPVwib2JzLnNlYXJjaEZpZWxkc1wiXG4gICAgW2RyYWdBbmREcm9wXT1cInRydWVcIlxuICAgIChpdGVtc1Jlb3JkZXJlZCk9XCJvbkl0ZW1zUmVvcmRlcmVkKCRldmVudClcIlxuICAgIChyb3dDbGlja2VkKT1cImVkaXRGaWVsZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZEJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgW2FjdGlvbl09XCJhZGRCdXR0b25cIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5ub1NlYXJjaGZpZWxkc0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lm5vU2VhcmNoZmllbGRzVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG4gIDwvdmFsdGltby1jYXJib24tbGlzdD5cblxuICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbFxuICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgIFtvcGVuXT1cIm9icy5maWVsZE1vZGFsT3BlblwiXG4gICAgW3ByZWZpbGxEYXRhXT1cIm9icy5wcmVmaWxsRGF0YVwiXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZUV2ZW50KCRldmVudCwgb2JzLnByZWZpbGxEYXRhKVwiXG4gID48L3ZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWw+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIGNvbmZpcm1CdXR0b25UeXBlPVwiZGFuZ2VyXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJzZWFyY2hGaWVsZHNPdmVydmlldy5kZWxldGVTZWFyY2hGaWVsZENvbmZpcm1hdGlvblwiXG4gICAgW291dHB1dE9uQ29uZmlybV09XCJvYnMuaXRlbVRvRGVsZXRlXCJcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwiZGVsZXRlTW9kYWxPcGVuJFwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cInNlYXJjaEZpZWxkc092ZXJ2aWV3LmRlbGV0ZVNlYXJjaEZpZWxkXCJcbiAgICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlRmllbGRDb25maXJtKCRldmVudClcIlxuICA+PC92YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZEJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWRkQnV0dG9uQ2xpY2soKVwiPlxuICAgIDxzdmcgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIj48L3N2Zz5cblxuICAgIHt7ICdzZWFyY2hGaWVsZHNPdmVydmlldy5hZGQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVMLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUdMLDRCQUE0QixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7Ozs7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LDRCQUE0QixDQUFDLHFCQUFxQjtnQkFDckQsT0FBTyx1QkFBdUIsQ0FBQztZQUNqQztnQkFDRSxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzsrR0FyTFUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsaUdDOURoRCxzZ0ZBcUVBLDJDRGhCSSxZQUFZLDhWQUNaLGVBQWUsMkZBQ2YsZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixVQUFVLDZOQUNWLHdDQUF3QywyS0FDeEMsdUJBQXVCOzs0RkFHZCxtQ0FBbUM7a0JBZi9DLFNBQVM7K0JBQ0UsdUNBQXVDLG1CQUVoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1Ysd0NBQXdDO3dCQUN4Qyx1QkFBdUI7cUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBWaWV3VHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgVGFza0xpc3RTZWFyY2hEcm9wZG93blZhbHVlLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLFxufSBmcm9tICdAdmFsdGltby90YXNrJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlYXJjaEZpZWxkc01vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICd0YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzTW9kYWxDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSksXG4gICAgdGFwKChkb2NEZWZOYW1lOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRmllbGRzU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY0RlZk5hbWUpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoRmllbGRzJDogT2JzZXJ2YWJsZTxUYXNrTGlzdFNlYXJjaEZpZWxkW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLl9yZWZyZXNoJCxcbiAgICB0aGlzLnRyYXNubGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLmdldFRhc2tMaXN0U2VhcmNoRmllbGRzKCkpLFxuICAgIG1hcCgoc2VhcmNoRmllbGRzOiBUYXNrTGlzdFNlYXJjaEZpZWxkW10pID0+IHRoaXMubWFwVHJhbnNsYXRpb25zKHNlYXJjaEZpZWxkcykpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkcyQ6IE9ic2VydmFibGU8Q29sdW1uQ29uZmlnW10+ID0gdGhpcy50cmFzbmxhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JykucGlwZShcbiAgICBtYXAoKCkgPT4gW1xuICAgICAge1xuICAgICAgICBrZXk6ICd0aXRsZScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcudGl0bGUnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2tleScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdwYXRoJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5wYXRoJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdkYXRhVHlwZVRyYW5zbGF0aW9uJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5kYXRhVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmllbGRUeXBlVHJhbnNsYXRpb24nLFxuICAgICAgICBsYWJlbDogJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmZpZWxkVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICBdKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVNb2RhbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZE1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1Ub0RlbGV0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxEYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBBQ1RJT05fSVRFTVM6IEFjdGlvbkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5lZGl0JyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmVkaXRGaWVsZC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ25vcm1hbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5kZWxldGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZGVsZXRlRmllbGQuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaEZpZWxkc1NlcnZpY2U6IFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYXNubGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBlZGl0RmllbGQoaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCk6IHZvaWQge1xuICAgIGlmICghIWl0ZW0uZHJvcGRvd25EYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAgIC5nZXREcm9wZG93bkRhdGEoaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlciwgaXRlbS5vd25lcklkLCBpdGVtLmtleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShkcm9wZG93blZhbHVlcyA9PiB7XG4gICAgICAgICAgaXRlbS5kcm9wZG93blZhbHVlcyA9IGRyb3Bkb3duVmFsdWVzIGFzIFRhc2tMaXN0U2VhcmNoRHJvcGRvd25WYWx1ZTtcbiAgICAgICAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KGl0ZW0pO1xuICAgICAgICAgIHRoaXMuZmllbGRNb2RhbE9wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucHJlZmlsbERhdGEkLm5leHQoaXRlbSk7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1zUmVvcmRlcmVkKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlXG4gICAgICAub3JkZXJUYXNrTGlzdFNlYXJjaEZpZWxkcyhldmVudClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCkpO1xuICB9XG5cbiAgcHVibGljIG9uQWRkQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRXZlbnQoXG4gICAgc2VhcmNoRmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsLFxuICAgIHByZWZpbGxEYXRhOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkTW9kYWxPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KG51bGwpO1xuICAgIGlmICghc2VhcmNoRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGhhc0Ryb3Bkb3duVmFsdWVzOiBib29sZWFuID1cbiAgICAgIHNlYXJjaEZpZWxkLmZpZWxkVHlwZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOIHx8XG4gICAgICBzZWFyY2hGaWVsZC5maWVsZFR5cGUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOO1xuXG4gICAgKCFwcmVmaWxsRGF0YVxuICAgICAgPyB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UuY3JlYXRlVGFza0xpc3RTZWFyY2hGaWVsZChzZWFyY2hGaWVsZClcbiAgICAgIDogdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLnVwZGF0ZVRhc2tMaXN0U2VhcmNoRmllbGQoc2VhcmNoRmllbGQpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoZmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaGFzRHJvcGRvd25WYWx1ZXNcbiAgICAgICAgICAgID8gdGhpcy5kb2N1bWVudFNlcnZpY2UucG9zdERyb3Bkb3duRGF0YShcbiAgICAgICAgICAgICAgICBmaWVsZC5kcm9wZG93bkRhdGFQcm92aWRlciA/PyAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZC5vd25lcklkLFxuICAgICAgICAgICAgICAgIGZpZWxkLmtleSxcbiAgICAgICAgICAgICAgICBzZWFyY2hGaWVsZC5kcm9wZG93blZhbHVlcyA/PyB7fVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG9mKGZpZWxkKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVGaWVsZENvbmZpcm0oaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcblxuICAgIHRoaXMuc2VhcmNoRmllbGRzU2VydmljZVxuICAgICAgLmRlbGV0ZVRhc2tMaXN0U2VhcmNoRmllbGQoaXRlbS5rZXkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlclxuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGVEcm9wZG93bkRhdGEoXG4gICAgICAgICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlcixcbiAgICAgICAgICAgICAgICBpdGVtLm93bmVySWQsXG4gICAgICAgICAgICAgICAgaXRlbS5rZXlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZigpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZpZWxkKGl0ZW06IFRhc2tMaXN0U2VhcmNoRmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1Ub0RlbGV0ZSQubmV4dChpdGVtKTtcbiAgICB0aGlzLmRlbGV0ZU1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVHJhbnNsYXRpb25zKFxuICAgIHNlYXJjaEZpZWxkczogVGFza0xpc3RTZWFyY2hGaWVsZFtdXG4gICk6IChUYXNrTGlzdFNlYXJjaEZpZWxkICYge2RhdGFUeXBlVHJhbnNsYXRpb246IHN0cmluZzsgZmllbGRUeXBlVHJhbnNsYXRpb246IHN0cmluZ30pW10ge1xuICAgIHJldHVybiBzZWFyY2hGaWVsZHMubWFwKChzZWFyY2hGaWVsZDogVGFza0xpc3RTZWFyY2hGaWVsZCkgPT4gKHtcbiAgICAgIC4uLnNlYXJjaEZpZWxkLFxuICAgICAgZGF0YVR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHMuJHtzZWFyY2hGaWVsZC5kYXRhVHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICksXG4gICAgICBmaWVsZFR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHNPdmVydmlldy4ke3RoaXMuZmllbGRUeXBlVHJhbnNsYXRpb24oc2VhcmNoRmllbGQuZmllbGRUeXBlKX1gXG4gICAgICApLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZmllbGRUeXBlVHJhbnNsYXRpb24oZmllbGRUeXBlOiBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgY2FzZSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV046XG4gICAgICAgIHJldHVybiAnc2luZ2xlLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBjYXNlIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOOlxuICAgICAgICByZXR1cm4gJ211bHRpLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmllbGRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgZmllbGRNb2RhbE9wZW46IGZpZWxkTW9kYWxPcGVuJCB8IGFzeW5jLFxuICAgIGZpZWxkczogZmllbGRzJCB8IGFzeW5jLFxuICAgIGl0ZW1Ub0RlbGV0ZTogaXRlbVRvRGVsZXRlJCB8IGFzeW5jLFxuICAgIHByZWZpbGxEYXRhOiBwcmVmaWxsRGF0YSQgfCBhc3luYyxcbiAgICBzZWFyY2hGaWVsZHM6IHNlYXJjaEZpZWxkcyQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgW2FjdGlvbkl0ZW1zXT1cIkFDVElPTl9JVEVNU1wiXG4gICAgW2ZpZWxkc109XCJvYnMuZmllbGRzXCJcbiAgICBbaXRlbXNdPVwib2JzLnNlYXJjaEZpZWxkc1wiXG4gICAgW2RyYWdBbmREcm9wXT1cInRydWVcIlxuICAgIChpdGVtc1Jlb3JkZXJlZCk9XCJvbkl0ZW1zUmVvcmRlcmVkKCRldmVudClcIlxuICAgIChyb3dDbGlja2VkKT1cImVkaXRGaWVsZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZEJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgW2FjdGlvbl09XCJhZGRCdXR0b25cIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5ub1NlYXJjaGZpZWxkc0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lm5vU2VhcmNoZmllbGRzVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG4gIDwvdmFsdGltby1jYXJib24tbGlzdD5cblxuICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbFxuICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgIFtvcGVuXT1cIm9icy5maWVsZE1vZGFsT3BlblwiXG4gICAgW3ByZWZpbGxEYXRhXT1cIm9icy5wcmVmaWxsRGF0YVwiXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZUV2ZW50KCRldmVudCwgb2JzLnByZWZpbGxEYXRhKVwiXG4gID48L3ZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWw+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIGNvbmZpcm1CdXR0b25UeXBlPVwiZGFuZ2VyXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJzZWFyY2hGaWVsZHNPdmVydmlldy5kZWxldGVTZWFyY2hGaWVsZENvbmZpcm1hdGlvblwiXG4gICAgW291dHB1dE9uQ29uZmlybV09XCJvYnMuaXRlbVRvRGVsZXRlXCJcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwiZGVsZXRlTW9kYWxPcGVuJFwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cInNlYXJjaEZpZWxkc092ZXJ2aWV3LmRlbGV0ZVNlYXJjaEZpZWxkXCJcbiAgICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlRmllbGRDb25maXJtKCRldmVudClcIlxuICA+PC92YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZEJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWRkQnV0dG9uQ2xpY2soKVwiPlxuICAgIDxzdmcgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIj48L3N2Zz5cblxuICAgIHt7ICdzZWFyY2hGaWVsZHNPdmVydmlldy5hZGQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -323,10 +323,10 @@ export class TaskManagementSearchFieldsModalComponent {
323
323
  this.form.enable();
324
324
  }, CARBON_CONSTANTS.modalAnimationMs);
325
325
  }
326
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, deps: [{ token: i1.DocumentService }, { token: i2.IconService }, { token: i3.FormBuilder }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
327
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: TaskManagementSearchFieldsModalComponent, isStandalone: true, selector: "valtimo-task-management-search-fields-modal", inputs: { open: "open", documentDefinitionName: "documentDefinitionName", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<cds-modal [open]=\"open\" showFooter=\"true\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ (!prefillData ? 'searchFieldsOverview.add' : 'searchFieldsOverview.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\" class=\"valtimo-task-management-search-fields-modal__content\">\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.title' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"title\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.key' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"path\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"dataType\">\n <cds-dropdown-list [items]=\"dataTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dataTypeValue === TaskListSearchFieldDataType.TEXT) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"matchTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"fieldType\">\n <cds-dropdown-list [items]=\"fieldTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (\n dataTypeValue === TaskListSearchFieldDataType.TEXT &&\n (fieldTypeValue === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||\n fieldTypeValue === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN)\n ) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"dropdownDataProvider\">\n <cds-dropdown-list [items]=\"dataProviderItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.DATABASE) {\n <div\n class=\"valtimo-task-management-search-fields-modal__list\"\n formArrayName=\"dropdownValues\"\n >\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n >\n </v-input-label>\n\n @for (dropdownValue of dropdownValuesArray?.controls; track $index) {\n <form\n [formGroup]=\"dropdownValue\"\n class=\"valtimo-task-management-search-fields-modal__dropdown-values\"\n >\n <cds-text-label>\n {{ 'interface.key' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"value\" />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n (click)=\"removeDropdownValue($index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button cdsButton=\"primary\" (click)=\"addDropdownValue()\">\n {{ 'interface.addRow' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.JSON) {\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"DROPDOWN_FIELDS\"\n [items]=\"dropdownReadonlyItems$ | async\"\n ></valtimo-carbon-list>\n }\n }\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"onSave()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-task-management-search-fields-modal__content,.valtimo-task-management-search-fields-modal__dropdown-values{display:flex;gap:16px}.valtimo-task-management-search-fields-modal__content{flex-direction:column}.valtimo-task-management-search-fields-modal__dropdown-values{align-items:flex-end;gap:16px}.valtimo-task-management-search-fields-modal__label{display:flex;gap:4px}.valtimo-task-management-search-fields-modal__list{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i6.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, deps: [{ token: i1.DocumentService }, { token: i2.IconService }, { token: i3.FormBuilder }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
327
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TaskManagementSearchFieldsModalComponent, isStandalone: true, selector: "valtimo-task-management-search-fields-modal", inputs: { open: "open", documentDefinitionName: "documentDefinitionName", prefillData: "prefillData" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n<cds-modal [open]=\"open\" showFooter=\"true\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"onCancel()\">\n <h3 cdsModalHeaderHeading>\n {{ (!prefillData ? 'searchFieldsOverview.add' : 'searchFieldsOverview.edit') | translate }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <form [formGroup]=\"form\" class=\"valtimo-task-management-search-fields-modal__content\">\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.title' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.title' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"title\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.key' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.key' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.path' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.path' | translate\"\n >\n </v-input-label>\n\n <input cdsText type=\"text\" formControlName=\"path\" />\n </div>\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dataType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dataType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"dataType\">\n <cds-dropdown-list [items]=\"dataTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dataTypeValue === TaskListSearchFieldDataType.TEXT) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.matchType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.matchType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"matchType\">\n <cds-dropdown-list [items]=\"matchTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n }\n\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.fieldType' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.fieldType' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"fieldType\">\n <cds-dropdown-list [items]=\"fieldTypeItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (\n dataTypeValue === TaskListSearchFieldDataType.TEXT &&\n (fieldTypeValue === TaskListSearchFieldFieldType.SINGLE_SELECT_DROPDOWN ||\n fieldTypeValue === TaskListSearchFieldFieldType.MULTI_SELECT_DROPDOWN)\n ) {\n <div class=\"valtimo-task-management-search-fields-modal__input\">\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownDataProvider' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownDataProvider' | translate\"\n >\n </v-input-label>\n\n <cds-dropdown formControlName=\"dropdownDataProvider\">\n <cds-dropdown-list [items]=\"dataProviderItems$ | async\"></cds-dropdown-list>\n </cds-dropdown>\n </div>\n\n @if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.DATABASE) {\n <div\n class=\"valtimo-task-management-search-fields-modal__list\"\n formArrayName=\"dropdownValues\"\n >\n <v-input-label\n [title]=\"'searchFieldsOverview.dropdownListValues' | translate\"\n [tooltip]=\"'searchFieldsOverviewTooltips.dropdownListValues' | translate\"\n [noMargin]=\"true\"\n >\n </v-input-label>\n\n @for (dropdownValue of dropdownValuesArray?.controls; track $index) {\n <form\n [formGroup]=\"dropdownValue\"\n class=\"valtimo-task-management-search-fields-modal__dropdown-values\"\n >\n <cds-text-label>\n {{ 'interface.key' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"key\" />\n </cds-text-label>\n\n <cds-text-label>\n {{ 'interface.value' | translate }}\n\n <input cdsText type=\"text\" formControlName=\"value\" />\n </cds-text-label>\n\n <button\n cdsButton=\"danger\"\n [disabled]=\"$count === 1\"\n [iconOnly]=\"true\"\n (click)=\"removeDropdownValue($index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </form>\n }\n\n <button cdsButton=\"primary\" (click)=\"addDropdownValue()\">\n {{ 'interface.addRow' | translate }}\n\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </div>\n } @else if (dropdownDataProviderValue === TaskListSearchDropdownDataProvider.JSON) {\n <valtimo-carbon-list\n [header]=\"false\"\n [hideToolbar]=\"true\"\n [fields]=\"DROPDOWN_FIELDS\"\n [items]=\"dropdownReadonlyItems$ | async\"\n ></valtimo-carbon-list>\n }\n }\n </form>\n </section>\n\n <cds-modal-footer>\n <button cdsButton=\"ghost\" (click)=\"onCancel()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"onSave()\">\n {{ 'interface.save' | translate }}\n </button>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-task-management-search-fields-modal__content,.valtimo-task-management-search-fields-modal__dropdown-values{display:flex;gap:16px}.valtimo-task-management-search-fields-modal__content{flex-direction:column}.valtimo-task-management-search-fields-modal__dropdown-values{align-items:flex-end;gap:16px}.valtimo-task-management-search-fields-modal__label{display:flex;gap:4px}.valtimo-task-management-search-fields-modal__list{display:flex;flex-direction:column;gap:16px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i2.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i2.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i2.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i2.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i2.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i2.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i2.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i2.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i6.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i6.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
328
328
  }
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementSearchFieldsModalComponent, decorators: [{
330
330
  type: Component,
331
331
  args: [{ selector: 'valtimo-task-management-search-fields-modal', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
332
332
  CommonModule,
@@ -351,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
351
351
  }], closeEvent: [{
352
352
  type: Output
353
353
  }] } });
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsbUJBQW1CLEVBRW5CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUVoQixnQkFBZ0IsRUFDaEIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNMLGtDQUFrQyxFQUdsQywyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDRCQUE0QixHQUM3QixNQUFN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WTt3QkFDWixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjt1S0FHd0IsSUFBSTtzQkFBNUIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBQ0Usc0JBQXNCO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFHSCxXQUFXO3NCQUE5QixLQUFLO2dCQU9JLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1BcnJheSxcbiAgRm9ybUJ1aWxkZXIsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SW5mb3JtYXRpb25GaWxsZWQxNiwgVHJhc2hDYW4xNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBDQVJCT05fQ09OU1RBTlRTLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIElucHV0TGFiZWxNb2R1bGUsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1xuICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duVmFsdWUsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGQsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSxcbiAgVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZSxcbiAgVGFza0xpc3RTZWFyY2hGaWVsZE1hdGNoVHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vdGFzayc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJY29uU2VydmljZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExpc3RJdGVtLFxuICBNb2RhbE1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBJbnB1dExhYmVsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudFNlYXJjaEZpZWxkc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfcHJlZmlsbERhdGE6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHByZWZpbGxEYXRhKHZhbHVlOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbCkge1xuICAgIHRoaXMuX3ByZWZpbGxEYXRhID0gdmFsdWU7XG4gICAgdGhpcy5zZXRQcmVmaWxsZWRGb3JtKHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByZWZpbGxEYXRhKCk6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlZmlsbERhdGE7XG4gIH1cbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8VGFza0xpc3RTZWFyY2hGaWVsZD4gfCBudWxsPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAga2V5OiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPignJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgdGl0bGU6IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBwYXRoOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPignJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZGF0YVR5cGU6IHRoaXMuZmIuY29udHJvbDxMaXN0SXRlbSB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIG1hdGNoVHlwZTogdGhpcy5mYi5jb250cm9sPExpc3RJdGVtIHwgbnVsbD4obnVsbCwgdGhpcy5tYXRjaFR5cGVWYWxpZGF0b3IpLFxuICAgIGZpZWxkVHlwZTogdGhpcy5mYi5jb250cm9sPExpc3RJdGVtIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZHJvcGRvd25EYXRhUHJvdmlkZXI6IHRoaXMuZmIuY29udHJvbDxMaXN0SXRlbSB8IG51bGw+KG51bGwpLFxuICAgIGRyb3Bkb3duVmFsdWVzOiB0aGlzLmZiLmFycmF5PHtrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZ30+KFtdKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCBkYXRhVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2RhdGFUeXBlJyk7XG4gIH1cbiAgcHVibGljIGdldCBkYXRhVHlwZVZhbHVlJCgpOiBPYnNlcnZhYmxlPExpc3RJdGVtIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmRhdGFUeXBlLnZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1hdGNoVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ21hdGNoVHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgbWF0Y2hUeXBlVmFsdWUkKCk6IE9ic2VydmFibGU8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2hUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm1hdGNoVHlwZS52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlcigpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Ryb3Bkb3duRGF0YVByb3ZpZGVyJyk7XG4gIH1cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlJCgpOiBPYnNlcnZhYmxlPExpc3RJdGVtIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyLnZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2ZpZWxkVHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgZmllbGRUeXBlVmFsdWUkKCk6IE9ic2VydmFibGU8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZpZWxkVHlwZS52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSA9IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZTtcbiAgcHVibGljIHJlYWRvbmx5IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUgPSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgVGFza0xpc3RTZWFyY2hEcm9wZG93bkRhdGFQcm92aWRlciA9IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXI7XG5cbiAgcHVibGljIGdldCBrZXlWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSB0aGlzLmZvcm0uZ2V0KCdrZXknKT8udmFsdWU7XG5cbiAgICByZXR1cm4gIWNvbnRyb2xWYWx1ZSA/IG51bGwgOiBjb250cm9sVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFUeXBlVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gdGhpcy5mb3JtLmdldCgnZGF0YVR5cGUnKT8udmFsdWU7XG4gICAgdGhpcy5fZGF0YVR5cGVWYWx1ZSQubmV4dChjb250cm9sVmFsdWU/LmlkKTtcblxuICAgIHJldHVybiAhY29udHJvbFZhbHVlID8gbnVsbCA6IGNvbnRyb2xWYWx1ZS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmllbGRUeXBlVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gdGhpcy5mb3JtLmdldCgnZmllbGRUeXBlJyk/LnZhbHVlO1xuXG4gICAgcmV0dXJuICFjb250cm9sVmFsdWUgPyBudWxsIDogY29udHJvbFZhbHVlLmlkO1xuICB9XG5cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IHRoaXMuZm9ybS5nZXQoJ2Ryb3Bkb3duRGF0YVByb3ZpZGVyJyk/LnZhbHVlO1xuICAgIHRoaXMuX2Ryb3Bkb3duUHJvdmlkZXJWYWx1ZSQubmV4dChjb250cm9sVmFsdWU/LmlkKTtcblxuICAgIHJldHVybiAhY29udHJvbFZhbHVlID8gbnVsbCA6IGNvbnRyb2xWYWx1ZS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25WYWx1ZXNBcnJheSgpOiBGb3JtQXJyYXkgfCBudWxsIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KCdkcm9wZG93blZhbHVlcycpO1xuXG4gICAgcmV0dXJuICFmb3JtQXJyYXkgPyBudWxsIDogKGZvcm1BcnJheSBhcyBGb3JtQXJyYXkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IERST1BET1dOX0ZJRUxEUzogQ29sdW1uQ29uZmlnW10gPSBbXG4gICAge1xuICAgICAga2V5OiAna2V5JyxcbiAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAndmFsdWUnLFxuICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy50ZXh0JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVR5cGVWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kcm9wZG93blByb3ZpZGVyVmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25SZWFkb25seUl0ZW1zJCA9IHRoaXMuX2Ryb3Bkb3duUHJvdmlkZXJWYWx1ZSQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIGZpbHRlcih2YWwgPT4gISF2YWwgJiYgdmFsID09PSBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkpTT04pLFxuICAgIHN3aXRjaE1hcCgocHJvdmlkZXI6IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXIgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0RHJvcGRvd25EYXRhKFxuICAgICAgICBwcm92aWRlciA/PyAnJyxcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lID8/ICcnLFxuICAgICAgICB0aGlzLmtleVZhbHVlID8/ICcnXG4gICAgICApXG4gICAgKSxcbiAgICBtYXAoZHJvcGRvd25EYXRhID0+XG4gICAgICBkcm9wZG93bkRhdGEgPyBPYmplY3QuZW50cmllcyhkcm9wZG93bkRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe2tleSwgdmFsdWV9KSkgOiBbXVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVR5cGVJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRhdGFUeXBlVmFsdWUkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2RhdGFUeXBlVmFsdWVdKSA9PlxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy50ZXh0JyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhULFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5ib29sZWFuJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5CT09MRUFOLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5kYXRlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5EQVRFLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5kYXRldGltZScpLFxuICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuREFURVRJTUUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzLm51bWJlcicpLFxuICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuTlVNQkVSLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy50aW1lJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5USU1FLFxuICAgICAgICB9LFxuICAgICAgXS5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIHNlbGVjdGVkOiBpdGVtLmlkID09PSBkYXRhVHlwZVZhbHVlPy5pZH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRUeXBlSXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fZGF0YVR5cGVWYWx1ZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICB0aGlzLmZpZWxkVHlwZVZhbHVlJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkYXRhVHlwZVZhbHVlLCBmaWVsZFR5cGVWYWx1ZV0pID0+XG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzT3ZlcnZpZXcuc2luZ2xlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuU0lOR0xFLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LnJhbmdlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuUkFOR0UsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLihkYXRhVHlwZVZhbHVlID09PSBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuVEVYVFxuICAgICAgICAgID8gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuc2luZ2xlLXNlbGVjdC1kcm9wZG93bidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5tdWx0aS1zZWxlY3QtZHJvcGRvd24nXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpZDogVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5NVUxUSV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdLm1hcChpdGVtID0+ICh7Li4uaXRlbSwgc2VsZWN0ZWQ6IGl0ZW0uaWQgPT09IGZpZWxkVHlwZVZhbHVlPy5pZH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVByb3ZpZGVySXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgLnN0cmVhbSgna2V5JylcbiAgICAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUkKSxcbiAgICAgIG1hcChkYXRhUHJvdmlkZXJWYWx1ZSA9PlxuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkRhdGFiYXNlRGF0YVByb3ZpZGVyJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkRBVEFCQVNFLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkpzb25GaWxlRGF0YVByb3ZpZGVyJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkpTT04sXG4gICAgICAgICAgfSxcbiAgICAgICAgXS5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIHNlbGVjdGVkOiBpdGVtLmlkID09PSBkYXRhUHJvdmlkZXJWYWx1ZT8uaWR9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBtYXRjaFR5cGVJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAuc3RyZWFtKCdrZXknKVxuICAgIC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubWF0Y2hUeXBlVmFsdWUkKSxcbiAgICAgIG1hcChtYXRjaFR5cGVWYWx1ZSA9PlxuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lmxpa2UnKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkTWF0Y2hUeXBlLkxJS0UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzT3ZlcnZpZXcuZXhhY3QnKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkTWF0Y2hUeXBlLkVYQUNULFxuICAgICAgICAgIH0sXG4gICAgICAgIF0ubWFwKGl0ZW0gPT4gKHsuLi5pdGVtLCBzZWxlY3RlZDogaXRlbS5pZCA9PT0gbWF0Y2hUeXBlVmFsdWU/LmlkfSkpXG4gICAgICApXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtUcmFzaENhbjE2LCBJbmZvcm1hdGlvbkZpbGxlZDE2XSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnMoW3RoaXMuZHJvcGRvd25EYXRhUHJvdmlkZXJWYWxpZGF0b3IsIHRoaXMuZHJvcGRvd25WYWx1ZXNWYWxpZGF0b3JdKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGREcm9wZG93blZhbHVlKHByZWZpbGxWYWx1ZT86IHtrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheSkgcmV0dXJuO1xuXG4gICAgdGhpcy5kcm9wZG93blZhbHVlc0FycmF5LnB1c2goXG4gICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAga2V5OiB0aGlzLmZiLmNvbnRyb2wocHJlZmlsbFZhbHVlPy5rZXkgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICB2YWx1ZTogdGhpcy5mYi5jb250cm9sKHByZWZpbGxWYWx1ZT8udmFsdWUgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZURyb3Bkb3duVmFsdWUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93blZhbHVlc0FycmF5KSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duVmFsdWVzQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KG51bGwpO1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgb25TYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGdyb3VwVmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCh7XG4gICAgICAuLi4oZ3JvdXBWYWx1ZS50aXRsZSAmJiB7dGl0bGU6IGdyb3VwVmFsdWUudGl0bGV9KSxcbiAgICAgIC4uLihncm91cFZhbHVlLmtleSAmJiB7a2V5OiBncm91cFZhbHVlLmtleX0pLFxuICAgICAgLi4uKGdyb3VwVmFsdWUucGF0aCAmJiB7cGF0aDogZ3JvdXBWYWx1ZS5wYXRofSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kYXRhVHlwZT8uY29udGVudCAmJiB7ZGF0YVR5cGU6IGdyb3VwVmFsdWUuZGF0YVR5cGUuaWR9KSxcbiAgICAgIC4uLihncm91cFZhbHVlLm1hdGNoVHlwZT8uY29udGVudCAmJiB7bWF0Y2hUeXBlOiBncm91cFZhbHVlLm1hdGNoVHlwZS5pZH0pLFxuICAgICAgLi4uKGdyb3VwVmFsdWUuZmllbGRUeXBlPy5jb250ZW50ICYmIHtmaWVsZFR5cGU6IGdyb3VwVmFsdWUuZmllbGRUeXBlLmlkfSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kcm9wZG93bkRhdGFQcm92aWRlcj8uY29udGVudCAmJiB7XG4gICAgICAgIGRyb3Bkb3duRGF0YVByb3ZpZGVyOiBncm91cFZhbHVlLmRyb3Bkb3duRGF0YVByb3ZpZGVyLmlkLFxuICAgICAgfSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kcm9wZG93blZhbHVlcyAmJiB7XG4gICAgICAgIGRyb3Bkb3duVmFsdWVzOiBncm91cFZhbHVlLmRyb3Bkb3duVmFsdWVzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBjdXJyKSA9PiAoey4uLmFjYywgLi4uKCEhY3Vycj8ua2V5ICYmIHtbY3Vyci5rZXldOiBjdXJyLnZhbHVlfSl9KSxcbiAgICAgICAgICB7fVxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcmVmaWxsZWRGb3JtKHByZWZpbGxEYXRhOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghcHJlZmlsbERhdGEpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIC4uLnByZWZpbGxEYXRhLFxuICAgICAgZGF0YVR5cGU6ICFwcmVmaWxsRGF0YS5kYXRhVHlwZVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBjb250ZW50OiBwcmVmaWxsRGF0YS5kYXRhVHlwZSxcbiAgICAgICAgICAgIGlkOiBwcmVmaWxsRGF0YS5kYXRhVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBtYXRjaFR5cGU6ICFwcmVmaWxsRGF0YS5tYXRjaFR5cGVcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY29udGVudDogcHJlZmlsbERhdGEubWF0Y2hUeXBlLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLm1hdGNoVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBmaWVsZFR5cGU6ICFwcmVmaWxsRGF0YS5maWVsZFR5cGVcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY29udGVudDogcHJlZmlsbERhdGEuZmllbGRUeXBlLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLmZpZWxkVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBkcm9wZG93bkRhdGFQcm92aWRlcjogIXByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgIGRyb3Bkb3duVmFsdWVzOiBbXSxcbiAgICB9KTtcblxuICAgIGlmIChwcmVmaWxsRGF0YS5kcm9wZG93bkRhdGFQcm92aWRlciAmJiBwcmVmaWxsRGF0YS5kcm9wZG93blZhbHVlcylcbiAgICAgIHRoaXMuc2V0UHJlZmlsbGVkRHJvcGRvd25WYWx1ZXMocHJlZmlsbERhdGEuZHJvcGRvd25WYWx1ZXMpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2tleScpPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFByZWZpbGxlZERyb3Bkb3duVmFsdWVzKGRyb3Bkb3duVmFsdWU6IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25WYWx1ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93blZhbHVlc0FycmF5IHx8ICF0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUpIHJldHVybjtcblxuICAgIE9iamVjdC5lbnRyaWVzKGRyb3Bkb3duVmFsdWUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgdGhpcy5hZGREcm9wZG93blZhbHVlKHtrZXksIHZhbHVlfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoVHlwZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBudWxsIHwge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZTogTGlzdEl0ZW0gfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGRhdGFUeXBlQ29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgnZGF0YVR5cGUnKT8udmFsdWU7XG5cbiAgICBpZiAoXG4gICAgICBkYXRhVHlwZUNvbnRyb2xWYWx1ZT8uaWQgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUICYmXG4gICAgICAoIWNvbnRyb2xWYWx1ZSB8fCAhY29udHJvbFZhbHVlLnNlbGVjdGVkKVxuICAgIClcbiAgICAgIHJldHVybiB7ZXJyb3I6ICdNYXRjaCB0eXBlIG5vdCBzZWxlY3RlZCd9O1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsaWRhdG9yKGdyb3VwOiB0eXBlb2YgdGhpcy5mb3JtKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IHVuZGVmaW5lZCA9IGdyb3VwLmdldCgnZHJvcGRvd25EYXRhUHJvdmlkZXInKT8udmFsdWU7XG4gICAgY29uc3QgZmllbGRUeXBlQ29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IG51bGwgfCB1bmRlZmluZWQgPSBncm91cC5nZXQoJ2ZpZWxkVHlwZScpPy52YWx1ZTtcblxuICAgIGlmIChcbiAgICAgIFtcbiAgICAgICAgVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOLFxuICAgICAgICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLk1VTFRJX1NFTEVDVF9EUk9QRE9XTixcbiAgICAgIF0uaW5jbHVkZXMoZmllbGRUeXBlQ29udHJvbFZhbHVlPy5pZCkgJiZcbiAgICAgICFjb250cm9sVmFsdWVcbiAgICApXG4gICAgICByZXR1cm4ge2Vycm9yOiAnRHJvcGRvd24gc291cmNlIHByb3ZpZGVyIGlzIG5vdCBzcGVjaWZpZWQnfTtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBkcm9wZG93blZhbHVlc1ZhbGlkYXRvcihncm91cDogdHlwZW9mIHRoaXMuZm9ybSk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZToge2tleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nfVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIGdyb3VwLmdldCgnZHJvcGRvd25WYWx1ZXMnKT8udmFsdWU7XG4gICAgY29uc3QgZmllbGRUeXBlQ29udHJvbFZhbHVlID0gZ3JvdXAuZ2V0KCdmaWVsZFR5cGUnKT8udmFsdWU/LmlkO1xuICAgIGNvbnN0IGRyb3Bkb3duUHJvdmlkZXJWYWx1ZSA9IGdyb3VwLmdldCgnZHJvcGRvd25EYXRhUHJvdmlkZXInKT8udmFsdWU/LmlkO1xuXG4gICAgaWYgKFxuICAgICAgW1xuICAgICAgICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOLFxuICAgICAgXS5pbmNsdWRlcyhmaWVsZFR5cGVDb250cm9sVmFsdWUpICYmXG4gICAgICAoIWNvbnRyb2xWYWx1ZSB8fCBjb250cm9sVmFsdWU/Lmxlbmd0aCA9PT0gMCkgJiZcbiAgICAgIGRyb3Bkb3duUHJvdmlkZXJWYWx1ZSA9PT0gVGFza0xpc3RTZWFyY2hEcm9wZG93bkRhdGFQcm92aWRlci5EQVRBQkFTRVxuICAgIClcbiAgICAgIHJldHVybiB7ZXJyb3I6ICdEcm9wZG93biBzb3VyY2UgcHJvdmlkZXIgaXMgbm90IHNwZWNpZmllZCBvciBpcyBlbXB0eSd9O1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdoaWxlICghIXRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheT8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheS5yZW1vdmVBdCgwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cbjxjZHMtbW9kYWwgW29wZW5dPVwib3BlblwiIHNob3dGb290ZXI9XCJ0cnVlXCI+XG4gIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJvbkNhbmNlbCgpXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7ICghcHJlZmlsbERhdGEgPyAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuYWRkJyA6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5lZGl0JykgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG5cbiAgPHNlY3Rpb24gY2RzTW9kYWxDb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwidmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbF9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2lucHV0XCI+XG4gICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidzZWFyY2hGaWVsZHNPdmVydmlld1Rvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMua2V5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbF9faW5wdXRcIj5cbiAgICAgICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LnBhdGgnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXdUb29sdGlwcy5wYXRoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwicGF0aFwiIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2lucHV0XCI+XG4gICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5kYXRhVHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidzZWFyY2hGaWVsZHNPdmVydmlld1Rvb2x0aXBzLmRhdGFUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIj5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cImRhdGFUeXBlSXRlbXMkIHwgYXN5bmNcIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGRhdGFUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lm1hdGNoVHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMubWF0Y2hUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cblxuICAgICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwibWF0Y2hUeXBlXCI+XG4gICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm1hdGNoVHlwZUl0ZW1zJCB8IGFzeW5jXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXcuZmllbGRUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMuZmllbGRUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRUeXBlXCI+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJmaWVsZFR5cGVJdGVtcyQgfCBhc3luY1wiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoXG4gICAgICAgIGRhdGFUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUICYmXG4gICAgICAgIChmaWVsZFR5cGVWYWx1ZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOIHx8XG4gICAgICAgICAgZmllbGRUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOKVxuICAgICAgKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmRyb3Bkb3duRGF0YVByb3ZpZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcF09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXdUb29sdGlwcy5kcm9wZG93bkRhdGFQcm92aWRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duRGF0YVByb3ZpZGVyXCI+XG4gICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cImRhdGFQcm92aWRlckl0ZW1zJCB8IGFzeW5jXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlID09PSBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkRBVEFCQVNFKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19saXN0XCJcbiAgICAgICAgICAgIGZvcm1BcnJheU5hbWU9XCJkcm9wZG93blZhbHVlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkxpc3RWYWx1ZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMuZHJvcGRvd25MaXN0VmFsdWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cblxuICAgICAgICAgICAgQGZvciAoZHJvcGRvd25WYWx1ZSBvZiBkcm9wZG93blZhbHVlc0FycmF5Py5jb250cm9sczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJkcm9wZG93blZhbHVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2Ryb3Bkb3duLXZhbHVlc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICB7eyAnaW50ZXJmYWNlLmtleScgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNkc1RleHQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJrZXlcIiAvPlxuICAgICAgICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG5cbiAgICAgICAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICB7eyAnaW50ZXJmYWNlLnZhbHVlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2RzVGV4dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2RzQnV0dG9uPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIkY291bnQgPT09IDFcIlxuICAgICAgICAgICAgICAgICAgW2ljb25Pbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZURyb3Bkb3duVmFsdWUoJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cInRyYXNoLWNhblwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGREcm9wZG93blZhbHVlKClcIj5cbiAgICAgICAgICAgICAge3sgJ2ludGVyZmFjZS5hZGRSb3cnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICAgICAgPHN2ZyBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiPjwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2UgaWYgKGRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXIuSlNPTikge1xuICAgICAgICAgIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgICAgICAgICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtoaWRlVG9vbGJhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmaWVsZHNdPVwiRFJPUERPV05fRklFTERTXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJkcm9wZG93blJlYWRvbmx5SXRlbXMkIHwgYXN5bmNcIlxuICAgICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cblxuICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uIGNkc0J1dHRvbj1cImdob3N0XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvblNhdmUoKVwiPlxuICAgICAge3sgJ2ludGVyZmFjZS5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsbUJBQW1CLEVBRW5CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUVoQixnQkFBZ0IsRUFDaEIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNMLGtDQUFrQyxFQUdsQywyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDRCQUE0QixHQUM3QixNQUFN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WTt3QkFDWixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjt1S0FHd0IsSUFBSTtzQkFBNUIsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBQ0Usc0JBQXNCO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFHSCxXQUFXO3NCQUE5QixLQUFLO2dCQU9JLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1BcnJheSxcbiAgRm9ybUJ1aWxkZXIsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7SW5mb3JtYXRpb25GaWxsZWQxNiwgVHJhc2hDYW4xNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBDQVJCT05fQ09OU1RBTlRTLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIElucHV0TGFiZWxNb2R1bGUsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1xuICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duVmFsdWUsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGQsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSxcbiAgVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZSxcbiAgVGFza0xpc3RTZWFyY2hGaWVsZE1hdGNoVHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vdGFzayc7XG5pbXBvcnQge1xuICBCdXR0b25Nb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJY29uU2VydmljZSxcbiAgSW5wdXRNb2R1bGUsXG4gIExpc3RJdGVtLFxuICBNb2RhbE1vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBJbnB1dExhYmVsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudFNlYXJjaEZpZWxkc01vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCh7cmVxdWlyZWQ6IHRydWV9KSBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfcHJlZmlsbERhdGE6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHByZWZpbGxEYXRhKHZhbHVlOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbCkge1xuICAgIHRoaXMuX3ByZWZpbGxEYXRhID0gdmFsdWU7XG4gICAgdGhpcy5zZXRQcmVmaWxsZWRGb3JtKHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByZWZpbGxEYXRhKCk6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fcHJlZmlsbERhdGE7XG4gIH1cbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8VGFza0xpc3RTZWFyY2hGaWVsZD4gfCBudWxsPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAga2V5OiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPignJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgdGl0bGU6IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBwYXRoOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPignJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZGF0YVR5cGU6IHRoaXMuZmIuY29udHJvbDxMaXN0SXRlbSB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIG1hdGNoVHlwZTogdGhpcy5mYi5jb250cm9sPExpc3RJdGVtIHwgbnVsbD4obnVsbCwgdGhpcy5tYXRjaFR5cGVWYWxpZGF0b3IpLFxuICAgIGZpZWxkVHlwZTogdGhpcy5mYi5jb250cm9sPExpc3RJdGVtIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZHJvcGRvd25EYXRhUHJvdmlkZXI6IHRoaXMuZmIuY29udHJvbDxMaXN0SXRlbSB8IG51bGw+KG51bGwpLFxuICAgIGRyb3Bkb3duVmFsdWVzOiB0aGlzLmZiLmFycmF5PHtrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZ30+KFtdKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCBkYXRhVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2RhdGFUeXBlJyk7XG4gIH1cbiAgcHVibGljIGdldCBkYXRhVHlwZVZhbHVlJCgpOiBPYnNlcnZhYmxlPExpc3RJdGVtIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmRhdGFUeXBlLnZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1hdGNoVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ21hdGNoVHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgbWF0Y2hUeXBlVmFsdWUkKCk6IE9ic2VydmFibGU8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2hUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLm1hdGNoVHlwZS52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlcigpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Ryb3Bkb3duRGF0YVByb3ZpZGVyJyk7XG4gIH1cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlJCgpOiBPYnNlcnZhYmxlPExpc3RJdGVtIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyLnZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkVHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2ZpZWxkVHlwZScpO1xuICB9XG4gIHB1YmxpYyBnZXQgZmllbGRUeXBlVmFsdWUkKCk6IE9ic2VydmFibGU8TGlzdEl0ZW0gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRUeXBlLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZpZWxkVHlwZS52YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSA9IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZTtcbiAgcHVibGljIHJlYWRvbmx5IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUgPSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgVGFza0xpc3RTZWFyY2hEcm9wZG93bkRhdGFQcm92aWRlciA9IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXI7XG5cbiAgcHVibGljIGdldCBrZXlWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSB0aGlzLmZvcm0uZ2V0KCdrZXknKT8udmFsdWU7XG5cbiAgICByZXR1cm4gIWNvbnRyb2xWYWx1ZSA/IG51bGwgOiBjb250cm9sVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFUeXBlVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gdGhpcy5mb3JtLmdldCgnZGF0YVR5cGUnKT8udmFsdWU7XG4gICAgdGhpcy5fZGF0YVR5cGVWYWx1ZSQubmV4dChjb250cm9sVmFsdWU/LmlkKTtcblxuICAgIHJldHVybiAhY29udHJvbFZhbHVlID8gbnVsbCA6IGNvbnRyb2xWYWx1ZS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmllbGRUeXBlVmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlID0gdGhpcy5mb3JtLmdldCgnZmllbGRUeXBlJyk/LnZhbHVlO1xuXG4gICAgcmV0dXJuICFjb250cm9sVmFsdWUgPyBudWxsIDogY29udHJvbFZhbHVlLmlkO1xuICB9XG5cbiAgcHVibGljIGdldCBkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IHRoaXMuZm9ybS5nZXQoJ2Ryb3Bkb3duRGF0YVByb3ZpZGVyJyk/LnZhbHVlO1xuICAgIHRoaXMuX2Ryb3Bkb3duUHJvdmlkZXJWYWx1ZSQubmV4dChjb250cm9sVmFsdWU/LmlkKTtcblxuICAgIHJldHVybiAhY29udHJvbFZhbHVlID8gbnVsbCA6IGNvbnRyb2xWYWx1ZS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25WYWx1ZXNBcnJheSgpOiBGb3JtQXJyYXkgfCBudWxsIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KCdkcm9wZG93blZhbHVlcycpO1xuXG4gICAgcmV0dXJuICFmb3JtQXJyYXkgPyBudWxsIDogKGZvcm1BcnJheSBhcyBGb3JtQXJyYXkpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IERST1BET1dOX0ZJRUxEUzogQ29sdW1uQ29uZmlnW10gPSBbXG4gICAge1xuICAgICAga2V5OiAna2V5JyxcbiAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAndmFsdWUnLFxuICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy50ZXh0JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gIF07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGF0YVR5cGVWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kcm9wZG93blByb3ZpZGVyVmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgZHJvcGRvd25SZWFkb25seUl0ZW1zJCA9IHRoaXMuX2Ryb3Bkb3duUHJvdmlkZXJWYWx1ZSQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIGZpbHRlcih2YWwgPT4gISF2YWwgJiYgdmFsID09PSBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkpTT04pLFxuICAgIHN3aXRjaE1hcCgocHJvdmlkZXI6IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXIgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0RHJvcGRvd25EYXRhKFxuICAgICAgICBwcm92aWRlciA/PyAnJyxcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lID8/ICcnLFxuICAgICAgICB0aGlzLmtleVZhbHVlID8/ICcnXG4gICAgICApXG4gICAgKSxcbiAgICBtYXAoZHJvcGRvd25EYXRhID0+XG4gICAgICBkcm9wZG93bkRhdGEgPyBPYmplY3QuZW50cmllcyhkcm9wZG93bkRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe2tleSwgdmFsdWV9KSkgOiBbXVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVR5cGVJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRhdGFUeXBlVmFsdWUkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2RhdGFUeXBlVmFsdWVdKSA9PlxuICAgICAgW1xuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy50ZXh0JyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhULFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5ib29sZWFuJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5CT09MRUFOLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5kYXRlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5EQVRFLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy5kYXRldGltZScpLFxuICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuREFURVRJTUUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzLm51bWJlcicpLFxuICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuTlVNQkVSLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkcy50aW1lJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5USU1FLFxuICAgICAgICB9LFxuICAgICAgXS5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIHNlbGVjdGVkOiBpdGVtLmlkID09PSBkYXRhVHlwZVZhbHVlPy5pZH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRUeXBlSXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fZGF0YVR5cGVWYWx1ZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICB0aGlzLmZpZWxkVHlwZVZhbHVlJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkYXRhVHlwZVZhbHVlLCBmaWVsZFR5cGVWYWx1ZV0pID0+XG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzT3ZlcnZpZXcuc2luZ2xlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuU0lOR0xFLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LnJhbmdlJyksXG4gICAgICAgICAgaWQ6IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuUkFOR0UsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLihkYXRhVHlwZVZhbHVlID09PSBUYXNrTGlzdFNlYXJjaEZpZWxkRGF0YVR5cGUuVEVYVFxuICAgICAgICAgID8gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuc2luZ2xlLXNlbGVjdC1kcm9wZG93bidcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5tdWx0aS1zZWxlY3QtZHJvcGRvd24nXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpZDogVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5NVUxUSV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdXG4gICAgICAgICAgOiBbXSksXG4gICAgICBdLm1hcChpdGVtID0+ICh7Li4uaXRlbSwgc2VsZWN0ZWQ6IGl0ZW0uaWQgPT09IGZpZWxkVHlwZVZhbHVlPy5pZH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0YVByb3ZpZGVySXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgLnN0cmVhbSgna2V5JylcbiAgICAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUkKSxcbiAgICAgIG1hcChkYXRhUHJvdmlkZXJWYWx1ZSA9PlxuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkRhdGFiYXNlRGF0YVByb3ZpZGVyJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkRBVEFCQVNFLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICdzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkpzb25GaWxlRGF0YVByb3ZpZGVyJ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkpTT04sXG4gICAgICAgICAgfSxcbiAgICAgICAgXS5tYXAoaXRlbSA9PiAoey4uLml0ZW0sIHNlbGVjdGVkOiBpdGVtLmlkID09PSBkYXRhUHJvdmlkZXJWYWx1ZT8uaWR9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBtYXRjaFR5cGVJdGVtcyQ6IE9ic2VydmFibGU8TGlzdEl0ZW1bXT4gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAuc3RyZWFtKCdrZXknKVxuICAgIC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubWF0Y2hUeXBlVmFsdWUkKSxcbiAgICAgIG1hcChtYXRjaFR5cGVWYWx1ZSA9PlxuICAgICAgICBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lmxpa2UnKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkTWF0Y2hUeXBlLkxJS0UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnc2VhcmNoRmllbGRzT3ZlcnZpZXcuZXhhY3QnKSxcbiAgICAgICAgICAgIGlkOiBUYXNrTGlzdFNlYXJjaEZpZWxkTWF0Y2hUeXBlLkVYQUNULFxuICAgICAgICAgIH0sXG4gICAgICAgIF0ubWFwKGl0ZW0gPT4gKHsuLi5pdGVtLCBzZWxlY3RlZDogaXRlbS5pZCA9PT0gbWF0Y2hUeXBlVmFsdWU/LmlkfSkpXG4gICAgICApXG4gICAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaWNvblNlcnZpY2U6IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtUcmFzaENhbjE2LCBJbmZvcm1hdGlvbkZpbGxlZDE2XSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbGlkYXRvcnMoW3RoaXMuZHJvcGRvd25EYXRhUHJvdmlkZXJWYWxpZGF0b3IsIHRoaXMuZHJvcGRvd25WYWx1ZXNWYWxpZGF0b3JdKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGREcm9wZG93blZhbHVlKHByZWZpbGxWYWx1ZT86IHtrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheSkgcmV0dXJuO1xuXG4gICAgdGhpcy5kcm9wZG93blZhbHVlc0FycmF5LnB1c2goXG4gICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAga2V5OiB0aGlzLmZiLmNvbnRyb2wocHJlZmlsbFZhbHVlPy5rZXkgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICB2YWx1ZTogdGhpcy5mYi5jb250cm9sKHByZWZpbGxWYWx1ZT8udmFsdWUgPz8gJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZURyb3Bkb3duVmFsdWUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93blZhbHVlc0FycmF5KSByZXR1cm47XG5cbiAgICB0aGlzLmRyb3Bkb3duVmFsdWVzQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KG51bGwpO1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgb25TYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGdyb3VwVmFsdWUgPSB0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCh7XG4gICAgICAuLi4oZ3JvdXBWYWx1ZS50aXRsZSAmJiB7dGl0bGU6IGdyb3VwVmFsdWUudGl0bGV9KSxcbiAgICAgIC4uLihncm91cFZhbHVlLmtleSAmJiB7a2V5OiBncm91cFZhbHVlLmtleX0pLFxuICAgICAgLi4uKGdyb3VwVmFsdWUucGF0aCAmJiB7cGF0aDogZ3JvdXBWYWx1ZS5wYXRofSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kYXRhVHlwZT8uY29udGVudCAmJiB7ZGF0YVR5cGU6IGdyb3VwVmFsdWUuZGF0YVR5cGUuaWR9KSxcbiAgICAgIC4uLihncm91cFZhbHVlLm1hdGNoVHlwZT8uY29udGVudCAmJiB7bWF0Y2hUeXBlOiBncm91cFZhbHVlLm1hdGNoVHlwZS5pZH0pLFxuICAgICAgLi4uKGdyb3VwVmFsdWUuZmllbGRUeXBlPy5jb250ZW50ICYmIHtmaWVsZFR5cGU6IGdyb3VwVmFsdWUuZmllbGRUeXBlLmlkfSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kcm9wZG93bkRhdGFQcm92aWRlcj8uY29udGVudCAmJiB7XG4gICAgICAgIGRyb3Bkb3duRGF0YVByb3ZpZGVyOiBncm91cFZhbHVlLmRyb3Bkb3duRGF0YVByb3ZpZGVyLmlkLFxuICAgICAgfSksXG4gICAgICAuLi4oZ3JvdXBWYWx1ZS5kcm9wZG93blZhbHVlcyAmJiB7XG4gICAgICAgIGRyb3Bkb3duVmFsdWVzOiBncm91cFZhbHVlLmRyb3Bkb3duVmFsdWVzLnJlZHVjZShcbiAgICAgICAgICAoYWNjLCBjdXJyKSA9PiAoey4uLmFjYywgLi4uKCEhY3Vycj8ua2V5ICYmIHtbY3Vyci5rZXldOiBjdXJyLnZhbHVlfSl9KSxcbiAgICAgICAgICB7fVxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcmVmaWxsZWRGb3JtKHByZWZpbGxEYXRhOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghcHJlZmlsbERhdGEpIHJldHVybjtcblxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIC4uLnByZWZpbGxEYXRhLFxuICAgICAgZGF0YVR5cGU6ICFwcmVmaWxsRGF0YS5kYXRhVHlwZVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7XG4gICAgICAgICAgICBjb250ZW50OiBwcmVmaWxsRGF0YS5kYXRhVHlwZSxcbiAgICAgICAgICAgIGlkOiBwcmVmaWxsRGF0YS5kYXRhVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBtYXRjaFR5cGU6ICFwcmVmaWxsRGF0YS5tYXRjaFR5cGVcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY29udGVudDogcHJlZmlsbERhdGEubWF0Y2hUeXBlLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLm1hdGNoVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBmaWVsZFR5cGU6ICFwcmVmaWxsRGF0YS5maWVsZFR5cGVcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge1xuICAgICAgICAgICAgY29udGVudDogcHJlZmlsbERhdGEuZmllbGRUeXBlLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLmZpZWxkVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICBkcm9wZG93bkRhdGFQcm92aWRlcjogIXByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICAgICAgICAgICAgaWQ6IHByZWZpbGxEYXRhLmRyb3Bkb3duRGF0YVByb3ZpZGVyLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgIGRyb3Bkb3duVmFsdWVzOiBbXSxcbiAgICB9KTtcblxuICAgIGlmIChwcmVmaWxsRGF0YS5kcm9wZG93bkRhdGFQcm92aWRlciAmJiBwcmVmaWxsRGF0YS5kcm9wZG93blZhbHVlcylcbiAgICAgIHRoaXMuc2V0UHJlZmlsbGVkRHJvcGRvd25WYWx1ZXMocHJlZmlsbERhdGEuZHJvcGRvd25WYWx1ZXMpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2tleScpPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFByZWZpbGxlZERyb3Bkb3duVmFsdWVzKGRyb3Bkb3duVmFsdWU6IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25WYWx1ZSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93blZhbHVlc0FycmF5IHx8ICF0aGlzLmRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUpIHJldHVybjtcblxuICAgIE9iamVjdC5lbnRyaWVzKGRyb3Bkb3duVmFsdWUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgdGhpcy5hZGREcm9wZG93blZhbHVlKHtrZXksIHZhbHVlfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoVHlwZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBudWxsIHwge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZTogTGlzdEl0ZW0gfCB1bmRlZmluZWQgPSBjb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGRhdGFUeXBlQ29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IG51bGwgfCB1bmRlZmluZWQgPVxuICAgICAgY29udHJvbC5wYXJlbnQ/LmdldCgnZGF0YVR5cGUnKT8udmFsdWU7XG5cbiAgICBpZiAoXG4gICAgICBkYXRhVHlwZUNvbnRyb2xWYWx1ZT8uaWQgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUICYmXG4gICAgICAoIWNvbnRyb2xWYWx1ZSB8fCAhY29udHJvbFZhbHVlLnNlbGVjdGVkKVxuICAgIClcbiAgICAgIHJldHVybiB7ZXJyb3I6ICdNYXRjaCB0eXBlIG5vdCBzZWxlY3RlZCd9O1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsaWRhdG9yKGdyb3VwOiB0eXBlb2YgdGhpcy5mb3JtKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgY29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IHVuZGVmaW5lZCA9IGdyb3VwLmdldCgnZHJvcGRvd25EYXRhUHJvdmlkZXInKT8udmFsdWU7XG4gICAgY29uc3QgZmllbGRUeXBlQ29udHJvbFZhbHVlOiBMaXN0SXRlbSB8IG51bGwgfCB1bmRlZmluZWQgPSBncm91cC5nZXQoJ2ZpZWxkVHlwZScpPy52YWx1ZTtcblxuICAgIGlmIChcbiAgICAgIFtcbiAgICAgICAgVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOLFxuICAgICAgICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLk1VTFRJX1NFTEVDVF9EUk9QRE9XTixcbiAgICAgIF0uaW5jbHVkZXMoZmllbGRUeXBlQ29udHJvbFZhbHVlPy5pZCkgJiZcbiAgICAgICFjb250cm9sVmFsdWVcbiAgICApXG4gICAgICByZXR1cm4ge2Vycm9yOiAnRHJvcGRvd24gc291cmNlIHByb3ZpZGVyIGlzIG5vdCBzcGVjaWZpZWQnfTtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBkcm9wZG93blZhbHVlc1ZhbGlkYXRvcihncm91cDogdHlwZW9mIHRoaXMuZm9ybSk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZToge2tleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nfVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIGdyb3VwLmdldCgnZHJvcGRvd25WYWx1ZXMnKT8udmFsdWU7XG4gICAgY29uc3QgZmllbGRUeXBlQ29udHJvbFZhbHVlID0gZ3JvdXAuZ2V0KCdmaWVsZFR5cGUnKT8udmFsdWU/LmlkO1xuICAgIGNvbnN0IGRyb3Bkb3duUHJvdmlkZXJWYWx1ZSA9IGdyb3VwLmdldCgnZHJvcGRvd25EYXRhUHJvdmlkZXInKT8udmFsdWU/LmlkO1xuXG4gICAgaWYgKFxuICAgICAgW1xuICAgICAgICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV04sXG4gICAgICAgIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOLFxuICAgICAgXS5pbmNsdWRlcyhmaWVsZFR5cGVDb250cm9sVmFsdWUpICYmXG4gICAgICAoIWNvbnRyb2xWYWx1ZSB8fCBjb250cm9sVmFsdWU/Lmxlbmd0aCA9PT0gMCkgJiZcbiAgICAgIGRyb3Bkb3duUHJvdmlkZXJWYWx1ZSA9PT0gVGFza0xpc3RTZWFyY2hEcm9wZG93bkRhdGFQcm92aWRlci5EQVRBQkFTRVxuICAgIClcbiAgICAgIHJldHVybiB7ZXJyb3I6ICdEcm9wZG93biBzb3VyY2UgcHJvdmlkZXIgaXMgbm90IHNwZWNpZmllZCBvciBpcyBlbXB0eSd9O1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdoaWxlICghIXRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheT8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25WYWx1ZXNBcnJheS5yZW1vdmVBdCgwKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgICAgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cbjxjZHMtbW9kYWwgW29wZW5dPVwib3BlblwiIHNob3dGb290ZXI9XCJ0cnVlXCI+XG4gIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJvbkNhbmNlbCgpXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7ICghcHJlZmlsbERhdGEgPyAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuYWRkJyA6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5lZGl0JykgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG5cbiAgPHNlY3Rpb24gY2RzTW9kYWxDb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwidmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbF9fY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2lucHV0XCI+XG4gICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy50aXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidzZWFyY2hGaWVsZHNPdmVydmlld1Rvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMua2V5JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbF9faW5wdXRcIj5cbiAgICAgICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LnBhdGgnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXdUb29sdGlwcy5wYXRoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwicGF0aFwiIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2lucHV0XCI+XG4gICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5kYXRhVHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidzZWFyY2hGaWVsZHNPdmVydmlld1Rvb2x0aXBzLmRhdGFUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZGF0YVR5cGVcIj5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cImRhdGFUeXBlSXRlbXMkIHwgYXN5bmNcIj48L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGRhdGFUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lm1hdGNoVHlwZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMubWF0Y2hUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cblxuICAgICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwibWF0Y2hUeXBlXCI+XG4gICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cIm1hdGNoVHlwZUl0ZW1zJCB8IGFzeW5jXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXcuZmllbGRUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMuZmllbGRUeXBlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRUeXBlXCI+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJmaWVsZFR5cGVJdGVtcyQgfCBhc3luY1wiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIEBpZiAoXG4gICAgICAgIGRhdGFUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGREYXRhVHlwZS5URVhUICYmXG4gICAgICAgIChmaWVsZFR5cGVWYWx1ZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOIHx8XG4gICAgICAgICAgZmllbGRUeXBlVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOKVxuICAgICAgKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19pbnB1dFwiPlxuICAgICAgICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmRyb3Bkb3duRGF0YVByb3ZpZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcF09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXdUb29sdGlwcy5kcm9wZG93bkRhdGFQcm92aWRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICAgICAgICA8Y2RzLWRyb3Bkb3duIGZvcm1Db250cm9sTmFtZT1cImRyb3Bkb3duRGF0YVByb3ZpZGVyXCI+XG4gICAgICAgICAgICA8Y2RzLWRyb3Bkb3duLWxpc3QgW2l0ZW1zXT1cImRhdGFQcm92aWRlckl0ZW1zJCB8IGFzeW5jXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgICA8L2Nkcy1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChkcm9wZG93bkRhdGFQcm92aWRlclZhbHVlID09PSBUYXNrTGlzdFNlYXJjaERyb3Bkb3duRGF0YVByb3ZpZGVyLkRBVEFCQVNFKSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsX19saXN0XCJcbiAgICAgICAgICAgIGZvcm1BcnJheU5hbWU9XCJkcm9wZG93blZhbHVlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5kcm9wZG93bkxpc3RWYWx1ZXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3VG9vbHRpcHMuZHJvcGRvd25MaXN0VmFsdWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtub01hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cblxuICAgICAgICAgICAgQGZvciAoZHJvcGRvd25WYWx1ZSBvZiBkcm9wZG93blZhbHVlc0FycmF5Py5jb250cm9sczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJkcm9wZG93blZhbHVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxfX2Ryb3Bkb3duLXZhbHVlc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICB7eyAnaW50ZXJmYWNlLmtleScgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNkc1RleHQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJrZXlcIiAvPlxuICAgICAgICAgICAgICAgIDwvY2RzLXRleHQtbGFiZWw+XG5cbiAgICAgICAgICAgICAgICA8Y2RzLXRleHQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICB7eyAnaW50ZXJmYWNlLnZhbHVlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2RzVGV4dCB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2RzQnV0dG9uPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIkY291bnQgPT09IDFcIlxuICAgICAgICAgICAgICAgICAgW2ljb25Pbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZURyb3Bkb3duVmFsdWUoJGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cInRyYXNoLWNhblwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGREcm9wZG93blZhbHVlKClcIj5cbiAgICAgICAgICAgICAge3sgJ2ludGVyZmFjZS5hZGRSb3cnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICAgICAgPHN2ZyBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiPjwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2UgaWYgKGRyb3Bkb3duRGF0YVByb3ZpZGVyVmFsdWUgPT09IFRhc2tMaXN0U2VhcmNoRHJvcGRvd25EYXRhUHJvdmlkZXIuSlNPTikge1xuICAgICAgICAgIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgICAgICAgICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtoaWRlVG9vbGJhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtmaWVsZHNdPVwiRFJPUERPV05fRklFTERTXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJkcm9wZG93blJlYWRvbmx5SXRlbXMkIHwgYXN5bmNcIlxuICAgICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cblxuICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICA8YnV0dG9uIGNkc0J1dHRvbj1cImdob3N0XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiIChjbGljayk9XCJvblNhdmUoKVwiPlxuICAgICAge3sgJ2ludGVyZmFjZS5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==