@valtimo/dossier-management 12.1.2 → 12.2.0

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.
Files changed (52) hide show
  1. package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +1 -1
  2. package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +1 -1
  3. package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +1 -1
  4. package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +5 -4
  5. package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +12 -4
  6. package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +1 -1
  7. package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +8 -12
  8. package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +6 -15
  9. package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +14 -4
  10. package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +7 -6
  11. package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +1 -1
  12. package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +16 -10
  13. package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +14 -6
  14. package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +1 -1
  15. package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +5 -4
  16. package/esm2022/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.mjs +1 -1
  17. package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +5 -5
  18. package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +12 -6
  19. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.mjs +3 -3
  20. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.mjs +3 -3
  21. package/esm2022/lib/dossier-management.module.mjs +7 -4
  22. package/esm2022/lib/models/widget-wizard.model.mjs +5 -5
  23. package/esm2022/lib/services/tab-management.service.mjs +6 -9
  24. package/fesm2022/valtimo-dossier-management.mjs +110 -83
  25. package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
  26. package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts +1 -1
  27. package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -1
  28. package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -1
  29. package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
  30. package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +3 -1
  31. package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
  32. package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +1 -1
  33. package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -1
  34. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +0 -1
  35. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -1
  36. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +2 -1
  37. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -1
  38. package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -1
  39. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +7 -5
  40. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -1
  41. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +5 -3
  42. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -1
  43. package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -1
  44. package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts +1 -1
  45. package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts.map +1 -1
  46. package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts +2 -0
  47. package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts.map +1 -1
  48. package/lib/dossier-management.module.d.ts +1 -1
  49. package/lib/dossier-management.module.d.ts.map +1 -1
  50. package/lib/services/tab-management.service.d.ts +1 -2
  51. package/lib/services/tab-management.service.d.ts.map +1 -1
  52. package/package.json +2 -2
@@ -61,16 +61,12 @@ export class DossierManagementAddTabModalComponent {
61
61
  disabled: disabled.custom,
62
62
  disabledTooltipTranslationKey: 'dossierManagement.tabManagement.addModal.customComponentDisabled',
63
63
  },
64
- ...(featureToggles?.enableCaseWidgets
65
- ? [
66
- {
67
- icon: 'table--built',
68
- title: 'dossierManagement.tabManagement.addModal.widgetsComponent',
69
- type: ApiTabType.WIDGETS,
70
- disabled: disabled.widgets,
71
- },
72
- ]
73
- : []),
64
+ {
65
+ icon: 'table--built',
66
+ title: 'dossierManagement.tabManagement.addModal.widgetsComponent',
67
+ type: ApiTabType.WIDGETS,
68
+ disabled: disabled.widgets,
69
+ },
74
70
  ]));
