@eo-sdk/client 11.14.0-rc.6 → 11.14.0-rc.7

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 (49) hide show
  1. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +5 -1
  3. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts.map +1 -1
  4. package/app/eo-framework/eo-framework.module.d.ts +8 -9
  5. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  6. package/app/eo-framework/form-elements/form-elements.module.d.ts +6 -7
  7. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  8. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  9. package/app/eo-framework/index.d.ts +0 -1
  10. package/app/eo-framework/index.d.ts.map +1 -1
  11. package/app/eo-framework/object-details/object-links/object-links.component.d.ts +2 -2
  12. package/app/eo-framework/object-details/object-links/object-links.component.d.ts.map +1 -1
  13. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  14. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  15. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  16. package/app/eo-framework/ui/index.d.ts +1 -0
  17. package/app/eo-framework/ui/index.d.ts.map +1 -1
  18. package/app/eo-framework/ui/ui.module.d.ts +7 -7
  19. package/app/eo-framework/ui/ui.module.d.ts.map +1 -1
  20. package/app/eo-framework-core/references/reference.service.d.ts +1 -0
  21. package/app/eo-framework-core/references/reference.service.d.ts.map +1 -1
  22. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  23. package/esm2022/app/eo-client/settings/settings.component.mjs +6 -6
  24. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +21 -4
  25. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +11 -5
  26. package/esm2022/app/eo-framework/eo-framework.module.mjs +1 -8
  27. package/esm2022/app/eo-framework/form-elements/form-elements.module.mjs +1 -5
  28. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +2 -2
  29. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +13 -11
  30. package/esm2022/app/eo-framework/index.mjs +1 -2
  31. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +40 -14
  32. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -1
  33. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -3
  34. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +13 -6
  35. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +4 -3
  36. package/esm2022/app/eo-framework/ui/index.mjs +2 -1
  37. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
  38. package/esm2022/app/eo-framework/ui/ui.module.mjs +10 -9
  39. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +2 -2
  40. package/esm2022/app/eo-framework-core/references/reference.service.mjs +32 -16
  41. package/fesm2022/eo-sdk-client.mjs +184 -135
  42. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  43. package/package.json +2 -2
  44. package/app/eo-framework/accordion/accordion.module.d.ts +0 -9
  45. package/app/eo-framework/accordion/accordion.module.d.ts.map +0 -1
  46. package/app/eo-framework/accordion/index.d.ts +0 -3
  47. package/app/eo-framework/accordion/index.d.ts.map +0 -1
  48. package/esm2022/app/eo-framework/accordion/accordion.module.mjs +0 -20
  49. package/esm2022/app/eo-framework/accordion/index.mjs +0 -3
@@ -220,7 +220,7 @@ export class ReferenceFinderComponent {
220
220
  this.searchInput.nativeElement.focus();
221
221
  }
222
222
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ReferenceFinderComponent, deps: [{ token: i1.ReferenceFinderService }], target: i0.ɵɵFactoryTarget.Component }); }
223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ReferenceFinderComponent, selector: "eo-reference-finder", inputs: { isDisabled: "isDisabled", types: "types", multiselect: "multiselect", contextId: "contextId", exceptionIDs: "exceptionIDs", queryFilters: "queryFilters", currentSelection: "currentSelection", clipboard: "clipboard" }, outputs: { addDmsObjects: "addDmsObjects" }, host: { listeners: { "keydown": "onKey($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "entries", predicate: ["entry"], descendants: true, read: ElementRef }], ngImport: i0, template: "\n<section class=\"reference-finder-search--input\">\n <input #searchInput autofocus tabindex=\"1\" (input)=\"searchTerm$.next($event.target.value)\" class=\"search\" type=\"text\" placeholder=\"{{('eo.search.result.term' | translate)}}\"/>\n</section>\n\n<section class=\"reference-finder--content\" *ngIf=\"!searching; else loading\">\n <div class=\"results\">\n <eo-simple-accordion *ngIf=\"clipboardItems.length && !copyOnly\"\n [header]=\"'eo.clipboard.type.copy' | translate\"\n [selected]=\"true\"\n (selectChange)=\"clipboardOpen = $event;\"\n class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"clipboardItems.length && copyOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n <div class=\"padding\"></div>\n\n <eo-simple-accordion *ngIf=\"resultList.length && !searchOnly\" [selected]=\"true\" [header]=\"'eo.search.title' | translate\" class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"resultList.length && searchOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n </div>\n\n <div class=\"cta\">\n <div>\n <button type=\"button\" *ngIf=\"multiselect\" (click)=\"selectAllEntries()\">{{('eo.cta.button.select.all' | translate)}}</button>\n <button type=\"button\" *ngIf=\"multiselect && !searchOnly\" [disabled]=\"isDisabled\" (click)=\"selectCopiedEntries()\">{{('eo.cta.button.select.copy' | translate)}}</button>\n </div>\n <button type=\"button\" class=\"add\" (click)=\"addItems()\" *ngIf=\"!disableAdd\" [@fadeInOut] [class.active]=\"!disableAdd\" [disabled]=\"disableAdd\" [title]=\"'eo.cta.button.add' | translate\">\n {{('eo.cta.button.add' | translate)}}\n </button>\n </div>\n</section>\n\n<ng-template #loading>\n <div class=\"loader-overlay__mask\">\n <eo-loading-spinner class=\"reference__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:contents}.reference-finder-search--input{background-color:var(--color-accent);padding:var(--app-pane-padding);display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:\"search\"}.reference-finder--content{display:contents;align-self:center;justify-items:center}.search{grid-area:search;width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title);border:1px var(--panel-background-grey) solid;box-shadow:0 2px 2px #0003}.search-result--hint{font-size:var(--font-caption)}.results{overflow:auto;height:100%;margin:calc(var(--app-pane-padding) / 2);overflow-x:hidden}.results-accordion:nth-child(odd){margin-bottom:10px}.cta{display:flex;align-items:center;justify-content:space-between;padding:var(--app-pane-padding);border-top:1px solid rgba(var(--color-black-rgb),.1)}.add{grid-area:add}.add.active{color:var(--color-white);background-color:var(--color-accent)}.padding{padding:5px}:host ::-webkit-scrollbar{width:5px}:host ::ng-deep .ui-accordion-content{padding:1em 0}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .reference__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i4.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "component", type: i5.ReferenceFinderEntryComponent, selector: "eo-reference-finder-entry", inputs: ["list", "multiselect", "marked"], outputs: ["selectReference"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [fadeInOut] }); }
223
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ReferenceFinderComponent, selector: "eo-reference-finder", inputs: { isDisabled: "isDisabled", types: "types", multiselect: "multiselect", contextId: "contextId", exceptionIDs: "exceptionIDs", queryFilters: "queryFilters", currentSelection: "currentSelection", clipboard: "clipboard" }, outputs: { addDmsObjects: "addDmsObjects" }, host: { listeners: { "keydown": "onKey($event)" } }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "entries", predicate: ["entry"], descendants: true, read: ElementRef }], ngImport: i0, template: "\n<section class=\"reference-finder-search--input\">\n <input #searchInput autofocus tabindex=\"1\" (input)=\"searchTerm$.next($event.target.value)\" class=\"search\" type=\"text\" placeholder=\"{{('eo.search.result.term' | translate)}}\"/>\n</section>\n\n<section class=\"reference-finder--content\" *ngIf=\"!searching; else loading\">\n <div class=\"results\">\n <eo-simple-accordion *ngIf=\"clipboardItems.length && !copyOnly\"\n [header]=\"'eo.clipboard.type.copy' | translate\"\n [selected]=\"true\"\n (selectChange)=\"clipboardOpen = $event;\"\n class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"clipboardItems.length && copyOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of clipboardItems\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n <div class=\"padding\"></div>\n\n <eo-simple-accordion *ngIf=\"resultList.length && !searchOnly\" [selected]=\"true\" [header]=\"'eo.search.title' | translate\" class=\"results-accordion\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </eo-simple-accordion>\n\n <section *ngIf=\"resultList.length && searchOnly\">\n <eo-reference-finder-entry *ngFor=\"let list of resultList\" #entry\n [@fadeInOut]\n [list]=\"list\"\n [multiselect]=\"multiselect\"\n (selectReference)=\"selectReference($event)\"\n [marked]=\"list.id === markedItem?.id\"\n >\n </eo-reference-finder-entry>\n </section>\n </div>\n\n <div class=\"cta\">\n <div>\n <button type=\"button\" *ngIf=\"multiselect\" (click)=\"selectAllEntries()\">{{('eo.cta.button.select.all' | translate)}}</button>\n <button type=\"button\" *ngIf=\"multiselect && !searchOnly\" [disabled]=\"isDisabled\" (click)=\"selectCopiedEntries()\">{{('eo.cta.button.select.copy' | translate)}}</button>\n </div>\n <button type=\"button\" class=\"add\" (click)=\"addItems()\" *ngIf=\"!disableAdd\" [@fadeInOut] [class.active]=\"!disableAdd\" [disabled]=\"disableAdd\" [title]=\"'eo.cta.button.add' | translate\">\n {{('eo.cta.button.add' | translate)}}\n </button>\n </div>\n</section>\n\n<ng-template #loading>\n <div class=\"loader-overlay__mask\">\n <eo-loading-spinner class=\"reference__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</ng-template>\n", styles: [":host{display:contents}.reference-finder-search--input{background-color:var(--color-accent);padding:var(--app-pane-padding);display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:\"search\"}.reference-finder--content{display:contents;align-self:center;justify-items:center}.search{grid-area:search;width:100%;border:0;box-sizing:border-box;padding:calc(var(--app-pane-padding) / 2);font-size:var(--font-title);border:1px var(--panel-background-grey) solid;box-shadow:0 2px 2px #0003}.search-result--hint{font-size:var(--font-caption)}.results{overflow:auto;height:100%;margin:calc(var(--app-pane-padding) / 2);overflow-x:hidden}.results-accordion:nth-child(odd){margin-bottom:10px}.cta{display:flex;align-items:center;justify-content:space-between;padding:var(--app-pane-padding);border-top:1px solid rgba(var(--color-black-rgb),.1)}.add{grid-area:add}.add.active{color:var(--color-white);background-color:var(--color-accent)}.padding{padding:5px}:host ::-webkit-scrollbar{width:5px}:host ::ng-deep .ui-accordion-content{padding:1em 0}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .reference__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i4.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "iconObjectType", "itemAmount", "resultListLink", "selected"], outputs: ["selectChange"] }, { kind: "component", type: i5.ReferenceFinderEntryComponent, selector: "eo-reference-finder-entry", inputs: ["list", "multiselect", "marked"], outputs: ["selectReference"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], animations: [fadeInOut] }); }
224
224
  }