75
71
  this.form = this.fb.group({
76
72
  name: this.fb.control(null),
@@ -111,7 +107,7 @@ export class DossierManagementAddTabModalComponent {
111
107
  : { uniqueKey: { value: control.value } };
112
108
  }
113
109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementAddTabModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.IconService }, { token: i3.TabService }, { token: i4.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: { documentDefinitionName: "documentDefinitionName", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, 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<cds-modal valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('dossierManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (documentDefinitionName | titlecase)})\n : ('dossierManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'dossierManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <cds-tooltip\n *ngFor=\"let tabType of tabTypes\"\n [caret]=\"true\"\n enterDelayMs=\"0\"\n leaveDelayMs=\"0\"\n [description]=\"tabType.disabledTooltipTranslationKey | translate\"\n [disabled]=\"!tabType.disabled\"\n align=\"bottom\"\n >\n <button\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </cds-tooltip>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}.cds--popover--open{z-index:999999!important}\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: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { 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: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description"] }, { kind: "component", type: i7.TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementAddTabModalComponent, selector: "valtimo-dossier-management-add-tab-modal", inputs: { documentDefinitionName: "documentDefinitionName", open: "open" }, outputs: { closeModalEvent: "closeModalEvent" }, 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<cds-modal valtimoCdsModal *ngIf=\"{selectedTabType: selectedTabType$ | async} as obs\" [open]=\"open\">\n <cds-modal-header showCloseButton=\"true\" (closeSelect)=\"onCloseModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n !obs.selectedTabType\n ? ('dossierManagement.tabManagement.addModal.title'\n | translate: {documentDefinitionName: (documentDefinitionName | titlecase)})\n : ('dossierManagement.tabManagement.titles.' + obs.selectedTabType | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section [formGroup]=\"form\" cdsModalContent class=\"valtimo-add-tab-modal__content\">\n <valtimo-tab-form\n *ngIf=\"obs.selectedTabType; else tabTypeSelection\"\n [tabType]=\"obs.selectedTabType\"\n ></valtimo-tab-form>\n\n <ng-template #tabTypeSelection>\n <span> {{ 'dossierManagement.tabManagement.addModal.description' | translate }} </span>\n\n <div *ngIf=\"tabTypes$ | async as tabTypes\" class=\"valtimo-add-tab-modal__types\">\n <cds-tooltip\n *ngFor=\"let tabType of tabTypes\"\n [caret]=\"true\"\n enterDelayMs=\"0\"\n leaveDelayMs=\"0\"\n [description]=\"tabType.disabledTooltipTranslationKey | translate\"\n [disabled]=\"!tabType.disabled\"\n align=\"bottom\"\n >\n <button\n cdsButton=\"secondary\"\n [disabled]=\"tabType.disabled\"\n (click)=\"onTabTypeSelect(tabType.type)\"\n >\n {{ tabType.title | translate }}\n\n <svg [cdsIcon]=\"tabType.icon\" size=\"16\" class=\"cds--btn__icon\"></svg>\n </button>\n </cds-tooltip>\n </div>\n </ng-template>\n </section>\n\n <cds-modal-footer class=\"valtimo-add-tab-modal__footer\">\n <button class=\"valtimo-add-tab-modal__cancel\" cdsButton=\"ghost\" (click)=\"onCloseModal()\">\n {{ 'interface.cancel' | translate }}\n </button>\n\n <div class=\"valtimo-add-tab-modal__actions\" *ngIf=\"obs.selectedTabType\">\n <button cdsButton=\"secondary\" (click)=\"backClick()\">\n {{ 'interface.back' | translate }}\n </button>\n\n <button cdsButton=\"primary\" [disabled]=\"form.invalid\" (click)=\"addTab(obs.selectedTabType)\">\n {{ 'dossierManagement.tabManagement.addModal.addTab' | translate }}\n </button>\n </div>\n </cds-modal-footer>\n</cds-modal>\n", styles: [".valtimo-add-tab-modal__footer .cds--modal-footer{justify-content:unset;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-areas:\"cancel . actions\"}.valtimo-add-tab-modal__cancel{grid-area:cancel;width:100%}.valtimo-add-tab-modal__actions{grid-area:actions;display:flex}.valtimo-add-tab-modal__types{display:grid;grid-template:1fr/repeat(3,1fr);gap:16px}.valtimo-add-tab-modal__types button{width:100%}.valtimo-add-tab-modal__content{display:flex;flex-direction:column;gap:24px}.cds--popover--open{z-index:999999!important}\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: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { 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: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "component", type: i7.TabFormComponent, selector: "valtimo-tab-form", inputs: ["tabType"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
111
  }
116
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementAddTabModalComponent, decorators: [{
117
113
  type: Component,
@@ -123,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
123
119
  }], closeModalEvent: [{
124
120
  type: Output
125
121
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsL2Rvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBS0wsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBYSxVQUFVLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBV3JFLE1BQU0sT0FBTyxxQ0FBcUM7SUEwRGhELFlBQ21CLEVBQWUsRUFDZixXQUF3QixFQUN4QixVQUFz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O3NCQUFaLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NvZGUxNiwgRGV2ZWxvcG1lbnQxNiwgVGFibGVCdWlsdDE2LCBXYXRzb25IZWFsdGhQYWdlU2Nyb2xsMTZ9IGZyb20gJ0BjYXJib24vaWNvbnMnO1xuaW1wb3J0IHtBcGlUYWJJdGVtLCBBcGlUYWJUeXBlLCBUYWJTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7SWNvblNlcnZpY2V9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudEFkZFRhYk1vZGFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGNsb3NlTW9kYWxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxBcGlUYWJJdGVtPiB8IG51bGw+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IEFwaVRhYlR5cGUgPSBBcGlUYWJUeXBlO1xuXG4gIHB1YmxpYyByZWFkb25seSB0YWJUeXBlcyQ6IE9ic2VydmFibGU8VGFiU2VsZWN0SXRlbVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMudGFiU2VydmljZS5kaXNhYmxlQWRkVGFicyQsXG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLmZlYXR1cmVUb2dnbGVzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkaXNhYmxlZCwgZmVhdHVyZVRvZ2dsZXNdKSA9PiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICdkZXZlbG9wbWVudCcsXG4gICAgICAgIHRpdGxlOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5zdGFuZGFyZFRhYicsXG4gICAgICAgIHR5cGU6IEFwaVRhYlR5cGUuU1RBTkRBUkQsXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC5zdGFuZGFyZCxcbiAgICAgICAgZGlzYWJsZWRUb29sdGlwVHJhbnNsYXRpb25LZXk6XG4gICAgICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuc3RhbmRhcmRUYWJEaXNhYmxlZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiAncGFnZS1zY3JvbGwnLFxuICAgICAgICB0aXRsZTogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuZm9ybUlPQ29tcG9uZW50JyxcbiAgICAgICAgdHlwZTogQXBpVGFiVHlwZS5GT1JNSU8sXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC5mb3JtSU8sXG4gICAgICAgIGRpc2FibGVkVG9vbHRpcFRyYW5zbGF0aW9uS2V5OlxuICAgICAgICAgICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLmZvcm1JT0NvbXBvbmVudERpc2FibGVkJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdjb2RlJyxcbiAgICAgICAgdGl0bGU6ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLmN1c3RvbUNvbXBvbmVudCcsXG4gICAgICAgIHR5cGU6IEFwaVRhYlR5cGUuQ1VTVE9NLFxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQuY3VzdG9tLFxuICAgICAgICBkaXNhYmxlZFRvb2x0aXBUcmFuc2xhdGlvbktleTpcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5jdXN0b21Db21wb25lbnREaXNhYmxlZCcsXG4gICAgICB9LFxuICAgICAgLi4uKGZlYXR1cmVUb2dnbGVzPy5lbmFibGVDYXNlV2lkZ2V0c1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogJ3RhYmxlLS1idWlsdCcsXG4gICAgICAgICAgICAgIHRpdGxlOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC53aWRnZXRzQ29tcG9uZW50JyxcbiAgICAgICAgICAgICAgdHlwZTogQXBpVGFiVHlwZS5XSURHRVRTLFxuICAgICAgICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQud2lkZ2V0cyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICBdKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgbmFtZTogdGhpcy5mYi5jb250cm9sKG51bGwpLFxuICAgIGtleTogdGhpcy5mYi5jb250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdGhpcy51bmlxdWVLZXlWYWxpZGF0b3IoKV0pLFxuICAgIGNvbnRlbnRLZXk6IHRoaXMuZmIuY29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgc2hvd1Rhc2tzOiB0aGlzLmZiLmNvbnRyb2woZmFsc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICB9KTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkVGFiVHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFwaVRhYlR5cGUgfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBJY29uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJBbGwoW0NvZGUxNiwgRGV2ZWxvcG1lbnQxNiwgVGFibGVCdWlsdDE2LCBXYXRzb25IZWFsdGhQYWdlU2Nyb2xsMTZdKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUYWIodHlwZTogQXBpVGFiVHlwZSk6IHZvaWQge1xuICAgIGxldCB7Y29udGVudEtleSwga2V5LCBuYW1lLCBzaG93VGFza3N9ID0gdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCk7XG4gICAgaWYgKCFjb250ZW50S2V5KSB7XG4gICAgICBjb250ZW50S2V5ID0gJy0nO1xuICAgIH1cblxuICAgIGlmICgha2V5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2VNb2RhbEV2ZW50LmVtaXQoe25hbWUsIGtleSwgY29udGVudEtleSwgdHlwZSwgc2hvd1Rhc2tzfSk7XG4gIH1cblxuICBwdWJsaWMgYmFja0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRNb2RhbCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlTW9kYWxFdmVudC5lbWl0KG51bGwpO1xuICAgIHRoaXMucmVzZXRNb2RhbCgpO1xuICB9XG5cbiAgcHVibGljIG9uVGFiVHlwZVNlbGVjdCh0eXBlOiBBcGlUYWJUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYlR5cGUkLm5leHQodHlwZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0TW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYlR5cGUkLm5leHQobnVsbCk7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIHVuaXF1ZUtleVZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PlxuICAgICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRUYWJLZXlzLmV2ZXJ5KChrZXk6IHN0cmluZykgPT4ga2V5ICE9PSBjb250cm9sLnZhbHVlKVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiB7dW5pcXVlS2V5OiB7dmFsdWU6IGNvbnRyb2wudmFsdWV9fTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Y2RzLW1vZGFsIHZhbHRpbW9DZHNNb2RhbCAqbmdJZj1cIntzZWxlY3RlZFRhYlR5cGU6IHNlbGVjdGVkVGFiVHlwZSQgfCBhc3luY30gYXMgb2JzXCIgW29wZW5dPVwib3BlblwiPlxuICA8Y2RzLW1vZGFsLWhlYWRlciBzaG93Q2xvc2VCdXR0b249XCJ0cnVlXCIgKGNsb3NlU2VsZWN0KT1cIm9uQ2xvc2VNb2RhbCgpXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7XG4gICAgICAgICFvYnMuc2VsZWN0ZWRUYWJUeXBlXG4gICAgICAgICAgPyAoJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwudGl0bGUnXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZToge2RvY3VtZW50RGVmaW5pdGlvbk5hbWU6IChkb2N1bWVudERlZmluaXRpb25OYW1lIHwgdGl0bGVjYXNlKX0pXG4gICAgICAgICAgOiAoJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQudGl0bGVzLicgKyBvYnMuc2VsZWN0ZWRUYWJUeXBlIHwgdHJhbnNsYXRlKVxuICAgICAgfX1cbiAgICA8L2gzPlxuICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG5cbiAgPHNlY3Rpb24gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2RzTW9kYWxDb250ZW50IGNsYXNzPVwidmFsdGltby1hZGQtdGFiLW1vZGFsX19jb250ZW50XCI+XG4gICAgPHZhbHRpbW8tdGFiLWZvcm1cbiAgICAgICpuZ0lmPVwib2JzLnNlbGVjdGVkVGFiVHlwZTsgZWxzZSB0YWJUeXBlU2VsZWN0aW9uXCJcbiAgICAgIFt0YWJUeXBlXT1cIm9icy5zZWxlY3RlZFRhYlR5cGVcIlxuICAgID48L3ZhbHRpbW8tdGFiLWZvcm0+XG5cbiAgICA8bmctdGVtcGxhdGUgI3RhYlR5cGVTZWxlY3Rpb24+XG4gICAgICA8c3Bhbj4ge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19IDwvc3Bhbj5cblxuICAgICAgPGRpdiAqbmdJZj1cInRhYlR5cGVzJCB8IGFzeW5jIGFzIHRhYlR5cGVzXCIgY2xhc3M9XCJ2YWx0aW1vLWFkZC10YWItbW9kYWxfX3R5cGVzXCI+XG4gICAgICAgIDxjZHMtdG9vbHRpcFxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWJUeXBlIG9mIHRhYlR5cGVzXCJcbiAgICAgICAgICBbY2FyZXRdPVwidHJ1ZVwiXG4gICAgICAgICAgZW50ZXJEZWxheU1zPVwiMFwiXG4gICAgICAgICAgbGVhdmVEZWxheU1zPVwiMFwiXG4gICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cInRhYlR5cGUuZGlzYWJsZWRUb29sdGlwVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhdGFiVHlwZS5kaXNhYmxlZFwiXG4gICAgICAgICAgYWxpZ249XCJib3R0b21cIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWJUeXBlLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRhYlR5cGVTZWxlY3QodGFiVHlwZS50eXBlKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdGFiVHlwZS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgICA8c3ZnIFtjZHNJY29uXT1cInRhYlR5cGUuaWNvblwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIj48L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9jZHMtdG9vbHRpcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvc2VjdGlvbj5cblxuICA8Y2RzLW1vZGFsLWZvb3RlciBjbGFzcz1cInZhbHRpbW8tYWRkLXRhYi1tb2RhbF9fZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInZhbHRpbW8tYWRkLXRhYi1tb2RhbF9fY2FuY2VsXCIgY2RzQnV0dG9uPVwiZ2hvc3RcIiAoY2xpY2spPVwib25DbG9zZU1vZGFsKClcIj5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cInZhbHRpbW8tYWRkLXRhYi1tb2RhbF9fYWN0aW9uc1wiICpuZ0lmPVwib2JzLnNlbGVjdGVkVGFiVHlwZVwiPlxuICAgICAgPGJ1dHRvbiBjZHNCdXR0b249XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiYmFja0NsaWNrKClcIj5cbiAgICAgICAge3sgJ2ludGVyZmFjZS5iYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIiAoY2xpY2spPVwiYWRkVGFiKG9icy5zZWxlY3RlZFRhYlR5cGUpXCI+XG4gICAgICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLmFkZFRhYicgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsL2Rvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBS0wsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBYSxVQUFVLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFFdkUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBV3JFLE1BQU0sT0FBTyxxQ0FBcUM7SUFzRGhELFlBQ21CLEVBQWUsRUFDZixXQUF3QixFQUN4QixVQUFz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aXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1CdWlsZGVyLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDb2RlMTYsIERldmVsb3BtZW50MTYsIFRhYmxlQnVpbHQxNiwgV2F0c29uSGVhbHRoUGFnZVNjcm9sbDE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcbmltcG9ydCB7QXBpVGFiSXRlbSwgQXBpVGFiVHlwZSwgVGFiU2VsZWN0SXRlbX0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtYWRkLXRhYi1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRBZGRUYWJNb2RhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgb3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8QXBpVGFiSXRlbT4gfCBudWxsPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBBcGlUYWJUeXBlID0gQXBpVGFiVHlwZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFiVHlwZXMkOiBPYnNlcnZhYmxlPFRhYlNlbGVjdEl0ZW1bXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnRhYlNlcnZpY2UuZGlzYWJsZUFkZFRhYnMkLFxuICAgIHRoaXMuY29uZmlnU2VydmljZS5mZWF0dXJlVG9nZ2xlcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZGlzYWJsZWQsIGZlYXR1cmVUb2dnbGVzXSkgPT4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgICB0aXRsZTogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuc3RhbmRhcmRUYWInLFxuICAgICAgICB0eXBlOiBBcGlUYWJUeXBlLlNUQU5EQVJELFxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQuc3RhbmRhcmQsXG4gICAgICAgIGRpc2FibGVkVG9vbHRpcFRyYW5zbGF0aW9uS2V5OlxuICAgICAgICAgICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnN0YW5kYXJkVGFiRGlzYWJsZWQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3BhZ2Utc2Nyb2xsJyxcbiAgICAgICAgdGl0bGU6ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLmZvcm1JT0NvbXBvbmVudCcsXG4gICAgICAgIHR5cGU6IEFwaVRhYlR5cGUuRk9STUlPLFxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQuZm9ybUlPLFxuICAgICAgICBkaXNhYmxlZFRvb2x0aXBUcmFuc2xhdGlvbktleTpcbiAgICAgICAgICAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5mb3JtSU9Db21wb25lbnREaXNhYmxlZCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiAnY29kZScsXG4gICAgICAgIHRpdGxlOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5jdXN0b21Db21wb25lbnQnLFxuICAgICAgICB0eXBlOiBBcGlUYWJUeXBlLkNVU1RPTSxcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLmN1c3RvbSxcbiAgICAgICAgZGlzYWJsZWRUb29sdGlwVHJhbnNsYXRpb25LZXk6XG4gICAgICAgICAgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuY3VzdG9tQ29tcG9uZW50RGlzYWJsZWQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RhYmxlLS1idWlsdCcsXG4gICAgICAgIHRpdGxlOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC53aWRnZXRzQ29tcG9uZW50JyxcbiAgICAgICAgdHlwZTogQXBpVGFiVHlwZS5XSURHRVRTLFxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQud2lkZ2V0cyxcbiAgICAgIH0sXG4gICAgXSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIG5hbWU6IHRoaXMuZmIuY29udHJvbChudWxsKSxcbiAgICBrZXk6IHRoaXMuZmIuY29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMudW5pcXVlS2V5VmFsaWRhdG9yKCldKSxcbiAgICBjb250ZW50S2V5OiB0aGlzLmZiLmNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIHNob3dUYXNrczogdGhpcy5mYi5jb250cm9sKGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFRhYlR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcGlUYWJUeXBlIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtDb2RlMTYsIERldmVsb3BtZW50MTYsIFRhYmxlQnVpbHQxNiwgV2F0c29uSGVhbHRoUGFnZVNjcm9sbDE2XSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVGFiKHR5cGU6IEFwaVRhYlR5cGUpOiB2b2lkIHtcbiAgICBsZXQge2NvbnRlbnRLZXksIGtleSwgbmFtZSwgc2hvd1Rhc2tzfSA9IHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpO1xuICAgIGlmICghY29udGVudEtleSkge1xuICAgICAgY29udGVudEtleSA9ICctJztcbiAgICB9XG5cbiAgICBpZiAoIWtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlTW9kYWxFdmVudC5lbWl0KHtuYW1lLCBrZXksIGNvbnRlbnRLZXksIHR5cGUsIHNob3dUYXNrc30pO1xuICB9XG5cbiAgcHVibGljIGJhY2tDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsRXZlbnQuZW1pdChudWxsKTtcbiAgICB0aGlzLnJlc2V0TW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhYlR5cGVTZWxlY3QodHlwZTogQXBpVGFiVHlwZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWJUeXBlJC5uZXh0KHR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWJUeXBlJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmlxdWVLZXlWYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT5cbiAgICAgIHRoaXMudGFiU2VydmljZS5jb25maWd1cmVkVGFiS2V5cy5ldmVyeSgoa2V5OiBzdHJpbmcpID0+IGtleSAhPT0gY29udHJvbC52YWx1ZSlcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDoge3VuaXF1ZUtleToge3ZhbHVlOiBjb250cm9sLnZhbHVlfX07XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbCB2YWx0aW1vQ2RzTW9kYWwgKm5nSWY9XCJ7c2VsZWN0ZWRUYWJUeXBlOiBzZWxlY3RlZFRhYlR5cGUkIHwgYXN5bmN9IGFzIG9ic1wiIFtvcGVuXT1cIm9wZW5cIj5cbiAgPGNkcy1tb2RhbC1oZWFkZXIgc2hvd0Nsb3NlQnV0dG9uPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJvbkNsb3NlTW9kYWwoKVwiPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7e1xuICAgICAgICAhb2JzLnNlbGVjdGVkVGFiVHlwZVxuICAgICAgICAgID8gKCdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnRpdGxlJ1xuICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHtkb2N1bWVudERlZmluaXRpb25OYW1lOiAoZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8IHRpdGxlY2FzZSl9KVxuICAgICAgICAgIDogKCdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LnRpdGxlcy4nICsgb2JzLnNlbGVjdGVkVGFiVHlwZSB8IHRyYW5zbGF0ZSlcbiAgICAgIH19XG4gICAgPC9oMz5cbiAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuXG4gIDxzZWN0aW9uIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNkc01vZGFsQ29udGVudCBjbGFzcz1cInZhbHRpbW8tYWRkLXRhYi1tb2RhbF9fY29udGVudFwiPlxuICAgIDx2YWx0aW1vLXRhYi1mb3JtXG4gICAgICAqbmdJZj1cIm9icy5zZWxlY3RlZFRhYlR5cGU7IGVsc2UgdGFiVHlwZVNlbGVjdGlvblwiXG4gICAgICBbdGFiVHlwZV09XCJvYnMuc2VsZWN0ZWRUYWJUeXBlXCJcbiAgICA+PC92YWx0aW1vLXRhYi1mb3JtPlxuXG4gICAgPG5nLXRlbXBsYXRlICN0YWJUeXBlU2VsZWN0aW9uPlxuICAgICAgPHNwYW4+IHt7ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fSA8L3NwYW4+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0YWJUeXBlcyQgfCBhc3luYyBhcyB0YWJUeXBlc1wiIGNsYXNzPVwidmFsdGltby1hZGQtdGFiLW1vZGFsX190eXBlc1wiPlxuICAgICAgICA8Y2RzLXRvb2x0aXBcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiVHlwZSBvZiB0YWJUeXBlc1wiXG4gICAgICAgICAgW2NhcmV0XT1cInRydWVcIlxuICAgICAgICAgIGVudGVyRGVsYXlNcz1cIjBcIlxuICAgICAgICAgIGxlYXZlRGVsYXlNcz1cIjBcIlxuICAgICAgICAgIFtkZXNjcmlwdGlvbl09XCJ0YWJUeXBlLmRpc2FibGVkVG9vbHRpcFRyYW5zbGF0aW9uS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXRhYlR5cGUuZGlzYWJsZWRcIlxuICAgICAgICAgIGFsaWduPVwiYm90dG9tXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNkc0J1dHRvbj1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwidGFiVHlwZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25UYWJUeXBlU2VsZWN0KHRhYlR5cGUudHlwZSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHRhYlR5cGUudGl0bGUgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgICAgPHN2ZyBbY2RzSWNvbl09XCJ0YWJUeXBlLmljb25cIiBzaXplPVwiMTZcIiBjbGFzcz1cImNkcy0tYnRuX19pY29uXCI+PC9zdmc+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvY2RzLXRvb2x0aXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3NlY3Rpb24+XG5cbiAgPGNkcy1tb2RhbC1mb290ZXIgY2xhc3M9XCJ2YWx0aW1vLWFkZC10YWItbW9kYWxfX2Zvb3RlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJ2YWx0aW1vLWFkZC10YWItbW9kYWxfX2NhbmNlbFwiIGNkc0J1dHRvbj1cImdob3N0XCIgKGNsaWNrKT1cIm9uQ2xvc2VNb2RhbCgpXCI+XG4gICAgICB7eyAnaW50ZXJmYWNlLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLWFkZC10YWItbW9kYWxfX2FjdGlvbnNcIiAqbmdJZj1cIm9icy5zZWxlY3RlZFRhYlR5cGVcIj5cbiAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwic2Vjb25kYXJ5XCIgKGNsaWNrKT1cImJhY2tDbGljaygpXCI+XG4gICAgICAgIHt7ICdpbnRlcmZhY2UuYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCIgKGNsaWNrKT1cImFkZFRhYihvYnMuc2VsZWN0ZWRUYWJUeXBlKVwiPlxuICAgICAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5hZGRUYWInIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuPC9jZHMtbW9kYWw+XG4iXX0=
@@ -75,7 +75,6 @@ export class DossierManagementTabsComponent {
75
75
  }));
76
76
  this.tab$ = new BehaviorSubject(null);
77
77
  this.dragAndDropDisabled = signal(false);
78
- this.enableCaseWidgets = this.configService.getFeatureToggle('enableCaseWidgets');
79
78
  }
80
79
  ngAfterViewInit() {
81
80
  this.iconService.registerAll([ArrowDown16, ArrowUp16]);
@@ -102,15 +101,11 @@ export class DossierManagementTabsComponent {
102
101
  key: '',
103
102
  label: 'dossierManagement.tabManagement.columns.content',
104
103
  },
105
- ...(this.enableCaseWidgets
106
- ? [
107
- {
108
- viewType: ViewType.BOOLEAN,
109
- key: 'showTasks',
110
- label: 'dossierManagement.tabManagement.columns.showTasks',
111
- },
112
- ]
113
- : []),
104
+ {
105
+ viewType: ViewType.BOOLEAN,
106
+ key: 'showTasks',
107
+ label: 'dossierManagement.tabManagement.columns.showTasks',
108
+ },
114
109
  ]);
115
110
  this.cd.detectChanges();
116
111
  }
@@ -163,16 +158,12 @@ export class DossierManagementTabsComponent {
163
158
  this.tabManagementService.dispatchAction(this.tabManagementService.editTabsOrder(reorderedItems));
164
159
  }
165
160
  addTab(tab) {
166
- if (!this.enableCaseWidgets)
167
- delete tab.showTasks;
168
161
  this.tabManagementService.dispatchAction(this.tabManagementService.addTab(tab));
169
162
  }
170
163
  deleteTab(tabKey) {
171
164
  this.tabManagementService.dispatchAction(this.tabManagementService.deleteTab(tabKey));
172
165
  }
173
166
  editTab(tab) {
174
- if (!this.enableCaseWidgets)
175
- delete tab.showTasks;
176
167
  this.tabManagementService.dispatchAction(this.tabManagementService.editTab(tab, tab.key));
177
168
  }
178
169
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.IconService }, { token: i2.TabManagementService }, { token: i2.TabService }, { token: i3.TranslateService }, { token: i4.Router }, { token: i5.ConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
@@ -193,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
193
184
  }], documentDefinitionName: [{
194
185
  type: Input
195
186
  }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQTJCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBWTNELE1BQU0sT0FBTyw4QkFBOEI7SUFNekMsSUFBb0Isc0JBQXNCLENBQUMsS0FBYTtRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLEtB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aUIsQ0FBQyxJQUFJOzRQQUdOLHdCQUF3QjtzQkFBdEQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0QscUJBQXFCO3NCQUFoRCxTQUFTO3VCQUFDLGVBQWU7Z0JBQ1EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFHWixzQkFBc0I7c0JBQXpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyb3dEb3duMTYsIEFycm93VXAxNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25JdGVtLCBDb2x1bW5Db25maWcsIFZpZXdUeXBlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7QXBpVGFiSXRlbSwgQXBpVGFiVHlwZX0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYk1hbmFnZW1lbnRTZXJ2aWNlLCBUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgndGFiQ29udGVudENvbHVtbicpIHRhYkNvbnRlbnRDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGFiVHlwZUNvbHVtbicpIHRhYlR5cGVDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnbW92ZUJ1dHRvbnNUZW1wbGF0ZScpIG1vdmVCdXR0b25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHZhbHVlO1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2Uuc2V0Q2FzZURlZmluaXRpb25JZCh2YWx1ZSk7XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkVGFicygpO1xuICB9XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZWRpdCcsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRWRpdE1vZGFsLmJpbmQodGhpcyksXG4gICAgICB0eXBlOiAnbm9ybWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRGVsZXRlQ29uZmlybWF0aW9uTW9kYWwuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGV0ZVJvd0tleSQucGlwZShcbiAgICBtYXAoKGtleTogc3RyaW5nIHwgbnVsbCkgPT4gISFrZXkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBvcGVuRWRpdE1vZGFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uQ29uZmlnW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkaW5nJDtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5BZGRNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxhc3RJdGVtSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFicyQ6IE9ic2VydmFibGU8QXBpVGFiSXRlbVtdPiA9IHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UudGFicyQucGlwZShcbiAgICB0YXAodGFicyA9PiB7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmNvbnRlbnRLZXkpO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRUYWJLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmtleSk7XG4gICAgICB0aGlzLmxhc3RJdGVtSW5kZXgkLm5leHQodGFicy5sZW5ndGggLSAxKTtcbiAgICAgIHRoaXMuZHJhZ0FuZERyb3BEaXNhYmxlZC5zZXQoZmFsc2UpO1xuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB0YWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcGlUYWJJdGVtIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkcmFnQW5kRHJvcERpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUNhc2VXaWRnZXRzID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGUoJ2VuYWJsZUNhc2VXaWRnZXRzJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJNYW5hZ2VtZW50U2VydmljZTogVGFiTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtBcnJvd0Rvd24xNiwgQXJyb3dVcDE2XSk7XG5cbiAgICB0aGlzLmZpZWxkcyQubmV4dChbXG4gICAgICB7XG4gICAgICAgIGtleTogJ25hbWUnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5uYW1lJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5rZXknLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMudGFiVHlwZUNvbHVtblRlbXBsYXRlLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy50eXBlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URU1QTEFURSxcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMudGFiQ29udGVudENvbHVtblRlbXBsYXRlLFxuICAgICAgICBrZXk6ICcnLFxuICAgICAgICBsYWJlbDogJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29sdW1ucy5jb250ZW50JyxcbiAgICAgIH0sXG4gICAgICAuLi4odGhpcy5lbmFibGVDYXNlV2lkZ2V0c1xuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLkJPT0xFQU4sXG4gICAgICAgICAgICAgIGtleTogJ3Nob3dUYXNrcycsXG4gICAgICAgICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLnNob3dUYXNrcycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgXSk7XG5cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RyYW5zbGF0ZWQoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoa2V5KSAhPT0ga2V5O1xuICB9XG5cbiAgcHVibGljIG9wZW5BZGRUYWJNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5BZGRNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRWRpdE1vZGFsKHRhYjogQXBpVGFiSXRlbSk6IHZvaWQge1xuICAgIHRoaXMudGFiJC5uZXh0KHRhYik7XG4gICAgdGhpcy5vcGVuRWRpdE1vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uUm93Q2xpY2tlZCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRhYiQubmV4dCh0YWIpO1xuICAgIGlmICh0YWIudHlwZSA9PT0gQXBpVGFiVHlwZS5XSURHRVRTKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXG4gICAgICAgIGAvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHt0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lfS93aWRnZXQtdGFiLyR7dGFiLmtleX1gLFxuICAgICAgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUFkZE1vZGFsRXZlbnQodGFiOiBBcGlUYWJJdGVtIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkFkZE1vZGFsJC5uZXh0KGZhbHNlKTtcblxuICAgIGlmICghdGFiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hZGRUYWIodGFiKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRWRpdE1vZGFsRXZlbnQodGFiOiBBcGlUYWJJdGVtIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy50YWIkLm5leHQobnVsbCk7XG5cbiAgICBpZiAoIXRhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZWRpdFRhYih0YWIpO1xuICB9XG5cbiAgcHVibGljIG9wZW5EZWxldGVDb25maXJtYXRpb25Nb2RhbCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVJvd0tleSQubmV4dCh0YWIua2V5KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbmZpcm1FdmVudCh0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlVGFiKHRhYktleSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtc1Jlb3JkZXJlZEV2ZW50KHJlb3JkZXJlZEl0ZW1zOiBBcGlUYWJJdGVtW10pOiB2b2lkIHtcbiAgICBpZiAoIXJlb3JkZXJlZEl0ZW1zKSByZXR1cm47XG5cbiAgICB0aGlzLmRyYWdBbmREcm9wRGlzYWJsZWQuc2V0KHRydWUpO1xuXG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kaXNwYXRjaEFjdGlvbihcbiAgICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZWRpdFRhYnNPcmRlcihyZW9yZGVyZWRJdGVtcylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUYWIodGFiOiBQYXJ0aWFsPEFwaVRhYkl0ZW0+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUNhc2VXaWRnZXRzKSBkZWxldGUgdGFiLnNob3dUYXNrcztcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5hZGRUYWIodGFiKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZVRhYih0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kZWxldGVUYWIodGFiS2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGVkaXRUYWIodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZUNhc2VXaWRnZXRzKSBkZWxldGUgdGFiLnNob3dUYXNrcztcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5lZGl0VGFiKHRhYiwgdGFiLmtleSkpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICpuZ0lmPVwie2ZpZWxkczogZmllbGRzJCB8IGFzeW5jLCBsb2FkaW5nOiBsb2FkaW5nJCB8IGFzeW5jLCB0YWJzOiB0YWJzJCB8IGFzeW5jfSBhcyBvYnNcIlxuICBbYWN0aW9uSXRlbXNdPVwiYWN0aW9uSXRlbXNcIlxuICBbaXRlbXNdPVwib2JzLnRhYnNcIlxuICBbZmllbGRzXT1cIm9icy5maWVsZHNcIlxuICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgW2xvYWRpbmddPVwib2JzLmxvYWRpbmdcIlxuICAocm93Q2xpY2tlZCk9XCJvblJvd0NsaWNrZWQoJGV2ZW50KVwiXG4gIFtkcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgW2RyYWdBbmREcm9wRGlzYWJsZWRdPVwiZHJhZ0FuZERyb3BEaXNhYmxlZCgpXCJcbiAgKGl0ZW1zUmVvcmRlcmVkKT1cIm9uSXRlbXNSZW9yZGVyZWRFdmVudCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBjYXJib25Ub29sYmFyQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZFRhYkJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgW2FjdGlvbl09XCJhZGRUYWJCdXR0b25cIlxuICAgIFtkZXNjcmlwdGlvbl09XCInZG9zc2llci50YWJzLm5vUmVzdWx0c0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3RpdGxlXT1cIidkb3NzaWVyLnRhYnMubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZVwiXG4gID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbjwvdmFsdGltby1jYXJib24tbGlzdD5cblxuPG5nLXRlbXBsYXRlICN0YWJUeXBlQ29sdW1uIGxldC1kYXRhPVwiZGF0YVwiPlxuICB7e1xuICAgIGlzVHJhbnNsYXRlZCgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUpXG4gICAgICA/ICgnZG9zc2llck1hbmFnZW1lbnQudGFiVHlwZS4nICsgZGF0YS5pdGVtLnR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS50eXBlXG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYkNvbnRlbnRDb2x1bW4gbGV0LWRhdGE9XCJkYXRhXCI+XG4gIHt7XG4gICAgaXNUcmFuc2xhdGVkKCdkb3NzaWVyLnRhYnMuJyArIGRhdGEuaXRlbS5jb250ZW50S2V5KVxuICAgICAgPyAoJ2Rvc3NpZXIudGFicy4nICsgZGF0YS5pdGVtLmNvbnRlbnRLZXkgfCB0cmFuc2xhdGUpXG4gICAgICA6IGRhdGEuaXRlbS5jb250ZW50S2V5XG4gIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FkZFRhYkJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5BZGRUYWJNb2RhbCgpXCI+XG4gICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuYWRkVGFiJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPHN2ZyBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiPjwvc3ZnPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsXG4gICpuZ0lmPVwib3BlbkFkZE1vZGFsJCB8IGFzeW5jXCJcbiAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZVwiXG4gIFtvcGVuXT1cIm9wZW5BZGRNb2RhbCQgfCBhc3luY1wiXG4gIChjbG9zZU1vZGFsRXZlbnQpPVwib25DbG9zZUFkZE1vZGFsRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1hZGQtdGFiLW1vZGFsPlxuXG48dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtZWRpdC10YWItbW9kYWxcbiAgKm5nSWY9XCJvcGVuRWRpdE1vZGFsJCB8IGFzeW5jXCJcbiAgW3RhYl09XCJ0YWIkIHwgYXN5bmNcIlxuICAoY2xvc2VNb2RhbEV2ZW50KT1cIm9uQ2xvc2VFZGl0TW9kYWxFdmVudCgkZXZlbnQpXCJcbiAgW29wZW5dPVwib3BlbkVkaXRNb2RhbCQgfCBhc3luY1wiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1lZGl0LXRhYi1tb2RhbD5cblxuPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJpbnRlcmZhY2UuZGVsZXRlXCJcbiAgY29uZmlybUJ1dHRvblR5cGU9XCJkYW5nZXJcIlxuICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLmRlc2NyaXB0aW9uXCJcbiAgW291dHB1dE9uQ29uZmlybV09XCJkZWxldGVSb3dLZXkkIHwgYXN5bmNcIlxuICBbc2hvd01vZGFsU3ViamVjdCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmRlbGV0ZU1vZGFsLnRpdGxlXCJcbiAgKGNvbmZpcm1FdmVudCk9XCJvbkNvbmZpcm1FdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQTJCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBYyxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBWTNELE1BQU0sT0FBTyw4QkFBOEI7SUFNekMsSUFBb0Isc0JBQXNCLENBQUMsS0FBYTtRQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLEtB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QUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQ3RDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLEdBQXdCO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxTQUFTLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQWU7UUFDN0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOytHQTFLVSw4QkFBOEI7bUdBQTlCLDhCQUE4Qix5ZEMzQzNDLDJrR0FzRkE7OzRGRDNDYSw4QkFBOEI7a0JBUDFDLFNBQVM7K0JBQ0UsaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzRQQUdOLHdCQUF3QjtzQkFBdEQsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ0QscUJBQXFCO3NCQUFoRCxTQUFTO3VCQUFDLGVBQWU7Z0JBQ1EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFHWixzQkFBc0I7c0JBQXpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXJyb3dEb3duMTYsIEFycm93VXAxNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25JdGVtLCBDb2x1bW5Db25maWcsIFZpZXdUeXBlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7QXBpVGFiSXRlbSwgQXBpVGFiVHlwZX0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0ljb25TZXJ2aWNlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYk1hbmFnZW1lbnRTZXJ2aWNlLCBUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgndGFiQ29udGVudENvbHVtbicpIHRhYkNvbnRlbnRDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGFiVHlwZUNvbHVtbicpIHRhYlR5cGVDb2x1bW5UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnbW92ZUJ1dHRvbnNUZW1wbGF0ZScpIG1vdmVCdXR0b25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJpdmF0ZSBfZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZSA9IHZhbHVlO1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2Uuc2V0Q2FzZURlZmluaXRpb25JZCh2YWx1ZSk7XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkVGFicygpO1xuICB9XG4gIHB1YmxpYyBnZXQgZG9jdW1lbnREZWZpbml0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kb2N1bWVudERlZmluaXRpb25OYW1lO1xuICB9XG5cbiAgcHVibGljIGFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZWRpdCcsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRWRpdE1vZGFsLmJpbmQodGhpcyksXG4gICAgICB0eXBlOiAnbm9ybWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5vcGVuRGVsZXRlQ29uZmlybWF0aW9uTW9kYWwuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRlbGV0ZVJvd0tleSQucGlwZShcbiAgICBtYXAoKGtleTogc3RyaW5nIHwgbnVsbCkgPT4gISFrZXkpXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBvcGVuRWRpdE1vZGFsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sdW1uQ29uZmlnW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5sb2FkaW5nJDtcbiAgcHVibGljIHJlYWRvbmx5IG9wZW5BZGRNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxhc3RJdGVtSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KC0xKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFicyQ6IE9ic2VydmFibGU8QXBpVGFiSXRlbVtdPiA9IHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UudGFicyQucGlwZShcbiAgICB0YXAodGFicyA9PiB7XG4gICAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmNvbnRlbnRLZXkpO1xuICAgICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRUYWJLZXlzID0gdGFicy5tYXAoKHRhYjogQXBpVGFiSXRlbSkgPT4gdGFiLmtleSk7XG4gICAgICB0aGlzLmxhc3RJdGVtSW5kZXgkLm5leHQodGFicy5sZW5ndGggLSAxKTtcbiAgICAgIHRoaXMuZHJhZ0FuZERyb3BEaXNhYmxlZC5zZXQoZmFsc2UpO1xuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSB0YWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcGlUYWJJdGVtIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkcmFnQW5kRHJvcERpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25TZXJ2aWNlOiBJY29uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYk1hbmFnZW1lbnRTZXJ2aWNlOiBUYWJNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWNvblNlcnZpY2UucmVnaXN0ZXJBbGwoW0Fycm93RG93bjE2LCBBcnJvd1VwMTZdKTtcblxuICAgIHRoaXMuZmllbGRzJC5uZXh0KFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnbmFtZScsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLm5hbWUnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2tleScsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLmtleScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFTVBMQVRFLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy50YWJUeXBlQ29sdW1uVGVtcGxhdGUsXG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLnR5cGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFTVBMQVRFLFxuICAgICAgICB0ZW1wbGF0ZTogdGhpcy50YWJDb250ZW50Q29sdW1uVGVtcGxhdGUsXG4gICAgICAgIGtleTogJycsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLmNvbnRlbnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLkJPT0xFQU4sXG4gICAgICAgIGtleTogJ3Nob3dUYXNrcycsXG4gICAgICAgIGxhYmVsOiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5jb2x1bW5zLnNob3dUYXNrcycsXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgaXNUcmFuc2xhdGVkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGtleSkgIT09IGtleTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuQWRkVGFiTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQWRkTW9kYWwkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkVkaXRNb2RhbCh0YWI6IEFwaVRhYkl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnRhYiQubmV4dCh0YWIpO1xuICAgIHRoaXMub3BlbkVkaXRNb2RhbCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblJvd0NsaWNrZWQodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgdGhpcy50YWIkLm5leHQodGFiKTtcbiAgICBpZiAodGFiLnR5cGUgPT09IEFwaVRhYlR5cGUuV0lER0VUUykge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgICBgL2Rvc3NpZXItbWFuYWdlbWVudC9kb3NzaWVyLyR7dGhpcy5fZG9jdW1lbnREZWZpbml0aW9uTmFtZX0vd2lkZ2V0LXRhYi8ke3RhYi5rZXl9YCxcbiAgICAgIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5FZGl0TW9kYWwkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VBZGRNb2RhbEV2ZW50KHRhYjogQXBpVGFiSXRlbSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5BZGRNb2RhbCQubmV4dChmYWxzZSk7XG5cbiAgICBpZiAoIXRhYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWRkVGFiKHRhYik7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZUVkaXRNb2RhbEV2ZW50KHRhYjogQXBpVGFiSXRlbSB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5FZGl0TW9kYWwkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMudGFiJC5uZXh0KG51bGwpO1xuXG4gICAgaWYgKCF0YWIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVkaXRUYWIodGFiKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuRGVsZXRlQ29uZmlybWF0aW9uTW9kYWwodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGVSb3dLZXkkLm5leHQodGFiLmtleSk7XG4gIH1cblxuICBwdWJsaWMgb25Db25maXJtRXZlbnQodGFiS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVRhYih0YWJLZXkpO1xuICB9XG5cbiAgcHVibGljIG9uSXRlbXNSZW9yZGVyZWRFdmVudChyZW9yZGVyZWRJdGVtczogQXBpVGFiSXRlbVtdKTogdm9pZCB7XG4gICAgaWYgKCFyZW9yZGVyZWRJdGVtcykgcmV0dXJuO1xuXG4gICAgdGhpcy5kcmFnQW5kRHJvcERpc2FibGVkLnNldCh0cnVlKTtcblxuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24oXG4gICAgICB0aGlzLnRhYk1hbmFnZW1lbnRTZXJ2aWNlLmVkaXRUYWJzT3JkZXIocmVvcmRlcmVkSXRlbXMpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVGFiKHRhYjogUGFydGlhbDxBcGlUYWJJdGVtPik6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5hZGRUYWIodGFiKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZVRhYih0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZGlzcGF0Y2hBY3Rpb24odGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kZWxldGVUYWIodGFiS2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGVkaXRUYWIodGFiOiBBcGlUYWJJdGVtKTogdm9pZCB7XG4gICAgdGhpcy50YWJNYW5hZ2VtZW50U2VydmljZS5kaXNwYXRjaEFjdGlvbih0aGlzLnRhYk1hbmFnZW1lbnRTZXJ2aWNlLmVkaXRUYWIodGFiLCB0YWIua2V5KSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tY2FyYm9uLWxpc3RcbiAgKm5nSWY9XCJ7ZmllbGRzOiBmaWVsZHMkIHwgYXN5bmMsIGxvYWRpbmc6IGxvYWRpbmckIHwgYXN5bmMsIHRhYnM6IHRhYnMkIHwgYXN5bmN9IGFzIG9ic1wiXG4gIFthY3Rpb25JdGVtc109XCJhY3Rpb25JdGVtc1wiXG4gIFtpdGVtc109XCJvYnMudGFic1wiXG4gIFtmaWVsZHNdPVwib2JzLmZpZWxkc1wiXG4gIFtoZWFkZXJdPVwiZmFsc2VcIlxuICBbbG9hZGluZ109XCJvYnMubG9hZGluZ1wiXG4gIChyb3dDbGlja2VkKT1cIm9uUm93Q2xpY2tlZCgkZXZlbnQpXCJcbiAgW2RyYWdBbmREcm9wXT1cInRydWVcIlxuICBbZHJhZ0FuZERyb3BEaXNhYmxlZF09XCJkcmFnQW5kRHJvcERpc2FibGVkKClcIlxuICAoaXRlbXNSZW9yZGVyZWQpPVwib25JdGVtc1Jlb3JkZXJlZEV2ZW50KCRldmVudClcIlxuPlxuICA8bmctY29udGFpbmVyIGNhcmJvblRvb2xiYXJDb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkVGFiQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICBbYWN0aW9uXT1cImFkZFRhYkJ1dHRvblwiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIidkb3NzaWVyLnRhYnMubm9SZXN1bHRzRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICBbdGl0bGVdPVwiJ2Rvc3NpZXIudGFicy5ub1Jlc3VsdHMnIHwgdHJhbnNsYXRlXCJcbiAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuPC92YWx0aW1vLWNhcmJvbi1saXN0PlxuXG48bmctdGVtcGxhdGUgI3RhYlR5cGVDb2x1bW4gbGV0LWRhdGE9XCJkYXRhXCI+XG4gIHt7XG4gICAgaXNUcmFuc2xhdGVkKCdkb3NzaWVyTWFuYWdlbWVudC50YWJUeXBlLicgKyBkYXRhLml0ZW0udHlwZSlcbiAgICAgID8gKCdkb3NzaWVyTWFuYWdlbWVudC50YWJUeXBlLicgKyBkYXRhLml0ZW0udHlwZSB8IHRyYW5zbGF0ZSlcbiAgICAgIDogZGF0YS5pdGVtLnR5cGVcbiAgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFiQ29udGVudENvbHVtbiBsZXQtZGF0YT1cImRhdGFcIj5cbiAge3tcbiAgICBpc1RyYW5zbGF0ZWQoJ2Rvc3NpZXIudGFicy4nICsgZGF0YS5pdGVtLmNvbnRlbnRLZXkpXG4gICAgICA/ICgnZG9zc2llci50YWJzLicgKyBkYXRhLml0ZW0uY29udGVudEtleSB8IHRyYW5zbGF0ZSlcbiAgICAgIDogZGF0YS5pdGVtLmNvbnRlbnRLZXlcbiAgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWRkVGFiQnV0dG9uPlxuICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkFkZFRhYk1vZGFsKClcIj5cbiAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5hZGRUYWInIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8c3ZnIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIiBjbGFzcz1cImNkcy0tYnRuX19pY29uXCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWxcbiAgKm5nSWY9XCJvcGVuQWRkTW9kYWwkIHwgYXN5bmNcIlxuICBbZG9jdW1lbnREZWZpbml0aW9uTmFtZV09XCJkb2N1bWVudERlZmluaXRpb25OYW1lXCJcbiAgW29wZW5dPVwib3BlbkFkZE1vZGFsJCB8IGFzeW5jXCJcbiAgKGNsb3NlTW9kYWxFdmVudCk9XCJvbkNsb3NlQWRkTW9kYWxFdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWFkZC10YWItbW9kYWw+XG5cbjx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC1lZGl0LXRhYi1tb2RhbFxuICAqbmdJZj1cIm9wZW5FZGl0TW9kYWwkIHwgYXN5bmNcIlxuICBbdGFiXT1cInRhYiQgfCBhc3luY1wiXG4gIChjbG9zZU1vZGFsRXZlbnQpPVwib25DbG9zZUVkaXRNb2RhbEV2ZW50KCRldmVudClcIlxuICBbb3Blbl09XCJvcGVuRWRpdE1vZGFsJCB8IGFzeW5jXCJcbj48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LWVkaXQtdGFiLW1vZGFsPlxuXG48dmFsdGltby1jb25maXJtYXRpb24tbW9kYWxcbiAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICBjb25maXJtQnV0dG9uVHlwZT1cImRhbmdlclwiXG4gIGNvbnRlbnRUcmFuc2xhdGlvbktleT1cImRvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuZGVsZXRlTW9kYWwuZGVzY3JpcHRpb25cIlxuICBbb3V0cHV0T25Db25maXJtXT1cImRlbGV0ZVJvd0tleSQgfCBhc3luY1wiXG4gIFtzaG93TW9kYWxTdWJqZWN0JF09XCJzaG93RGVsZXRlTW9kYWwkXCJcbiAgdGl0bGVUcmFuc2xhdGlvbktleT1cImRvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuZGVsZXRlTW9kYWwudGl0bGVcIlxuICAoY29uZmlybUV2ZW50KT1cIm9uQ29uZmlybUV2ZW50KCRldmVudClcIlxuPjwvdmFsdGltby1jb25maXJtYXRpb24tbW9kYWw+XG4iXX0=
@@ -46,7 +46,6 @@ export class TabFormComponent {
46
46
  return [];
47
47
  }
48
48
  }), startWith([]));