225
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ReferenceFinderComponent, decorators: [{
226
226
  type: Component,
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
253
253
  type: HostListener,
254
254
  args: ['keydown', ['$event']]
255
255
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLWZpbmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9yZWZlcmVuY2UtZmluZGVyL3JlZmVyZW5jZS1maW5kZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2UvcmVmZXJlbmNlLWZpbmRlci9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBYSxVQUFVLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsSixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQU1sRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUTVDLE1BQU0sT0FBTyx3QkFBd0I7SUFlbkMsSUFBSSxVQUFVLENBQUMsSUFBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFVRCxJQUNJLGdCQUFnQixDQUFDLFNBQTBCO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksZ0JBQWdCO1FB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T0FBTztzQkFBakQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQUNmLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFxQmYsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFHRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixLQUFLO2dCQUlJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR1AsS0FBSztzQkFESixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NsaXBib2FyZCwgU2VhcmNoUmVzdWx0fSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmFkZUluT3V0fSBmcm9tICcuLi9hbmltYXRpb24vcmVmZXJlbmNlLWZpbmRlci5hbmltYXRpb24nO1xuaW1wb3J0IHtcbiAgUmVmZXJlbmNlSXRlbSxcbiAgUmVmZXJlbmNlU2VhcmNoQ291bnRlclxufSBmcm9tICcuLi9pbnRlcmZhY2UvcmVmZXJlbmNlLWZpbmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtSZWZlcmVuY2VGaW5kZXJTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3JlZmVyZW5jZS1maW5kZXIuc2VydmljZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWZlcmVuY2UtZmluZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS1maW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtmYWRlSW5PdXRdXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZUZpbmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2VudHJ5Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBlbnRyaWVzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gIHNlYXJjaFRlcm0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBzZWFyY2hSZXN1bHRDb3VudDogUmVmZXJlbmNlU2VhcmNoQ291bnRlcjtcbiAgc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICByZXN1bHRMaXN0OiBSZWZlcmVuY2VJdGVtW10gPSBbXTtcbiAgcHJpdmF0ZSBfY3VycmVudFNlbGVjdGlvbjogUmVmZXJlbmNlSXRlbVtdO1xuICBjbGlwYm9hcmRJdGVtczogUmVmZXJlbmNlSXRlbVtdID0gW107XG4gIGNsaXBib2FyZE9wZW4gPSB0cnVlO1xuICBfbWFya2VkSXRlbTogUmVmZXJlbmNlSXRlbTtcbiAgc2VhcmNoaW5nID0gZmFsc2U7XG5cbiAgc2V0IG1hcmtlZEl0ZW0oaXRlbTogUmVmZXJlbmNlSXRlbSkge1xuICAgIHRoaXMuX21hcmtlZEl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuc2Nyb2xsSXRlbUludG9WaWV3KHRoaXMuX21hcmtlZEl0ZW0pO1xuICB9XG5cbiAgZ2V0IG1hcmtlZEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtlZEl0ZW07XG4gIH1cblxuICBASW5wdXQoKSBpc0Rpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSB0eXBlczogc3RyaW5nO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGV4dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4Y2VwdGlvbklEczogc3RyaW5nW107XG5cbiAgQElucHV0KCkgcXVlcnlGaWx0ZXJzOiB7W2ZpZWxkUW5hbWU6IHN0cmluZ106IHtvOiBzdHJpbmcsIHYxOiBhbnksIHYyOiBhbnl9fTtcblxuICBASW5wdXQoKVxuICBzZXQgY3VycmVudFNlbGVjdGlvbihzZWxlY3Rpb246IFJlZmVyZW5jZUl0ZW1bXSkge1xuICAgIHRoaXMuX2N1cnJlbnRTZWxlY3Rpb24gPSBzZWxlY3Rpb247XG4gIH1cbiAgZ2V0IGN1cnJlbnRTZWxlY3Rpb24oKTogUmVmZXJlbmNlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFNlbGVjdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjbGlwYm9hcmQoY2xpcGJvYXJkOiBDbGlwYm9hcmQpIHtcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLmdlbmVyYXRlUmVmZXJlbmNlSXRlbXNGcm9tRG1zT2JqZWN0cyhjbGlwYm9hcmQuZWxlbWVudHMsIHRoaXMuY3VycmVudFNlbGVjdGlvbiwgdGhpcy5pc0Rpc2FibGVkKTtcbiAgfVxuICBAT3V0cHV0KCkgYWRkRG1zT2JqZWN0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXkoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDQwKSB7IC8vIGFycm93IGRvd25cbiAgICAgIGlmICghdGhpcy5tYXJrZWRJdGVtICYmICh0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCB8fCB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSkge1xuICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSAodGhpcy5jbGlwYm9hcmRJdGVtcy5sZW5ndGggJiYgdGhpcy5jbGlwYm9hcmRPcGVuKSA/IHRoaXMuY2xpcGJvYXJkSXRlbXNbMF0gOiB0aGlzLnJlc3VsdExpc3RbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXg7XG4gICAgICAgIGlmICh0aGlzLmNsaXBib2FyZEl0ZW1zICYmIHRoaXMuY2xpcGJvYXJkT3Blbikge1xuICAgICAgICAgIGluZGV4ID0gdGhpcy5jbGlwYm9hcmRJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLm1hcmtlZEl0ZW0uaWQpO1xuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICBpbmRleCA9IDA7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKGluZGV4ID09PSB1bmRlZmluZWQgfHwgaW5kZXggPT09IC0xKSAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgaW5kZXggPSB0aGlzLnJlc3VsdExpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5tYXJrZWRJdGVtLmlkKTtcbiAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAmJiB0aGlzLmNsaXBib2FyZE9wZW4pIHtcbiAgICAgICAgICAgICAgaW5kZXggPSAwO1xuICAgICAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSB0aGlzLmNsaXBib2FyZEl0ZW1zW2luZGV4XVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAmJiAhdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoID09PSAzOCkgeyAvLyBhcnJvdyB1cFxuICAgICAgaWYgKCF0aGlzLm1hcmtlZEl0ZW0gJiYgKHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoIHx8IHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpKSB7XG4gICAgICAgIHRoaXMubWFya2VkSXRlbSA9ICh0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiB0aGlzLmNsaXBib2FyZE9wZW4pID8gdGhpcy5jbGlwYm9hcmRJdGVtc1swXSA6IHRoaXMucmVzdWx0TGlzdFswXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBpbmRleDtcbiAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkSXRlbXMgJiYgdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMubWFya2VkSXRlbS5pZCk7XG4gICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xICYmIHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLnJlc3VsdExpc3QubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gLTEgJiYgIXRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5jbGlwYm9hcmRJdGVtc1tpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgoaW5kZXggPT09IHVuZGVmaW5lZCB8fCBpbmRleCA9PT0gLTEpICYmIHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICBpbmRleCA9IHRoaXMucmVzdWx0TGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLm1hcmtlZEl0ZW0uaWQpO1xuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiB0aGlzLmNsaXBib2FyZE9wZW4pIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSAtMSAmJiAhdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSB0aGlzLnJlc3VsdExpc3RbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpbmRleCA9IHRoaXMucmVzdWx0TGlzdC5sZW5ndGggLSAxO1xuICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoZXZlbnQud2hpY2ggPT09IDEzICYmIGV2ZW50LmN0cmxLZXkpIHsgLy8gY3RybCArIGVudGVyXG4gICAgICBpZiAodGhpcy5tYXJrZWRJdGVtICYmICF0aGlzLm1hcmtlZEl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RSZWZlcmVuY2Uoe2l0ZW06IHRoaXMubWFya2VkSXRlbSwgYWRkOiB0cnVlfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoID09PSAxMykgeyAvLyBlbnRlclxuICAgICAgaWYgKHRoaXMubWFya2VkSXRlbSAmJiAhdGhpcy5tYXJrZWRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0UmVmZXJlbmNlKHtpdGVtOiB0aGlzLm1hcmtlZEl0ZW0sIGFkZDogIXRoaXMubXVsdGlzZWxlY3R9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZmVyZW5jZUZpbmRlclNlcnZpY2U6IFJlZmVyZW5jZUZpbmRlclNlcnZpY2UpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgdGhpcy5zZWFyY2hUZXJtJC5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoc2VhcmNoVGVybSA9PiB7XG4gICAgICB0aGlzLnJlZmVyZW5jZUZpbmRlclNlcnZpY2UuZmluZFJlZmVyZW5jZXMoc2VhcmNoVGVybSwgW3RoaXMudHlwZXNdLCB0aGlzLmNvbnRleHRJZCwgdGhpcy5xdWVyeUZpbHRlcnMpXG4gICAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3QgaGl0cyA9ICh0aGlzLmV4Y2VwdGlvbklEcyAmJiBzZWFyY2hSZXN1bHQuaGl0cykgPyBzZWFyY2hSZXN1bHQuaGl0cy5maWx0ZXIoaGl0ID0+ICF0aGlzLmV4Y2VwdGlvbklEcy5pbmNsdWRlcyhoaXQuaWQpKSA6IHNlYXJjaFJlc3VsdC5oaXRzO1xuICAgICAgICAgIGlmIChoaXRzICYmIGhpdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZE9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0TGlzdCA9IHRoaXMucmVmZXJlbmNlRmluZGVyU2VydmljZS5nZW5lcmF0ZVJlc3VsdHModGhpcy5jbGlwYm9hcmRJdGVtcywgaGl0cywgdGhpcy5jdXJyZW50U2VsZWN0aW9uLCB0aGlzLnR5cGVzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KCcqJyk7XG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZE9wZW4gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdSZWZlcmVuY2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzdWx0TGlzdC5sZW5ndGg7XG4gIH1cblxuICBnZXQgZGlzYWJsZUFkZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBnZXQgY29weU9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmICF0aGlzLnJlc3VsdExpc3QubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IHNlYXJjaE9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0TGlzdC5sZW5ndGggJiYgIXRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgc2VsZWN0QWxsRW50cmllcygpe1xuICAgIFsuLi50aGlzLmNsaXBib2FyZEl0ZW1zLCAuLi50aGlzLnJlc3VsdExpc3RdLmZpbHRlcihpdGVtID0+ICFpdGVtLnNlbGVjdGVkKS5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5zZWxlY3RSZWZlcmVuY2Uoe2l0ZW06IGl0ZW0sIGFkZDogZmFsc2V9KSlcbiAgfVxuXG4gIHNlbGVjdENvcGllZEVudHJpZXMoKSB7XG4gICAgdGhpcy5jbGlwYm9hcmRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zZWxlY3RlZCkuZm9yRWFjaChpdGVtID0+IHRoaXMuc2VsZWN0UmVmZXJlbmNlKHtpdGVtOiBpdGVtLCBhZGQ6IGZhbHNlfSkpO1xuICB9XG5cbiAgc2VsZWN0UmVmZXJlbmNlKHNlbGVjdFJlZmVyZW5jZToge2l0ZW06IFJlZmVyZW5jZUl0ZW07IGFkZDogYm9vbGVhbn0pIHtcbiAgICBjb25zdCB7aXRlbSwgYWRkfSA9IHNlbGVjdFJlZmVyZW5jZTtcbiAgICBpZiAoaXRlbSAmJiAhaXRlbS5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgIWl0ZW0uY2xpcGJvYXJkXG4gICAgICAgICAgPyAodGhpcy5yZXN1bHRMaXN0ID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uTXVsdGlzU2VsZWN0KHRoaXMucmVzdWx0TGlzdCwgaXRlbSkpXG4gICAgICAgICAgOiAodGhpcy5jbGlwYm9hcmRJdGVtcyA9IHRoaXMucmVmZXJlbmNlRmluZGVyU2VydmljZS5zZWxlY3RPbk11bHRpc1NlbGVjdCh0aGlzLmNsaXBib2FyZEl0ZW1zLCBpdGVtKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWl0ZW0uY2xpcGJvYXJkKSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRMaXN0ID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uU2luZ2xlU2VsZWN0KHRoaXMucmVzdWx0TGlzdCwgaXRlbSk7XG4gICAgICAgICAgdGhpcy5jbGlwYm9hcmRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsaXBib2FyZEl0ZW1zID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uU2luZ2xlU2VsZWN0KHRoaXMuY2xpcGJvYXJkSXRlbXMsIGl0ZW0pO1xuICAgICAgICAgIHRoaXMucmVzdWx0TGlzdC5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnJlZmVyZW5jZUZpbmRlclNlcnZpY2UuZ2VuZXJhdGVTZWxldGVjSXRlbXModGhpcy5yZXN1bHRMaXN0LCB0aGlzLmNsaXBib2FyZEl0ZW1zLCB0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICBpZiAoYWRkKSB7XG4gICAgICB0aGlzLmFkZEl0ZW1zKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbXMoKSB7XG4gICAgdGhpcy5hZGREbXNPYmplY3RzLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsSXRlbUludG9WaWV3KGl0ZW0pe1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBsZXQgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgIGluZGV4ID0gdGhpcy5yZXN1bHRMaXN0LmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW0uaWQpICsgdGhpcy5jbGlwYm9hcmRJdGVtcy5sZW5ndGg7XG4gICAgICB9XG4gICAgICB0aGlzLmVudHJpZXMudG9BcnJheSgpW2luZGV4XS5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KGZhbHNlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW50cmllcy50b0FycmF5KCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVudHJpZXMudG9BcnJheSgpWzBdLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBpbml0aWFsbHkgbG9hZCBldmVyeXRoaW5nIGFuZCBmb2N1cyBpbnRvIHRoZSBzZWFyY2ggZmllbGRcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJyonKTtcbiAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIiwiXG48c2VjdGlvbiBjbGFzcz1cInJlZmVyZW5jZS1maW5kZXItc2VhcmNoLS1pbnB1dFwiPlxuICA8aW5wdXQgI3NlYXJjaElucHV0IGF1dG9mb2N1cyB0YWJpbmRleD1cIjFcIiAoaW5wdXQpPVwic2VhcmNoVGVybSQubmV4dCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIGNsYXNzPVwic2VhcmNoXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7KCdlby5zZWFyY2gucmVzdWx0LnRlcm0nIHwgdHJhbnNsYXRlKX19XCIvPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cInJlZmVyZW5jZS1maW5kZXItLWNvbnRlbnRcIiAqbmdJZj1cIiFzZWFyY2hpbmc7IGVsc2UgbG9hZGluZ1wiPlxuICA8ZGl2IGNsYXNzPVwicmVzdWx0c1wiPlxuICAgIDxlby1zaW1wbGUtYWNjb3JkaW9uICpuZ0lmPVwiY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmICFjb3B5T25seVwiXG4gICAgW2hlYWRlcl09XCInZW8uY2xpcGJvYXJkLnR5cGUuY29weScgfCB0cmFuc2xhdGVcIlxuICAgIFtzZWxlY3RlZF09XCJ0cnVlXCJcbiAgICAoc2VsZWN0Q2hhbmdlKT1cImNsaXBib2FyZE9wZW4gPSAkZXZlbnQ7XCJcbiAgICBjbGFzcz1cInJlc3VsdHMtYWNjb3JkaW9uXCI+XG4gICAgICAgIDxlby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5ICpuZ0Zvcj1cImxldCBsaXN0IG9mIGNsaXBib2FyZEl0ZW1zXCIgI2VudHJ5XG4gICAgICAgICAgW0BmYWRlSW5PdXRdXG4gICAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAoc2VsZWN0UmVmZXJlbmNlKT1cInNlbGVjdFJlZmVyZW5jZSgkZXZlbnQpXCJcbiAgICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgICAgPlxuICAgICAgPC9lby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5PlxuICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwiY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmIGNvcHlPbmx5XCI+XG4gICAgICA8ZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeSAqbmdGb3I9XCJsZXQgbGlzdCBvZiBjbGlwYm9hcmRJdGVtc1wiICNlbnRyeVxuICAgICAgICBbQGZhZGVJbk91dF1cbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgIChzZWxlY3RSZWZlcmVuY2UpPVwic2VsZWN0UmVmZXJlbmNlKCRldmVudClcIlxuICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgID5cbiAgICAgIDwvZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeT5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmdcIj48L2Rpdj5cblxuICAgIDxlby1zaW1wbGUtYWNjb3JkaW9uICpuZ0lmPVwicmVzdWx0TGlzdC5sZW5ndGggJiYgIXNlYXJjaE9ubHlcIiBbc2VsZWN0ZWRdPVwidHJ1ZVwiIFtoZWFkZXJdPVwiJ2VvLnNlYXJjaC50aXRsZScgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInJlc3VsdHMtYWNjb3JkaW9uXCI+XG4gICAgICA8ZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeSAqbmdGb3I9XCJsZXQgbGlzdCBvZiByZXN1bHRMaXN0XCIgI2VudHJ5XG4gICAgICAgIFtAZmFkZUluT3V0XVxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgKHNlbGVjdFJlZmVyZW5jZSk9XCJzZWxlY3RSZWZlcmVuY2UoJGV2ZW50KVwiXG4gICAgICAgIFttYXJrZWRdPVwibGlzdC5pZCA9PT0gbWFya2VkSXRlbT8uaWRcIlxuICAgICAgPlxuICAgICAgPC9lby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5PlxuICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwicmVzdWx0TGlzdC5sZW5ndGggJiYgc2VhcmNoT25seVwiPlxuICAgICAgPGVvLXJlZmVyZW5jZS1maW5kZXItZW50cnkgKm5nRm9yPVwibGV0IGxpc3Qgb2YgcmVzdWx0TGlzdFwiICNlbnRyeVxuICAgICAgICBbQGZhZGVJbk91dF1cbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgIChzZWxlY3RSZWZlcmVuY2UpPVwic2VsZWN0UmVmZXJlbmNlKCRldmVudClcIlxuICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgID5cbiAgICAgIDwvZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeT5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjdGFcIj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJtdWx0aXNlbGVjdFwiIChjbGljayk9XCJzZWxlY3RBbGxFbnRyaWVzKClcIj57eygnZW8uY3RhLmJ1dHRvbi5zZWxlY3QuYWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJtdWx0aXNlbGVjdCAmJiAhc2VhcmNoT25seVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgKGNsaWNrKT1cInNlbGVjdENvcGllZEVudHJpZXMoKVwiPnt7KCdlby5jdGEuYnV0dG9uLnNlbGVjdC5jb3B5JyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWRkXCIgKGNsaWNrKT1cImFkZEl0ZW1zKClcIiAqbmdJZj1cIiFkaXNhYmxlQWRkXCIgW0BmYWRlSW5PdXRdICBbY2xhc3MuYWN0aXZlXT1cIiFkaXNhYmxlQWRkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVBZGRcIiBbdGl0bGVdPVwiJ2VvLmN0YS5idXR0b24uYWRkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAge3soJ2VvLmN0YS5idXR0b24uYWRkJyB8IHRyYW5zbGF0ZSl9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIGNsYXNzPVwicmVmZXJlbmNlX19sb2FkZXJcIiBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLWZpbmRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2lkLXJlZmVyZW5jZS9yZWZlcmVuY2UtZmluZGVyL3JlZmVyZW5jZS1maW5kZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9pZC1yZWZlcmVuY2UvcmVmZXJlbmNlLWZpbmRlci9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBYSxVQUFVLEVBQWlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVsSixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQU1sRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBUTVDLE1BQU0sT0FBTyx3QkFBd0I7SUFlbkMsSUFBSSxVQUFVLENBQUMsSUFBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFVRCxJQUNJLGdCQUFnQixDQUFDLFNBQTBCO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUNELElBQUksZ0JBQWdCO1FB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T0FBTztzQkFBakQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQUNmLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFxQmYsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFHRixnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixLQUFLO2dCQUlJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR1AsS0FBSztzQkFESixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NsaXBib2FyZCwgU2VhcmNoUmVzdWx0fSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmFkZUluT3V0fSBmcm9tICcuLi9hbmltYXRpb24vcmVmZXJlbmNlLWZpbmRlci5hbmltYXRpb24nO1xuaW1wb3J0IHtcbiAgUmVmZXJlbmNlSXRlbSxcbiAgUmVmZXJlbmNlU2VhcmNoQ291bnRlclxufSBmcm9tICcuLi9pbnRlcmZhY2UvcmVmZXJlbmNlLWZpbmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHtSZWZlcmVuY2VGaW5kZXJTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlL3JlZmVyZW5jZS1maW5kZXIuc2VydmljZSc7XG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1yZWZlcmVuY2UtZmluZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS1maW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWZlcmVuY2UtZmluZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtmYWRlSW5PdXRdXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZUZpbmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGRyZW4oJ2VudHJ5Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBlbnRyaWVzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gIHNlYXJjaFRlcm0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBzZWFyY2hSZXN1bHRDb3VudDogUmVmZXJlbmNlU2VhcmNoQ291bnRlcjtcbiAgc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICByZXN1bHRMaXN0OiBSZWZlcmVuY2VJdGVtW10gPSBbXTtcbiAgcHJpdmF0ZSBfY3VycmVudFNlbGVjdGlvbjogUmVmZXJlbmNlSXRlbVtdO1xuICBjbGlwYm9hcmRJdGVtczogUmVmZXJlbmNlSXRlbVtdID0gW107XG4gIGNsaXBib2FyZE9wZW4gPSB0cnVlO1xuICBfbWFya2VkSXRlbTogUmVmZXJlbmNlSXRlbTtcbiAgc2VhcmNoaW5nID0gZmFsc2U7XG5cbiAgc2V0IG1hcmtlZEl0ZW0oaXRlbTogUmVmZXJlbmNlSXRlbSkge1xuICAgIHRoaXMuX21hcmtlZEl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuc2Nyb2xsSXRlbUludG9WaWV3KHRoaXMuX21hcmtlZEl0ZW0pO1xuICB9XG5cbiAgZ2V0IG1hcmtlZEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX21hcmtlZEl0ZW07XG4gIH1cblxuICBASW5wdXQoKSBpc0Rpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSB0eXBlczogc3RyaW5nO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGV4dElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV4Y2VwdGlvbklEczogc3RyaW5nW107XG5cbiAgQElucHV0KCkgcXVlcnlGaWx0ZXJzOiB7W2ZpZWxkUW5hbWU6IHN0cmluZ106IHtvOiBzdHJpbmcsIHYxOiBhbnksIHYyOiBhbnl9fTtcblxuICBASW5wdXQoKVxuICBzZXQgY3VycmVudFNlbGVjdGlvbihzZWxlY3Rpb246IFJlZmVyZW5jZUl0ZW1bXSkge1xuICAgIHRoaXMuX2N1cnJlbnRTZWxlY3Rpb24gPSBzZWxlY3Rpb247XG4gIH1cbiAgZ2V0IGN1cnJlbnRTZWxlY3Rpb24oKTogUmVmZXJlbmNlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFNlbGVjdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjbGlwYm9hcmQoY2xpcGJvYXJkOiBDbGlwYm9hcmQpIHtcbiAgICB0aGlzLmNsaXBib2FyZEl0ZW1zID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLmdlbmVyYXRlUmVmZXJlbmNlSXRlbXNGcm9tRG1zT2JqZWN0cyhjbGlwYm9hcmQuZWxlbWVudHMsIHRoaXMuY3VycmVudFNlbGVjdGlvbiwgdGhpcy5pc0Rpc2FibGVkKTtcbiAgfVxuICBAT3V0cHV0KCkgYWRkRG1zT2JqZWN0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXkoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQud2hpY2ggPT09IDQwKSB7IC8vIGFycm93IGRvd25cbiAgICAgIGlmICghdGhpcy5tYXJrZWRJdGVtICYmICh0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCB8fCB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSkge1xuICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSAodGhpcy5jbGlwYm9hcmRJdGVtcy5sZW5ndGggJiYgdGhpcy5jbGlwYm9hcmRPcGVuKSA/IHRoaXMuY2xpcGJvYXJkSXRlbXNbMF0gOiB0aGlzLnJlc3VsdExpc3RbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgaW5kZXg7XG4gICAgICAgIGlmICh0aGlzLmNsaXBib2FyZEl0ZW1zICYmIHRoaXMuY2xpcGJvYXJkT3Blbikge1xuICAgICAgICAgIGluZGV4ID0gdGhpcy5jbGlwYm9hcmRJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLm1hcmtlZEl0ZW0uaWQpO1xuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICBpbmRleCA9IDA7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoKGluZGV4ID09PSB1bmRlZmluZWQgfHwgaW5kZXggPT09IC0xKSAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgaW5kZXggPSB0aGlzLnJlc3VsdExpc3QuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5tYXJrZWRJdGVtLmlkKTtcbiAgICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAmJiB0aGlzLmNsaXBib2FyZE9wZW4pIHtcbiAgICAgICAgICAgICAgaW5kZXggPSAwO1xuICAgICAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSB0aGlzLmNsaXBib2FyZEl0ZW1zW2luZGV4XVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAmJiAhdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluZGV4ID0gMDtcbiAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoID09PSAzOCkgeyAvLyBhcnJvdyB1cFxuICAgICAgaWYgKCF0aGlzLm1hcmtlZEl0ZW0gJiYgKHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoIHx8IHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpKSB7XG4gICAgICAgIHRoaXMubWFya2VkSXRlbSA9ICh0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAmJiB0aGlzLmNsaXBib2FyZE9wZW4pID8gdGhpcy5jbGlwYm9hcmRJdGVtc1swXSA6IHRoaXMucmVzdWx0TGlzdFswXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBpbmRleDtcbiAgICAgICAgaWYgKHRoaXMuY2xpcGJvYXJkSXRlbXMgJiYgdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMubWFya2VkSXRlbS5pZCk7XG4gICAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xICYmIHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLnJlc3VsdExpc3QubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gLTEgJiYgIXRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5jbGlwYm9hcmRJdGVtc1tpbmRleF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICgoaW5kZXggPT09IHVuZGVmaW5lZCB8fCBpbmRleCA9PT0gLTEpICYmIHRoaXMucmVzdWx0TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICBpbmRleCA9IHRoaXMucmVzdWx0TGlzdC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLm1hcmtlZEl0ZW0uaWQpO1xuICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiB0aGlzLmNsaXBib2FyZE9wZW4pIHtcbiAgICAgICAgICAgICAgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMuY2xpcGJvYXJkSXRlbXNbaW5kZXhdXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSAtMSAmJiAhdGhpcy5jbGlwYm9hcmRPcGVuKSB7XG4gICAgICAgICAgICAgIGluZGV4ID0gdGhpcy5yZXN1bHRMaXN0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgIHRoaXMubWFya2VkSXRlbSA9IHRoaXMucmVzdWx0TGlzdFtpbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSB0aGlzLnJlc3VsdExpc3RbaW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpbmRleCA9IHRoaXMucmVzdWx0TGlzdC5sZW5ndGggLSAxO1xuICAgICAgICAgICAgdGhpcy5tYXJrZWRJdGVtID0gdGhpcy5yZXN1bHRMaXN0W2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoZXZlbnQud2hpY2ggPT09IDEzICYmIGV2ZW50LmN0cmxLZXkpIHsgLy8gY3RybCArIGVudGVyXG4gICAgICBpZiAodGhpcy5tYXJrZWRJdGVtICYmICF0aGlzLm1hcmtlZEl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RSZWZlcmVuY2Uoe2l0ZW06IHRoaXMubWFya2VkSXRlbSwgYWRkOiB0cnVlfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoID09PSAxMykgeyAvLyBlbnRlclxuICAgICAgaWYgKHRoaXMubWFya2VkSXRlbSAmJiAhdGhpcy5tYXJrZWRJdGVtLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0UmVmZXJlbmNlKHtpdGVtOiB0aGlzLm1hcmtlZEl0ZW0sIGFkZDogIXRoaXMubXVsdGlzZWxlY3R9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZmVyZW5jZUZpbmRlclNlcnZpY2U6IFJlZmVyZW5jZUZpbmRlclNlcnZpY2UpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IHRydWU7XG4gICAgdGhpcy5zZWFyY2hUZXJtJC5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUoc2VhcmNoVGVybSA9PiB7XG4gICAgICB0aGlzLnJlZmVyZW5jZUZpbmRlclNlcnZpY2UuZmluZFJlZmVyZW5jZXMoc2VhcmNoVGVybSwgW3RoaXMudHlwZXNdLCB0aGlzLmNvbnRleHRJZCwgdGhpcy5xdWVyeUZpbHRlcnMpXG4gICAgICAgIC5zdWJzY3JpYmUoKHNlYXJjaFJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3QgaGl0cyA9ICh0aGlzLmV4Y2VwdGlvbklEcyAmJiBzZWFyY2hSZXN1bHQuaGl0cykgPyBzZWFyY2hSZXN1bHQuaGl0cy5maWx0ZXIoaGl0ID0+ICF0aGlzLmV4Y2VwdGlvbklEcy5pbmNsdWRlcyhoaXQuaWQpKSA6IHNlYXJjaFJlc3VsdC5oaXRzO1xuICAgICAgICAgIGlmIChoaXRzICYmIGhpdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZE9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0TGlzdCA9IHRoaXMucmVmZXJlbmNlRmluZGVyU2VydmljZS5nZW5lcmF0ZVJlc3VsdHModGhpcy5jbGlwYm9hcmRJdGVtcywgaGl0cywgdGhpcy5jdXJyZW50U2VsZWN0aW9uLCB0aGlzLnR5cGVzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtJC5uZXh0KCcqJyk7XG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZE9wZW4gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm1hcmtlZEl0ZW0gPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGxvYWRpbmdSZWZlcmVuY2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucmVzdWx0TGlzdC5sZW5ndGg7XG4gIH1cblxuICBnZXQgZGlzYWJsZUFkZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBnZXQgY29weU9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmICF0aGlzLnJlc3VsdExpc3QubGVuZ3RoO1xuICB9XG5cbiAgZ2V0IHNlYXJjaE9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0TGlzdC5sZW5ndGggJiYgIXRoaXMuY2xpcGJvYXJkSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgc2VsZWN0QWxsRW50cmllcygpe1xuICAgIFsuLi50aGlzLmNsaXBib2FyZEl0ZW1zLCAuLi50aGlzLnJlc3VsdExpc3RdLmZpbHRlcihpdGVtID0+ICFpdGVtLnNlbGVjdGVkKS5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5zZWxlY3RSZWZlcmVuY2Uoe2l0ZW06IGl0ZW0sIGFkZDogZmFsc2V9KSlcbiAgfVxuXG4gIHNlbGVjdENvcGllZEVudHJpZXMoKSB7XG4gICAgdGhpcy5jbGlwYm9hcmRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zZWxlY3RlZCkuZm9yRWFjaChpdGVtID0+IHRoaXMuc2VsZWN0UmVmZXJlbmNlKHtpdGVtOiBpdGVtLCBhZGQ6IGZhbHNlfSkpO1xuICB9XG5cbiAgc2VsZWN0UmVmZXJlbmNlKHNlbGVjdFJlZmVyZW5jZToge2l0ZW06IFJlZmVyZW5jZUl0ZW07IGFkZDogYm9vbGVhbn0pIHtcbiAgICBjb25zdCB7aXRlbSwgYWRkfSA9IHNlbGVjdFJlZmVyZW5jZTtcbiAgICBpZiAoaXRlbSAmJiAhaXRlbS5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgIWl0ZW0uY2xpcGJvYXJkXG4gICAgICAgICAgPyAodGhpcy5yZXN1bHRMaXN0ID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uTXVsdGlzU2VsZWN0KHRoaXMucmVzdWx0TGlzdCwgaXRlbSkpXG4gICAgICAgICAgOiAodGhpcy5jbGlwYm9hcmRJdGVtcyA9IHRoaXMucmVmZXJlbmNlRmluZGVyU2VydmljZS5zZWxlY3RPbk11bHRpc1NlbGVjdCh0aGlzLmNsaXBib2FyZEl0ZW1zLCBpdGVtKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWl0ZW0uY2xpcGJvYXJkKSB7XG4gICAgICAgICAgdGhpcy5yZXN1bHRMaXN0ID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uU2luZ2xlU2VsZWN0KHRoaXMucmVzdWx0TGlzdCwgaXRlbSk7XG4gICAgICAgICAgdGhpcy5jbGlwYm9hcmRJdGVtcy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsaXBib2FyZEl0ZW1zID0gdGhpcy5yZWZlcmVuY2VGaW5kZXJTZXJ2aWNlLnNlbGVjdE9uU2luZ2xlU2VsZWN0KHRoaXMuY2xpcGJvYXJkSXRlbXMsIGl0ZW0pO1xuICAgICAgICAgIHRoaXMucmVzdWx0TGlzdC5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9IGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnJlZmVyZW5jZUZpbmRlclNlcnZpY2UuZ2VuZXJhdGVTZWxldGVjSXRlbXModGhpcy5yZXN1bHRMaXN0LCB0aGlzLmNsaXBib2FyZEl0ZW1zLCB0aGlzLmN1cnJlbnRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICBpZiAoYWRkKSB7XG4gICAgICB0aGlzLmFkZEl0ZW1zKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbXMoKSB7XG4gICAgdGhpcy5hZGREbXNPYmplY3RzLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgc2Nyb2xsSXRlbUludG9WaWV3KGl0ZW0pe1xuICAgIGlmIChpdGVtKSB7XG4gICAgICBsZXQgaW5kZXggPSB0aGlzLmNsaXBib2FyZEl0ZW1zLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSAmJiB0aGlzLnJlc3VsdExpc3QubGVuZ3RoKSB7XG4gICAgICAgIGluZGV4ID0gdGhpcy5yZXN1bHRMaXN0LmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW0uaWQpICsgdGhpcy5jbGlwYm9hcmRJdGVtcy5sZW5ndGg7XG4gICAgICB9XG4gICAgICB0aGlzLmVudHJpZXMudG9BcnJheSgpW2luZGV4XS5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KGZhbHNlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW50cmllcy50b0FycmF5KCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmVudHJpZXMudG9BcnJheSgpWzBdLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBpbml0aWFsbHkgbG9hZCBldmVyeXRoaW5nIGFuZCBmb2N1cyBpbnRvIHRoZSBzZWFyY2ggZmllbGRcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJyonKTtcbiAgICB0aGlzLnNlYXJjaElucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuIiwiXG48c2VjdGlvbiBjbGFzcz1cInJlZmVyZW5jZS1maW5kZXItc2VhcmNoLS1pbnB1dFwiPlxuICA8aW5wdXQgI3NlYXJjaElucHV0IGF1dG9mb2N1cyB0YWJpbmRleD1cIjFcIiAoaW5wdXQpPVwic2VhcmNoVGVybSQubmV4dCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIGNsYXNzPVwic2VhcmNoXCIgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cInt7KCdlby5zZWFyY2gucmVzdWx0LnRlcm0nIHwgdHJhbnNsYXRlKX19XCIvPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiBjbGFzcz1cInJlZmVyZW5jZS1maW5kZXItLWNvbnRlbnRcIiAqbmdJZj1cIiFzZWFyY2hpbmc7IGVsc2UgbG9hZGluZ1wiPlxuICA8ZGl2IGNsYXNzPVwicmVzdWx0c1wiPlxuICAgIDxlby1zaW1wbGUtYWNjb3JkaW9uICpuZ0lmPVwiY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmICFjb3B5T25seVwiXG4gICAgW2hlYWRlcl09XCInZW8uY2xpcGJvYXJkLnR5cGUuY29weScgfCB0cmFuc2xhdGVcIlxuICAgIFtzZWxlY3RlZF09XCJ0cnVlXCJcbiAgICAoc2VsZWN0Q2hhbmdlKT1cImNsaXBib2FyZE9wZW4gPSAkZXZlbnQ7XCJcbiAgICBjbGFzcz1cInJlc3VsdHMtYWNjb3JkaW9uXCI+XG4gICAgICAgIDxlby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5ICpuZ0Zvcj1cImxldCBsaXN0IG9mIGNsaXBib2FyZEl0ZW1zXCIgI2VudHJ5XG4gICAgICAgICAgW0BmYWRlSW5PdXRdXG4gICAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgICAoc2VsZWN0UmVmZXJlbmNlKT1cInNlbGVjdFJlZmVyZW5jZSgkZXZlbnQpXCJcbiAgICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgICAgPlxuICAgICAgPC9lby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5PlxuICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwiY2xpcGJvYXJkSXRlbXMubGVuZ3RoICYmIGNvcHlPbmx5XCI+XG4gICAgICA8ZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeSAqbmdGb3I9XCJsZXQgbGlzdCBvZiBjbGlwYm9hcmRJdGVtc1wiICNlbnRyeVxuICAgICAgICBbQGZhZGVJbk91dF1cbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgIChzZWxlY3RSZWZlcmVuY2UpPVwic2VsZWN0UmVmZXJlbmNlKCRldmVudClcIlxuICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgID5cbiAgICAgIDwvZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeT5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmdcIj48L2Rpdj5cblxuICAgIDxlby1zaW1wbGUtYWNjb3JkaW9uICpuZ0lmPVwicmVzdWx0TGlzdC5sZW5ndGggJiYgIXNlYXJjaE9ubHlcIiBbc2VsZWN0ZWRdPVwidHJ1ZVwiIFtoZWFkZXJdPVwiJ2VvLnNlYXJjaC50aXRsZScgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInJlc3VsdHMtYWNjb3JkaW9uXCI+XG4gICAgICA8ZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeSAqbmdGb3I9XCJsZXQgbGlzdCBvZiByZXN1bHRMaXN0XCIgI2VudHJ5XG4gICAgICAgIFtAZmFkZUluT3V0XVxuICAgICAgICBbbGlzdF09XCJsaXN0XCJcbiAgICAgICAgW211bHRpc2VsZWN0XT1cIm11bHRpc2VsZWN0XCJcbiAgICAgICAgKHNlbGVjdFJlZmVyZW5jZSk9XCJzZWxlY3RSZWZlcmVuY2UoJGV2ZW50KVwiXG4gICAgICAgIFttYXJrZWRdPVwibGlzdC5pZCA9PT0gbWFya2VkSXRlbT8uaWRcIlxuICAgICAgPlxuICAgICAgPC9lby1yZWZlcmVuY2UtZmluZGVyLWVudHJ5PlxuICAgIDwvZW8tc2ltcGxlLWFjY29yZGlvbj5cblxuICAgIDxzZWN0aW9uICpuZ0lmPVwicmVzdWx0TGlzdC5sZW5ndGggJiYgc2VhcmNoT25seVwiPlxuICAgICAgPGVvLXJlZmVyZW5jZS1maW5kZXItZW50cnkgKm5nRm9yPVwibGV0IGxpc3Qgb2YgcmVzdWx0TGlzdFwiICNlbnRyeVxuICAgICAgICBbQGZhZGVJbk91dF1cbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgICAgIFttdWx0aXNlbGVjdF09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgIChzZWxlY3RSZWZlcmVuY2UpPVwic2VsZWN0UmVmZXJlbmNlKCRldmVudClcIlxuICAgICAgICBbbWFya2VkXT1cImxpc3QuaWQgPT09IG1hcmtlZEl0ZW0/LmlkXCJcbiAgICAgID5cbiAgICAgIDwvZW8tcmVmZXJlbmNlLWZpbmRlci1lbnRyeT5cbiAgICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjdGFcIj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJtdWx0aXNlbGVjdFwiIChjbGljayk9XCJzZWxlY3RBbGxFbnRyaWVzKClcIj57eygnZW8uY3RhLmJ1dHRvbi5zZWxlY3QuYWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJtdWx0aXNlbGVjdCAmJiAhc2VhcmNoT25seVwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgKGNsaWNrKT1cInNlbGVjdENvcGllZEVudHJpZXMoKVwiPnt7KCdlby5jdGEuYnV0dG9uLnNlbGVjdC5jb3B5JyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYWRkXCIgKGNsaWNrKT1cImFkZEl0ZW1zKClcIiAqbmdJZj1cIiFkaXNhYmxlQWRkXCIgW0BmYWRlSW5PdXRdICBbY2xhc3MuYWN0aXZlXT1cIiFkaXNhYmxlQWRkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVBZGRcIiBbdGl0bGVdPVwiJ2VvLmN0YS5idXR0b24uYWRkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAge3soJ2VvLmN0YS5idXR0b24uYWRkJyB8IHRyYW5zbGF0ZSl9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGVyLW92ZXJsYXlfX21hc2tcIj5cbiAgICA8ZW8tbG9hZGluZy1zcGlubmVyIGNsYXNzPVwicmVmZXJlbmNlX19sb2FkZXJcIiBbc2l6ZV09XCInbGFyZ2UnXCI+PC9lby1sb2FkaW5nLXNwaW5uZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -128,16 +128,18 @@ export class OrganizationComponent {
128
128
  registerOnTouched(fn) {
129
129
  }
130
130
  propagate() {
131
- if (Array.isArray(this.innerValue) && this.innerValue.length > 0) {
132
- this.value = {
133
- operator: this.searchOption,
134
- value: this.innerValue.map(v => v.name),
135
- actualOperator: this.searchOption === SearchFilter.OPERATOR.USE_NOT ? SearchFilter.OPERATOR.IN : null,
136
- useNot: this.searchOption === SearchFilter.OPERATOR.USE_NOT
137
- };
138
- }
139
- else {
140
- this.value = null;
131
+ if (this.situation === 'SEARCH') {
132
+ if (Array.isArray(this.innerValue) && this.innerValue.length > 0) {
133
+ this.value = {
134
+ operator: this.searchOption,
135
+ value: this.innerValue.map(v => v.name),
136
+ actualOperator: this.searchOption === SearchFilter.OPERATOR.USE_NOT ? SearchFilter.OPERATOR.IN : null,
137
+ useNot: this.searchOption === SearchFilter.OPERATOR.USE_NOT
138
+ };
139
+ }
140
+ else {
141
+ this.value = null;
142
+ }
141
143
  }
142
144
  this.propagateChange(this.value);
143
145
  this.onDataMetaChanged.emit(this.innerValue);
@@ -286,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
286
288
  }], isTableElement: [{
287
289
  type: Input
288
290
  }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvb3JnYW5pemF0aW9uL29yZ2FuaXphdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL29yZ2FuaXphdGlvbi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGFBQWEsRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBaUIsVUFBVSxFQUFFLFlBQVksRUFBZ0QsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTNILE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQTJCdEYsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEMsSUFBYSxpQkFBaUIsQ0FBQyxDQUFVO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFBO0lBQ2hDLENBQUM7SUFJRCxJQUFhLFFBQVEsQ0FBQyxDQUFV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VyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7dU1BSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQVVNLFNBQVM7c0JBQXZDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUc3QixlQUFlO3NCQURkLE1BQU07Z0JBSVAsaUJBQWlCO3NCQURoQixNQUFNO2dCQXlCTSxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFNTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZSwgUmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge2ZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiwgb2YgYXMgb2JzZXJ2YWJsZU9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBcHBTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uRmlsdGVyIHtcbiAgdHlwZT86IHN0cmluZzsgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoZSBvcmdhbml6YXRpb24gdW5pdCAoJ1VTRVInIG9yICdHUk9VUCcpIHRvIGJlIGRpc3BsYXllZFxuICBncm91cHM/OiBzdHJpbmdbXTsgICAgLy8gYW4gYXJyYXkgb2YgZ3JvdXAgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgcm9sZXM/OiBzdHJpbmdbXTsgICAgIC8vIGFuIGFycmF5IG9mIHJvbGUgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgYWN0aXZlb25seT86IGJvb2xlYW47IC8vIHdoZXRoZXIgb3Igbm90IHRvIGZldGNoIG9ubHkgYWN0aXZlIG9yZ2FuaXphdGlvbiBvYmplY3RzXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9yZ2FuaXphdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbml6YXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pemF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudENoZWNrZWQsIFZhbGlkYXRvciB7XG5cbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcblxuICBpY29uID0ge1xuICAgIHVzZXI6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ4MC00ODBxLTYwIDAtMTAyLTQydC00Mi0xMDJxMC02MCA0Mi0xMDJ0MTAyLTQycTYwIDAgMTAyIDQydDQyIDEwMnEwIDYwLTQyIDEwMnQtMTAyIDQyWk0xOTItMTkydi05NnEwLTIzIDEyLjUtNDMuNVQyMzktMzY2cTU1LTMyIDExNi41LTQ5VDQ4MC00MzJxNjMgMCAxMjQuNSAxN1Q3MjEtMzY2cTIyIDEzIDM0LjUgMzR0MTIuNSA0NHY5NkgxOTJaXCIvPjwvc3ZnPicsXG4gICAgZ3JvdXA6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTk2LTE5MnYtOTJxMC0yNiAxMi41LTQ3LjVUMTQzLTM2NnE1NC0zMiAxMTQuNS00OVQzODQtNDMycTY2IDAgMTI2LjUgMTdUNjI1LTM2NnEyMiAxMyAzNC41IDM0LjVUNjcyLTI4NHY5Mkg5NlptNjQ4IDB2LTkycTAtNDItMTkuNS03OFQ2NzItNDIxcTM5IDggNzUuNSAyMS41VDgxNy0zNjZxMjIgMTMgMzQuNSAzNC41VDg2NC0yODR2OTJINzQ0Wk0zODQtNDgwcS02MCAwLTEwMi00MnQtNDItMTAycTAtNjAgNDItMTAydDEwMi00MnE2MCAwIDEwMiA0MnQ0MiAxMDJxMCA2MC00MiAxMDJ0LTEwMiA0MlptMzM2LTE0NHEwIDYwLTQyIDEwMnQtMTAyIDQycS04IDAtMTUtLjV0LTE1LTIuNXEyNS0yOSAzOS41LTY0LjVUNjAwLTYyNHEwLTQxLTE0LjUtNzYuNVQ1NDYtNzY1cTgtMiAxNS0yLjV0MTUtLjVxNjAgMCAxMDIgNDJ0NDIgMTAyWlwiLz48L3N2Zz4nXG4gIH1cblxuICByZW1vdGVVcmwgPSAnL29yZ2FuaXphdGlvbi9xdWVyeT9xPSc7XG4gIG1pbkxlbmd0aCA9IDI7XG4gIHdpbGRDYXJkID0gJyonO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgX3JlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBvblZhbHVlUmVzb2x2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIGVtaXR0ZWQgd2hlbiB2YWx1ZSBjaGFuZ2VkIGhvbGRpbmcgdGhlIHJlc29sdmVkIGRhdGFfbWV0YVxuICBAT3V0cHV0KClcbiAgb25EYXRhTWV0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgLy8gbW9kZWwgdmFsdWVcbiAgdmFsdWU7XG4gIGN1cnJlbnRVc2VySWQ6IHN0cmluZztcbiAgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgaW5uZXJWYWx1ZTogYW55W10gPSBbXTtcbiAgZXJyb3I6IGFueSA9IHt9O1xuICBkZWxldGVkSXRlbUlEOiBzdHJpbmc7XG4gIGlzU2VhcmNoID0gZmFsc2U7XG5cbiAgY3VycmVudFVzZXIgPSB7XG4gICAgbmFtZTogJyNjdXJyZW50dXNlciMnLFxuICAgIHR5cGU6ICd1c2VyJyxcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24uY3VycmVudC51c2VyJyksXG4gICAgZmlyc3RuYW1lOiBcIkN1cnJlbnRVc2VyXCIsXG4gICAgbGFzdG5hbWU6IFwiQ3VycmVudFVzZXJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgaGFzaW1hZ2U6IGZhbHNlLFxuICAgIHByZXNlbnQ6IHRydWVcbiAgfTtcblxuICBwcml2YXRlIF9yZW1vdmVDdXJyZW50VXNlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgcmVtb3ZlQ3VycmVudFVzZXIoYjogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyID0gYjtcbiAgICB0aGlzLmN1cnJlbnRVc2VySWQgPSBiID8gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy5pZCA6IHVuZGVmaW5lZDtcbiAgfVxuICBnZXQgcmVtb3ZlQ3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyXG4gIH1cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHI6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IHI7XG4gIH1cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGF0YU1ldGEoZE06IGFueSkge1xuICAgIGlmIChkTSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gQXJyYXkuaXNBcnJheShkTSkgPyBkTSA6IFtkTV07XG4gICAgfVxuICB9XG4gIGF1dG9jb21wbGV0ZVRpbWVvdXQ6IGFueVxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvLyBsaXN0IG9mIHZhbHVlcyB0aGF0IHNob3VsZCBub3QgYmUgc2VsZWN0YWJsZVxuICBASW5wdXQoKSBleGNlcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBmaWx0ZXJPYmplY3Q6IE9yZ2FuaXphdGlvbkZpbHRlcjtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGlzVGFibGVFbGVtZW50OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZWFyY2hTZXJ2aWNlOiBBcHBTZWFyY2hTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gb3B0aW9ucyBmb3Igc2VhcmNoIHNpdHVhdGlvblxuICBwdWJsaWMgYXZhaWxhYmxlU2VhcmNoT3B0aW9ucyA9IFtcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuRVFVQUwpLCB2YWx1ZTogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOfSxcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVCksIHZhbHVlOiBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVCwgYWN0dWFsT3BlcmF0b3I6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTn0sXG4gIF07XG5cbiAgcHVibGljIHNlYXJjaE9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcblxuICBwcml2YXRlIGJ1aWxkQXV0b2NvbXBsZXRlVXJpKHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIHE6IHF1ZXJ5LFxuICAgICAgYWN0aXZlb25seTogKHRoaXMuc2l0dWF0aW9uICE9PSAnU0VBUkNIJykgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgZGV0YWlsczogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QpIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC50eXBlKSB7XG4gICAgICAgIHBhcmFtc1snc2NvcGUnXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnR5cGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QuZ3JvdXBzKSB7XG4gICAgICAgIHBhcmFtc1snZ3JvdXBmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0Lmdyb3VwcztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC5yb2xlcykge1xuICAgICAgICBwYXJhbXNbJ3JvbGVmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnJvbGVzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0Lmhhc093blByb3BlcnR5KCdhY3RpdmVvbmx5JykpIHtcbiAgICAgICAgcGFyYW1zWydhY3RpdmVvbmx5J10gPSB0aGlzLmZpbHRlck9iamVjdC5hY3RpdmVvbmx5ID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFV0aWxzLmJ1aWxkVXJpKCcvb3JnYW5pemF0aW9uL3F1ZXJ5JywgcGFyYW1zKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgY29uc3Qgc2VhcmNoRmlsdGVycyA9IHRoaXMuYXBwU2VhcmNoU2VydmljZS5nZXRJbmRleFNlYXJjaFF1ZXJ5RmlsdGVycygpO1xuICAgICAgLy8gRmluZCB0aGUgZmlsdGVyIG1hdGNoaW5nIHRoZSBmb3JtQ29udHJvbE5hbWVcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZUZpbHRlciA9IHNlYXJjaEZpbHRlcnMuZmluZChcbiAgICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLnByb3BlcnR5LmVuZHNXaXRoKGAuJHt0aGlzLmZvcm1Db250cm9sTmFtZX1gKSB8fCBmaWx0ZXIucHJvcGVydHkgPT09IHRoaXMuZm9ybUNvbnRyb2xOYW1lXG4gICAgICApO1xuICAgICAgLy8gSWYgYSBtYXRjaGluZyBmaWx0ZXIgaXMgZm91bmQsIHByb2NlZWQgd2l0aCB1cGRhdGluZyB0aGUgb3BlcmF0b3IgbG9naWNcbiAgICAgIGlmIChjdXJyZW50VmFsdWVGaWx0ZXIpIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBjdXJyZW50VmFsdWVGaWx0ZXIudXNlTm90XG4gICAgICAgICAgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVFxuICAgICAgICAgIDogY3VycmVudFZhbHVlRmlsdGVyLm9wZXJhdG9yO1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBvcGVyYXRvcik7XG4gICAgICAgIHRoaXMuc2VhcmNoT3B0aW9uID0gbWF0Y2ggPyBtYXRjaC52YWx1ZSA6IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcbiAgICAgIH1cblxuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU/LnZhbHVlIHx8IHZhbHVlIHx8IG51bGw7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMucmVzb2x2ZUZuKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gW107XG4gICAgfVxuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaW5uZXJWYWx1ZSkgJiYgdGhpcy5pbm5lclZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIG9wZXJhdG9yOiB0aGlzLnNlYXJjaE9wdGlvbixcbiAgICAgICAgdmFsdWU6IHRoaXMuaW5uZXJWYWx1ZS5tYXAodiA9PiB2Lm5hbWUpLFxuICAgICAgICBhY3R1YWxPcGVyYXRvcjogdGhpcy5zZWFyY2hPcHRpb24gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UID8gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOIDogbnVsbCxcbiAgICAgICAgdXNlTm90OiB0aGlzLnNlYXJjaE9wdGlvbiA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1RcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLm9uRGF0YU1ldGFDaGFuZ2VkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZUZuKHRlcm06IHN0cmluZykge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmF1dG9jb21wbGV0ZVRpbWVvdXQpO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRlcm0ubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoIHx8IHRlcm0gPT09IHRoaXMud2lsZENhcmQpIHtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QgfHwgKCF0aGlzLm11bHRpc2VsZWN0ICYmIHRoaXMuaW5uZXJWYWx1ZS5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgdGhpcy5iYWNrZW5kLmdldEpzb24odGhpcy5idWlsZEF1dG9jb21wbGV0ZVVyaSh0ZXJtKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAvLyBhdXRvY29tcGxldGUgdmFsdWVzIHNob3VsZCBiZSB1bmlxdWUgYW5kIG5vdCBwYXJ0IG9mIHRoZSBleGNlcHRpb25zXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZT8udmFsdWUgfHwgdGhpcy52YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSByZXMuZmlsdGVyKHYgPT4gKCF2YWx1ZSB8fCB2YWx1ZT8uaW5kZXhPZih2Lm5hbWUpID09PSAtMSkgJiYgdGhpcy5leGNlcHRpb25zLmluZGV4T2Yodi5uYW1lKSA9PT0gLTEgJiYgKCF0aGlzLnJlbW92ZUN1cnJlbnRVc2VyIHx8IHRoaXMuY3VycmVudFVzZXJJZCAhPT0gdi5pZCkpXG4gICAgICAgICAgICAgICAgLnNvcnQoVXRpbHMuc29ydFZhbHVlcygndGl0bGUnKSkuc2xpY2UoMCwgMTApO1xuICAgICAgICAgICAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVSZXMudW5zaGlmdCh0aGlzLmN1cnJlbnRVc2VyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgVXRpbHMudGhyb3cobnVsbCxcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5mb3JtLnByb3BlcnR5Lm9yZ2FuaXphdGlvbi5yZXF1ZXN0LmVycm9yLnRpdGxlJyksXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24ucmVxdWVzdC5lcnJvci5tc2cnKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gW107XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICByZXNvbHZlRm4odmFsdWU6IGFueSk6IFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3QgaXNDdXJyZW50VXNlciA9IEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDA/IHZhbHVlWzBdID09PSB0aGlzLmN1cnJlbnRVc2VyLm5hbWU6IHZhbHVlID09PSB0aGlzLmN1cnJlbnRVc2VyLm5hbWU7XG4gICAgaWYgKGlzQ3VycmVudFVzZXIpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFt0aGlzLmN1cnJlbnRVc2VyXTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICAgIGNvbnN0IG9ic2VydmFibGVzID0gdmFsdWVzQXJyYXkubWFwKHYgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuaW5uZXJWYWx1ZS5maW5kKGl2ID0+IGl2Lm5hbWUgPT09IHYpO1xuICAgICAgICByZXR1cm4gbWF0Y2ggPyBvYnNlcnZhYmxlT2YobWF0Y2gpIDogdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9yZ2FuaXphdGlvbk9iamVjdCh2KTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGVGb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IGRhdGE7XG4gICAgICAgICAgdGhpcy5vblZhbHVlUmVzb2x2ZWQuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5vblZhbHVlUmVzb2x2ZWQuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICB9XG5cblxuICAvLyBoYW5kbGUgc2VsZWN0aW9uIGNoYW5nZXMgdG8gdGhlIG1vZGVsXG4gIG9uVW5zZWxlY3QodmFsdWUpIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB0aGlzLmlubmVyVmFsdWUuZmlsdGVyKHYgPT4gdi5uYW1lICE9PSB2YWx1ZS5uYW1lKTtcbiAgICBsZXQgX3ZhbHVlID0gdGhpcy5pbm5lclZhbHVlLm1hcCh2ID0+IHYubmFtZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubXVsdGlzZWxlY3QgPyBfdmFsdWUgOiBudWxsO1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgICB9XG4gICAgdGhpcy5hdXRvQ29tcGxldGVJbnB1dC5mb2N1c0lucHV0KCk7XG4gICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgfVxuXG4gIC8vIGhhbmRsZSBzZWxlY3Rpb24gY2hhbmdlcyB0byB0aGUgbW9kZWxcbiAgb25TZWxlY3QodmFsdWUpIHtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5tYXAodiA9PiB2Lm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbnRlcm5hbCBhdXRvY29tcGxldGUgY29udHJvbCBpcyBhbHdheXMgc2V0IHRvIG11bHRpc2VsZWN0XG4gICAgICAvLyBzbyB0aGUgcmVzb2x2ZWQgdmFsdWUgaXMgYWx3YXlzIGFuIGFycmF5XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbm5lclZhbHVlWzBdLm5hbWU7XG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBvbkF1dG9Db21wbGV0ZUJsdXIoKSB7XG4gICAgdGhpcy5jbGVhcklubmVySW5wdXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJJbm5lcklucHV0KCkge1xuICAgIHRoaXMuYXV0b0NvbXBsZXRlSW5wdXQuY2xlYXJJbnB1dCgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIHRoaXMubXVsdGlzZWxlY3QgPSB0cnVlO1xuICAgICAgdGhpcy5pc1NlYXJjaCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tb3JnYW5pemF0aW9uXCIgW25nQ2xhc3NdPVwie2FjSW5wdXRIaWRkZW46ICFtdWx0aXNlbGVjdCAmJiBpbm5lclZhbHVlPy5sZW5ndGh9XCI+XG5cbiAgQGlmIChpc1NlYXJjaCAmJiAhaXNUYWJsZUVsZW1lbnQpIHtcbiAgICA8eXZjLWRyb3Bkb3duIFsobmdNb2RlbCldPVwic2VhcmNoT3B0aW9uXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgW29wdGlvbnNdPVwiYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbZGlzYWJsZUNsZWFyQnV0dG9uXT1cInRydWVcIj48L3l2Yy1kcm9wZG93bj5cbiAgfVxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlIFsobmdNb2RlbCldPVwiaW5uZXJWYWx1ZVwiICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvblVuc2VsZWN0KCRldmVudClcIiAoYmx1cik9XCJvbkF1dG9Db21wbGV0ZUJsdXIoKVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW2F1dG9jb21wbGV0ZVZhbHVlc109XCJhdXRvY29tcGxldGVSZXNcIiBmaWVsZD1cImlkXCJcbiAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiXG4gICAgKGF1dG9jb21wbGV0ZUZuYyk9XCJhdXRvY29tcGxldGVGbigkZXZlbnQpXCIgW211bHRpcGxlXT1cInRydWVcIj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjYXV0b2NvbXBsZXRlT3B0aW9uVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8ZGl2IGNsYXNzPVwib3JnLWl0ZW1cIj5cbiAgICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaXRlbS50eXBlID09PSAnZ3JvdXAnID8gIGljb24uZ3JvdXAgOiBpY29uLnVzZXJcIj48L3l2Yy1pY29uPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIihpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCkgfHwgaXRlbS50eXBlID09PSAnZ3JvdXAnXCI+e3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLnR5cGUgIT09ICdncm91cCdcIj4oe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgaXRlbS5sYXN0bmFtZT8ubGVuZ3RoXCI+e3tpdGVtLmxhc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5maXJzdG5hbWV9fSAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjaGlwVGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICA8ZGl2IGNsYXNzPVwib3JnLWl0ZW1cIj5cbiAgICAgICAgPHl2Yy1pY29uIFtzdmddPVwiaXRlbS50eXBlID09PSAnZ3JvdXAnID8gIGljb24uZ3JvdXAgOiBpY29uLnVzZXJcIj48L3l2Yy1pY29uPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiKGl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgaXRlbS5sYXN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0uYWN0aXZlKSB8fCBpdGVtLnR5cGUgPT09ICdncm91cCdcIj57e2l0ZW0udGl0bGV9fVxuICAgICAgICAgICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmFjdGl2ZVwiXG4gICAgICAgICAgKm5nSWY9XCIoaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0uYWN0aXZlKVwiPnt7aXRlbS50aXRsZX19XG4gICAgICAgICAgKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIighaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5sYXN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmFjdGl2ZSAmJiAhaXRlbS50eXBlKVwiXG4gICAgICAgICAgY2xhc3M9XCJkZWxldGVkLXVzZXItbGFiZWxcIj57eydlby5mb3JtLnByb3BlcnR5Lm9yZ2FuaXphdGlvbi5lcnJvci51c2Vybm90Zm91bmQnfHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiIWl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmFjdGl2ZSAmJiBpdGVtLnR5cGUgIT09ICdncm91cCdcIj4oe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgaXRlbS5sYXN0bmFtZT8ubGVuZ3RoXCI+e3tpdGVtLmxhc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5maXJzdG5hbWV9fSAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2Zvcm0tZWxlbWVudHMvb3JnYW5pemF0aW9uL29yZ2FuaXphdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL29yZ2FuaXphdGlvbi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGFBQWEsRUFBRSxpQkFBaUIsRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBaUIsVUFBVSxFQUFFLFlBQVksRUFBZ0QsS0FBSyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTNILE9BQU8sRUFBQyxRQUFRLElBQUksa0JBQWtCLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBZSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQTJCdEYsTUFBTSxPQUFPLHFCQUFxQjtJQTBDaEMsSUFBYSxpQkFBaUIsQ0FBQyxDQUFVO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFBO0lBQ2hDLENBQUM7SUFJRCxJQUFhLFFBQVEsQ0FBQyxDQUFV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UzsrQkFDRSxpQkFBaUIsYUFHaEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7dU1BSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQVVNLFNBQVM7c0JBQXZDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUc3QixlQUFlO3NCQURkLE1BQU07Z0JBSVAsaUJBQWlCO3NCQURoQixNQUFNO2dCQXlCTSxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ08sUUFBUTtzQkFBcEIsS0FBSztnQkFNTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZSwgUmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBTeXN0ZW1TZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLCBVc2VyU2VydmljZSwgVXRpbHN9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge2ZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiwgb2YgYXMgb2JzZXJ2YWJsZU9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBcHBTZWFyY2hTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemF0aW9uRmlsdGVyIHtcbiAgdHlwZT86IHN0cmluZzsgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoZSBvcmdhbml6YXRpb24gdW5pdCAoJ1VTRVInIG9yICdHUk9VUCcpIHRvIGJlIGRpc3BsYXllZFxuICBncm91cHM/OiBzdHJpbmdbXTsgICAgLy8gYW4gYXJyYXkgb2YgZ3JvdXAgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgcm9sZXM/OiBzdHJpbmdbXTsgICAgIC8vIGFuIGFycmF5IG9mIHJvbGUgbmFtZXMgdG8gZmlsdGVyIGF1dG9jb21wbGV0ZSByZXN1bHRzIHdpdGhcbiAgYWN0aXZlb25seT86IGJvb2xlYW47IC8vIHdoZXRoZXIgb3Igbm90IHRvIGZldGNoIG9ubHkgYWN0aXZlIG9yZ2FuaXphdGlvbiBvYmplY3RzXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW9yZ2FuaXphdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9vcmdhbml6YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbml6YXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcmdhbml6YXRpb25Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pemF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudENoZWNrZWQsIFZhbGlkYXRvciB7XG5cbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcblxuICBpY29uID0ge1xuICAgIHVzZXI6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ4MC00ODBxLTYwIDAtMTAyLTQydC00Mi0xMDJxMC02MCA0Mi0xMDJ0MTAyLTQycTYwIDAgMTAyIDQydDQyIDEwMnEwIDYwLTQyIDEwMnQtMTAyIDQyWk0xOTItMTkydi05NnEwLTIzIDEyLjUtNDMuNVQyMzktMzY2cTU1LTMyIDExNi41LTQ5VDQ4MC00MzJxNjMgMCAxMjQuNSAxN1Q3MjEtMzY2cTIyIDEzIDM0LjUgMzR0MTIuNSA0NHY5NkgxOTJaXCIvPjwvc3ZnPicsXG4gICAgZ3JvdXA6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTk2LTE5MnYtOTJxMC0yNiAxMi41LTQ3LjVUMTQzLTM2NnE1NC0zMiAxMTQuNS00OVQzODQtNDMycTY2IDAgMTI2LjUgMTdUNjI1LTM2NnEyMiAxMyAzNC41IDM0LjVUNjcyLTI4NHY5Mkg5NlptNjQ4IDB2LTkycTAtNDItMTkuNS03OFQ2NzItNDIxcTM5IDggNzUuNSAyMS41VDgxNy0zNjZxMjIgMTMgMzQuNSAzNC41VDg2NC0yODR2OTJINzQ0Wk0zODQtNDgwcS02MCAwLTEwMi00MnQtNDItMTAycTAtNjAgNDItMTAydDEwMi00MnE2MCAwIDEwMiA0MnQ0MiAxMDJxMCA2MC00MiAxMDJ0LTEwMiA0MlptMzM2LTE0NHEwIDYwLTQyIDEwMnQtMTAyIDQycS04IDAtMTUtLjV0LTE1LTIuNXEyNS0yOSAzOS41LTY0LjVUNjAwLTYyNHEwLTQxLTE0LjUtNzYuNVQ1NDYtNzY1cTgtMiAxNS0yLjV0MTUtLjVxNjAgMCAxMDIgNDJ0NDIgMTAyWlwiLz48L3N2Zz4nXG4gIH1cblxuICByZW1vdGVVcmwgPSAnL29yZ2FuaXphdGlvbi9xdWVyeT9xPSc7XG4gIG1pbkxlbmd0aCA9IDI7XG4gIHdpbGRDYXJkID0gJyonO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgX3JlYWRvbmx5OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBvblZhbHVlUmVzb2x2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8vIGVtaXR0ZWQgd2hlbiB2YWx1ZSBjaGFuZ2VkIGhvbGRpbmcgdGhlIHJlc29sdmVkIGRhdGFfbWV0YVxuICBAT3V0cHV0KClcbiAgb25EYXRhTWV0YUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgYXV0b2NvbXBsZXRlUmVzOiBhbnlbXTtcbiAgLy8gbW9kZWwgdmFsdWVcbiAgdmFsdWU7XG4gIGN1cnJlbnRVc2VySWQ6IHN0cmluZztcbiAgLy8gaW5uZXIgbmctbW9kZWwgdmFsdWVcbiAgaW5uZXJWYWx1ZTogYW55W10gPSBbXTtcbiAgZXJyb3I6IGFueSA9IHt9O1xuICBkZWxldGVkSXRlbUlEOiBzdHJpbmc7XG4gIGlzU2VhcmNoID0gZmFsc2U7XG5cbiAgY3VycmVudFVzZXIgPSB7XG4gICAgbmFtZTogJyNjdXJyZW50dXNlciMnLFxuICAgIHR5cGU6ICd1c2VyJyxcbiAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24uY3VycmVudC51c2VyJyksXG4gICAgZmlyc3RuYW1lOiBcIkN1cnJlbnRVc2VyXCIsXG4gICAgbGFzdG5hbWU6IFwiQ3VycmVudFVzZXJcIixcbiAgICBhY3RpdmU6IHRydWUsXG4gICAgaGFzaW1hZ2U6IGZhbHNlLFxuICAgIHByZXNlbnQ6IHRydWVcbiAgfTtcblxuICBwcml2YXRlIF9yZW1vdmVDdXJyZW50VXNlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZXQgcmVtb3ZlQ3VycmVudFVzZXIoYjogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyID0gYjtcbiAgICB0aGlzLmN1cnJlbnRVc2VySWQgPSBiID8gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy5pZCA6IHVuZGVmaW5lZDtcbiAgfVxuICBnZXQgcmVtb3ZlQ3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbW92ZUN1cnJlbnRVc2VyXG4gIH1cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHI6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IHI7XG4gIH1cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZGF0YU1ldGEoZE06IGFueSkge1xuICAgIGlmIChkTSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gQXJyYXkuaXNBcnJheShkTSkgPyBkTSA6IFtkTV07XG4gICAgfVxuICB9XG4gIGF1dG9jb21wbGV0ZVRpbWVvdXQ6IGFueVxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvLyBsaXN0IG9mIHZhbHVlcyB0aGF0IHNob3VsZCBub3QgYmUgc2VsZWN0YWJsZVxuICBASW5wdXQoKSBleGNlcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSBmaWx0ZXJPYmplY3Q6IE9yZ2FuaXphdGlvbkZpbHRlcjtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2w7XG4gIEBJbnB1dCgpIGlzVGFibGVFbGVtZW50OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTZWFyY2hTZXJ2aWNlOiBBcHBTZWFyY2hTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gb3B0aW9ucyBmb3Igc2VhcmNoIHNpdHVhdGlvblxuICBwdWJsaWMgYXZhaWxhYmxlU2VhcmNoT3B0aW9ucyA9IFtcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuRVFVQUwpLCB2YWx1ZTogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLklOfSxcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVCksIHZhbHVlOiBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVCwgYWN0dWFsT3BlcmF0b3I6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTn0sXG4gIF07XG5cbiAgcHVibGljIHNlYXJjaE9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcblxuICBwcml2YXRlIGJ1aWxkQXV0b2NvbXBsZXRlVXJpKHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIHE6IHF1ZXJ5LFxuICAgICAgYWN0aXZlb25seTogKHRoaXMuc2l0dWF0aW9uICE9PSAnU0VBUkNIJykgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgZGV0YWlsczogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QpIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC50eXBlKSB7XG4gICAgICAgIHBhcmFtc1snc2NvcGUnXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnR5cGU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5maWx0ZXJPYmplY3QuZ3JvdXBzKSB7XG4gICAgICAgIHBhcmFtc1snZ3JvdXBmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0Lmdyb3VwcztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZpbHRlck9iamVjdC5yb2xlcykge1xuICAgICAgICBwYXJhbXNbJ3JvbGVmaWx0ZXInXSA9IHRoaXMuZmlsdGVyT2JqZWN0LnJvbGVzO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZmlsdGVyT2JqZWN0Lmhhc093blByb3BlcnR5KCdhY3RpdmVvbmx5JykpIHtcbiAgICAgICAgcGFyYW1zWydhY3RpdmVvbmx5J10gPSB0aGlzLmZpbHRlck9iamVjdC5hY3RpdmVvbmx5ID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFV0aWxzLmJ1aWxkVXJpKCcvb3JnYW5pemF0aW9uL3F1ZXJ5JywgcGFyYW1zKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgY29uc3Qgc2VhcmNoRmlsdGVycyA9IHRoaXMuYXBwU2VhcmNoU2VydmljZS5nZXRJbmRleFNlYXJjaFF1ZXJ5RmlsdGVycygpO1xuICAgICAgLy8gRmluZCB0aGUgZmlsdGVyIG1hdGNoaW5nIHRoZSBmb3JtQ29udHJvbE5hbWVcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZUZpbHRlciA9IHNlYXJjaEZpbHRlcnMuZmluZChcbiAgICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLnByb3BlcnR5LmVuZHNXaXRoKGAuJHt0aGlzLmZvcm1Db250cm9sTmFtZX1gKSB8fCBmaWx0ZXIucHJvcGVydHkgPT09IHRoaXMuZm9ybUNvbnRyb2xOYW1lXG4gICAgICApO1xuICAgICAgLy8gSWYgYSBtYXRjaGluZyBmaWx0ZXIgaXMgZm91bmQsIHByb2NlZWQgd2l0aCB1cGRhdGluZyB0aGUgb3BlcmF0b3IgbG9naWNcbiAgICAgIGlmIChjdXJyZW50VmFsdWVGaWx0ZXIpIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBjdXJyZW50VmFsdWVGaWx0ZXIudXNlTm90XG4gICAgICAgICAgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuVVNFX05PVFxuICAgICAgICAgIDogY3VycmVudFZhbHVlRmlsdGVyLm9wZXJhdG9yO1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBvcGVyYXRvcik7XG4gICAgICAgIHRoaXMuc2VhcmNoT3B0aW9uID0gbWF0Y2ggPyBtYXRjaC52YWx1ZSA6IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcbiAgICAgIH1cblxuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU/LnZhbHVlIHx8IHZhbHVlIHx8IG51bGw7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMucmVzb2x2ZUZuKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gW107XG4gICAgfVxuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gJ1NFQVJDSCcpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaW5uZXJWYWx1ZSkgJiYgdGhpcy5pbm5lclZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBvcGVyYXRvcjogdGhpcy5zZWFyY2hPcHRpb24sXG4gICAgICAgICAgdmFsdWU6IHRoaXMuaW5uZXJWYWx1ZS5tYXAodiA9PiB2Lm5hbWUpLFxuICAgICAgICAgIGFjdHVhbE9wZXJhdG9yOiB0aGlzLnNlYXJjaE9wdGlvbiA9PT0gU2VhcmNoRmlsdGVyLk9QRVJBVE9SLlVTRV9OT1QgPyBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU4gOiBudWxsLFxuICAgICAgICAgIHVzZU5vdDogdGhpcy5zZWFyY2hPcHRpb24gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5VU0VfTk9UXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkRhdGFNZXRhQ2hhbmdlZC5lbWl0KHRoaXMuaW5uZXJWYWx1ZSk7XG4gIH1cblxuICBhdXRvY29tcGxldGVGbih0ZXJtOiBzdHJpbmcpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5hdXRvY29tcGxldGVUaW1lb3V0KTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pbkxlbmd0aCB8fCB0ZXJtID09PSB0aGlzLndpbGRDYXJkKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0IHx8ICghdGhpcy5tdWx0aXNlbGVjdCAmJiB0aGlzLmlubmVyVmFsdWUubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgIHRoaXMuYmFja2VuZC5nZXRKc29uKHRoaXMuYnVpbGRBdXRvY29tcGxldGVVcmkodGVybSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgLy8gYXV0b2NvbXBsZXRlIHZhbHVlcyBzaG91bGQgYmUgdW5pcXVlIGFuZCBub3QgcGFydCBvZiB0aGUgZXhjZXB0aW9uc1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU/LnZhbHVlIHx8IHRoaXMudmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gcmVzLmZpbHRlcih2ID0+ICghdmFsdWUgfHwgdmFsdWU/LmluZGV4T2Yodi5uYW1lKSA9PT0gLTEpICYmIHRoaXMuZXhjZXB0aW9ucy5pbmRleE9mKHYubmFtZSkgPT09IC0xICYmICghdGhpcy5yZW1vdmVDdXJyZW50VXNlciB8fCB0aGlzLmN1cnJlbnRVc2VySWQgIT09IHYuaWQpKVxuICAgICAgICAgICAgICAgIC5zb3J0KFV0aWxzLnNvcnRWYWx1ZXMoJ3RpdGxlJykpLnNsaWNlKDAsIDEwKTtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzLnVuc2hpZnQodGhpcy5jdXJyZW50VXNlcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIFV0aWxzLnRocm93KG51bGwsXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24ucmVxdWVzdC5lcnJvci50aXRsZScpLFxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmZvcm0ucHJvcGVydHkub3JnYW5pemF0aW9uLnJlcXVlc3QuZXJyb3IubXNnJylcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IFtdO1xuICAgICAgfVxuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgcmVzb2x2ZUZuKHZhbHVlOiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IGlzQ3VycmVudFVzZXIgPSBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwPyB2YWx1ZVswXSA9PT0gdGhpcy5jdXJyZW50VXNlci5uYW1lOiB2YWx1ZSA9PT0gdGhpcy5jdXJyZW50VXNlci5uYW1lO1xuICAgIGlmIChpc0N1cnJlbnRVc2VyKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSBbdGhpcy5jdXJyZW50VXNlcl07XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgICBjb25zdCBvYnNlcnZhYmxlcyA9IHZhbHVlc0FycmF5Lm1hcCh2ID0+IHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLmlubmVyVmFsdWUuZmluZChpdiA9PiBpdi5uYW1lID09PSB2KTtcbiAgICAgICAgcmV0dXJuIG1hdGNoID8gb2JzZXJ2YWJsZU9mKG1hdGNoKSA6IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPcmdhbml6YXRpb25PYmplY3Qodik7XG4gICAgICB9KTtcblxuICAgICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlRm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSBkYXRhO1xuICAgICAgICAgIHRoaXMub25WYWx1ZVJlc29sdmVkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMub25WYWx1ZVJlc29sdmVkLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgfVxuXG5cbiAgLy8gaGFuZGxlIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIHRoZSBtb2RlbFxuICBvblVuc2VsZWN0KHZhbHVlKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdGhpcy5pbm5lclZhbHVlLmZpbHRlcih2ID0+IHYubmFtZSAhPT0gdmFsdWUubmFtZSk7XG4gICAgbGV0IF92YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZS5tYXAodiA9PiB2Lm5hbWUpO1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLm11bHRpc2VsZWN0ID8gX3ZhbHVlIDogbnVsbDtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gICAgfVxuICAgIHRoaXMuYXV0b0NvbXBsZXRlSW5wdXQuZm9jdXNJbnB1dCgpO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICAvLyBoYW5kbGUgc2VsZWN0aW9uIGNoYW5nZXMgdG8gdGhlIG1vZGVsXG4gIG9uU2VsZWN0KHZhbHVlKSB7XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmlubmVyVmFsdWUubWFwKHYgPT4gdi5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW50ZXJuYWwgYXV0b2NvbXBsZXRlIGNvbnRyb2wgaXMgYWx3YXlzIHNldCB0byBtdWx0aXNlbGVjdFxuICAgICAgLy8gc28gdGhlIHJlc29sdmVkIHZhbHVlIGlzIGFsd2F5cyBhbiBhcnJheVxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5uZXJWYWx1ZVswXS5uYW1lO1xuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgb25BdXRvQ29tcGxldGVCbHVyKCkge1xuICAgIHRoaXMuY2xlYXJJbm5lcklucHV0KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySW5uZXJJbnB1dCgpIHtcbiAgICB0aGlzLmF1dG9Db21wbGV0ZUlucHV0LmNsZWFySW5wdXQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNTZWFyY2ggPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLW9yZ2FuaXphdGlvblwiIFtuZ0NsYXNzXT1cInthY0lucHV0SGlkZGVuOiAhbXVsdGlzZWxlY3QgJiYgaW5uZXJWYWx1ZT8ubGVuZ3RofVwiPlxuXG4gIEBpZiAoaXNTZWFyY2ggJiYgIWlzVGFibGVFbGVtZW50KSB7XG4gICAgPHl2Yy1kcm9wZG93biBbKG5nTW9kZWwpXT1cInNlYXJjaE9wdGlvblwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoKVwiIFtvcHRpb25zXT1cImF2YWlsYWJsZVNlYXJjaE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW2Rpc2FibGVDbGVhckJ1dHRvbl09XCJ0cnVlXCI+PC95dmMtZHJvcGRvd24+XG4gIH1cblxuICA8eXZjLWF1dG9jb21wbGV0ZSBbKG5nTW9kZWwpXT1cImlubmVyVmFsdWVcIiAjYXV0b2NvbXBsZXRlIChzdWdnZXN0aW9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChzdWdnZXN0aW9uVW5zZWxlY3QpPVwib25VbnNlbGVjdCgkZXZlbnQpXCIgKGJsdXIpPVwib25BdXRvQ29tcGxldGVCbHVyKClcIlxuICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgZmllbGQ9XCJpZFwiXG4gICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxuICAgIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiIFttdWx0aXBsZV09XCJ0cnVlXCI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2F1dG9jb21wbGV0ZU9wdGlvblRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIoaXRlbS5maXJzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmxhc3RuYW1lPy5sZW5ndGgpIHx8IGl0ZW0udHlwZSA9PT0gJ2dyb3VwJ1wiPnt7aXRlbS50aXRsZX19XG4gICAgICAgICAgKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgaXRlbS50eXBlICE9PSAnZ3JvdXAnXCI+KHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5sYXN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0uZmlyc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjY2hpcFRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgPGRpdiBjbGFzcz1cIm9yZy1pdGVtXCI+XG4gICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJyA/ICBpY29uLmdyb3VwIDogaWNvbi51c2VyXCI+PC95dmMtaWNvbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIihpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiBpdGVtLmFjdGl2ZSkgfHwgaXRlbS50eXBlID09PSAnZ3JvdXAnXCI+e3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICAoe3tpdGVtLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5hY3RpdmVcIlxuICAgICAgICAgICpuZ0lmPVwiKGl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgaXRlbS5sYXN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmFjdGl2ZSlcIj57e2l0ZW0udGl0bGV9fVxuICAgICAgICAgICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIoIWl0ZW0uZmlyc3RuYW1lPy5sZW5ndGggJiYgIWl0ZW0ubGFzdG5hbWU/Lmxlbmd0aCAmJiAhaXRlbS5hY3RpdmUgJiYgIWl0ZW0udHlwZSlcIlxuICAgICAgICAgIGNsYXNzPVwiZGVsZXRlZC11c2VyLWxhYmVsXCI+e3snZW8uZm9ybS5wcm9wZXJ0eS5vcmdhbml6YXRpb24uZXJyb3IudXNlcm5vdGZvdW5kJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGggJiYgaXRlbS5hY3RpdmUgJiYgaXRlbS50eXBlICE9PSAnZ3JvdXAnXCI+KHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmIGl0ZW0ubGFzdG5hbWU/Lmxlbmd0aFwiPnt7aXRlbS5sYXN0bmFtZX19ICh7e2l0ZW0ubmFtZX19KTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmZpcnN0bmFtZT8ubGVuZ3RoICYmICFpdGVtLmxhc3RuYW1lPy5sZW5ndGhcIj57e2l0ZW0uZmlyc3RuYW1lfX0gKHt7aXRlbS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  export * from './eo-framework.module';
2
- export * from './accordion/index';
3
2
  export * from './actions/index';
4
3
  export * from './animations/animations';
5
4
  export * from './app-shell/index';
@@ -31,4 +30,4 @@ export * from './tree/index';
31
30
  export * from './ui/index';
32
31
  export * from './upload-overlay/upload-overlay.component';
33
32
  export * from './util/index';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VvLWZyYW1ld29yay5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmltYXRpb25zL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcHAtc2hlbGwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9mcmFtZS9mcmFtZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdGEvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZWxlbWVudHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL3NvcnRhYmxlL29yZGVyLWJ5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mcmFtZS9mcmFtZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaW5ib3gtZGV0YWlscy9pbmJveC1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtY29udGFpbmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbWVkaWEvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtZGV0YWlscy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1mb3JtL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LXN0YXRlLWRldGFpbHMvb2JqZWN0LXN0YXRlLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2lucy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZXBhcmUtZGV0YWlscy9wcmVwYXJlLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjeWNsZWJpbi1kZXRhaWxzL3JlY3ljbGViaW4tZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZXNzL2RldGFpbHMvcHJvY2Vzcy1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3MvaGlzdG9yeS9wcm9jZXNzLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzcy9wcm9jZXNzLWZpbGUvcHJvY2Vzcy1maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3F1aWNrLXNlYXJjaC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc3VsdC1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zaG9ydGN1dHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZWQtcXVlcnkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdWkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi91cGxvYWQtb3ZlcmxheS91cGxvYWQtb3ZlcmxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2luZGV4JztcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lby1mcmFtZXdvcmsubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucy9hbmltYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwLXNoZWxsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZnJhbWUvZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3RhL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3IvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWVsZW1lbnRzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9zb3J0YWJsZS9vcmRlci1ieS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZnJhbWUvZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ3JpZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2luYm94LWRldGFpbHMvaW5ib3gtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWNvbnRhaW5lci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21lZGlhL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LWRldGFpbHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtZm9ybS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1zdGF0ZS1kZXRhaWxzL29iamVjdC1zdGF0ZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmVwYXJlLWRldGFpbHMvcHJlcGFyZS1kZXRhaWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlY3ljbGViaW4tZGV0YWlscy9yZWN5Y2xlYmluLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvY2Vzcy9kZXRhaWxzL3Byb2Nlc3MtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9jZXNzL2hpc3RvcnkvcHJvY2Vzcy1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2Nlc3MvcHJvY2Vzcy1maWxlL3Byb2Nlc3MtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWljay1zZWFyY2gvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXN1bHQtbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmdzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2hvcnRjdXRzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVkLXF1ZXJ5L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3VpL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLW92ZXJsYXkvdXBsb2FkLW92ZXJsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9pbmRleCc7XG4iXX0=