49
- this.enableCaseWidgets$ = this.configService.getFeatureToggleObservable('enableCaseWidgets');
50
49
  this._subscriptions = new Subscription();
51
50
  }
52
51
  ngOnInit() {
@@ -63,6 +62,17 @@ export class TabFormComponent {
63
62
  ngOnDestroy() {
64
63
  this._subscriptions.unsubscribe();
65
64
  }
65
+ isKeyError() {
66
+ return this.form.get('key')?.hasError('uniqueKey')
67
+ || this.form.get('key')?.hasError('pattern');
68
+ }
69
+ getKeyErrorMessage() {
70
+ if (this.form.get('key')?.hasError('uniqueKey'))
71
+ return 'dossierManagement.tabManagement.addModal.uniqueKeyError';
72
+ if (this.form.get('key')?.hasError('pattern'))
73
+ return 'dossierManagement.tabManagement.addModal.invalidKeyError';
74
+ return '';
75
+ }
66
76
  onSearch() {
67
77
  if (this._searchActive) {
68
78
  return;
@@ -98,12 +108,12 @@ export class TabFormComponent {
98
108
  }));
99
109
  }
100
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabFormComponent, deps: [{ token: i1.ConfigService }, { token: i2.TabService }, { token: i3.FormGroupDirective }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TabFormComponent, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n @if (enableCaseWidgets$ | async) {\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n }\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "component", type: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "items", "type", "size", "itemValueKey", "label", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TabFormComponent, selector: "valtimo-tab-form", inputs: { tabType: "tabType" }, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!isKeyError()\"\n [invalidText]=\"getKeyErrorMessage() | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n pattern=\"[a-zA-Z0-9\\-]+\"\n [invalid]=\"!!isKeyError()\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "component", type: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { 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: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i5.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
112
  }
103
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TabFormComponent, decorators: [{
104
114
  type: Component,
105
- args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [invalidText]=\"'dossierManagement.tabManagement.addModal.uniqueKeyError' | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n [invalid]=\"!!this.form.get('key').errors?.uniqueKey\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n @if (enableCaseWidgets$ | async) {\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n }\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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"] }]
115
+ args: [{ selector: 'valtimo-tab-form', changeDetection: ChangeDetectionStrategy.OnPush, 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<form *ngIf=\"form\" [formGroup]=\"form\" class=\"valtimo-tab-form-modal\">\n <cds-label>\n {{ 'dossierManagement.tabManagement.addModal.tabNameLabel' | translate }}\n\n <input cdsText formControlName=\"name\" [attr.modal-primary-focus]=\"true\" />\n </cds-label>\n\n <cds-label\n [invalid]=\"!!isKeyError()\"\n [invalidText]=\"getKeyErrorMessage() | translate\"\n >\n {{ 'dossierManagement.tabManagement.addModal.tabKeyLabel' | translate }}\n\n <input\n cdsText\n formControlName=\"key\"\n pattern=\"[a-zA-Z0-9\\-]+\"\n [invalid]=\"!!isKeyError()\"\n [attr.modal-primary-focus]=\"true\"\n />\n </cds-label>\n\n <cds-combo-box\n *ngIf=\"tabType !== 'widgets'\"\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"listItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'dossierManagement.tabManagement.contentLabels.' + tabType | translate\"\n (search)=\"onSearch($event)\"\n (selected)=\"onSelected($event)\"\n >\n <cds-dropdown-list></cds-dropdown-list>\n </cds-combo-box>\n\n <cds-toggle\n [label]=\"'dossierManagement.tabManagement.addModal.visibleTitle' | translate\"\n [onText]=\"'dossierManagement.tabManagement.addModal.visible' | translate\"\n [offText]=\"'dossierManagement.tabManagement.addModal.invisible' | translate\"\n [checked]=\"showTasks?.value\"\n (checkedChange)=\"toggleCheckedChange($event)\"\n [disabled]=\"disableTaskListVisibleToggle()\"\n ></cds-toggle>\n</form>\n", styles: ["::ng-deep .valtimo-tab-form-modal{display:flex;flex-direction:column;gap:32px}::ng-deep .valtimo-tab-form-modal .cds--list-box__field{background-color:#fff}::ng-deep .valtimo-tab-form-modal .cds--modal-container,::ng-deep .valtimo-tab-form-modal .cds--modal-content{overflow:unset}\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"] }]
106
116
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.TabService }, { type: i3.FormGroupDirective }], propDecorators: { tabType: [{
107
117
  type: Input
108
118
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL3RhYi1mb3JtL3RhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy90YWItZm9ybS90YWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVVqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBcUMzQixZQUNtQixhQUE0QixFQUM1QixVQUFzQixFQUN0QixrQkFBc0M7UUFGdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBckNsRCxpQ0FBNEIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsZUFBVSxHQUFHLGFBQWEsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQjtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQjtZQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVk7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0I7U0FDckMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsRUFBRTtZQUNuRSxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxVQUFVLENBQUMsUUFBUTtvQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDakQsS0FBSyxVQUFVLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxLQUFLLFVBQVUsQ0FBQyxNQUFNO29CQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxLQUFLLFVBQVUsQ0FBQyxPQUFPO29CQUNyQixPQUFPLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsRUFBRSxDQUFDLENBQ2QsQ0FBQztRQU1jLHVCQUFrQixHQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFJN0QsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTXpDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFFdEMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBYztRQUN2QyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLDhCQUE4QjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzlELE1BQU0sZUFBZSxHQUFHLFVBQVUsS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBRTNELElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUFDLFFBQW9CLEVBQUUscUJBQStCO1FBQ3hFLE9BQU8sUUFBUTthQUNaLE1BQU0sQ0FDTCxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUNwQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVSxDQUM3RDthQUNBLEdBQUcsQ0FBQyxDQUFDLE9BQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDM0IsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssS0FBSyxPQUFPLENBQUMsVUFBVTtTQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7K0dBcEdVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHdGQzdCN0IsMnVFQTZEQTs7NEZEaENhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs0SUFHL0IsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIEZvcm1Hcm91cERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBcGlUYWJUeXBlLCBEZWZhdWx0VGFic30gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RhYlNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby10YWItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgdGFiVHlwZTogQXBpVGFiVHlwZTtcblxuICBwdWJsaWMgZGlzYWJsZVRhc2tMaXN0VmlzaWJsZVRvZ2dsZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxpc3RJdGVtcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnRhYlNlcnZpY2UuY29uZmlndXJlZENvbnRlbnRLZXlzJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuZm9ybURlZmluaXRpb25zJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuZGVmYXVsdFRhYnMkLFxuICAgIHRoaXMudGFiU2VydmljZS5jdXN0b21Db21wb25lbnRLZXlzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFt0YWJLZXlzLCBmb3JtRGVmaW5pdGlvbnMsIGRlZmF1bHRUYWJzLCBjdXN0b21Db21wb25lbnRLZXlzXSkgPT4ge1xuICAgICAgc3dpdGNoICh0aGlzLnRhYlR5cGUpIHtcbiAgICAgICAgY2FzZSBBcGlUYWJUeXBlLlNUQU5EQVJEOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhkZWZhdWx0VGFicywgdGFiS2V5cyk7XG4gICAgICAgIGNhc2UgQXBpVGFiVHlwZS5DVVNUT006XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGlzdEl0ZW1zKGN1c3RvbUNvbXBvbmVudEtleXMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuRk9STUlPOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhmb3JtRGVmaW5pdGlvbnMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuV0lER0VUUzpcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSksXG4gICAgc3RhcnRXaXRoKFtdKVxuICApO1xuXG4gIHB1YmxpYyBmb3JtITogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBzaG93VGFza3MhOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj47XG5cbiAgcHVibGljIHJlYWRvbmx5IGVuYWJsZUNhc2VXaWRnZXRzJCA9XG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldEZlYXR1cmVUb2dnbGVPYnNlcnZhYmxlKCdlbmFibGVDYXNlV2lkZ2V0cycpO1xuXG4gIHByaXZhdGUgX3NlYXJjaEFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLmNvbnRyb2w7XG4gICAgdGhpcy5zaG93VGFza3MgPSB0aGlzLmZvcm0uZ2V0KCdzaG93VGFza3MnKTtcbiAgICB0aGlzLm9wZW5UYXNrTGlzdFRvZ2dsZVN1YnNjcmlwdGlvbigpO1xuXG4gICAgaWYgKHRoaXMudGFiVHlwZSA9PSBBcGlUYWJUeXBlLldJREdFVFMpIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2NvbnRlbnRLZXknKT8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5Jyk/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlYXJjaEFjdGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3NlYXJjaEFjdGl2ZSA9IHRydWU7XG4gICAgdGhpcy5mb3JtLmdldCgnY29udGVudEtleScpPy5yZXNldCgnJyk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWFyY2hBY3RpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDaGVja2VkQ2hhbmdlKGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93VGFza3M/LnBhdGNoVmFsdWUoISFldmVudCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5UYXNrTGlzdFRvZ2dsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb250ZW50S2V5ID0+IHtcbiAgICAgIGNvbnN0IHN1bW1hcnlTZWxlY3RlZCA9IGNvbnRlbnRLZXkgPT09IERlZmF1bHRUYWJzLnN1bW1hcnk7XG5cbiAgICAgIGlmIChzdW1tYXJ5U2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy50b2dnbGVDaGVja2VkQ2hhbmdlKHRydWUpO1xuICAgICAgICB0aGlzLmRpc2FibGVUYXNrTGlzdFZpc2libGVUb2dnbGUuc2V0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlVGFza0xpc3RWaXNpYmxlVG9nZ2xlLnNldChmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpc3RJdGVtcyh0YWJJdGVtczogTGlzdEl0ZW1bXSwgY29uZmlndXJlZENvbnRlbnRLZXlzOiBzdHJpbmdbXSk6IExpc3RJdGVtW10ge1xuICAgIHJldHVybiB0YWJJdGVtc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgKHRhYkl0ZW06IExpc3RJdGVtKSA9PlxuICAgICAgICAgICFjb25maWd1cmVkQ29udGVudEtleXMuaW5jbHVkZXModGFiSXRlbS5jb250ZW50S2V5KSB8fFxuICAgICAgICAgIHRoaXMuZm9ybT8uZ2V0KCdjb250ZW50S2V5Jyk/LnZhbHVlID09PSB0YWJJdGVtLmNvbnRlbnRLZXlcbiAgICAgIClcbiAgICAgIC5tYXAoKHRhYkl0ZW06IExpc3RJdGVtKSA9PiAoe1xuICAgICAgICAuLi50YWJJdGVtLFxuICAgICAgICBzZWxlY3RlZDogdGhpcy5mb3JtPy5nZXQoJ2NvbnRlbnRLZXknKT8udmFsdWUgPT09IHRhYkl0ZW0uY29udGVudEtleSxcbiAgICAgIH0pKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybSAqbmdJZj1cImZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInZhbHRpbW8tdGFiLWZvcm0tbW9kYWxcIj5cbiAgPGNkcy1sYWJlbD5cbiAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC50YWJOYW1lTGFiZWwnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXQgY2RzVGV4dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCIgLz5cbiAgPC9jZHMtbGFiZWw+XG5cbiAgPGNkcy1sYWJlbFxuICAgIFtpbnZhbGlkXT1cIiEhdGhpcy5mb3JtLmdldCgna2V5JykuZXJyb3JzPy51bmlxdWVLZXlcIlxuICAgIFtpbnZhbGlkVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC51bmlxdWVLZXlFcnJvcicgfCB0cmFuc2xhdGVcIlxuICA+XG4gICAge3sgJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwudGFiS2V5TGFiZWwnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGNkc1RleHRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImtleVwiXG4gICAgICBbaW52YWxpZF09XCIhIXRoaXMuZm9ybS5nZXQoJ2tleScpLmVycm9ycz8udW5pcXVlS2V5XCJcbiAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgLz5cbiAgPC9jZHMtbGFiZWw+XG5cbiAgPGNkcy1jb21iby1ib3hcbiAgICAqbmdJZj1cInRhYlR5cGUgIT09ICd3aWRnZXRzJ1wiXG4gICAgW2Ryb3BVcF09XCJmYWxzZVwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGVudEtleVwiXG4gICAgW2l0ZW1zXT1cImxpc3RJdGVtcyQgfCBhc3luY1wiXG4gICAgaXRlbVZhbHVlS2V5PVwiY29udGVudEtleVwiXG4gICAgW2xhYmVsXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmNvbnRlbnRMYWJlbHMuJyArIHRhYlR5cGUgfCB0cmFuc2xhdGVcIlxuICAgIChzZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgKHNlbGVjdGVkKT1cIm9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gID5cbiAgICA8Y2RzLWRyb3Bkb3duLWxpc3Q+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgPC9jZHMtY29tYm8tYm94PlxuXG4gIEBpZiAoZW5hYmxlQ2FzZVdpZGdldHMkIHwgYXN5bmMpIHtcbiAgICA8Y2RzLXRvZ2dsZVxuICAgICAgW2xhYmVsXT1cIidkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnZpc2libGVUaXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW29uVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC52aXNpYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbb2ZmVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5pbnZpc2libGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaGVja2VkXT1cInNob3dUYXNrcz8udmFsdWVcIlxuICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlVGFza0xpc3RWaXNpYmxlVG9nZ2xlKClcIlxuICAgID48L2Nkcy10b2dnbGU+XG4gIH1cbjwvZm9ybT5cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC10YWJzL3RhYi1mb3JtL3RhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtdGFicy90YWItZm9ybS90YWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVVqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBa0MzQixZQUNtQixhQUE0QixFQUM1QixVQUFzQixFQUN0QixrQkFBc0M7UUFGdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBbENsRCxpQ0FBNEIsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsZUFBVSxHQUFHLGFBQWEsQ0FBQztZQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQjtZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQjtZQUNoQyxJQUFJLENBQUMs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Ry9CLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBGb3JtR3JvdXBEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QXBpVGFiVHlwZSwgRGVmYXVsdFRhYnN9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtMaXN0SXRlbX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUYWJTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tdGFiLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGFiRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIHRhYlR5cGU6IEFwaVRhYlR5cGU7XG5cbiAgcHVibGljIGRpc2FibGVUYXNrTGlzdFZpc2libGVUb2dnbGUgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBsaXN0SXRlbXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy50YWJTZXJ2aWNlLmNvbmZpZ3VyZWRDb250ZW50S2V5cyQsXG4gICAgdGhpcy50YWJTZXJ2aWNlLmZvcm1EZWZpbml0aW9ucyQsXG4gICAgdGhpcy50YWJTZXJ2aWNlLmRlZmF1bHRUYWJzJCxcbiAgICB0aGlzLnRhYlNlcnZpY2UuY3VzdG9tQ29tcG9uZW50S2V5cyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbdGFiS2V5cywgZm9ybURlZmluaXRpb25zLCBkZWZhdWx0VGFicywgY3VzdG9tQ29tcG9uZW50S2V5c10pID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy50YWJUeXBlKSB7XG4gICAgICAgIGNhc2UgQXBpVGFiVHlwZS5TVEFOREFSRDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbXMoZGVmYXVsdFRhYnMsIHRhYktleXMpO1xuICAgICAgICBjYXNlIEFwaVRhYlR5cGUuQ1VTVE9NOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldExpc3RJdGVtcyhjdXN0b21Db21wb25lbnRLZXlzLCB0YWJLZXlzKTtcbiAgICAgICAgY2FzZSBBcGlUYWJUeXBlLkZPUk1JTzpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0SXRlbXMoZm9ybURlZmluaXRpb25zLCB0YWJLZXlzKTtcbiAgICAgICAgY2FzZSBBcGlUYWJUeXBlLldJREdFVFM6XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHN0YXJ0V2l0aChbXSlcbiAgKTtcblxuICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgc2hvd1Rhc2tzITogQWJzdHJhY3RDb250cm9sPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgX3NlYXJjaEFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXBEaXJlY3RpdmU6IEZvcm1Hcm91cERpcmVjdGl2ZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUdyb3VwRGlyZWN0aXZlLmNvbnRyb2w7XG4gICAgdGhpcy5zaG93VGFza3MgPSB0aGlzLmZvcm0uZ2V0KCdzaG93VGFza3MnKTtcbiAgICB0aGlzLm9wZW5UYXNrTGlzdFRvZ2dsZVN1YnNjcmlwdGlvbigpO1xuXG4gICAgaWYgKHRoaXMudGFiVHlwZSA9PSBBcGlUYWJUeXBlLldJREdFVFMpIHtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ2NvbnRlbnRLZXknKT8uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5Jyk/LmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNLZXlFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgna2V5Jyk/Lmhhc0Vycm9yKCd1bmlxdWVLZXknKVxuICAgICAgfHwgdGhpcy5mb3JtLmdldCgna2V5Jyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcbiAgfVxuXG4gIHB1YmxpYyBnZXRLZXlFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5mb3JtLmdldCgna2V5Jyk/Lmhhc0Vycm9yKCd1bmlxdWVLZXknKSkgcmV0dXJuICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnVuaXF1ZUtleUVycm9yJztcbiAgICBpZiAodGhpcy5mb3JtLmdldCgna2V5Jyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJykpIHJldHVybiAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC5pbnZhbGlkS2V5RXJyb3InO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblNlYXJjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VhcmNoQWN0aXZlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc2VhcmNoQWN0aXZlID0gdHJ1ZTtcbiAgICB0aGlzLmZvcm0uZ2V0KCdjb250ZW50S2V5Jyk/LnJlc2V0KCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlYXJjaEFjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUNoZWNrZWRDaGFuZ2UoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dUYXNrcz8ucGF0Y2hWYWx1ZSghIWV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblRhc2tMaXN0VG9nZ2xlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5nZXQoJ2NvbnRlbnRLZXknKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNvbnRlbnRLZXkgPT4ge1xuICAgICAgY29uc3Qgc3VtbWFyeVNlbGVjdGVkID0gY29udGVudEtleSA9PT0gRGVmYXVsdFRhYnMuc3VtbWFyeTtcblxuICAgICAgaWYgKHN1bW1hcnlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnRvZ2dsZUNoZWNrZWRDaGFuZ2UodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGlzYWJsZVRhc2tMaXN0VmlzaWJsZVRvZ2dsZS5zZXQodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRpc2FibGVUYXNrTGlzdFZpc2libGVUb2dnbGUuc2V0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGlzdEl0ZW1zKHRhYkl0ZW1zOiBMaXN0SXRlbVtdLCBjb25maWd1cmVkQ29udGVudEtleXM6IHN0cmluZ1tdKTogTGlzdEl0ZW1bXSB7XG4gICAgcmV0dXJuIHRhYkl0ZW1zXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAodGFiSXRlbTogTGlzdEl0ZW0pID0+XG4gICAgICAgICAgIWNvbmZpZ3VyZWRDb250ZW50S2V5cy5pbmNsdWRlcyh0YWJJdGVtLmNvbnRlbnRLZXkpIHx8XG4gICAgICAgICAgdGhpcy5mb3JtPy5nZXQoJ2NvbnRlbnRLZXknKT8udmFsdWUgPT09IHRhYkl0ZW0uY29udGVudEtleVxuICAgICAgKVxuICAgICAgLm1hcCgodGFiSXRlbTogTGlzdEl0ZW0pID0+ICh7XG4gICAgICAgIC4uLnRhYkl0ZW0sXG4gICAgICAgIHNlbGVjdGVkOiB0aGlzLmZvcm0/LmdldCgnY29udGVudEtleScpPy52YWx1ZSA9PT0gdGFiSXRlbS5jb250ZW50S2V5LFxuICAgICAgfSkpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtICpuZ0lmPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwidmFsdGltby10YWItZm9ybS1tb2RhbFwiPlxuICA8Y2RzLWxhYmVsPlxuICAgIHt7ICdkb3NzaWVyTWFuYWdlbWVudC50YWJNYW5hZ2VtZW50LmFkZE1vZGFsLnRhYk5hbWVMYWJlbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIiAvPlxuICA8L2Nkcy1sYWJlbD5cblxuICA8Y2RzLWxhYmVsXG4gICAgW2ludmFsaWRdPVwiISFpc0tleUVycm9yKClcIlxuICAgIFtpbnZhbGlkVGV4dF09XCJnZXRLZXlFcnJvck1lc3NhZ2UoKSB8IHRyYW5zbGF0ZVwiXG4gID5cbiAgICB7eyAnZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC50YWJLZXlMYWJlbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dFxuICAgICAgY2RzVGV4dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCJcbiAgICAgIHBhdHRlcm49XCJbYS16QS1aMC05XFwtXStcIlxuICAgICAgW2ludmFsaWRdPVwiISFpc0tleUVycm9yKClcIlxuICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAvPlxuICA8L2Nkcy1sYWJlbD5cblxuICA8Y2RzLWNvbWJvLWJveFxuICAgICpuZ0lmPVwidGFiVHlwZSAhPT0gJ3dpZGdldHMnXCJcbiAgICBbZHJvcFVwXT1cImZhbHNlXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJjb250ZW50S2V5XCJcbiAgICBbaXRlbXNdPVwibGlzdEl0ZW1zJCB8IGFzeW5jXCJcbiAgICBpdGVtVmFsdWVLZXk9XCJjb250ZW50S2V5XCJcbiAgICBbbGFiZWxdPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuY29udGVudExhYmVscy4nICsgdGFiVHlwZSB8IHRyYW5zbGF0ZVwiXG4gICAgKHNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAoc2VsZWN0ZWQpPVwib25TZWxlY3RlZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0PlxuICA8L2Nkcy1jb21iby1ib3g+XG5cbiAgPGNkcy10b2dnbGVcbiAgICBbbGFiZWxdPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwudmlzaWJsZVRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29uVGV4dF09XCInZG9zc2llck1hbmFnZW1lbnQudGFiTWFuYWdlbWVudC5hZGRNb2RhbC52aXNpYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29mZlRleHRdPVwiJ2Rvc3NpZXJNYW5hZ2VtZW50LnRhYk1hbmFnZW1lbnQuYWRkTW9kYWwuaW52aXNpYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2NoZWNrZWRdPVwic2hvd1Rhc2tzPy52YWx1ZVwiXG4gICAgKGNoZWNrZWRDaGFuZ2UpPVwidG9nZ2xlQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVRhc2tMaXN0VmlzaWJsZVRvZ2dsZSgpXCJcbiAgPjwvY2RzLXRvZ2dsZT5cbjwvZm9ybT5cbiJdfQ==