@po-ui/ng-components 14.1.0 → 14.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.mjs +5 -3
- package/esm2020/lib/components/po-button/po-button-base.component.mjs +58 -8
- package/esm2020/lib/components/po-button/po-button-size.enum.mjs +6 -0
- package/esm2020/lib/components/po-button/po-button.component.mjs +4 -4
- package/esm2020/lib/components/po-button-group/po-button-group-base.component.mjs +8 -1
- package/esm2020/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2020/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +12 -12
- package/esm2020/lib/components/po-field/po-checkbox/po-checkbox-base.component.mjs +11 -2
- package/esm2020/lib/components/po-field/po-checkbox/po-checkbox.component.mjs +24 -12
- package/esm2020/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.mjs +14 -20
- package/esm2020/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.mjs +5 -4
- package/esm2020/lib/components/po-field/po-combo/po-combo-base.component.mjs +74 -43
- package/esm2020/lib/components/po-field/po-combo/po-combo.component.mjs +17 -15
- package/esm2020/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +3 -8
- package/esm2020/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +2 -1
- package/esm2020/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.mjs +25 -2
- package/esm2020/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +5 -5
- package/esm2020/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +28 -2
- package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.mjs +28 -2
- package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -4
- package/esm2020/lib/components/po-field/po-lookup/po-lookup.component.mjs +5 -3
- package/esm2020/lib/components/po-field/po-lookup/services/po-lookup-modal.service.mjs +6 -2
- package/esm2020/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +2 -2
- package/esm2020/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +9 -9
- package/esm2020/lib/components/po-field/po-select/po-select.component.mjs +90 -25
- package/esm2020/lib/components/po-field/po-upload/po-upload-base.service.mjs +4 -2
- package/esm2020/lib/components/po-list-view/po-list-view.component.mjs +3 -3
- package/esm2020/lib/components/po-table/po-table-base.component.mjs +21 -2
- package/esm2020/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.mjs +3 -3
- package/esm2020/lib/components/po-table/po-table.component.mjs +511 -476
- package/esm2020/lib/components/po-widget/po-widget-base.component.mjs +3 -2
- package/esm2020/lib/components/po-widget/po-widget.component.mjs +24 -12
- package/esm2020/lib/utils/util.mjs +21 -12
- package/fesm2015/po-ui-ng-components.mjs +1288 -952
- package/fesm2015/po-ui-ng-components.mjs.map +1 -1
- package/fesm2020/po-ui-ng-components.mjs +1266 -937
- package/fesm2020/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-button/po-button-base.component.d.ts +29 -4
- package/lib/components/po-button/po-button-size.enum.d.ts +4 -0
- package/lib/components/po-button-group/po-button-group-base.component.d.ts +7 -0
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +18 -0
- package/lib/components/po-field/po-checkbox/po-checkbox-base.component.d.ts +2 -1
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.d.ts +2 -1
- package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +27 -22
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +13 -1
- package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +21 -1
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +21 -1
- package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +4 -0
- package/lib/components/po-field/po-select/po-select.component.d.ts +36 -7
- package/lib/components/po-table/po-table-base.component.d.ts +12 -1
- package/lib/components/po-table/po-table.component.d.ts +6 -0
- package/lib/components/po-widget/po-widget-base.component.d.ts +1 -0
- package/lib/utils/util.d.ts +2 -1
- package/package.json +4 -4
- package/po-ui-ng-components-14.3.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-14.1.0.tgz +0 -0
package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.mjs
CHANGED
|
@@ -87,6 +87,26 @@ export class PoLookupModalBaseComponent {
|
|
|
87
87
|
this.multiple = false;
|
|
88
88
|
/** Evento utilizado ao selecionar um registro da tabela. */
|
|
89
89
|
this.model = new EventEmitter();
|
|
90
|
+
/**
|
|
91
|
+
* @optional
|
|
92
|
+
*
|
|
93
|
+
* @description
|
|
94
|
+
* Evento disparado ao fechar o popover do gerenciador de colunas após alterar as colunas visíveis.
|
|
95
|
+
*
|
|
96
|
+
* O componente envia como parâmetro um array de string com as colunas visíveis atualizadas.
|
|
97
|
+
* Por exemplo: ["idCard", "name", "hireStatus", "age"].
|
|
98
|
+
*/
|
|
99
|
+
this.changeVisibleColumns = new EventEmitter();
|
|
100
|
+
/**
|
|
101
|
+
* @optional
|
|
102
|
+
*
|
|
103
|
+
* @description
|
|
104
|
+
* Evento disparado ao clicar no botão de restaurar padrão no gerenciador de colunas.
|
|
105
|
+
*
|
|
106
|
+
* O componente envia como parâmetro um array de string com as colunas configuradas inicialmente.
|
|
107
|
+
* Por exemplo: ["idCard", "name", "hireStatus", "age"].
|
|
108
|
+
*/
|
|
109
|
+
this.columnRestoreManager = new EventEmitter();
|
|
90
110
|
this.hasNext = true;
|
|
91
111
|
this.isLoading = false;
|
|
92
112
|
this.page = 1;
|
|
@@ -344,7 +364,7 @@ PoLookupModalBaseComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type:
|
|
|
344
364
|
let _t;
|
|
345
365
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poModal = _t.first);
|
|
346
366
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poTable = _t.first);
|
|
347
|
-
} }, inputs: { advancedFilters: ["p-advanced-filters", "advancedFilters"], columns: ["p-columns", "columns"], items: ["p-items", "items"], filterService: ["p-filter-service", "filterService"], filterParams: ["p-filter-params", "filterParams"], infiniteScroll: ["p-infinite-scroll", "infiniteScroll"], multiple: ["p-multiple", "multiple"], selectedItems: ["p-selected-items", "selectedItems"], fieldLabel: ["p-field-label", "fieldLabel"], fieldValue: ["p-field-value", "fieldValue"], literals: ["p-literals", "literals"], title: ["p-title", "title"] }, outputs: { model: "p-change-model" } });
|
|
367
|
+
} }, inputs: { advancedFilters: ["p-advanced-filters", "advancedFilters"], columns: ["p-columns", "columns"], items: ["p-items", "items"], filterService: ["p-filter-service", "filterService"], filterParams: ["p-filter-params", "filterParams"], infiniteScroll: ["p-infinite-scroll", "infiniteScroll"], multiple: ["p-multiple", "multiple"], selectedItems: ["p-selected-items", "selectedItems"], fieldLabel: ["p-field-label", "fieldLabel"], fieldValue: ["p-field-value", "fieldValue"], literals: ["p-literals", "literals"], title: ["p-title", "title"] }, outputs: { model: "p-change-model", changeVisibleColumns: "p-change-visible-columns", columnRestoreManager: "p-restore-column-manager" } });
|
|
348
368
|
__decorate([
|
|
349
369
|
InputBoolean()
|
|
350
370
|
], PoLookupModalBaseComponent.prototype, "infiniteScroll", void 0);
|
|
@@ -392,6 +412,12 @@ __decorate([
|
|
|
392
412
|
}], fieldValue: [{
|
|
393
413
|
type: Input,
|
|
394
414
|
args: ['p-field-value']
|
|
415
|
+
}], changeVisibleColumns: [{
|
|
416
|
+
type: Output,
|
|
417
|
+
args: ['p-change-visible-columns']
|
|
418
|
+
}], columnRestoreManager: [{
|
|
419
|
+
type: Output,
|
|
420
|
+
args: ['p-restore-column-manager']
|
|
395
421
|
}], literals: [{
|
|
396
422
|
type: Input,
|
|
397
423
|
args: ['p-literals']
|
|
@@ -399,4 +425,4 @@ __decorate([
|
|
|
399
425
|
type: Input,
|
|
400
426
|
args: ['p-title']
|
|
401
427
|
}] }); })();
|
|
402
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWxvb2t1cC9wby1sb29rdXAtbW9kYWwvcG8tbG9va3VwLW1vZGFsLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBNEIsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUV0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQVduRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLEVBQUUsRUFBb0I7UUFDcEIsdUJBQXVCLEVBQUUsUUFBUTtRQUNqQyx5QkFBeUIsRUFBRSxRQUFRO1FBQ25DLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsU0FBUztR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RUFBaUM7QUFHdkM7SUFBZixZQUFZLEVBQUU7NERBQTJCO3VGQXBDM0MsMEJBQTBCO2NBRC9DLFNBQVM7b0dBRXVDLE9BQU87a0JBQXJELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ0UsT0FBTztrQkFBckQsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFhaEIsZUFBZTtrQkFBM0MsS0FBSzttQkFBQyxvQkFBb0I7WUFNUCxPQUFPO2tCQUExQixLQUFLO21CQUFDLFdBQVc7WUFHQSxLQUFLO2tCQUF0QixLQUFLO21CQUFDLFNBQVM7WUFHVyxhQUFhO2tCQUF2QyxLQUFLO21CQUFDLGtCQUFrQjtZQUdDLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCO1lBR29CLGNBQWM7a0JBQXpELEtBQUs7bUJBQUMsbUJBQW1CO1lBR1csUUFBUTtrQkFBNUMsS0FBSzttQkFBQyxZQUFZO1lBR08sS0FBSztrQkFBOUIsTUFBTTttQkFBQyxnQkFBZ0I7WUFHRyxhQUFhO2tCQUF2QyxLQUFLO21CQUFDLGtCQUFrQjtZQUdELFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQVNFLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQTBERyxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUF1QkcsS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBEaXJlY3RpdmUsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGVjb3JhdG9ycyc7XG5cbmltcG9ydCB7IGlzVHlwZW9mIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBwb0xvY2FsZURlZmF1bHQgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5jb25zdGFudCc7XG5pbXBvcnQgeyBQb01vZGFsQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9wby1tb2RhbCc7XG5pbXBvcnQgeyBQb01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tcG9uZW50cy9wby1tb2RhbC9wby1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbHVtblNvcnQgfSBmcm9tICcuLi8uLi8uLi9wby10YWJsZS9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi1zb3J0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU29ydFR5cGUgfSBmcm9tICcuLi8uLi8uLi9wby10YWJsZSc7XG5pbXBvcnQgeyBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0IH0gZnJvbSAnLi4vLi4vLi4vcG8tdGFibGUvcG8tdGFibGUtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUG9Mb29rdXBDb2x1bW4gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLWxvb2t1cC1jb2x1bW4uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTG9va3VwRmlsdGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1sb29rdXAtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cEZpbHRlcmVkSXRlbXNQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLWxvb2t1cC1maWx0ZXJlZC1pdGVtcy1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTG9va3VwTGl0ZXJhbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLWxvb2t1cC1saXRlcmFscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBSZXNwb25zZUFwaSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tbG9va3VwLXJlc3BvbnNlLWFwaS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EaXNjbGFpbWVyIH0gZnJvbSAnLi8uLi8uLi8uLi9wby1kaXNjbGFpbWVyL3BvLWRpc2NsYWltZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvRGlzY2xhaW1lckdyb3VwIH0gZnJvbSAnLi8uLi8uLi8uLi9wby1kaXNjbGFpbWVyLWdyb3VwL3BvLWRpc2NsYWltZXItZ3JvdXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTG9va3VwQWR2YW5jZWRGaWx0ZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLWxvb2t1cC1hZHZhbmNlZC1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLXRhYmxlL3BvLXRhYmxlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBwb0xvb2t1cExpdGVyYWxzRGVmYXVsdCA9IHtcbiAgZW46IDxQb0xvb2t1cExpdGVyYWxzPntcbiAgICBtb2RhbFByaW1hcnlBY3Rpb25MYWJlbDogJ1NlbGVjdCcsXG4gICAgbW9kYWxTZWNvbmRhcnlBY3Rpb25MYWJlbDogJ0NhbmNlbCcsXG4gICAgbW9kYWxQbGFjZWhvbGRlcjogJ1NlYXJjaCcsXG4gICAgbW9kYWxUaXRsZTogJ1NlbGVjdCBhIHJlY29yZCcsXG4gICAgbW9kYWxUYWJsZU5vQ29sdW1uczogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5lbi5ub0NvbHVtbnMsXG4gICAgbW9kYWxUYWJsZU5vRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5lbi5ub0RhdGEsXG4gICAgbW9kYWxUYWJsZUxvYWRpbmdEYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVuLmxvYWRpbmdEYXRhLFxuICAgIG1vZGFsVGFibGVMb2FkTW9yZURhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQuZW4ubG9hZE1vcmVEYXRhLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2g6ICdBZHZhbmNlZCBzZWFyY2gnLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hUaXRsZTogJ0FkdmFuY2VkIHNlYXJjaCcsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFByaW1hcnlBY3Rpb25MYWJlbDogJ0ZpbHRlcicsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFNlY29uZGFyeUFjdGlvbkxhYmVsOiAnUmV0dXJuJyxcbiAgICBtb2RhbERpc2NsYWltZXJHcm91cFRpdGxlOiAnUHJlc2VudGluZyByZXN1bHRzIGZpbHRlcmVkIGJ5OidcbiAgfSxcbiAgZXM6IDxQb0xvb2t1cExpdGVyYWxzPntcbiAgICBtb2RhbFByaW1hcnlBY3Rpb25MYWJlbDogJ1NlbGVjY2lvbmFyJyxcbiAgICBtb2RhbFNlY29uZGFyeUFjdGlvbkxhYmVsOiAnQ2FuY2VsYXInLFxuICAgIG1vZGFsUGxhY2Vob2xkZXI6ICdCdXNjYXInLFxuICAgIG1vZGFsVGl0bGU6ICdTZWxlY2Npb25lIHVuIHJlZ2lzdHJvJyxcbiAgICBtb2RhbFRhYmxlTm9Db2x1bW5zOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVzLm5vQ29sdW1ucyxcbiAgICBtb2RhbFRhYmxlTm9EYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVzLm5vRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZGluZ0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQuZXMubG9hZGluZ0RhdGEsXG4gICAgbW9kYWxUYWJsZUxvYWRNb3JlRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5lcy5sb2FkTW9yZURhdGEsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaDogJ0LDunNxdWVkYSBBdmFuemFkYScsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFRpdGxlOiAnQsO6c3F1ZWRhIEF2YW56YWRhJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoUHJpbWFyeUFjdGlvbkxhYmVsOiAnRmlsdHJhcicsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFNlY29uZGFyeUFjdGlvbkxhYmVsOiAnVnVlbHZlJyxcbiAgICBtb2RhbERpc2NsYWltZXJHcm91cFRpdGxlOiAnUHJlc2VudGFyIHJlc3VsdGFkb3MgZmlsdHJhZG9zIHBvcjonXG4gIH0sXG4gIHB0OiA8UG9Mb29rdXBMaXRlcmFscz57XG4gICAgbW9kYWxQcmltYXJ5QWN0aW9uTGFiZWw6ICdTZWxlY2lvbmFyJyxcbiAgICBtb2RhbFNlY29uZGFyeUFjdGlvbkxhYmVsOiAnQ2FuY2VsYXInLFxuICAgIG1vZGFsUGxhY2Vob2xkZXI6ICdQZXNxdWlzYXInLFxuICAgIG1vZGFsVGl0bGU6ICdTZWxlY2lvbmUgdW0gcmVnaXN0cm8nLFxuICAgIG1vZGFsVGFibGVOb0NvbHVtbnM6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucHQubm9Db2x1bW5zLFxuICAgIG1vZGFsVGFibGVOb0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucHQubm9EYXRhLFxuICAgIG1vZGFsVGFibGVMb2FkaW5nRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5wdC5sb2FkaW5nRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZE1vcmVEYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LnB0LmxvYWRNb3JlRGF0YSxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoOiAnQnVzY2EgYXZhbsOnYWRhJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoVGl0bGU6ICdCdXNjYSBBdmFuw6dhZGEnLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hQcmltYXJ5QWN0aW9uTGFiZWw6ICdGaWx0cmFyJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICdWb2x0YXInLFxuICAgIG1vZGFsRGlzY2xhaW1lckdyb3VwVGl0bGU6ICdBcHJlc2VudGFuZG8gcmVzdWx0YWRvcyBmaWx0cmFkb3MgcG9yOidcbiAgfSxcbiAgcnU6IDxQb0xvb2t1cExpdGVyYWxzPntcbiAgICBtb2RhbFByaW1hcnlBY3Rpb25MYWJlbDogJ9Cy0YvQsdC40YDQsNGC0YwnLFxuICAgIG1vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICfQvtGC0LzQtdC90LjRgtGMJyxcbiAgICBtb2RhbFBsYWNlaG9sZGVyOiAn0L/QvtC40YHQuicsXG4gICAgbW9kYWxUaXRsZTogJ9CS0YvQsdC10YDQuNGC0LUg0LfQsNC/0LjRgdGMJyxcbiAgICBtb2RhbFRhYmxlTm9Db2x1bW5zOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LnJ1Lm5vQ29sdW1ucyxcbiAgICBtb2RhbFRhYmxlTm9EYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LnJ1Lm5vRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZGluZ0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucnUubG9hZGluZ0RhdGEsXG4gICAgbW9kYWxUYWJsZUxvYWRNb3JlRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5ydS5sb2FkTW9yZURhdGEsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaDogJ9Cg0LDRgdGI0LjRgNC10L3QvdGL0Lkg0L/QvtC40YHQuicsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFRpdGxlOiAn0KDQsNGB0YjQuNGA0LXQvdC90YvQuSDQv9C+0LjRgdC6JyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoUHJpbWFyeUFjdGlvbkxhYmVsOiAn0KTQuNC70YzRgtGAJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICfQktC10YDQvdC40YHRjCcsXG4gICAgbW9kYWxEaXNjbGFpbWVyR3JvdXBUaXRsZTogJ9Cf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L7RgtGE0LjQu9GM0YLRgNC+0LLQsNC90L4g0L/QvjonXG4gIH1cbn07XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQ2xhc3NlIGJhc2UgZG8gY29tcG9uZW50ZSBQbyBMb29rdXAgTW9kYWwuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvTG9va3VwTW9kYWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBAVmlld0NoaWxkKFBvTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBvTW9kYWw6IFBvTW9kYWxDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoUG9UYWJsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcG9UYWJsZTogUG9UYWJsZUNvbXBvbmVudDtcblxuICAvKipcbiAgICogT2JqZXRvIGNvbSBvcyBjYW1wb3MgcXVlIHNlcsOjbyBjcmlhZG9zIG5vIGJ1c2NhIGF2YW7Dp2FkYS5cbiAgICpcbiAgICogPiBDYXNvIG7Do28gc2VqYSBwYXNzYWRvIHVtIG9iamV0byBvdSBlbnTDo28gZWxlIGVzdGVqYSBlbSBicmFuY28gbyBsaW5rIGRlIGJ1c2NhIGF2YW7Dp2FkYSBmaWNhcsOhIGVzY29uZGlkby5cbiAgICpcbiAgICogRXhlbXBsbyBkZSBVUkwgY29tIGJ1c2NhIGF2YW7Dp2FkYTogaHR0cDovL2xvY2FsaG9zdDozMDAwL3YxL2hlcm9lcz9maWx0ZXI9JnBhZ2U9MSZwYWdlU2l6ZT0xMGAmbmFtZT1Ub255JTIwU3Rhcmsmbmlja25hbWU9SG9tZW0lMjBkZSUyMEZlcnJvJmVtYWlsPWlybm1hbkBtYXJ2ZWwuY29tYFxuICAgKlxuICAgKiBDYXNvIGFsZ3VtIHBhcsOibWV0cm8gc2VqYSB1bWEgbGlzdGEsIGEgY29uY2F0ZW5hw6fDo28gw6kgZmVpdGEgdXRpbGl6YW5kbyB2aXJndWxhLlxuICAgKiBFeGVtcGxvOiBodHRwOi8vbG9jYWxob3N0OjMwMDAvdjEvaGVyb2VzP2ZpbHRlcj0mcGFnZT0xJnBhZ2VTaXplPTEwYCZuYW1lPVRvbnklMjBTdGFyayxQZXRlciUyMFBhcmtlcixHb2hhbmBcbiAgICpcbiAgICovXG4gIEBJbnB1dCgncC1hZHZhbmNlZC1maWx0ZXJzJykgYWR2YW5jZWRGaWx0ZXJzOiBBcnJheTxQb0xvb2t1cEFkdmFuY2VkRmlsdGVyPjtcblxuICAvKipcbiAgICogTGlzdGEgZGFzIGNvbHVuYXMgZGEgdGFiZWxhLlxuICAgKiBFc3NhIHByb3ByaWVkYWRlIGRldmUgcmVjZWJlciB1bSBhcnJheSBkZSBvYmpldG9zIHF1ZSBpbXBsZW1lbnRhbSBhIGludGVyZmFjZSBQb0xvb2t1cENvbHVtbi5cbiAgICovXG4gIEBJbnB1dCgncC1jb2x1bW5zJykgY29sdW1uczogQXJyYXk8UG9Mb29rdXBDb2x1bW4+O1xuXG4gIC8qKiBMaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuICovXG4gIEBJbnB1dCgncC1pdGVtcycpIGl0ZW1zOiBBcnJheTxhbnk+O1xuXG4gIC8qKiBDbGFzc2UgZGUgc2VydmnDp28gY29tIGEgaW1wbGVtZW50YcOnw6NvIGRvIGNsaWVudGUuICovXG4gIEBJbnB1dCgncC1maWx0ZXItc2VydmljZScpIGZpbHRlclNlcnZpY2U6IFBvTG9va3VwRmlsdGVyO1xuXG4gIC8qKiBDbGFzc2UgZGUgc2VydmnDp28gY29tIGEgaW1wbGVtZW50YcOnw6NvIGRvIGNsaWVudGUuICovXG4gIEBJbnB1dCgncC1maWx0ZXItcGFyYW1zJykgZmlsdGVyUGFyYW1zOiBhbnk7XG5cbiAgLyoqIFNlIHZlcmRhZGVpcm8sIGF0aXZhIGEgZnVuY2lvbmFsaWRhZGUgZGUgc2Nyb2xsIGluZmluaXRvIHBhcmEgYSB0YWJlbGEgZXhpYmlkYSBubyByZXRvcm5vIGRhIGNvbnN1bHRhLiAqL1xuICBASW5wdXQoJ3AtaW5maW5pdGUtc2Nyb2xsJykgQElucHV0Qm9vbGVhbigpIGluZmluaXRlU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFNlIHZlcmRhZGVpcm8sIGF0aXZhIGEgZnVuY2lvbmFsaWRhZGUgZGUgbXVsdGlwbGEgc2VsZcOnw6NvLiAqL1xuICBASW5wdXQoJ3AtbXVsdGlwbGUnKSBASW5wdXRCb29sZWFuKCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogRXZlbnRvIHV0aWxpemFkbyBhbyBzZWxlY2lvbmFyIHVtIHJlZ2lzdHJvIGRhIHRhYmVsYS4gKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UtbW9kZWwnKSBtb2RlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAvKiogQ2xhc3NlIGRlIHNlcnZpw6dvIGNvbSBpdGVtcyBzZWxlY2lvbmFkb3MgKi9cbiAgQElucHV0KCdwLXNlbGVjdGVkLWl0ZW1zJykgc2VsZWN0ZWRJdGVtczogYW55O1xuXG4gIC8qKiBJbmRpY2EgYSBjb2x1bmEgcXVlIHNlcsOhIHV0aWxpemFkYSBjb21vIGRlc2NyacOnw6NvIGRvIGNhbXBvIGUgY29tbyBmaWx0cm8gZGVudHJvIGRhIGphbmVsYS4gKi9cbiAgQElucHV0KCdwLWZpZWxkLWxhYmVsJykgZmllbGRMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5kaWNhIGEgY29sdW5hIHF1ZSBzZXLDoSB1dGlsaXphZGEgY29tbyB2YWxvciBkbyBjYW1wby5cbiAgICpcbiAgICogPiBBdGVuw6fDo286IENhc28gbsOjbyBzZWphIHBhc3NhZGEgb3UgdGVuaGEgbyBjb250ZcO6ZG8gaW5jb3JyZXRvLCBuw6NvIGlyw6EgYXR1YWxpemFyIG8gbW9kZWwgZG8gZm9ybXVsw6FyaW8uXG4gICAqL1xuICBASW5wdXQoJ3AtZmllbGQtdmFsdWUnKSBmaWVsZFZhbHVlOiBzdHJpbmc7XG5cbiAgaGFzTmV4dCA9IHRydWU7XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBwYWdlID0gMTtcbiAgcGFnZVNpemUgPSAxMDtcbiAgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xuICB0YWJsZUxpdGVyYWxzOiBhbnk7XG5cbiAgLy8gUHJvcHJpZWRhZGUgZGEgbW9kYWwgZGUgYnVzY2EgYXZhbsOnYWRhOlxuICBhZHZhbmNlZEZpbHRlck1vZGFsVGl0bGUgPSAnJztcbiAgZHluYW1pY0Zvcm1WYWx1ZSA9IHt9O1xuICBkaXNjbGFpbWVyITogUG9EaXNjbGFpbWVyO1xuICBkaXNjbGFpbWVyR3JvdXAhOiBQb0Rpc2NsYWltZXJHcm91cDtcbiAgaXNBZHZhbmNlZEZpbHRlciA9IGZhbHNlO1xuICBwcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIhOiBQb01vZGFsQWN0aW9uO1xuICBzZWNvbmRhcnlBY3Rpb25BZHZhbmNlZEZpbHRlciE6IFBvTW9kYWxBY3Rpb247XG4gIHNlbGVjdGVkczogQXJyYXk8YW55PiA9IFtdO1xuXG4gIHByb3RlY3RlZCBzb3J0OiBQb1RhYmxlQ29sdW1uU29ydDtcblxuICBwcml2YXRlIGZpbHRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHNob3dNb3JlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBfbGl0ZXJhbHM6IFBvTG9va3VwTGl0ZXJhbHM7XG4gIHByaXZhdGUgX3RpdGxlOiBzdHJpbmc7XG4gIHByaXZhdGUgbGFuZ3VhZ2U6IHN0cmluZyA9IHBvTG9jYWxlRGVmYXVsdDtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBwcmltYXJ5QWN0aW9uOiBQb01vZGFsQWN0aW9uID0ge1xuICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgbGV0IHNlbGVjdGVkc0l0ZW1zOiBBcnJheTxhbnk+ID0gW107XG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGlmIChlbGVtZW50Wyckc2VsZWN0ZWQnXSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRzSXRlbXMucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRzSXRlbXMgPSB0aGlzLnNlbGVjdGVkcztcbiAgICAgIH1cbiAgICAgIHRoaXMubW9kZWwuZW1pdChzZWxlY3RlZHNJdGVtcyk7XG4gICAgICB0aGlzLnBvTW9kYWwuY2xvc2UoKTtcbiAgICB9LFxuICAgIGxhYmVsOiB0aGlzLmxpdGVyYWxzLm1vZGFsUHJpbWFyeUFjdGlvbkxhYmVsXG4gIH07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgc2Vjb25kYXJ5QWN0aW9uOiBQb01vZGFsQWN0aW9uID0ge1xuICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgdGhpcy5tb2RlbC5lbWl0KG51bGwpO1xuICAgICAgdGhpcy5wb01vZGFsLmNsb3NlKCk7XG4gICAgfSxcbiAgICBsYWJlbDogdGhpcy5saXRlcmFscy5tb2RhbFNlY29uZGFyeUFjdGlvbkxhYmVsXG4gIH07XG5cbiAgLyoqIE9iamV0byBjb20gYXMgbGl0ZXJhaXMgdXNhZGFzIG5vIGBwby1sb29rdXAtbW9kYWxgLiAqL1xuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBzZXQgbGl0ZXJhbHModmFsdWU6IFBvTG9va3VwTGl0ZXJhbHMpIHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSkge1xuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSB7XG4gICAgICAgIC4uLnBvTG9va3VwTGl0ZXJhbHNEZWZhdWx0W3BvTG9jYWxlRGVmYXVsdF0sXG4gICAgICAgIC4uLnBvTG9va3VwTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLFxuICAgICAgICAuLi52YWx1ZVxuICAgICAgfTtcbiAgICAgIGlmICh2YWx1ZS5tb2RhbFRpdGxlKSB7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmxpdGVyYWxzLm1vZGFsVGl0bGU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0gcG9Mb29rdXBMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxuICAgIHRoaXMucHJpbWFyeUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMubW9kYWxQcmltYXJ5QWN0aW9uTGFiZWw7XG4gICAgdGhpcy5zZWNvbmRhcnlBY3Rpb24ubGFiZWwgPSB0aGlzLmxpdGVyYWxzLm1vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWw7XG4gICAgdGhpcy5zZXRUYWJsZUxpdGVyYWxzKCk7XG4gIH1cblxuICBnZXQgbGl0ZXJhbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xpdGVyYWxzIHx8IHBvTG9va3VwTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xuICB9XG5cbiAgLyoqIFTDrXR1bG8gZGEgbW9kYWwuICovXG4gIEBJbnB1dCgncC10aXRsZScpIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGl0bGUgPSBpc1R5cGVvZih2YWx1ZSwgJ3N0cmluZycpID8gdmFsdWUgOiB0aGlzLmxpdGVyYWxzLm1vZGFsVGl0bGU7XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSwgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZpbHRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zaG93TW9yZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zaG93TW9yZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0QWR2YW5jZWRGaWx0ZXJNb2RhbFByb3BlcnRpZXMoKTtcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgdGhpcy5zZXRUYWJsZUxpdGVyYWxzKCk7XG4gIH1cblxuICBjcmVhdGVEaXNjbGFpbWVyKCkge1xuICAgIHRoaXMuZGlzY2xhaW1lckdyb3VwLmRpc2NsYWltZXJzID0gW107XG4gICAgdGhpcy5zZWFyY2hWYWx1ZSA9ICcnO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5keW5hbWljRm9ybVZhbHVlKSkge1xuICAgICAgdGhpcy5hZGREaXNjbGFpbWVyKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIGlmICghT2JqZWN0LnZhbHVlcyh0aGlzLmR5bmFtaWNGb3JtVmFsdWUpLnNvbWUodiA9PiB2ICE9PSBudWxsICYmIHR5cGVvZiB2ICE9PSAndW5kZWZpbmVkJykpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgICB9XG4gIH1cblxuICBhZGREaXNjbGFpbWVyKHZhbHVlOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpc2NsYWltZXIgPSA8YW55PnsgcHJvcGVydHk6IHByb3BlcnR5IH07XG4gICAgdGhpcy5kaXNjbGFpbWVyLnZhbHVlID0gdmFsdWU7XG5cbiAgICB0aGlzLmRpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycyA9IFsuLi50aGlzLmRpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycywgdGhpcy5kaXNjbGFpbWVyXTtcbiAgfVxuXG4gIG9uQ2hhbmdlRGlzY2xhaW1lckdyb3VwKCkge1xuICAgIGlmICghdGhpcy5zZWFyY2hWYWx1ZSkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9ICcnO1xuXG4gICAgICB0aGlzLnNlYXJjaEZpbHRlcmVkSXRlbXMoKTtcbiAgICB9XG4gIH1cblxuICBzZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlID0gMTtcblxuICAgIGlmICh0aGlzLnNlYXJjaFZhbHVlKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmRpc2NsYWltZXJHcm91cC5kaXNjbGFpbWVycyA9IFtdO1xuXG4gICAgICB0aGlzLnNlYXJjaEZpbHRlcmVkSXRlbXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaEZpbHRlcmVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24gPSB0aGlzLmdldEZpbHRlcmVkSXRlbXModGhpcy5zZWFyY2hWYWx1ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLnNldExvb2t1cFJlc3BvbnNlUHJvcGVydGllcygpO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChkYXRhOiBQb0xvb2t1cFJlc3BvbnNlQXBpKSA9PiB0aGlzLnNldExvb2t1cFJlc3BvbnNlUHJvcGVydGllcyhkYXRhKSxcbiAgICAgICAgKCkgPT4ge31cbiAgICAgICk7XG4gIH1cblxuICBzaG93TW9yZUV2ZW50KCkge1xuICAgIHRoaXMucGFnZSsrO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuc2hvd01vcmVTdWJzY3JpcHRpb24gPSB0aGlzLmdldEZpbHRlcmVkSXRlbXModGhpcy5zZWFyY2hWYWx1ZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmhhc05leHQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChkYXRhOiBQb0xvb2t1cFJlc3BvbnNlQXBpKSA9PiB7XG4gICAgICAgICAgdGhpcy5pdGVtcyA9IFsuLi50aGlzLml0ZW1zLCAuLi5kYXRhLml0ZW1zXTtcbiAgICAgICAgICB0aGlzLmhhc05leHQgPSBkYXRhLmhhc05leHQ7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkSXRlbXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge31cbiAgICAgICk7XG4gIH1cblxuICAvL03DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBzZWxlY2lvbmFyIGFzIGxpbmhhcyBxdWFuZG8gYWJyZSBvIG1vZGFsLlxuICBzZXRTZWxlY3RlZEl0ZW1zKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRzLmZvckVhY2goc2VsZWN0ZWRJdGVtID0+IHtcbiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgIHRoaXMucG9UYWJsZS5zZWxlY3RSb3dJdGVtKGl0ZW0gPT4gaXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSBzZWxlY3RlZEl0ZW0udmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wb1RhYmxlLnNlbGVjdFJvd0l0ZW0oaXRlbSA9PiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0gPT09IHNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGNyaWFyIG9zIGRpc2NsYWltZXJzIHF1YW5kbyBhYnJlIG8gbW9kYWwuXG4gIHNldERpc2NsYWltZXJzSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcyAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLnNlbGVjdGVkSXRlbXMpKSB7XG4gICAgICB0aGlzLm11bHRpcGxlID8gKHRoaXMuc2VsZWN0ZWRzID0gW3sgdmFsdWU6IHRoaXMuc2VsZWN0ZWRJdGVtcyB9XSkgOiAodGhpcy5zZWxlY3RlZHMgPSBbdGhpcy5zZWxlY3RlZEl0ZW1zXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcyAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkcyA9IFsuLi50aGlzLnNlbGVjdGVkSXRlbXNdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QWR2YW5jZWRGaWx0ZXJNb2RhbFByb3BlcnRpZXMoKSB7XG4gICAgdGhpcy5hZHZhbmNlZEZpbHRlck1vZGFsVGl0bGUgPSB0aGlzLmxpdGVyYWxzLm1vZGFsQWR2YW5jZWRTZWFyY2hUaXRsZTtcblxuICAgIHRoaXMuZGlzY2xhaW1lckdyb3VwID0ge1xuICAgICAgdGl0bGU6IHRoaXMubGl0ZXJhbHMubW9kYWxEaXNjbGFpbWVyR3JvdXBUaXRsZSxcbiAgICAgIGRpc2NsYWltZXJzOiBbXVxuICAgIH07XG5cbiAgICB0aGlzLnByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlciA9IHtcbiAgICAgIGFjdGlvbjogKCkgPT4ge1xuICAgICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljRm9ybSgpO1xuICAgICAgICB0aGlzLmlzQWR2YW5jZWRGaWx0ZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wYWdlID0gMTtcbiAgICAgICAgdGhpcy5jcmVhdGVEaXNjbGFpbWVyKCk7XG4gICAgICB9LFxuICAgICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMubW9kYWxBZHZhbmNlZFNlYXJjaFByaW1hcnlBY3Rpb25MYWJlbFxuICAgIH07XG5cbiAgICB0aGlzLnNlY29uZGFyeUFjdGlvbkFkdmFuY2VkRmlsdGVyID0ge1xuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNGb3JtKCk7XG4gICAgICAgIHRoaXMuaXNBZHZhbmNlZEZpbHRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGxhYmVsOiB0aGlzLmxpdGVyYWxzLm1vZGFsQWR2YW5jZWRTZWFyY2hTZWNvbmRhcnlBY3Rpb25MYWJlbFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEFkdmFuY2VkRmlsdGVycyhhZHZhbmNlZFBhcmFtczogYW55KSB7XG4gICAgaWYgKGFkdmFuY2VkUGFyYW1zICYmIGFkdmFuY2VkUGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGZpbHRlcnM6IE9iamVjdCA9IHt9O1xuICAgICAgbGV0IHZhbGlkYXRlZEFkdmFjZW5kRmlsdGVyczogYW55O1xuXG4gICAgICBhZHZhbmNlZFBhcmFtcy5mb3JFYWNoKChmaWx0ZXI6IGFueSkgPT4ge1xuICAgICAgICBmaWx0ZXJzW2ZpbHRlci5wcm9wZXJ0eV0gPSBmaWx0ZXIudmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IGZpbHRlci52YWx1ZS5qb2luKCkgOiBmaWx0ZXIudmFsdWU7XG5cbiAgICAgICAgdmFsaWRhdGVkQWR2YWNlbmRGaWx0ZXJzID0geyAuLi52YWxpZGF0ZWRBZHZhY2VuZEZpbHRlcnMsIC4uLmZpbHRlcnMgfTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdmFsaWRhdGVkQWR2YWNlbmRGaWx0ZXJzO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcmVkSXRlbXMoZmlsdGVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFBvTG9va3VwUmVzcG9uc2VBcGk+IHtcbiAgICBjb25zdCBmaWx0ZXJlZFBhcmFtczogUG9Mb29rdXBGaWx0ZXJlZEl0ZW1zUGFyYW1zID0gdGhpcy5nZXRGaWx0ZXJlZFBhcmFtcyhmaWx0ZXIpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2VydmljZS5nZXRGaWx0ZXJlZEl0ZW1zKGZpbHRlcmVkUGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyZWRQYXJhbXMoZmlsdGVyOiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IHBhZ2UsIHBhZ2VTaXplLCBmaWx0ZXJQYXJhbXMsIHNvcnQgfSA9IHRoaXM7XG5cbiAgICBjb25zdCBmaWx0ZXJlZFBhcmFtcyA9IHt9O1xuICAgIGNvbnN0IG9yZGVyID0gdGhpcy5nZXRPcmRlclBhcmFtKHNvcnQpO1xuICAgIGNvbnN0IGFkdmFuY2VkRmlsdGVycyA9IHRoaXMuZ2V0QWR2YW5jZWRGaWx0ZXJzKHRoaXMuZGlzY2xhaW1lckdyb3VwLmRpc2NsYWltZXJzKTtcbiAgICBjb25zdCBwYXJhbXMgPSB7IGZpbHRlciwgcGFnZSwgcGFnZVNpemUsIG9yZGVyLCBmaWx0ZXJQYXJhbXMsIGFkdmFuY2VkRmlsdGVycyB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkgJiYgcGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJlZFBhcmFtc1trZXldID0gcGFyYW1zW2tleV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlcmVkUGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcmRlclBhcmFtKHNvcnQ6IFBvVGFibGVDb2x1bW5Tb3J0ID0geyB0eXBlOiB1bmRlZmluZWQgfSkge1xuICAgIGNvbnN0IHsgY29sdW1uLCB0eXBlIH0gPSBzb3J0O1xuXG4gICAgaWYgKCFjb2x1bW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gUG9UYWJsZUNvbHVtblNvcnRUeXBlLkRlc2NlbmRpbmcpIHtcbiAgICAgIHJldHVybiBgLSR7Y29sdW1uLnByb3BlcnR5fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke2NvbHVtbi5wcm9wZXJ0eX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG5cbiAgICB0aGlzLmZpbHRlclN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0RmlsdGVyZWRJdGVtcygnJykuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5zZXRMb29rdXBSZXNwb25zZVByb3BlcnRpZXMoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExvb2t1cFJlc3BvbnNlUHJvcGVydGllcyhkYXRhPzogUG9Mb29rdXBSZXNwb25zZUFwaSkge1xuICAgIHRoaXMuaXRlbXMgPSBkYXRhPy5pdGVtcyA/PyBbXTtcbiAgICB0aGlzLmhhc05leHQgPSBkYXRhPy5oYXNOZXh0ID8/IGZhbHNlO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5zZXREaXNjbGFpbWVyc0l0ZW1zKCk7XG4gICAgdGhpcy5zZXRTZWxlY3RlZEl0ZW1zKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFRhYmxlTGl0ZXJhbHMoKSB7XG4gICAgdGhpcy50YWJsZUxpdGVyYWxzID0ge1xuICAgICAgJ25vQ29sdW1ucyc6IHRoaXMubGl0ZXJhbHMubW9kYWxUYWJsZU5vQ29sdW1ucyxcbiAgICAgICdub0RhdGEnOiB0aGlzLmxpdGVyYWxzLm1vZGFsVGFibGVOb0RhdGEsXG4gICAgICAnbG9hZGluZ0RhdGEnOiB0aGlzLmxpdGVyYWxzLm1vZGFsVGFibGVMb2FkaW5nRGF0YSxcbiAgICAgICdsb2FkTW9yZURhdGEnOiB0aGlzLmxpdGVyYWxzLm1vZGFsVGFibGVMb2FkTW9yZURhdGFcbiAgICB9O1xuICB9XG5cbiAgLy8gTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGFicmlyIGEgbW9kYWwgZGUgYnVzY2EgZGFzIGluZm9ybWHDp8O1ZXMuXG4gIGFic3RyYWN0IG9wZW5Nb2RhbCgpOiB2b2lkO1xuXG4gIC8vIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBkZXN0cnVpciBvIGR5bmFtaWNGb3JtXG4gIGFic3RyYWN0IGRlc3Ryb3lEeW5hbWljRm9ybSgpOiB2b2lkO1xufVxuIl19
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLWxvb2t1cC9wby1sb29rdXAtbW9kYWwvcG8tbG9va3VwLW1vZGFsLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBNEIsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUV4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUV0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQVduRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBRTFFLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ3JDLEVBQUUsRUFBb0I7UUFDcEIsdUJBQXVCLEVBQUUsUUFBUTtRQUNqQyx5QkFBeUIsRUFBRSxRQUFRO1FBQ25DLGdCQUFnQixFQUFFLFFBQVE7UUFDMUIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsU0FBUztR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c0JBQXNCO1NBQ3JELENBQUM7SUFDSixDQUFDOztvR0E3WW1CLDBCQUEwQjs2RUFBMUIsMEJBQTBCO3VCQUNuQyxnQkFBZ0I7dUJBQ2hCLGdCQUFnQjs7Ozs7O0FBK0JpQjtJQUFmLFlBQVksRUFBRTtrRUFBaUM7QUFHdkM7SUFBZixZQUFZLEVBQUU7NERBQTJCO3VGQXBDM0MsMEJBQTBCO2NBRC9DLFNBQVM7b0dBRXVDLE9BQU87a0JBQXJELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ0UsT0FBTztrQkFBckQsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFhaEIsZUFBZTtrQkFBM0MsS0FBSzttQkFBQyxvQkFBb0I7WUFNUCxPQUFPO2tCQUExQixLQUFLO21CQUFDLFdBQVc7WUFHQSxLQUFLO2tCQUF0QixLQUFLO21CQUFDLFNBQVM7WUFHVyxhQUFhO2tCQUF2QyxLQUFLO21CQUFDLGtCQUFrQjtZQUdDLFlBQVk7a0JBQXJDLEtBQUs7bUJBQUMsaUJBQWlCO1lBR29CLGNBQWM7a0JBQXpELEtBQUs7bUJBQUMsbUJBQW1CO1lBR1csUUFBUTtrQkFBNUMsS0FBSzttQkFBQyxZQUFZO1lBR08sS0FBSztrQkFBOUIsTUFBTTttQkFBQyxnQkFBZ0I7WUFHRyxhQUFhO2tCQUF2QyxLQUFLO21CQUFDLGtCQUFrQjtZQUdELFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQVNFLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQVdjLG9CQUFvQjtrQkFBdkQsTUFBTTttQkFBQywwQkFBMEI7WUFXRSxvQkFBb0I7a0JBQXZELE1BQU07bUJBQUMsMEJBQTBCO1lBMERULFFBQVE7a0JBQWhDLEtBQUs7bUJBQUMsWUFBWTtZQXVCRyxLQUFLO2tCQUExQixLQUFLO21CQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIERpcmVjdGl2ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi9kZWNvcmF0b3JzJztcblxuaW1wb3J0IHsgaXNUeXBlb2YgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcbmltcG9ydCB7IFBvTW9kYWxBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL3BvLW1vZGFsJztcbmltcG9ydCB7IFBvTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL3BvLW1vZGFsL3BvLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU29ydCB9IGZyb20gJy4uLy4uLy4uL3BvLXRhYmxlL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLXNvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0VHlwZSB9IGZyb20gJy4uLy4uLy4uL3BvLXRhYmxlJztcbmltcG9ydCB7IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuLi8uLi8uLi9wby10YWJsZS9wby10YWJsZS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb0xvb2t1cENvbHVtbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tbG9va3VwLWNvbHVtbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBGaWx0ZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLWxvb2t1cC1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTG9va3VwRmlsdGVyZWRJdGVtc1BhcmFtcyB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tbG9va3VwLWZpbHRlcmVkLWl0ZW1zLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBMaXRlcmFscyB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tbG9va3VwLWxpdGVyYWxzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xvb2t1cFJlc3BvbnNlQXBpIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1sb29rdXAtcmVzcG9uc2UtYXBpLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0Rpc2NsYWltZXIgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWRpc2NsYWltZXIvcG8tZGlzY2xhaW1lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9EaXNjbGFpbWVyR3JvdXAgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWRpc2NsYWltZXItZ3JvdXAvcG8tZGlzY2xhaW1lci1ncm91cC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBBZHZhbmNlZEZpbHRlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG8tbG9va3VwLWFkdmFuY2VkLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vLi4vcG8tdGFibGUvcG8tdGFibGUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IHBvTG9va3VwTGl0ZXJhbHNEZWZhdWx0ID0ge1xuICBlbjogPFBvTG9va3VwTGl0ZXJhbHM+e1xuICAgIG1vZGFsUHJpbWFyeUFjdGlvbkxhYmVsOiAnU2VsZWN0JyxcbiAgICBtb2RhbFNlY29uZGFyeUFjdGlvbkxhYmVsOiAnQ2FuY2VsJyxcbiAgICBtb2RhbFBsYWNlaG9sZGVyOiAnU2VhcmNoJyxcbiAgICBtb2RhbFRpdGxlOiAnU2VsZWN0IGEgcmVjb3JkJyxcbiAgICBtb2RhbFRhYmxlTm9Db2x1bW5zOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVuLm5vQ29sdW1ucyxcbiAgICBtb2RhbFRhYmxlTm9EYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVuLm5vRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZGluZ0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQuZW4ubG9hZGluZ0RhdGEsXG4gICAgbW9kYWxUYWJsZUxvYWRNb3JlRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5lbi5sb2FkTW9yZURhdGEsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaDogJ0FkdmFuY2VkIHNlYXJjaCcsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFRpdGxlOiAnQWR2YW5jZWQgc2VhcmNoJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoUHJpbWFyeUFjdGlvbkxhYmVsOiAnRmlsdGVyJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICdSZXR1cm4nLFxuICAgIG1vZGFsRGlzY2xhaW1lckdyb3VwVGl0bGU6ICdQcmVzZW50aW5nIHJlc3VsdHMgZmlsdGVyZWQgYnk6J1xuICB9LFxuICBlczogPFBvTG9va3VwTGl0ZXJhbHM+e1xuICAgIG1vZGFsUHJpbWFyeUFjdGlvbkxhYmVsOiAnU2VsZWNjaW9uYXInLFxuICAgIG1vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICdDYW5jZWxhcicsXG4gICAgbW9kYWxQbGFjZWhvbGRlcjogJ0J1c2NhcicsXG4gICAgbW9kYWxUaXRsZTogJ1NlbGVjY2lvbmUgdW4gcmVnaXN0cm8nLFxuICAgIG1vZGFsVGFibGVOb0NvbHVtbnM6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQuZXMubm9Db2x1bW5zLFxuICAgIG1vZGFsVGFibGVOb0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQuZXMubm9EYXRhLFxuICAgIG1vZGFsVGFibGVMb2FkaW5nRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5lcy5sb2FkaW5nRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZE1vcmVEYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LmVzLmxvYWRNb3JlRGF0YSxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoOiAnQsO6c3F1ZWRhIEF2YW56YWRhJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoVGl0bGU6ICdCw7pzcXVlZGEgQXZhbnphZGEnLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hQcmltYXJ5QWN0aW9uTGFiZWw6ICdGaWx0cmFyJyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICdWdWVsdmUnLFxuICAgIG1vZGFsRGlzY2xhaW1lckdyb3VwVGl0bGU6ICdQcmVzZW50YXIgcmVzdWx0YWRvcyBmaWx0cmFkb3MgcG9yOidcbiAgfSxcbiAgcHQ6IDxQb0xvb2t1cExpdGVyYWxzPntcbiAgICBtb2RhbFByaW1hcnlBY3Rpb25MYWJlbDogJ1NlbGVjaW9uYXInLFxuICAgIG1vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWw6ICdDYW5jZWxhcicsXG4gICAgbW9kYWxQbGFjZWhvbGRlcjogJ1Blc3F1aXNhcicsXG4gICAgbW9kYWxUaXRsZTogJ1NlbGVjaW9uZSB1bSByZWdpc3RybycsXG4gICAgbW9kYWxUYWJsZU5vQ29sdW1uczogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5wdC5ub0NvbHVtbnMsXG4gICAgbW9kYWxUYWJsZU5vRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5wdC5ub0RhdGEsXG4gICAgbW9kYWxUYWJsZUxvYWRpbmdEYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LnB0LmxvYWRpbmdEYXRhLFxuICAgIG1vZGFsVGFibGVMb2FkTW9yZURhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucHQubG9hZE1vcmVEYXRhLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2g6ICdCdXNjYSBhdmFuw6dhZGEnLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hUaXRsZTogJ0J1c2NhIEF2YW7Dp2FkYScsXG4gICAgbW9kYWxBZHZhbmNlZFNlYXJjaFByaW1hcnlBY3Rpb25MYWJlbDogJ0ZpbHRyYXInLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hTZWNvbmRhcnlBY3Rpb25MYWJlbDogJ1ZvbHRhcicsXG4gICAgbW9kYWxEaXNjbGFpbWVyR3JvdXBUaXRsZTogJ0FwcmVzZW50YW5kbyByZXN1bHRhZG9zIGZpbHRyYWRvcyBwb3I6J1xuICB9LFxuICBydTogPFBvTG9va3VwTGl0ZXJhbHM+e1xuICAgIG1vZGFsUHJpbWFyeUFjdGlvbkxhYmVsOiAn0LLRi9Cx0LjRgNCw0YLRjCcsXG4gICAgbW9kYWxTZWNvbmRhcnlBY3Rpb25MYWJlbDogJ9C+0YLQvNC10L3QuNGC0YwnLFxuICAgIG1vZGFsUGxhY2Vob2xkZXI6ICfQv9C+0LjRgdC6JyxcbiAgICBtb2RhbFRpdGxlOiAn0JLRi9Cx0LXRgNC40YLQtSDQt9Cw0L/QuNGB0YwnLFxuICAgIG1vZGFsVGFibGVOb0NvbHVtbnM6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucnUubm9Db2x1bW5zLFxuICAgIG1vZGFsVGFibGVOb0RhdGE6IHBvVGFibGVMaXRlcmFsc0RlZmF1bHQucnUubm9EYXRhLFxuICAgIG1vZGFsVGFibGVMb2FkaW5nRGF0YTogcG9UYWJsZUxpdGVyYWxzRGVmYXVsdC5ydS5sb2FkaW5nRGF0YSxcbiAgICBtb2RhbFRhYmxlTG9hZE1vcmVEYXRhOiBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0LnJ1LmxvYWRNb3JlRGF0YSxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoOiAn0KDQsNGB0YjQuNGA0LXQvdC90YvQuSDQv9C+0LjRgdC6JyxcbiAgICBtb2RhbEFkdmFuY2VkU2VhcmNoVGl0bGU6ICfQoNCw0YHRiNC40YDQtdC90L3Ri9C5INC/0L7QuNGB0LonLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hQcmltYXJ5QWN0aW9uTGFiZWw6ICfQpNC40LvRjNGC0YAnLFxuICAgIG1vZGFsQWR2YW5jZWRTZWFyY2hTZWNvbmRhcnlBY3Rpb25MYWJlbDogJ9CS0LXRgNC90LjRgdGMJyxcbiAgICBtb2RhbERpc2NsYWltZXJHcm91cFRpdGxlOiAn0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQvtGC0YTQuNC70YzRgtGA0L7QstCw0L3QviDQv9C+OidcbiAgfVxufTtcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBDbGFzc2UgYmFzZSBkbyBjb21wb25lbnRlIFBvIExvb2t1cCBNb2RhbC5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9Mb29rdXBNb2RhbEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoUG9Nb2RhbENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcG9Nb2RhbDogUG9Nb2RhbENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChQb1RhYmxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwb1RhYmxlOiBQb1RhYmxlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBPYmpldG8gY29tIG9zIGNhbXBvcyBxdWUgc2Vyw6NvIGNyaWFkb3Mgbm8gYnVzY2EgYXZhbsOnYWRhLlxuICAgKlxuICAgKiA+IENhc28gbsOjbyBzZWphIHBhc3NhZG8gdW0gb2JqZXRvIG91IGVudMOjbyBlbGUgZXN0ZWphIGVtIGJyYW5jbyBvIGxpbmsgZGUgYnVzY2EgYXZhbsOnYWRhIGZpY2Fyw6EgZXNjb25kaWRvLlxuICAgKlxuICAgKiBFeGVtcGxvIGRlIFVSTCBjb20gYnVzY2EgYXZhbsOnYWRhOiBodHRwOi8vbG9jYWxob3N0OjMwMDAvdjEvaGVyb2VzP2ZpbHRlcj0mcGFnZT0xJnBhZ2VTaXplPTEwYCZuYW1lPVRvbnklMjBTdGFyayZuaWNrbmFtZT1Ib21lbSUyMGRlJTIwRmVycm8mZW1haWw9aXJubWFuQG1hcnZlbC5jb21gXG4gICAqXG4gICAqIENhc28gYWxndW0gcGFyw6JtZXRybyBzZWphIHVtYSBsaXN0YSwgYSBjb25jYXRlbmHDp8OjbyDDqSBmZWl0YSB1dGlsaXphbmRvIHZpcmd1bGEuXG4gICAqIEV4ZW1wbG86IGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC92MS9oZXJvZXM/ZmlsdGVyPSZwYWdlPTEmcGFnZVNpemU9MTBgJm5hbWU9VG9ueSUyMFN0YXJrLFBldGVyJTIwUGFya2VyLEdvaGFuYFxuICAgKlxuICAgKi9cbiAgQElucHV0KCdwLWFkdmFuY2VkLWZpbHRlcnMnKSBhZHZhbmNlZEZpbHRlcnM6IEFycmF5PFBvTG9va3VwQWR2YW5jZWRGaWx0ZXI+O1xuXG4gIC8qKlxuICAgKiBMaXN0YSBkYXMgY29sdW5hcyBkYSB0YWJlbGEuXG4gICAqIEVzc2EgcHJvcHJpZWRhZGUgZGV2ZSByZWNlYmVyIHVtIGFycmF5IGRlIG9iamV0b3MgcXVlIGltcGxlbWVudGFtIGEgaW50ZXJmYWNlIFBvTG9va3VwQ29sdW1uLlxuICAgKi9cbiAgQElucHV0KCdwLWNvbHVtbnMnKSBjb2x1bW5zOiBBcnJheTxQb0xvb2t1cENvbHVtbj47XG5cbiAgLyoqIExpc3RhIGRlIGl0ZW5zIGRhIHRhYmVsYS4gKi9cbiAgQElucHV0KCdwLWl0ZW1zJykgaXRlbXM6IEFycmF5PGFueT47XG5cbiAgLyoqIENsYXNzZSBkZSBzZXJ2acOnbyBjb20gYSBpbXBsZW1lbnRhw6fDo28gZG8gY2xpZW50ZS4gKi9cbiAgQElucHV0KCdwLWZpbHRlci1zZXJ2aWNlJykgZmlsdGVyU2VydmljZTogUG9Mb29rdXBGaWx0ZXI7XG5cbiAgLyoqIENsYXNzZSBkZSBzZXJ2acOnbyBjb20gYSBpbXBsZW1lbnRhw6fDo28gZG8gY2xpZW50ZS4gKi9cbiAgQElucHV0KCdwLWZpbHRlci1wYXJhbXMnKSBmaWx0ZXJQYXJhbXM6IGFueTtcblxuICAvKiogU2UgdmVyZGFkZWlybywgYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBhIHRhYmVsYSBleGliaWRhIG5vIHJldG9ybm8gZGEgY29uc3VsdGEuICovXG4gIEBJbnB1dCgncC1pbmZpbml0ZS1zY3JvbGwnKSBASW5wdXRCb29sZWFuKCkgaW5maW5pdGVTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2UgdmVyZGFkZWlybywgYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBtdWx0aXBsYSBzZWxlw6fDo28uICovXG4gIEBJbnB1dCgncC1tdWx0aXBsZScpIEBJbnB1dEJvb2xlYW4oKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBFdmVudG8gdXRpbGl6YWRvIGFvIHNlbGVjaW9uYXIgdW0gcmVnaXN0cm8gZGEgdGFiZWxhLiAqL1xuICBAT3V0cHV0KCdwLWNoYW5nZS1tb2RlbCcpIG1vZGVsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIC8qKiBDbGFzc2UgZGUgc2VydmnDp28gY29tIGl0ZW1zIHNlbGVjaW9uYWRvcyAqL1xuICBASW5wdXQoJ3Atc2VsZWN0ZWQtaXRlbXMnKSBzZWxlY3RlZEl0ZW1zOiBhbnk7XG5cbiAgLyoqIEluZGljYSBhIGNvbHVuYSBxdWUgc2Vyw6EgdXRpbGl6YWRhIGNvbW8gZGVzY3Jpw6fDo28gZG8gY2FtcG8gZSBjb21vIGZpbHRybyBkZW50cm8gZGEgamFuZWxhLiAqL1xuICBASW5wdXQoJ3AtZmllbGQtbGFiZWwnKSBmaWVsZExhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmRpY2EgYSBjb2x1bmEgcXVlIHNlcsOhIHV0aWxpemFkYSBjb21vIHZhbG9yIGRvIGNhbXBvLlxuICAgKlxuICAgKiA+IEF0ZW7Dp8OjbzogQ2FzbyBuw6NvIHNlamEgcGFzc2FkYSBvdSB0ZW5oYSBvIGNvbnRlw7pkbyBpbmNvcnJldG8sIG7Do28gaXLDoSBhdHVhbGl6YXIgbyBtb2RlbCBkbyBmb3JtdWzDoXJpby5cbiAgICovXG4gIEBJbnB1dCgncC1maWVsZC12YWx1ZScpIGZpZWxkVmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBvcG92ZXIgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyB2aXPDrXZlaXMgYXR1YWxpemFkYXMuXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXZpc2libGUtY29sdW1ucycpIGNoYW5nZVZpc2libGVDb2x1bW5zID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSByZXN0YXVyYXIgcGFkcsOjbyBubyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzLlxuICAgKlxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyBjb25maWd1cmFkYXMgaW5pY2lhbG1lbnRlLlxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXG4gICAqL1xuICBAT3V0cHV0KCdwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXInKSBjb2x1bW5SZXN0b3JlTWFuYWdlciA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8U3RyaW5nPj4oKTtcblxuICBoYXNOZXh0ID0gdHJ1ZTtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHBhZ2UgPSAxO1xuICBwYWdlU2l6ZSA9IDEwO1xuICBzZWFyY2hWYWx1ZTogc3RyaW5nID0gJyc7XG4gIHRhYmxlTGl0ZXJhbHM6IGFueTtcblxuICAvLyBQcm9wcmllZGFkZSBkYSBtb2RhbCBkZSBidXNjYSBhdmFuw6dhZGE6XG4gIGFkdmFuY2VkRmlsdGVyTW9kYWxUaXRsZSA9ICcnO1xuICBkeW5hbWljRm9ybVZhbHVlID0ge307XG4gIGRpc2NsYWltZXIhOiBQb0Rpc2NsYWltZXI7XG4gIGRpc2NsYWltZXJHcm91cCE6IFBvRGlzY2xhaW1lckdyb3VwO1xuICBpc0FkdmFuY2VkRmlsdGVyID0gZmFsc2U7XG4gIHByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlciE6IFBvTW9kYWxBY3Rpb247XG4gIHNlY29uZGFyeUFjdGlvbkFkdmFuY2VkRmlsdGVyITogUG9Nb2RhbEFjdGlvbjtcbiAgc2VsZWN0ZWRzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgcHJvdGVjdGVkIHNvcnQ6IFBvVGFibGVDb2x1bW5Tb3J0O1xuXG4gIHByaXZhdGUgZmlsdGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2VhcmNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2hvd01vcmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIF9saXRlcmFsczogUG9Mb29rdXBMaXRlcmFscztcbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcbiAgcHJpdmF0ZSBsYW5ndWFnZTogc3RyaW5nID0gcG9Mb2NhbGVEZWZhdWx0O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gIHByaW1hcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7XG4gICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICBsZXQgc2VsZWN0ZWRzSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgaWYgKGVsZW1lbnRbJyRzZWxlY3RlZCddKSB7XG4gICAgICAgICAgICBzZWxlY3RlZHNJdGVtcy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RlZHNJdGVtcyA9IHRoaXMuc2VsZWN0ZWRzO1xuICAgICAgfVxuICAgICAgdGhpcy5tb2RlbC5lbWl0KHNlbGVjdGVkc0l0ZW1zKTtcbiAgICAgIHRoaXMucG9Nb2RhbC5jbG9zZSgpO1xuICAgIH0sXG4gICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMubW9kYWxQcmltYXJ5QWN0aW9uTGFiZWxcbiAgfTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICBzZWNvbmRhcnlBY3Rpb246IFBvTW9kYWxBY3Rpb24gPSB7XG4gICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICB0aGlzLm1vZGVsLmVtaXQobnVsbCk7XG4gICAgICB0aGlzLnBvTW9kYWwuY2xvc2UoKTtcbiAgICB9LFxuICAgIGxhYmVsOiB0aGlzLmxpdGVyYWxzLm1vZGFsU2Vjb25kYXJ5QWN0aW9uTGFiZWxcbiAgfTtcblxuICAvKiogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgbm8gYHBvLWxvb2t1cC1tb2RhbGAuICovXG4gIEBJbnB1dCgncC1saXRlcmFscycpIHNldCBsaXRlcmFscyh2YWx1ZTogUG9Mb29rdXBMaXRlcmFscykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XG4gICAgICB0aGlzLl9saXRlcmFscyA9IHtcbiAgICAgICAgLi4ucG9Mb29rdXBMaXRlcmFsc0RlZmF1bHRbcG9Mb2NhbGVEZWZhdWx0XSxcbiAgICAgICAgLi4ucG9Mb29rdXBMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXG4gICAgICAgIC4uLnZhbHVlXG4gICAgICB9O1xuICAgICAgaWYgKHZhbHVlLm1vZGFsVGl0bGUpIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMubGl0ZXJhbHMubW9kYWxUaXRsZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSBwb0xvb2t1cExpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXTtcbiAgICB9XG4gICAgdGhpcy5wcmltYXJ5QWN0aW9uLmxhYmVsID0gdGhpcy5saXRlcmFscy5tb2RhbFByaW1hcnlBY3Rpb25MYWJlbDtcbiAgICB0aGlzLnNlY29uZGFyeUFjdGlvbi5sYWJlbCA9IHRoaXMubGl0ZXJhbHMubW9kYWxTZWNvbmRhcnlBY3Rpb25MYWJlbDtcbiAgICB0aGlzLnNldFRhYmxlTGl0ZXJhbHMoKTtcbiAgfVxuXG4gIGdldCBsaXRlcmFscygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGl0ZXJhbHMgfHwgcG9Mb29rdXBMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gIH1cblxuICAvKiogVMOtdHVsbyBkYSBtb2RhbC4gKi9cbiAgQElucHV0KCdwLXRpdGxlJykgc2V0IHRpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aXRsZSA9IGlzVHlwZW9mKHZhbHVlLCAnc3RyaW5nJykgPyB2YWx1ZSA6IHRoaXMubGl0ZXJhbHMubW9kYWxUaXRsZTtcbiAgfVxuXG4gIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLCBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZmlsdGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VhcmNoU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3dNb3JlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnNob3dNb3JlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRBZHZhbmNlZEZpbHRlck1vZGFsUHJvcGVydGllcygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgICB0aGlzLnNldFRhYmxlTGl0ZXJhbHMoKTtcbiAgfVxuXG4gIGNyZWF0ZURpc2NsYWltZXIoKSB7XG4gICAgdGhpcy5kaXNjbGFpbWVyR3JvdXAuZGlzY2xhaW1lcnMgPSBbXTtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLmR5bmFtaWNGb3JtVmFsdWUpKSB7XG4gICAgICB0aGlzLmFkZERpc2NsYWltZXIodmFsdWUsIGtleSk7XG4gICAgfVxuXG4gICAgaWYgKCFPYmplY3QudmFsdWVzKHRoaXMuZHluYW1pY0Zvcm1WYWx1ZSkuc29tZSh2ID0+IHYgIT09IG51bGwgJiYgdHlwZW9mIHYgIT09ICd1bmRlZmluZWQnKSkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIGFkZERpc2NsYWltZXIodmFsdWU6IGFueSwgcHJvcGVydHk6IHN0cmluZykge1xuICAgIHRoaXMuZGlzY2xhaW1lciA9IDxhbnk+eyBwcm9wZXJ0eTogcHJvcGVydHkgfTtcbiAgICB0aGlzLmRpc2NsYWltZXIudmFsdWUgPSB2YWx1ZTtcblxuICAgIHRoaXMuZGlzY2xhaW1lckdyb3VwLmRpc2NsYWltZXJzID0gWy4uLnRoaXMuZGlzY2xhaW1lckdyb3VwLmRpc2NsYWltZXJzLCB0aGlzLmRpc2NsYWltZXJdO1xuICB9XG5cbiAgb25DaGFuZ2VEaXNjbGFpbWVyR3JvdXAoKSB7XG4gICAgaWYgKCF0aGlzLnNlYXJjaFZhbHVlKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG5cbiAgICAgIHRoaXMuc2VhcmNoRmlsdGVyZWRJdGVtcygpO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGlzY2xhaW1lckdyb3VwLmRpc2NsYWltZXJzID0gW107XG5cbiAgICAgIHRoaXMuc2VhcmNoRmlsdGVyZWRJdGVtcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoRmlsdGVyZWRJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0RmlsdGVyZWRJdGVtcyh0aGlzLnNlYXJjaFZhbHVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0TG9va3VwUmVzcG9uc2VQcm9wZXJ0aWVzKCk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKGRhdGE6IFBvTG9va3VwUmVzcG9uc2VBcGkpID0+IHRoaXMuc2V0TG9va3VwUmVzcG9uc2VQcm9wZXJ0aWVzKGRhdGEpLFxuICAgICAgICAoKSA9PiB7fVxuICAgICAgKTtcbiAgfVxuXG4gIHNob3dNb3JlRXZlbnQoKSB7XG4gICAgdGhpcy5wYWdlKys7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgdGhpcy5zaG93TW9yZVN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0RmlsdGVyZWRJdGVtcyh0aGlzLnNlYXJjaFZhbHVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuaGFzTmV4dCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKGRhdGE6IFBvTG9va3VwUmVzcG9uc2VBcGkpID0+IHtcbiAgICAgICAgICB0aGlzLml0ZW1zID0gWy4uLnRoaXMuaXRlbXMsIC4uLmRhdGEuaXRlbXNdO1xuICAgICAgICAgIHRoaXMuaGFzTmV4dCA9IGRhdGEuaGFzTmV4dDtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRJdGVtcygpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7fVxuICAgICAgKTtcbiAgfVxuXG4gIC8vTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIHNlbGVjaW9uYXIgYXMgbGluaGFzIHF1YW5kbyBhYnJlIG8gbW9kYWwuXG4gIHNldFNlbGVjdGVkSXRlbXMoKSB7XG4gICAgdGhpcy5zZWxlY3RlZHMuZm9yRWFjaChzZWxlY3RlZEl0ZW0gPT4ge1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5wb1RhYmxlLnNlbGVjdFJvd0l0ZW0oaXRlbSA9PiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0gPT09IHNlbGVjdGVkSXRlbS52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBvVGFibGUuc2VsZWN0Um93SXRlbShpdGVtID0+IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSA9PT0gc2VsZWN0ZWRJdGVtW3RoaXMuZmllbGRWYWx1ZV0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy9Nw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgY3JpYXIgb3MgZGlzY2xhaW1lcnMgcXVhbmRvIGFicmUgbyBtb2RhbC5cbiAgc2V0RGlzY2xhaW1lcnNJdGVtcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zICYmICFBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWRJdGVtcykpIHtcbiAgICAgIHRoaXMubXVsdGlwbGUgPyAodGhpcy5zZWxlY3RlZHMgPSBbeyB2YWx1ZTogdGhpcy5zZWxlY3RlZEl0ZW1zIH1dKSA6ICh0aGlzLnNlbGVjdGVkcyA9IFt0aGlzLnNlbGVjdGVkSXRlbXNdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRzID0gWy4uLnRoaXMuc2VsZWN0ZWRJdGVtc107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBZHZhbmNlZEZpbHRlck1vZGFsUHJvcGVydGllcygpIHtcbiAgICB0aGlzLmFkdmFuY2VkRmlsdGVyTW9kYWxUaXRsZSA9IHRoaXMubGl0ZXJhbHMubW9kYWxBZHZhbmNlZFNlYXJjaFRpdGxlO1xuXG4gICAgdGhpcy5kaXNjbGFpbWVyR3JvdXAgPSB7XG4gICAgICB0aXRsZTogdGhpcy5saXRlcmFscy5tb2RhbERpc2NsYWltZXJHcm91cFRpdGxlLFxuICAgICAgZGlzY2xhaW1lcnM6IFtdXG4gICAgfTtcblxuICAgIHRoaXMucHJpbWFyeUFjdGlvbkFkdmFuY2VkRmlsdGVyID0ge1xuICAgICAgYWN0aW9uOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNGb3JtKCk7XG4gICAgICAgIHRoaXMuaXNBZHZhbmNlZEZpbHRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnBhZ2UgPSAxO1xuICAgICAgICB0aGlzLmNyZWF0ZURpc2NsYWltZXIoKTtcbiAgICAgIH0sXG4gICAgICBsYWJlbDogdGhpcy5saXRlcmFscy5tb2RhbEFkdmFuY2VkU2VhcmNoUHJpbWFyeUFjdGlvbkxhYmVsXG4gICAgfTtcblxuICAgIHRoaXMuc2Vjb25kYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIgPSB7XG4gICAgICBhY3Rpb246ICgpID0+IHtcbiAgICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0Zvcm0oKTtcbiAgICAgICAgdGhpcy5pc0FkdmFuY2VkRmlsdGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgbGFiZWw6IHRoaXMubGl0ZXJhbHMubW9kYWxBZHZhbmNlZFNlYXJjaFNlY29uZGFyeUFjdGlvbkxhYmVsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWR2YW5jZWRGaWx0ZXJzKGFkdmFuY2VkUGFyYW1zOiBhbnkpIHtcbiAgICBpZiAoYWR2YW5jZWRQYXJhbXMgJiYgYWR2YW5jZWRQYXJhbXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsdGVyczogT2JqZWN0ID0ge307XG4gICAgICBsZXQgdmFsaWRhdGVkQWR2YWNlbmRGaWx0ZXJzOiBhbnk7XG5cbiAgICAgIGFkdmFuY2VkUGFyYW1zLmZvckVhY2goKGZpbHRlcjogYW55KSA9PiB7XG4gICAgICAgIGZpbHRlcnNbZmlsdGVyLnByb3BlcnR5XSA9IGZpbHRlci52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gZmlsdGVyLnZhbHVlLmpvaW4oKSA6IGZpbHRlci52YWx1ZTtcblxuICAgICAgICB2YWxpZGF0ZWRBZHZhY2VuZEZpbHRlcnMgPSB7IC4uLnZhbGlkYXRlZEFkdmFjZW5kRmlsdGVycywgLi4uZmlsdGVycyB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB2YWxpZGF0ZWRBZHZhY2VuZEZpbHRlcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyZWRJdGVtcyhmaWx0ZXI6IHN0cmluZyk6IE9ic2VydmFibGU8UG9Mb29rdXBSZXNwb25zZUFwaT4ge1xuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBQb0xvb2t1cEZpbHRlcmVkSXRlbXNQYXJhbXMgPSB0aGlzLmdldEZpbHRlcmVkUGFyYW1zKGZpbHRlcik7XG5cbiAgICByZXR1cm4gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlcmVkSXRlbXMoZmlsdGVyZWRQYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXJlZFBhcmFtcyhmaWx0ZXI6IHN0cmluZykge1xuICAgIGNvbnN0IHsgcGFnZSwgcGFnZVNpemUsIGZpbHRlclBhcmFtcywgc29ydCB9ID0gdGhpcztcblxuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zID0ge307XG4gICAgY29uc3Qgb3JkZXIgPSB0aGlzLmdldE9yZGVyUGFyYW0oc29ydCk7XG4gICAgY29uc3QgYWR2YW5jZWRGaWx0ZXJzID0gdGhpcy5nZXRBZHZhbmNlZEZpbHRlcnModGhpcy5kaXNjbGFpbWVyR3JvdXAuZGlzY2xhaW1lcnMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgZmlsdGVyLCBwYWdlLCBwYWdlU2l6ZSwgb3JkZXIsIGZpbHRlclBhcmFtcywgYWR2YW5jZWRGaWx0ZXJzIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbXMpIHtcbiAgICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBwYXJhbXNba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGZpbHRlcmVkUGFyYW1zW2tleV0gPSBwYXJhbXNba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVyZWRQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIGdldE9yZGVyUGFyYW0oc29ydDogUG9UYWJsZUNvbHVtblNvcnQgPSB7IHR5cGU6IHVuZGVmaW5lZCB9KSB7XG4gICAgY29uc3QgeyBjb2x1bW4sIHR5cGUgfSA9IHNvcnQ7XG5cbiAgICBpZiAoIWNvbHVtbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSBQb1RhYmxlQ29sdW1uU29ydFR5cGUuRGVzY2VuZGluZykge1xuICAgICAgcmV0dXJuIGAtJHtjb2x1bW4ucHJvcGVydHl9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7Y29sdW1uLnByb3BlcnR5fWA7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVEYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuZmlsdGVyU3Vic2NyaXB0aW9uID0gdGhpcy5nZXRGaWx0ZXJlZEl0ZW1zKCcnKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLnNldExvb2t1cFJlc3BvbnNlUHJvcGVydGllcyhkYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9va3VwUmVzcG9uc2VQcm9wZXJ0aWVzKGRhdGE/OiBQb0xvb2t1cFJlc3BvbnNlQXBpKSB7XG4gICAgdGhpcy5pdGVtcyA9IGRhdGE/Lml0ZW1zID8/IFtdO1xuICAgIHRoaXMuaGFzTmV4dCA9IGRhdGE/Lmhhc05leHQgPz8gZmFsc2U7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnNldERpc2NsYWltZXJzSXRlbXMoKTtcbiAgICB0aGlzLnNldFNlbGVjdGVkSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFibGVMaXRlcmFscygpIHtcbiAgICB0aGlzLnRhYmxlTGl0ZXJhbHMgPSB7XG4gICAgICAnbm9Db2x1bW5zJzogdGhpcy5saXRlcmFscy5tb2RhbFRhYmxlTm9Db2x1bW5zLFxuICAgICAgJ25vRGF0YSc6IHRoaXMubGl0ZXJhbHMubW9kYWxUYWJsZU5vRGF0YSxcbiAgICAgICdsb2FkaW5nRGF0YSc6IHRoaXMubGl0ZXJhbHMubW9kYWxUYWJsZUxvYWRpbmdEYXRhLFxuICAgICAgJ2xvYWRNb3JlRGF0YSc6IHRoaXMubGl0ZXJhbHMubW9kYWxUYWJsZUxvYWRNb3JlRGF0YVxuICAgIH07XG4gIH1cblxuICAvLyBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgYWJyaXIgYSBtb2RhbCBkZSBidXNjYSBkYXMgaW5mb3JtYcOnw7Vlcy5cbiAgYWJzdHJhY3Qgb3Blbk1vZGFsKCk6IHZvaWQ7XG5cbiAgLy8gTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGRlc3RydWlyIG8gZHluYW1pY0Zvcm1cbiAgYWJzdHJhY3QgZGVzdHJveUR5bmFtaWNGb3JtKCk6IHZvaWQ7XG59XG4iXX0=
|
package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs
CHANGED
|
@@ -159,7 +159,7 @@ PoLookupModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLo
|
|
|
159
159
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poTable = _t.first);
|
|
160
160
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputSearchEl = _t.first);
|
|
161
161
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
|
|
162
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 24, consts: [["p-click-out", "false", "p-hide-close", "false", "p-size", "lg", 3, "p-primary-action", "p-secondary-action", "p-title"], [3, "hidden"], [1, "po-lookup-header", "po-pull-right", 3, "p-optional"], [1, "po-lookup-filter-content"], [1, "po-field-icon-container-right"], [1, "po-icon", "po-field-icon", "po-icon-search", 3, "click"], ["iconLookup", ""], ["name", "contentSearch", "type", "text", 1, "po-input", "po-input-icon-right", 3, "ngModel", "placeholder", "ngModelChange"], ["inpsearch", ""], ["class", "po-lookup-advanced-search", 4, "ngIf"], ["class", "po-md-12", 3, "p-disclaimers", "p-title", "p-change", 4, "ngIf"], [1, "po-row", "po-lookup-container-table"], [1, "po-md-12", 3, "p-selectable", "p-hide-detail", "p-single-select", "p-sort", "p-columns", "p-height", "p-items", "p-literals", "p-loading", "p-show-more-disabled", "p-infinite-scroll", "p-selected", "p-unselected", "p-all-selected", "p-all-unselected", "p-show-more", "p-sort-by"], ["poTable", ""], ["class", "po-md-12", 3, "p-disclaimers", "p-remove", "p-remove-all", 4, "ngIf"], ["container", ""], [1, "po-lookup-advanced-search"], ["tabindex", "0", "tabindex", "0", 1, "po-lookup-advanced-search-link", 3, "click", "keydown.enter"], [1, "po-md-12", 3, "p-disclaimers", "p-title", "p-change"], [1, "po-md-12", 3, "p-disclaimers", "p-remove", "p-remove-all"]], template: function PoLookupModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 18, vars: 24, consts: [["p-click-out", "false", "p-hide-close", "false", "p-size", "lg", 3, "p-primary-action", "p-secondary-action", "p-title"], [3, "hidden"], [1, "po-lookup-header", "po-pull-right", 3, "p-optional"], [1, "po-lookup-filter-content"], [1, "po-field-icon-container-right"], [1, "po-icon", "po-field-icon", "po-icon-search", 3, "click"], ["iconLookup", ""], ["name", "contentSearch", "type", "text", 1, "po-input", "po-input-icon-right", 3, "ngModel", "placeholder", "ngModelChange"], ["inpsearch", ""], ["class", "po-lookup-advanced-search", 4, "ngIf"], ["class", "po-md-12", 3, "p-disclaimers", "p-title", "p-change", 4, "ngIf"], [1, "po-row", "po-lookup-container-table"], [1, "po-md-12", 3, "p-selectable", "p-hide-detail", "p-single-select", "p-sort", "p-columns", "p-height", "p-items", "p-literals", "p-loading", "p-show-more-disabled", "p-infinite-scroll", "p-selected", "p-unselected", "p-all-selected", "p-all-unselected", "p-show-more", "p-sort-by", "p-change-visible-columns", "p-restore-column-manager"], ["poTable", ""], ["class", "po-md-12", 3, "p-disclaimers", "p-remove", "p-remove-all", 4, "ngIf"], ["container", ""], [1, "po-lookup-advanced-search"], ["tabindex", "0", "tabindex", "0", 1, "po-lookup-advanced-search-link", 3, "click", "keydown.enter"], [1, "po-md-12", 3, "p-disclaimers", "p-title", "p-change"], [1, "po-md-12", 3, "p-disclaimers", "p-remove", "p-remove-all"]], template: function PoLookupModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
163
163
|
i0.ɵɵelementStart(0, "po-modal", 0)(1, "div", 1)(2, "po-field-container", 2)(3, "div", 3)(4, "div", 4)(5, "span", 5, 6);
|
|
164
164
|
i0.ɵɵlistener("click", function PoLookupModalComponent_Template_span_click_5_listener() { return ctx.search(); });
|
|
165
165
|
i0.ɵɵelementEnd()();
|
|
@@ -170,7 +170,7 @@ PoLookupModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLo
|
|
|
170
170
|
i0.ɵɵelementEnd();
|
|
171
171
|
i0.ɵɵtemplate(10, PoLookupModalComponent_po_disclaimer_group_10_Template, 1, 2, "po-disclaimer-group", 10);
|
|
172
172
|
i0.ɵɵelementStart(11, "div", 11)(12, "po-table", 12, 13);
|
|
173
|
-
i0.ɵɵlistener("p-selected", function PoLookupModalComponent_Template_po_table_p_selected_12_listener($event) { return ctx.onSelect($event); })("p-unselected", function PoLookupModalComponent_Template_po_table_p_unselected_12_listener($event) { return ctx.onUnselect($event); })("p-all-selected", function PoLookupModalComponent_Template_po_table_p_all_selected_12_listener($event) { return ctx.onAllSelected($event); })("p-all-unselected", function PoLookupModalComponent_Template_po_table_p_all_unselected_12_listener($event) { return ctx.onAllUnselected($event); })("p-show-more", function PoLookupModalComponent_Template_po_table_p_show_more_12_listener() { return ctx.showMoreEvent(); })("p-sort-by", function PoLookupModalComponent_Template_po_table_p_sort_by_12_listener($event) { return ctx.sortBy($event); });
|
|
173
|
+
i0.ɵɵlistener("p-selected", function PoLookupModalComponent_Template_po_table_p_selected_12_listener($event) { return ctx.onSelect($event); })("p-unselected", function PoLookupModalComponent_Template_po_table_p_unselected_12_listener($event) { return ctx.onUnselect($event); })("p-all-selected", function PoLookupModalComponent_Template_po_table_p_all_selected_12_listener($event) { return ctx.onAllSelected($event); })("p-all-unselected", function PoLookupModalComponent_Template_po_table_p_all_unselected_12_listener($event) { return ctx.onAllUnselected($event); })("p-show-more", function PoLookupModalComponent_Template_po_table_p_show_more_12_listener() { return ctx.showMoreEvent(); })("p-sort-by", function PoLookupModalComponent_Template_po_table_p_sort_by_12_listener($event) { return ctx.sortBy($event); })("p-change-visible-columns", function PoLookupModalComponent_Template_po_table_p_change_visible_columns_12_listener($event) { return ctx.changeVisibleColumns.emit($event); })("p-restore-column-manager", function PoLookupModalComponent_Template_po_table_p_restore_column_manager_12_listener($event) { return ctx.columnRestoreManager.emit($event); });
|
|
174
174
|
i0.ɵɵelementEnd()();
|
|
175
175
|
i0.ɵɵtemplate(14, PoLookupModalComponent_po_disclaimer_group_14_Template, 1, 1, "po-disclaimer-group", 14);
|
|
176
176
|
i0.ɵɵelementEnd();
|
|
@@ -200,7 +200,7 @@ PoLookupModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLo
|
|
|
200
200
|
} }, dependencies: [i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgModel, i4.PoDisclaimerGroupComponent, i5.PoFieldContainerComponent, i6.PoModalComponent, i7.PoTableComponent], encapsulation: 2, changeDetection: 0 });
|
|
201
201
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoLookupModalComponent, [{
|
|
202
202
|
type: Component,
|
|
203
|
-
args: [{ selector: 'po-lookup-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-modal\n p-click-out=\"false\"\n p-hide-close=\"false\"\n p-size=\"lg\"\n [p-primary-action]=\"isAdvancedFilter ? primaryActionAdvancedFilter : primaryAction\"\n [p-secondary-action]=\"isAdvancedFilter ? secondaryActionAdvancedFilter : secondaryAction\"\n [p-title]=\"isAdvancedFilter ? advancedFilterModalTitle : title\"\n>\n <div [hidden]=\"isAdvancedFilter\">\n <po-field-container class=\"po-lookup-header po-pull-right\" [p-optional]=\"false\">\n <div class=\"po-lookup-filter-content\">\n <div class=\"po-field-icon-container-right\">\n <span #iconLookup class=\"po-icon po-field-icon po-icon-search\" (click)=\"search()\"> </span>\n </div>\n\n <input\n #inpsearch\n class=\"po-input po-input-icon-right\"\n name=\"contentSearch\"\n [(ngModel)]=\"searchValue\"\n [placeholder]=\"literals.modalPlaceholder\"\n type=\"text\"\n />\n </div>\n\n <div *ngIf=\"advancedFilters && advancedFilters.length > 0\" class=\"po-lookup-advanced-search\">\n <span\n class=\"po-lookup-advanced-search-link\"\n tabindex=\"0\"\n (click)=\"onAdvancedFilter()\"\n (keydown.enter)=\"onAdvancedFilter()\"\n tabindex=\"0\"\n >\n {{ literals.modalAdvancedSearch }}\n </span>\n </div>\n </po-field-container>\n\n <!-- DISCLAIMER -->\n <po-disclaimer-group\n *ngIf=\"!!disclaimerGroup\"\n class=\"po-md-12\"\n [p-disclaimers]=\"disclaimerGroup?.disclaimers\"\n [p-title]=\"disclaimerGroup?.title\"\n (p-change)=\"onChangeDisclaimerGroup()\"\n >\n </po-disclaimer-group>\n\n <div class=\"po-row po-lookup-container-table\" [style.height.px]=\"containerHeight\">\n <po-table\n #poTable\n class=\"po-md-12\"\n [p-selectable]=\"true\"\n [p-hide-detail]=\"true\"\n [p-single-select]=\"!multiple\"\n [p-sort]=\"true\"\n [p-columns]=\"columns\"\n [p-height]=\"tableHeight\"\n [p-items]=\"items\"\n [p-literals]=\"tableLiterals\"\n [p-loading]=\"isLoading\"\n [p-show-more-disabled]=\"!hasNext\"\n [p-infinite-scroll]=\"infiniteScroll\"\n (p-selected)=\"onSelect($event)\"\n (p-unselected)=\"onUnselect($event)\"\n (p-all-selected)=\"onAllSelected($event)\"\n (p-all-unselected)=\"onAllUnselected($event)\"\n (p-show-more)=\"showMoreEvent()\"\n (p-sort-by)=\"sortBy($event)\"\n >\n </po-table>\n </div>\n\n <!-- DISCLAIMER -->\n <po-disclaimer-group\n *ngIf=\"multiple\"\n class=\"po-md-12\"\n [p-disclaimers]=\"selecteds\"\n (p-remove)=\"onUnselectFromDisclaimer($event.removedDisclaimer)\"\n (p-remove-all)=\"onAllUnselected($event)\"\n >\n </po-disclaimer-group>\n </div>\n <div [hidden]=\"!isAdvancedFilter\">\n <ng-container #container> </ng-container>\n </div>\n</po-modal>\n" }]
|
|
203
|
+
args: [{ selector: 'po-lookup-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-modal\n p-click-out=\"false\"\n p-hide-close=\"false\"\n p-size=\"lg\"\n [p-primary-action]=\"isAdvancedFilter ? primaryActionAdvancedFilter : primaryAction\"\n [p-secondary-action]=\"isAdvancedFilter ? secondaryActionAdvancedFilter : secondaryAction\"\n [p-title]=\"isAdvancedFilter ? advancedFilterModalTitle : title\"\n>\n <div [hidden]=\"isAdvancedFilter\">\n <po-field-container class=\"po-lookup-header po-pull-right\" [p-optional]=\"false\">\n <div class=\"po-lookup-filter-content\">\n <div class=\"po-field-icon-container-right\">\n <span #iconLookup class=\"po-icon po-field-icon po-icon-search\" (click)=\"search()\"> </span>\n </div>\n\n <input\n #inpsearch\n class=\"po-input po-input-icon-right\"\n name=\"contentSearch\"\n [(ngModel)]=\"searchValue\"\n [placeholder]=\"literals.modalPlaceholder\"\n type=\"text\"\n />\n </div>\n\n <div *ngIf=\"advancedFilters && advancedFilters.length > 0\" class=\"po-lookup-advanced-search\">\n <span\n class=\"po-lookup-advanced-search-link\"\n tabindex=\"0\"\n (click)=\"onAdvancedFilter()\"\n (keydown.enter)=\"onAdvancedFilter()\"\n tabindex=\"0\"\n >\n {{ literals.modalAdvancedSearch }}\n </span>\n </div>\n </po-field-container>\n\n <!-- DISCLAIMER -->\n <po-disclaimer-group\n *ngIf=\"!!disclaimerGroup\"\n class=\"po-md-12\"\n [p-disclaimers]=\"disclaimerGroup?.disclaimers\"\n [p-title]=\"disclaimerGroup?.title\"\n (p-change)=\"onChangeDisclaimerGroup()\"\n >\n </po-disclaimer-group>\n\n <div class=\"po-row po-lookup-container-table\" [style.height.px]=\"containerHeight\">\n <po-table\n #poTable\n class=\"po-md-12\"\n [p-selectable]=\"true\"\n [p-hide-detail]=\"true\"\n [p-single-select]=\"!multiple\"\n [p-sort]=\"true\"\n [p-columns]=\"columns\"\n [p-height]=\"tableHeight\"\n [p-items]=\"items\"\n [p-literals]=\"tableLiterals\"\n [p-loading]=\"isLoading\"\n [p-show-more-disabled]=\"!hasNext\"\n [p-infinite-scroll]=\"infiniteScroll\"\n (p-selected)=\"onSelect($event)\"\n (p-unselected)=\"onUnselect($event)\"\n (p-all-selected)=\"onAllSelected($event)\"\n (p-all-unselected)=\"onAllUnselected($event)\"\n (p-show-more)=\"showMoreEvent()\"\n (p-sort-by)=\"sortBy($event)\"\n (p-change-visible-columns)=\"changeVisibleColumns.emit($event)\"\n (p-restore-column-manager)=\"columnRestoreManager.emit($event)\"\n >\n </po-table>\n </div>\n\n <!-- DISCLAIMER -->\n <po-disclaimer-group\n *ngIf=\"multiple\"\n class=\"po-md-12\"\n [p-disclaimers]=\"selecteds\"\n (p-remove)=\"onUnselectFromDisclaimer($event.removedDisclaimer)\"\n (p-remove-all)=\"onAllUnselected($event)\"\n >\n </po-disclaimer-group>\n </div>\n <div [hidden]=\"!isAdvancedFilter\">\n <ng-container #container> </ng-container>\n </div>\n</po-modal>\n" }]
|
|
204
204
|
}], function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PoLanguageService }, { type: i0.ChangeDetectorRef }]; }, { poTable: [{
|
|
205
205
|
type: ViewChild,
|
|
206
206
|
args: [PoTableComponent, { static: true }]
|
|
@@ -211,4 +211,4 @@ PoLookupModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLo
|
|
|
211
211
|
type: ViewChild,
|
|
212
212
|
args: ['container', { read: ViewContainerRef }]
|
|
213
213
|
}] }); })();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLW1vZGFsL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tbG9va3VwL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBS1QsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ01wRSwrQkFBNkYsZUFBQTtJQUl6RixpS0FBUyxlQUFBLHlCQUFrQixDQUFBLElBQUMsb0tBQ1gsZUFBQSx5QkFBa0IsQ0FBQSxJQURQO0lBSTVCLFlBQ0Y7SUFBQSxpQkFBTyxFQUFBOzs7SUFETCxlQUNGO0lBREUsb0VBQ0Y7Ozs7SUFLSiwrQ0FNQztJQURDLHlNQUFZLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUV4QyxpQkFBc0I7OztJQUpwQiwwR0FBOEMsaUZBQUE7Ozs7SUFn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UzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uU29ydCB9IGZyb20gJy4uLy4uLy4uL3BvLXRhYmxlL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLXNvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTG9va3VwTW9kYWxCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcG8tbG9va3VwLW1vZGFsL3BvLWxvb2t1cC1tb2RhbC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb0R5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9wby1keW5hbWljL3BvLWR5bmFtaWMtZm9ybS9wby1keW5hbWljLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFBvVGFibGVDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLXRhYmxlL3BvLXRhYmxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRvY3NQcml2YXRlXG4gKlxuICogQGRvY3NFeHRlbmRzIFBvTG9va3VwTW9kYWxCYXNlQ29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvb2t1cC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1sb29rdXAtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb0xvb2t1cE1vZGFsQ29tcG9uZW50IGV4dGVuZHMgUG9Mb29rdXBNb2RhbEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkKFBvVGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBvVGFibGU6IFBvVGFibGVDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2lucHNlYXJjaCcpIGlucHV0U2VhcmNoRWw6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAga2V5VXBPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBudWxsO1xuXG4gIGNvbnRhaW5lckhlaWdodDogbnVtYmVyID0gMzc1O1xuICB0YWJsZUhlaWdodDogbnVtYmVyO1xuXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFBvRHluYW1pY0Zvcm1Db21wb25lbnQ+O1xuICBkeW5hbWljRm9ybTogTmdGb3JtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHBvTGFuZ3VhZ2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihwb0xhbmd1YWdlLCBjaGFuZ2VEZXRlY3Rvcik7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc2V0VGFibGVIZWlnaHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRpYWxpemVFdmVudElucHV0KCk7XG4gIH1cblxuICAvLyBTZWxlY2lvbmEgdW0gaXRlbSBuYSB0YWJlbGFcbiAgb25TZWxlY3QoaXRlbSkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkcyA9IFsuLi50aGlzLnNlbGVjdGVkcywgeyB2YWx1ZTogaXRlbVt0aGlzLmZpZWxkVmFsdWVdLCBsYWJlbDogaXRlbVt0aGlzLmZpZWxkTGFiZWxdLCAuLi5pdGVtIH1dO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkcyA9IFt7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfV07XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGEgc2VsZcOnw6NvIGRlIHVtIGl0ZW0gbmEgdGFiZWxhXG4gIG9uVW5zZWxlY3QodW5zZWxlY3RlZEl0ZW0pIHtcbiAgICB0aGlzLnNlbGVjdGVkcyA9IHRoaXMuc2VsZWN0ZWRzLmZpbHRlcihpdGVtU2VsZWN0ZWQgPT4gaXRlbVNlbGVjdGVkLnZhbHVlICE9PSB1bnNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdKTtcbiAgfVxuXG4gIG9uVW5zZWxlY3RGcm9tRGlzY2xhaW1lcihyZW1vdmVkRGlzY2xhaW1lcikge1xuICAgIHRoaXMucG9UYWJsZS51bnNlbGVjdFJvd0l0ZW0oaXRlbSA9PiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0gPT09IHJlbW92ZWREaXNjbGFpbWVyLnZhbHVlKTtcbiAgfVxuXG4gIC8vIFNlbGVjaW9uYSB0b2RvcyBvcyBpdGVucyB2aXPDrXZlaXMgbmEgdGFiZWxhXG4gIG9uQWxsU2VsZWN0ZWQoaXRlbXMpIHtcbiAgICB0aGlzLnNlbGVjdGVkcyA9IGl0ZW1zLm1hcChpdGVtID0+ICh7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfSkpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIGEgc2VsZcOnw6NvIGRlIHRvZG9zIG9zIGl0ZW5zIHZpc8OtdmVpcyBuYSB0YWJlbGFcbiAgb25BbGxVbnNlbGVjdGVkKGl0ZW1zKSB7XG4gICAgdGhpcy5wb1RhYmxlLnVuc2VsZWN0Um93cygpO1xuICAgIHRoaXMuc2VsZWN0ZWRzID0gW107XG4gIH1cblxuICBpbml0aWFsaXplRXZlbnRJbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLmtleVVwT2JzZXJ2YWJsZSA9IGZyb21FdmVudCh0aGlzLmlucHV0U2VhcmNoRWwubmF0aXZlRWxlbWVudCwgJ2tleXVwJykucGlwZShcbiAgICAgIGZpbHRlcigoZTogYW55KSA9PiB0aGlzLnZhbGlkYXRlRW50ZXJQcmVzc2VkKGUpKSxcbiAgICAgIGRlYm91bmNlVGltZSg0MDApXG4gICAgKTtcblxuICAgIHRoaXMua2V5VXBPYnNlcnZhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3Blbk1vZGFsKCkge1xuICAgIHRoaXMucG9Nb2RhbC5vcGVuKCk7XG4gIH1cblxuICBzb3J0Qnkoc29ydDogUG9UYWJsZUNvbHVtblNvcnQpIHtcbiAgICB0aGlzLnNvcnQgPSBzb3J0O1xuICB9XG5cbiAgZGVzdHJveUR5bmFtaWNGb3JtKCkge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQWR2YW5jZWRGaWx0ZXIoKSB7XG4gICAgdGhpcy5zZXR1cE1vZGFsQWR2YW5jZWRGaWx0ZXIoKTtcbiAgICB0aGlzLmNyZWF0ZUR5bmFtaWNGb3JtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFRhYmxlSGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZHM/Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICB0aGlzLnRhYmxlSGVpZ2h0ID0gMzAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50YWJsZUhlaWdodCA9IDM3MDtcbiAgICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSAzNzU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcHJlY2lzYSBzZXIgMzE1IHBvciBhcyBsaW5oYXMgdGVyZW0gYWx0dXJhIGRlIDMycHggKHF1YW5kbyB0ZWxhIG1lbm9yIHF1ZSAxMzY2cHgpLlxuICAgIC8vIE8gcmV0b3JubyBwYWRyw6NvIMOpIDEwIGl0ZW5zIGZhemVuZG8gY29tIHF1ZSBnZXJlIHNjcm9sbCBjYXNvIGhvdXZlciBwYWdpbmHDp8OjbywgMzcwIG7Do28gZ2VyYXZhLlxuICAgIHRoaXMudGFibGVIZWlnaHQgPSB0aGlzLmluZmluaXRlU2Nyb2xsID8gMzE1IDogMzcwO1xuICAgIGlmICh3aW5kb3cuaW5uZXJIZWlnaHQgPCA2MTUpIHtcbiAgICAgIHRoaXMudGFibGVIZWlnaHQgLT0gNTA7XG4gICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCAtPSA1MDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRW50ZXJQcmVzc2VkKGU6IGFueSkge1xuICAgIHJldHVybiBlLmtleUNvZGUgPT09IDEzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cE1vZGFsQWR2YW5jZWRGaWx0ZXIoKSB7XG4gICAgdGhpcy5keW5hbWljRm9ybVZhbHVlID0ge307XG4gICAgdGhpcy5pc0FkdmFuY2VkRmlsdGVyID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0Zvcm0oKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5LnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBvRHluYW1pY0Zvcm1Db21wb25lbnQpO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQ8UG9EeW5hbWljRm9ybUNvbXBvbmVudD4oY29tcG9uZW50KTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5maWVsZHMgPSB0aGlzLmFkdmFuY2VkRmlsdGVycztcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52YWx1ZSA9IHRoaXMuZHluYW1pY0Zvcm1WYWx1ZTtcblxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZvcm1PdXRwdXRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoZm9ybSA9PiB7XG4gICAgICAgICAgdGhpcy5keW5hbWljRm9ybSA9IGZvcm07XG4gICAgICAgICAgdGhpcy5wcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIuZGlzYWJsZWQgPSB0aGlzLmR5bmFtaWNGb3JtLmludmFsaWQ7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoZm9ybSA9PiBmb3JtLnZhbHVlQ2hhbmdlcylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlci5kaXNhYmxlZCA9IHRoaXMuZHluYW1pY0Zvcm0uaW52YWxpZDtcbiAgICAgIH0pO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxwby1tb2RhbFxuICBwLWNsaWNrLW91dD1cImZhbHNlXCJcbiAgcC1oaWRlLWNsb3NlPVwiZmFsc2VcIlxuICBwLXNpemU9XCJsZ1wiXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBwcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIgOiBwcmltYXJ5QWN0aW9uXCJcbiAgW3Atc2Vjb25kYXJ5LWFjdGlvbl09XCJpc0FkdmFuY2VkRmlsdGVyID8gc2Vjb25kYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIgOiBzZWNvbmRhcnlBY3Rpb25cIlxuICBbcC10aXRsZV09XCJpc0FkdmFuY2VkRmlsdGVyID8gYWR2YW5jZWRGaWx0ZXJNb2RhbFRpdGxlIDogdGl0bGVcIlxuPlxuICA8ZGl2IFtoaWRkZW5dPVwiaXNBZHZhbmNlZEZpbHRlclwiPlxuICAgIDxwby1maWVsZC1jb250YWluZXIgY2xhc3M9XCJwby1sb29rdXAtaGVhZGVyIHBvLXB1bGwtcmlnaHRcIiBbcC1vcHRpb25hbF09XCJmYWxzZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxvb2t1cC1maWx0ZXItY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItcmlnaHRcIj5cbiAgICAgICAgICA8c3BhbiAjaWNvbkxvb2t1cCBjbGFzcz1cInBvLWljb24gcG8tZmllbGQtaWNvbiBwby1pY29uLXNlYXJjaFwiIChjbGljayk9XCJzZWFyY2goKVwiPiA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICNpbnBzZWFyY2hcbiAgICAgICAgICBjbGFzcz1cInBvLWlucHV0IHBvLWlucHV0LWljb24tcmlnaHRcIlxuICAgICAgICAgIG5hbWU9XCJjb250ZW50U2VhcmNoXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGl0ZXJhbHMubW9kYWxQbGFjZWhvbGRlclwiXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhZHZhbmNlZEZpbHRlcnMgJiYgYWR2YW5jZWRGaWx0ZXJzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInBvLWxvb2t1cC1hZHZhbmNlZC1zZWFyY2hcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInBvLWxvb2t1cC1hZHZhbmNlZC1zZWFyY2gtbGlua1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BZHZhbmNlZEZpbHRlcigpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFkdmFuY2VkRmlsdGVyKClcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsaXRlcmFscy5tb2RhbEFkdmFuY2VkU2VhcmNoIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvcG8tZmllbGQtY29udGFpbmVyPlxuXG4gICAgPCEtLSBESVNDTEFJTUVSIC0tPlxuICAgIDxwby1kaXNjbGFpbWVyLWdyb3VwXG4gICAgICAqbmdJZj1cIiEhZGlzY2xhaW1lckdyb3VwXCJcbiAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgW3AtZGlzY2xhaW1lcnNdPVwiZGlzY2xhaW1lckdyb3VwPy5kaXNjbGFpbWVyc1wiXG4gICAgICBbcC10aXRsZV09XCJkaXNjbGFpbWVyR3JvdXA/LnRpdGxlXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZURpc2NsYWltZXJHcm91cCgpXCJcbiAgICA+XG4gICAgPC9wby1kaXNjbGFpbWVyLWdyb3VwPlxuXG4gICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1sb29rdXAtY29udGFpbmVyLXRhYmxlXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cbiAgICAgIDxwby10YWJsZVxuICAgICAgICAjcG9UYWJsZVxuICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcbiAgICAgICAgW3Atc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgW3AtaGlkZS1kZXRhaWxdPVwidHJ1ZVwiXG4gICAgICAgIFtwLXNpbmdsZS1zZWxlY3RdPVwiIW11bHRpcGxlXCJcbiAgICAgICAgW3Atc29ydF09XCJ0cnVlXCJcbiAgICAgICAgW3AtY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgICAgW3AtaGVpZ2h0XT1cInRhYmxlSGVpZ2h0XCJcbiAgICAgICAgW3AtaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICBbcC1saXRlcmFsc109XCJ0YWJsZUxpdGVyYWxzXCJcbiAgICAgICAgW3AtbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbcC1zaG93LW1vcmUtZGlzYWJsZWRdPVwiIWhhc05leHRcIlxuICAgICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiaW5maW5pdGVTY3JvbGxcIlxuICAgICAgICAocC1zZWxlY3RlZCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICAgICAgKHAtdW5zZWxlY3RlZCk9XCJvblVuc2VsZWN0KCRldmVudClcIlxuICAgICAgICAocC1hbGwtc2VsZWN0ZWQpPVwib25BbGxTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgKHAtYWxsLXVuc2VsZWN0ZWQpPVwib25BbGxVbnNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAocC1zaG93LW1vcmUpPVwic2hvd01vcmVFdmVudCgpXCJcbiAgICAgICAgKHAtc29ydC1ieSk9XCJzb3J0QnkoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3BvLXRhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBESVNDTEFJTUVSIC0tPlxuICAgIDxwby1kaXNjbGFpbWVyLWdyb3VwXG4gICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgW3AtZGlzY2xhaW1lcnNdPVwic2VsZWN0ZWRzXCJcbiAgICAgIChwLXJlbW92ZSk9XCJvblVuc2VsZWN0RnJvbURpc2NsYWltZXIoJGV2ZW50LnJlbW92ZWREaXNjbGFpbWVyKVwiXG4gICAgICAocC1yZW1vdmUtYWxsKT1cIm9uQWxsVW5zZWxlY3RlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1kaXNjbGFpbWVyLWdyb3VwPlxuICA8L2Rpdj5cbiAgPGRpdiBbaGlkZGVuXT1cIiFpc0FkdmFuY2VkRmlsdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPiA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLW1vZGFsL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tbG9va3VwL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBS1QsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ01wRSwrQkFBNkYsZUFBQTtJQUl6RixpS0FBUyxlQUFBLHlCQUFrQixDQUFBLElBQUMsb0tBQ1gsZUFBQSx5QkFBa0IsQ0FBQSxJQURQO0lBSTVCLFlBQ0Y7SUFBQSxpQkFBTyxFQUFBOzs7SUFETCxlQUNGO0lBREUsb0VBQ0Y7Ozs7SUFLSiwrQ0FNQztJQURDLHlNQUFZLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUV4QyxpQkFBc0I7OztJQUpwQiwwR0FBOEMsaUZBQUE7Ozs7SUFr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LFNBQVM7bUJBQUMsV0FBVztZQUM4QixTQUFTO2tCQUE1RCxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0IH0gZnJvbSAnLi4vLi4vLi4vcG8tdGFibGUvaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4tc29ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBNb2RhbEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9wby1sb29rdXAtbW9kYWwvcG8tbG9va3VwLW1vZGFsLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWR5bmFtaWMvcG8tZHluYW1pYy1mb3JtL3BvLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9UYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vLi4vLi4vcG8tdGFibGUvcG8tdGFibGUuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZG9jc1ByaXZhdGVcbiAqXG4gKiBAZG9jc0V4dGVuZHMgUG9Mb29rdXBNb2RhbEJhc2VDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbG9va3VwLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBvTG9va3VwTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBQb0xvb2t1cE1vZGFsQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoUG9UYWJsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcG9UYWJsZTogUG9UYWJsZUNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnaW5wc2VhcmNoJykgaW5wdXRTZWFyY2hFbDogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICBrZXlVcE9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PiA9IG51bGw7XG5cbiAgY29udGFpbmVySGVpZ2h0OiBudW1iZXIgPSAzNzU7XG4gIHRhYmxlSGVpZ2h0OiBudW1iZXI7XG5cbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8UG9EeW5hbWljRm9ybUNvbXBvbmVudD47XG4gIGR5bmFtaWNGb3JtOiBOZ0Zvcm07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgcG9MYW5ndWFnZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKHBvTGFuZ3VhZ2UsIGNoYW5nZURldGVjdG9yKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5zZXRUYWJsZUhlaWdodCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUV2ZW50SW5wdXQoKTtcbiAgfVxuXG4gIC8vIFNlbGVjaW9uYSB1bSBpdGVtIG5hIHRhYmVsYVxuICBvblNlbGVjdChpdGVtKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRzID0gWy4uLnRoaXMuc2VsZWN0ZWRzLCB7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRzID0gW3sgdmFsdWU6IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSwgbGFiZWw6IGl0ZW1bdGhpcy5maWVsZExhYmVsXSwgLi4uaXRlbSB9XTtcbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgYSBzZWxlw6fDo28gZGUgdW0gaXRlbSBuYSB0YWJlbGFcbiAgb25VbnNlbGVjdCh1bnNlbGVjdGVkSXRlbSkge1xuICAgIHRoaXMuc2VsZWN0ZWRzID0gdGhpcy5zZWxlY3RlZHMuZmlsdGVyKGl0ZW1TZWxlY3RlZCA9PiBpdGVtU2VsZWN0ZWQudmFsdWUgIT09IHVuc2VsZWN0ZWRJdGVtW3RoaXMuZmllbGRWYWx1ZV0pO1xuICB9XG5cbiAgb25VbnNlbGVjdEZyb21EaXNjbGFpbWVyKHJlbW92ZWREaXNjbGFpbWVyKSB7XG4gICAgdGhpcy5wb1RhYmxlLnVuc2VsZWN0Um93SXRlbShpdGVtID0+IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSA9PT0gcmVtb3ZlZERpc2NsYWltZXIudmFsdWUpO1xuICB9XG5cbiAgLy8gU2VsZWNpb25hIHRvZG9zIG9zIGl0ZW5zIHZpc8OtdmVpcyBuYSB0YWJlbGFcbiAgb25BbGxTZWxlY3RlZChpdGVtcykge1xuICAgIHRoaXMuc2VsZWN0ZWRzID0gaXRlbXMubWFwKGl0ZW0gPT4gKHsgdmFsdWU6IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSwgbGFiZWw6IGl0ZW1bdGhpcy5maWVsZExhYmVsXSwgLi4uaXRlbSB9KSk7XG4gIH1cblxuICAvLyBSZW1vdmUgYSBzZWxlw6fDo28gZGUgdG9kb3Mgb3MgaXRlbnMgdmlzw612ZWlzIG5hIHRhYmVsYVxuICBvbkFsbFVuc2VsZWN0ZWQoaXRlbXMpIHtcbiAgICB0aGlzLnBvVGFibGUudW5zZWxlY3RSb3dzKCk7XG4gICAgdGhpcy5zZWxlY3RlZHMgPSBbXTtcbiAgfVxuXG4gIGluaXRpYWxpemVFdmVudElucHV0KCk6IHZvaWQge1xuICAgIHRoaXMua2V5VXBPYnNlcnZhYmxlID0gZnJvbUV2ZW50KHRoaXMuaW5wdXRTZWFyY2hFbC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKS5waXBlKFxuICAgICAgZmlsdGVyKChlOiBhbnkpID0+IHRoaXMudmFsaWRhdGVFbnRlclByZXNzZWQoZSkpLFxuICAgICAgZGVib3VuY2VUaW1lKDQwMClcbiAgICApO1xuXG4gICAgdGhpcy5rZXlVcE9ic2VydmFibGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2VhcmNoKCk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5wb01vZGFsLm9wZW4oKTtcbiAgfVxuXG4gIHNvcnRCeShzb3J0OiBQb1RhYmxlQ29sdW1uU29ydCkge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gIH1cblxuICBkZXN0cm95RHluYW1pY0Zvcm0oKSB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgb25BZHZhbmNlZEZpbHRlcigpIHtcbiAgICB0aGlzLnNldHVwTW9kYWxBZHZhbmNlZEZpbHRlcigpO1xuICAgIHRoaXMuY3JlYXRlRHluYW1pY0Zvcm0oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFibGVIZWlnaHQoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkcz8ubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIHRoaXMudGFibGVIZWlnaHQgPSAzMDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhYmxlSGVpZ2h0ID0gMzcwO1xuICAgICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCA9IDM3NTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBwcmVjaXNhIHNlciAzMTUgcG9yIGFzIGxpbmhhcyB0ZXJlbSBhbHR1cmEgZGUgMzJweCAocXVhbmRvIHRlbGEgbWVub3IgcXVlIDEzNjZweCkuXG4gICAgLy8gTyByZXRvcm5vIHBhZHLDo28gw6kgMTAgaXRlbnMgZmF6ZW5kbyBjb20gcXVlIGdlcmUgc2Nyb2xsIGNhc28gaG91dmVyIHBhZ2luYcOnw6NvLCAzNzAgbsOjbyBnZXJhdmEuXG4gICAgdGhpcy50YWJsZUhlaWdodCA9IHRoaXMuaW5maW5pdGVTY3JvbGwgPyAzMTUgOiAzNzA7XG4gICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA8IDYxNSkge1xuICAgICAgdGhpcy50YWJsZUhlaWdodCAtPSA1MDtcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0IC09IDUwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVFbnRlclByZXNzZWQoZTogYW55KSB7XG4gICAgcmV0dXJuIGUua2V5Q29kZSA9PT0gMTM7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTW9kYWxBZHZhbmNlZEZpbHRlcigpIHtcbiAgICB0aGlzLmR5bmFtaWNGb3JtVmFsdWUgPSB7fTtcbiAgICB0aGlzLmlzQWR2YW5jZWRGaWx0ZXIgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljRm9ybSgpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoUG9EeW5hbWljRm9ybUNvbXBvbmVudCk7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxQb0R5bmFtaWNGb3JtQ29tcG9uZW50Pihjb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkcyA9IHRoaXMuYWR2YW5jZWRGaWx0ZXJzO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy5keW5hbWljRm9ybVZhbHVlO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZm9ybU91dHB1dFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChmb3JtID0+IHtcbiAgICAgICAgICB0aGlzLmR5bmFtaWNGb3JtID0gZm9ybTtcbiAgICAgICAgICB0aGlzLnByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlci5kaXNhYmxlZCA9IHRoaXMuZHluYW1pY0Zvcm0uaW52YWxpZDtcbiAgICAgICAgfSksXG4gICAgICAgIHN3aXRjaE1hcChmb3JtID0+IGZvcm0udmFsdWVDaGFuZ2VzKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHJpbWFyeUFjdGlvbkFkdmFuY2VkRmlsdGVyLmRpc2FibGVkID0gdGhpcy5keW5hbWljRm9ybS5pbnZhbGlkO1xuICAgICAgfSk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPHBvLW1vZGFsXG4gIHAtY2xpY2stb3V0PVwiZmFsc2VcIlxuICBwLWhpZGUtY2xvc2U9XCJmYWxzZVwiXG4gIHAtc2l6ZT1cImxnXCJcbiAgW3AtcHJpbWFyeS1hY3Rpb25dPVwiaXNBZHZhbmNlZEZpbHRlciA/IHByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlciA6IHByaW1hcnlBY3Rpb25cIlxuICBbcC1zZWNvbmRhcnktYWN0aW9uXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBzZWNvbmRhcnlBY3Rpb25BZHZhbmNlZEZpbHRlciA6IHNlY29uZGFyeUFjdGlvblwiXG4gIFtwLXRpdGxlXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBhZHZhbmNlZEZpbHRlck1vZGFsVGl0bGUgOiB0aXRsZVwiXG4+XG4gIDxkaXYgW2hpZGRlbl09XCJpc0FkdmFuY2VkRmlsdGVyXCI+XG4gICAgPHBvLWZpZWxkLWNvbnRhaW5lciBjbGFzcz1cInBvLWxvb2t1cC1oZWFkZXIgcG8tcHVsbC1yaWdodFwiIFtwLW9wdGlvbmFsXT1cImZhbHNlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbG9va3VwLWZpbHRlci1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgICAgIDxzcGFuICNpY29uTG9va3VwIGNsYXNzPVwicG8taWNvbiBwby1maWVsZC1pY29uIHBvLWljb24tc2VhcmNoXCIgKGNsaWNrKT1cInNlYXJjaCgpXCI+IDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgI2lucHNlYXJjaFxuICAgICAgICAgIGNsYXNzPVwicG8taW5wdXQgcG8taW5wdXQtaWNvbi1yaWdodFwiXG4gICAgICAgICAgbmFtZT1cImNvbnRlbnRTZWFyY2hcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsaXRlcmFscy5tb2RhbFBsYWNlaG9sZGVyXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImFkdmFuY2VkRmlsdGVycyAmJiBhZHZhbmNlZEZpbHRlcnMubGVuZ3RoID4gMFwiIGNsYXNzPVwicG8tbG9va3VwLWFkdmFuY2VkLXNlYXJjaFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWFkdmFuY2VkLXNlYXJjaC1saW5rXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFkdmFuY2VkRmlsdGVyKClcIlxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWR2YW5jZWRGaWx0ZXIoKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxpdGVyYWxzLm1vZGFsQWR2YW5jZWRTZWFyY2ggfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1maWVsZC1jb250YWluZXI+XG5cbiAgICA8IS0tIERJU0NMQUlNRVIgLS0+XG4gICAgPHBvLWRpc2NsYWltZXItZ3JvdXBcbiAgICAgICpuZ0lmPVwiISFkaXNjbGFpbWVyR3JvdXBcIlxuICAgICAgY2xhc3M9XCJwby1tZC0xMlwiXG4gICAgICBbcC1kaXNjbGFpbWVyc109XCJkaXNjbGFpbWVyR3JvdXA/LmRpc2NsYWltZXJzXCJcbiAgICAgIFtwLXRpdGxlXT1cImRpc2NsYWltZXJHcm91cD8udGl0bGVcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uQ2hhbmdlRGlzY2xhaW1lckdyb3VwKClcIlxuICAgID5cbiAgICA8L3BvLWRpc2NsYWltZXItZ3JvdXA+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLWxvb2t1cC1jb250YWluZXItdGFibGVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImNvbnRhaW5lckhlaWdodFwiPlxuICAgICAgPHBvLXRhYmxlXG4gICAgICAgICNwb1RhYmxlXG4gICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgICBbcC1zZWxlY3RhYmxlXT1cInRydWVcIlxuICAgICAgICBbcC1oaWRlLWRldGFpbF09XCJ0cnVlXCJcbiAgICAgICAgW3Atc2luZ2xlLXNlbGVjdF09XCIhbXVsdGlwbGVcIlxuICAgICAgICBbcC1zb3J0XT1cInRydWVcIlxuICAgICAgICBbcC1jb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICBbcC1oZWlnaHRdPVwidGFibGVIZWlnaHRcIlxuICAgICAgICBbcC1pdGVtc109XCJpdGVtc1wiXG4gICAgICAgIFtwLWxpdGVyYWxzXT1cInRhYmxlTGl0ZXJhbHNcIlxuICAgICAgICBbcC1sb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICAgIFtwLXNob3ctbW9yZS1kaXNhYmxlZF09XCIhaGFzTmV4dFwiXG4gICAgICAgIFtwLWluZmluaXRlLXNjcm9sbF09XCJpbmZpbml0ZVNjcm9sbFwiXG4gICAgICAgIChwLXNlbGVjdGVkKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgICAocC11bnNlbGVjdGVkKT1cIm9uVW5zZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIChwLWFsbC1zZWxlY3RlZCk9XCJvbkFsbFNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAocC1hbGwtdW5zZWxlY3RlZCk9XCJvbkFsbFVuc2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgIChwLXNob3ctbW9yZSk9XCJzaG93TW9yZUV2ZW50KClcIlxuICAgICAgICAocC1zb3J0LWJ5KT1cInNvcnRCeSgkZXZlbnQpXCJcbiAgICAgICAgKHAtY2hhbmdlLXZpc2libGUtY29sdW1ucyk9XCJjaGFuZ2VWaXNpYmxlQ29sdW1ucy5lbWl0KCRldmVudClcIlxuICAgICAgICAocC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyKT1cImNvbHVtblJlc3RvcmVNYW5hZ2VyLmVtaXQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8L3BvLXRhYmxlPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBESVNDTEFJTUVSIC0tPlxuICAgIDxwby1kaXNjbGFpbWVyLWdyb3VwXG4gICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxuICAgICAgW3AtZGlzY2xhaW1lcnNdPVwic2VsZWN0ZWRzXCJcbiAgICAgIChwLXJlbW92ZSk9XCJvblVuc2VsZWN0RnJvbURpc2NsYWltZXIoJGV2ZW50LnJlbW92ZWREaXNjbGFpbWVyKVwiXG4gICAgICAocC1yZW1vdmUtYWxsKT1cIm9uQWxsVW5zZWxlY3RlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9wby1kaXNjbGFpbWVyLWdyb3VwPlxuICA8L2Rpdj5cbiAgPGRpdiBbaGlkZGVuXT1cIiFpc0FkdmFuY2VkRmlsdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAjY29udGFpbmVyPiA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L3BvLW1vZGFsPlxuIl19
|
|
@@ -226,7 +226,7 @@ export class PoLookupComponent extends PoLookupBaseComponent {
|
|
|
226
226
|
}
|
|
227
227
|
openLookup() {
|
|
228
228
|
if (this.isAllowedOpenModal()) {
|
|
229
|
-
const { advancedFilters, service, columns, filterParams, literals, infiniteScroll, multiple, fieldLabel, fieldValue } = this;
|
|
229
|
+
const { advancedFilters, service, columns, filterParams, literals, infiniteScroll, multiple, fieldLabel, fieldValue, changeVisibleColumns, columnRestoreManager } = this;
|
|
230
230
|
const selectedItems = this.checkSelectedItems();
|
|
231
231
|
this.poLookupModalService.openModal({
|
|
232
232
|
advancedFilters,
|
|
@@ -239,7 +239,9 @@ export class PoLookupComponent extends PoLookupBaseComponent {
|
|
|
239
239
|
multiple,
|
|
240
240
|
selectedItems,
|
|
241
241
|
fieldLabel,
|
|
242
|
-
fieldValue
|
|
242
|
+
fieldValue,
|
|
243
|
+
changeVisibleColumns,
|
|
244
|
+
columnRestoreManager
|
|
243
245
|
});
|
|
244
246
|
if (!this.modalSubscription) {
|
|
245
247
|
this.modalSubscription = this.poLookupModalService.selectValueEvent.subscribe(selectedOptions => {
|
|
@@ -427,4 +429,4 @@ PoLookupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLookupC
|
|
|
427
429
|
type: ViewChild,
|
|
428
430
|
args: ['inp', { read: ElementRef, static: false }]
|
|
429
431
|
}] }); })();
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFLVixTQUFTLEVBQ1QsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7OztJQ0pwRSxvQ0FBK0Y7SUFBaEMsOExBQWtCLGVBQUEsbUJBQVksQ0FBQSxJQUFDO0lBQUUsaUJBQVc7OztJQUF0RSw4Q0FBeUI7Ozs7SUFkbEUsOEJBQThGLGtCQUFBO0lBVTFGLDJKQUFRLGVBQUEsb0JBQWEsQ0FBQSxJQUFDO0lBVHhCLGlCQVVFO0lBRUYsOEJBQTJDO0lBQ3pDLGtGQUEyRztJQUUzRyxrQ0FRQztJQUZDLDZKQUFTLGVBQUEsb0JBQVksQ0FBQSxJQUFDLDJJQUNiLGVBQUEsV0FBVyxDQUFBLElBREU7SUFHeEIsaUJBQU8sRUFBQSxFQUFBOzs7O0lBcEJQLGVBQXFGO0lBQXJGLDBHQUFxRixxQ0FBQSw2QkFBQSxtQ0FBQSw2QkFBQTtJQVMxRSxl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LENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2tGQTFTVSxpQkFBaUI7b0VBQWpCLGlCQUFpQjsrQkFDRixVQUFVOzs7OzBDQUhwQyxTQUFTO1FDekdYLDZDQUEyRjtRQUN6RixtRUEyQk07UUFDTiw0Q0FBdUQ7UUFDekQsaUJBQXFCO1FBRXJCLG9IQXVDYzs7O1FBdkVNLG1DQUFpQixvQkFBQSw2Q0FBQTtRQUNNLGVBQTJCO1FBQTNCLDhDQUEyQixpQkFBQTs7dUZEMEd6RCxpQkFBaUI7Y0FON0IsU0FBUzsyQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU0sYUFDL0MsU0FBUzswTEFHOEMsT0FBTztrQkFBN0QsU0FBUzttQkFBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEb0NoZWNrLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9Mb29rdXBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1sb29rdXAtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Mb29rdXBGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1sb29rdXAtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBNb2RhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWxvb2t1cC1tb2RhbC5zZXJ2aWNlJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IHByb3ZpZGVycyA9IFtcbiAgUG9Mb29rdXBGaWx0ZXJTZXJ2aWNlLFxuICBQb0xvb2t1cE1vZGFsU2VydmljZSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9va3VwQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0xvb2t1cENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5nQ29udHJvbCxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0xvb2t1cENvbXBvbmVudCksXG4gICAgbXVsdGk6IGZhbHNlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTG9va3VwQmFzZUNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIFF1YW5kbyBleGlzdGUgbXVpdG9zIGRhZG9zIG8gcG8tbG9va3VwIHBvciBwYWRyw6NvIHRyYXogYXBlbmFzIDEwIGl0ZW5zIG5hIHRhYmVsYSBlIG9zIGRlbWFpcyBzw6NvIGNhcnJlZ2Fkb3MgcG9yIGRlbWFuZGEgYXRyYXbDqXMgZG9cbiAqIGJvdMOjbyAnQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zJy4gUGFyYSBxdWUgZnVuY2lvbmUgY29ycmV0YW1lbnRlLCDDqSBpbXBvcnRhbnRlIHF1ZSBvIHNlcnZpw6dvIHNpZ2Egb1xuICogW0d1aWEgZGUgaW1wbGVtZW50YcOnw6NvIGRhcyBBUElzIFRPVFZTXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICpcbiAqIEltcG9ydGFudGU6XG4gKlxuICogLSBDYXNvIG8gcG8tbG9va3VwIGNvbnRlbmhhIG8gWyhuZ01vZGVsKV0gc2VtIG8gYXRyaWJ1dG8gbmFtZSwgb2NvcnJlcsOhIHVtIGVycm8gZGUgYW5ndWxhci5cbiAqIEVudMOjbyBzZXLDoSBuZWNlc3PDoXJpbyBpbmZvcm1hciBvIGF0cmlidXRvIG5hbWUgb3UgbyBhdHJpYnV0byBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIuXG4gKiBgYGBcbiAqIDxwby1sb29rdXBcbiAqICAgWyhuZ01vZGVsKV09XCJwZXNzb2Eubm9tZVwiXG4gKiAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIj5cbiAqIDwvcG8tbG9va3VwPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLWJhc2ljXCIgdGl0bGU9XCJQTyBMb29rdXAgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvb2t1cC1sYWJzXCIgdGl0bGU9XCJQTyBMb29rdXAgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWxhYnMvc2FtcGxlLXBvLWxvb2t1cC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1sYWJzL3NhbXBsZS1wby1sb29rdXAtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyb1wiIHRpdGxlPVwiUE8gTG9va3VwIC0gSGVyb1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvL3NhbXBsZS1wby1sb29rdXAtaGVyby5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyby1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBMb29rdXAgLSBIZXJvIFJlYWN0aXZlIEZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtc3ctZmlsbXNcIiB0aXRsZT1cIlBPIExvb2t1cCAtIFN0YXIgV2FycyBmaWxtc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy9zYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtbXVsdGlwbGVcIiB0aXRsZT1cIlBPIExvb2t1cCAtIE11bHRpcGxlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlL3NhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvb2t1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1sb29rdXAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIFBvTG9va3VwQ29tcG9uZW50IGV4dGVuZHMgUG9Mb29rdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKCdpbnAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcblxuICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuXG4gIGRpc2NsYWltZXJzID0gW107XG4gIHZpc2libGVEaXNjbGFpbWVycyA9IFtdO1xuXG4gIHByaXZhdGUgbW9kYWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpc0NhbGN1bGF0ZVZpc2libGVJdGVtczogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub0F1dG9jb21wbGV0ZSA/ICdvZmYnIDogJ29uJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwb0xvb2t1cEZpbHRlclNlcnZpY2U6IFBvTG9va3VwRmlsdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHBvTG9va3VwTW9kYWxTZXJ2aWNlOiBQb0xvb2t1cE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIocG9Mb29rdXBGaWx0ZXJTZXJ2aWNlLCBpbmplY3Rvcik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCBpbnB1dFdpZHRoID0gdGhpcy5pbnB1dEVsPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIFBlcm1pdGUgcXVlIG9zIGRpc2NsYWltZXJzIHNlamFtIGNhbGN1bGFkb3MgbmEgcHJpbWVpcmEgdmV6IHF1ZSBvIGNvbXBvbmVudGUgdG9ybmEtc2Ugdmlzw612ZWwsXG4gICAgLy8gZXZpdGFuZG8gY29tIGlzc28sIHByb2JsZW1hcyBjb20gVGFicyBvdSBEaXZzIHF1ZSBpbmljaWVtIGVzY29uZGlkYXMuXG4gICAgaWYgKChpbnB1dFdpZHRoICYmICF0aGlzLnZpc2libGVFbGVtZW50ICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHx8IChpbnB1dFdpZHRoICYmIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMpKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLnZpc2libGVFbGVtZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLm1vZGFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1vZGFsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9Mb29rdXBDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvTG9va3VwQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBsb29rdXA6IFBvTG9va3VwQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c0xvb2t1cCgpIHtcbiAgICogICB0aGlzLmxvb2t1cC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Mb29rdXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBbGxvd2VkT3Blbk1vZGFsKCkpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWR2YW5jZWRGaWx0ZXJzLFxuICAgICAgICBzZXJ2aWNlLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGxpdGVyYWxzLFxuICAgICAgICBpbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIGZpZWxkTGFiZWwsXG4gICAgICAgIGZpZWxkVmFsdWVcbiAgICAgIH0gPSB0aGlzO1xuXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5jaGVja1NlbGVjdGVkSXRlbXMoKTtcblxuICAgICAgdGhpcy5wb0xvb2t1cE1vZGFsU2VydmljZS5vcGVuTW9kYWwoe1xuICAgICAgICBhZHZhbmNlZEZpbHRlcnMsXG4gICAgICAgIHNlcnZpY2UsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgdGl0bGU6IHRoaXMubGFiZWwsXG4gICAgICAgIGxpdGVyYWxzLFxuICAgICAgICBpbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXMsXG4gICAgICAgIGZpZWxkTGFiZWwsXG4gICAgICAgIGZpZWxkVmFsdWVcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXRoaXMubW9kYWxTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5tb2RhbFN1YnNjcmlwdGlvbiA9IHRoaXMucG9Mb29rdXBNb2RhbFNlcnZpY2Uuc2VsZWN0VmFsdWVFdmVudC5zdWJzY3JpYmUoc2VsZWN0ZWRPcHRpb25zID0+IHtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDEgfHwgdGhpcy5kaXNjbGFpbWVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGlzY2xhaW1lcnMoc2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZWxlY3RNb2RlbChzZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja1NlbGVjdGVkSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy5kaXNjbGFpbWVycy5sZW5ndGggJiYgdGhpcy52YWx1ZVRvTW9kZWw/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW3sgdmFsdWU6IHRoaXMudmFsdWVUb01vZGVsWzBdLCBsYWJlbDogdGhpcy5vbGRWYWx1ZSwgLi4udGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0gfV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmRpc2NsYWltZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZVRvTW9kZWw7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzY2xhaW1lcnMoc2VsZWN0ZWRPcHRpb25zOiBBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5kaXNjbGFpbWVycyA9IHNlbGVjdGVkT3B0aW9ucy5tYXAoc2VsZWN0ZWRPcHRpb24gPT4gKHtcbiAgICAgIHZhbHVlOiBzZWxlY3RlZE9wdGlvblt0aGlzLmZpZWxkVmFsdWVdLFxuICAgICAgbGFiZWw6IHNlbGVjdGVkT3B0aW9uW3RoaXMuZmllbGRMYWJlbF0sXG4gICAgICAuLi5zZWxlY3RlZE9wdGlvblxuICAgIH0pKTtcblxuICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gWy4uLnRoaXMuZGlzY2xhaW1lcnNdO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZXRWaWV3VmFsdWUodmFsdWU6IGFueSwgb2JqZWN0OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsICYmIHRoaXMuZmllbGRGb3JtYXQpIHtcbiAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZVdpcG9pZWxkRm9ybWF0KG9iamVjdCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZVRvTW9kZWwgfHwgdGhpcy52YWx1ZVRvTW9kZWwgPT09IDAgPyB2YWx1ZSA6ICcnO1xuICAgIH1cbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0Vmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgc2VhcmNoRXZlbnQoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWaWV3VmFsdWUoKTtcblxuICAgIGlmICh0aGlzLm9sZFZhbHVlPy50b1N0cmluZygpICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hCeUlkKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZURpc2NsYWltZXIodmFsdWUpIHtcbiAgICB0aGlzLmRpc2NsYWltZXJzID0gdGhpcy5kaXNjbGFpbWVycy5maWx0ZXIoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyLnZhbHVlICE9PSB2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZVRvTW9kZWwgPSB0aGlzLnZhbHVlVG9Nb2RlbC5maWx0ZXIobW9kZWwgPT4gbW9kZWwgIT09IHZhbHVlKTtcblxuICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgdGhpcy5jYWxsT25DaGFuZ2UodGhpcy52YWx1ZVRvTW9kZWwubGVuZ3RoID8gdGhpcy52YWx1ZVRvTW9kZWwgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgdXBkYXRlVmlzaWJsZUl0ZW1zKCkge1xuICAgIGlmICh0aGlzLmRpc2NsYWltZXJzICYmIHRoaXMuZGlzY2xhaW1lcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbXS5jb25jYXQodGhpcy5kaXNjbGFpbWVycyk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZGVib3VuY2VSZXNpemUoKSB7XG4gICAgaWYgKCF0aGlzLmF1dG9IZWlnaHQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemUpO1xuICAgICAgdGhpcy50aW1lb3V0UmVzaXplID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgICB9LCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIGdldElucHV0V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gNDA7XG4gIH1cblxuICBnZXREaXNjbGFpbWVyc1dpZHRoKCkge1xuICAgIGNvbnN0IGRpc2NsYWltZXJzID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncG8tZGlzY2xhaW1lcicpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRpc2NsYWltZXJzKS5tYXAoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyWydvZmZzZXRXaWR0aCddKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1dpZHRoID0gdGhpcy5nZXREaXNjbGFpbWVyc1dpZHRoKCk7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuZ2V0SW5wdXRXaWR0aCgpO1xuICAgIGNvbnN0IGV4dHJhRGlzY2xhaW1lclNpemUgPSAzODtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1Zpc2libGUgPSBkaXNjbGFpbWVyc1dpZHRoWzBdO1xuXG4gICAgY29uc3QgbmV3RGlzY2xhaW1lcnMgPSBbXTtcbiAgICBjb25zdCBkaXNjbGFpbWVycyA9IHRoaXMuZGlzY2xhaW1lcnM7XG5cbiAgICBpZiAoaW5wdXRXaWR0aCA+IDApIHtcbiAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgbGV0IGkgPSAwO1xuICAgICAgZm9yIChpID0gMDsgaSA8IGRpc2NsYWltZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHN1bSArPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICBuZXdEaXNjbGFpbWVycy5wdXNoKGRpc2NsYWltZXJzW2ldKTtcblxuICAgICAgICBpZiAoc3VtID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIHN1bSAtPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZGlzY2xhaW1lcnNWaXNpYmxlIHx8ICFkaXNjbGFpbWVycy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKGkgPT09IGRpc2NsYWltZXJzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3VtICsgZXh0cmFEaXNjbGFpbWVyU2l6ZSA+IGlucHV0V2lkdGgpIHtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5zcGxpY2UoLTIsIDIpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKGRpc2NsYWltZXJzLmxlbmd0aCArIDEgLSBpKS50b1N0cmluZygpO1xuICAgICAgICAgIG5ld0Rpc2NsYWltZXJzLnB1c2goeyB2YWx1ZTogJycsIGxhYmVsOiBsYWJlbCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5zcGxpY2UoLTEsIDEpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKGRpc2NsYWltZXJzLmxlbmd0aCAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgbmV3RGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbLi4ubmV3RGlzY2xhaW1lcnNdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FsbG93ZWRPcGVuTW9kYWwoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gc2VydmljZSBpbmZvcm1lZCcpO1xuICAgIH1cblxuICAgIHJldHVybiAhISh0aGlzLnNlcnZpY2UgJiYgIXRoaXMuZGlzYWJsZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRGaWVsZHMob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0ZWRGaWVsZDtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChvYmplY3RTZWxlY3RlZCAmJiBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV0pIHtcbiAgICAgICAgICBpZiAoIWZvcm1hdGVkRmllbGQpIHtcbiAgICAgICAgICAgIGZvcm1hdGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdGVkRmllbGQgPSBmb3JtYXRlZEZpZWxkICsgJyAtICcgKyBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFmb3JtYXRlZEZpZWxkKSB7XG4gICAgICBmb3JtYXRlZEZpZWxkID0gb2JqZWN0U2VsZWN0ZWRbdGhpcy5maWVsZFZhbHVlXTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0VmFsdWVXaXBvaWVsZEZvcm1hdChvYmplY3RTZWxlY3RlZDogYW55KSB7XG4gICAgY29uc3QgaXNFbXB0eSA9IE9iamVjdC5rZXlzKG9iamVjdFNlbGVjdGVkKS5sZW5ndGggPT09IDA7XG4gICAgbGV0IGZpZWxkRm9ybWF0ZWQ7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmZpZWxkRm9ybWF0KSkge1xuICAgICAgZmllbGRGb3JtYXRlZCA9IHRoaXMuZm9ybWF0RmllbGRzKG9iamVjdFNlbGVjdGVkLCB0aGlzLmZpZWxkRm9ybWF0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGRGb3JtYXRlZCA9IHRoaXMuZmllbGRGb3JtYXQob2JqZWN0U2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMub2xkVmFsdWUgPSBpc0VtcHR5ID8gJycgOiBmaWVsZEZvcm1hdGVkO1xuICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gaXNFbXB0eSA/ICcnIDogZmllbGRGb3JtYXRlZDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyIFtwLWxhYmVsXT1cImxhYmVsXCIgW3AtaGVscF09XCJoZWxwXCIgW3Atb3B0aW9uYWxdPVwiIXJlcXVpcmVkICYmIG9wdGlvbmFsXCI+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiICpuZ0lmPVwiIWRpc2NsYWltZXJzLmxlbmd0aDsgZWxzZSBkaXNjbGFpbWVyc1RlbXBsYXRlXCI+XG4gICAgPGlucHV0XG4gICAgICAjaW5wXG4gICAgICBjbGFzcz1cInBvLWlucHV0XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtuZ0NsYXNzXT1cImNsZWFuICYmIGlucC52YWx1ZSA/ICdwby1pbnB1dC1kb3VibGUtaWNvbi1yaWdodCcgOiAncG8taW5wdXQtaWNvbi1yaWdodCdcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKGJsdXIpPVwic2VhcmNoRXZlbnQoKVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHBvLWNsZWFuICpuZ0lmPVwiY2xlYW4gJiYgIWRpc2FibGVkXCIgW3AtZWxlbWVudC1yZWZdPVwiaW5wdXRFbFwiIChwLWNoYW5nZS1ldmVudCk9XCJjbGVhbk1vZGVsKClcIj4gPC9wby1jbGVhbj5cblxuICAgICAgPHNwYW5cbiAgICAgICAgI2ljb25Mb29rdXBcbiAgICAgICAgY2xhc3M9XCJwby1pY29uIHBvLWZpZWxkLWljb24gcG8taWNvbi1zZWFyY2hcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb25dPVwiIWRpc2FibGVkXCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib3Blbkxvb2t1cCgpXCJcbiAgICAgICAgKGZvY3VzKT1cImlucC5mb2N1cygpXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxwby1maWVsZC1jb250YWluZXItYm90dG9tPjwvcG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT5cbjwvcG8tZmllbGQtY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Rpc2NsYWltZXJzVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDxkaXZcbiAgICAgICNpbnBcbiAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICBjbGFzcz1cInBvLWlucHV0IHBvLWlucHV0LWljb24tcmlnaHQgcG8tbG9va3VwLWlucHV0XCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtYXV0b109XCJhdXRvSGVpZ2h0XCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtc3RhdGljXT1cIiFhdXRvSGVpZ2h0XCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgIWRpc2NsYWltZXJzPy5sZW5ndGhcIiBjbGFzcz1cInBvLWxvb2t1cC1pbnB1dC1wbGFjZWhvbGRlclwiPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8cG8tZGlzY2xhaW1lclxuICAgICAgICAqbmdGb3I9XCJsZXQgZGlzY2xhaW1lciBvZiB2aXNpYmxlRGlzY2xhaW1lcnNcIlxuICAgICAgICBjbGFzcz1cInBvLWxvb2t1cC1pbnB1dC1kaXNjbGFpbWVyXCJcbiAgICAgICAgW3AtbGFiZWxdPVwiZGlzY2xhaW1lci5sYWJlbFwiXG4gICAgICAgIFtwLXZhbHVlXT1cImRpc2NsYWltZXIudmFsdWVcIlxuICAgICAgICBbcC1oaWRlLWNsb3NlXT1cImRpc2NsYWltZXIudmFsdWUgPT09ICcnIHx8IGRpc2FibGVkXCJcbiAgICAgICAgW2NsYXNzLnBvLWNsaWNrYWJsZV09XCJkaXNjbGFpbWVyLnZhbHVlID09PSAnJyAmJiAhZGlzYWJsZWRcIlxuICAgICAgICAocC1jbG9zZS1hY3Rpb24pPVwiY2xvc2VEaXNjbGFpbWVyKGRpc2NsYWltZXIudmFsdWUpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tZGlzY2xhaW1lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgI2ljb25Mb29rdXBcbiAgICAgICAgY2xhc3M9XCJwby1pY29uIHBvLWZpZWxkLWljb24gcG8taWNvbi1zZWFyY2hcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb25dPVwiIWRpc2FibGVkXCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwib3Blbkxvb2t1cCgpXCJcbiAgICAgICAgKGZvY3VzKT1cImlucC5mb2N1cygpXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
432
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFLVixTQUFTLEVBQ1QsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7OztJQ0pwRSxvQ0FBK0Y7SUFBaEMsOExBQWtCLGVBQUEsbUJBQVksQ0FBQSxJQUFDO0lBQUUsaUJBQVc7OztJQUF0RSw4Q0FBeUI7Ozs7SUFkbEUsOEJBQThGLGtCQUFBO0lBVTFGLDJKQUFRLGVBQUEsb0JBQWEsQ0FBQSxJQUFDO0lBVHhCLGlCQVVFO0lBRUYsOEJBQTJDO0lBQ3pDLGtGQUEyRztJQUUzRyxrQ0FRQztJQUZDLDZKQUFTLGVBQUEsb0JBQVksQ0FBQSxJQUFDLDJJQUNiLGVBQUEsV0FBVyxDQUFBLElBREU7SUFHeEIsaUJBQU8sRUFBQSxFQUFBOzs7O0lBcEJQLGVBQXFGO0lBQXJGLDBHQUFxRixxQ0FBQSw2QkFBQSxtQ0FBQSw2QkFBQTtJQVMxRSxl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QUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ2xFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2tGQTlTVSxpQkFBaUI7b0VBQWpCLGlCQUFpQjsrQkFDRixVQUFVOzs7OzBDQUhwQyxTQUFTO1FDekdYLDZDQUEyRjtRQUN6RixtRUEyQk07UUFDTiw0Q0FBdUQ7UUFDekQsaUJBQXFCO1FBRXJCLG9IQXVDYzs7O1FBdkVNLG1DQUFpQixvQkFBQSw2Q0FBQTtRQUNNLGVBQTJCO1FBQTNCLDhDQUEyQixpQkFBQTs7dUZEMEd6RCxpQkFBaUI7Y0FON0IsU0FBUzsyQkFDRSxXQUFXLG1CQUVKLHVCQUF1QixDQUFDLE1BQU0sYUFDL0MsU0FBUzswTEFHOEMsT0FBTztrQkFBN0QsU0FBUzttQkFBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEb0NoZWNrLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9Mb29rdXBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1sb29rdXAtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9Mb29rdXBGaWx0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1sb29rdXAtZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Mb29rdXBNb2RhbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWxvb2t1cC1tb2RhbC5zZXJ2aWNlJztcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbmNvbnN0IHByb3ZpZGVycyA9IFtcbiAgUG9Mb29rdXBGaWx0ZXJTZXJ2aWNlLFxuICBQb0xvb2t1cE1vZGFsU2VydmljZSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9va3VwQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0xvb2t1cENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5nQ29udHJvbCxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0xvb2t1cENvbXBvbmVudCksXG4gICAgbXVsdGk6IGZhbHNlXG4gIH1cbl07XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTG9va3VwQmFzZUNvbXBvbmVudFxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIFF1YW5kbyBleGlzdGUgbXVpdG9zIGRhZG9zIG8gcG8tbG9va3VwIHBvciBwYWRyw6NvIHRyYXogYXBlbmFzIDEwIGl0ZW5zIG5hIHRhYmVsYSBlIG9zIGRlbWFpcyBzw6NvIGNhcnJlZ2Fkb3MgcG9yIGRlbWFuZGEgYXRyYXbDqXMgZG9cbiAqIGJvdMOjbyAnQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zJy4gUGFyYSBxdWUgZnVuY2lvbmUgY29ycmV0YW1lbnRlLCDDqSBpbXBvcnRhbnRlIHF1ZSBvIHNlcnZpw6dvIHNpZ2Egb1xuICogW0d1aWEgZGUgaW1wbGVtZW50YcOnw6NvIGRhcyBBUElzIFRPVFZTXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxuICpcbiAqIEltcG9ydGFudGU6XG4gKlxuICogLSBDYXNvIG8gcG8tbG9va3VwIGNvbnRlbmhhIG8gWyhuZ01vZGVsKV0gc2VtIG8gYXRyaWJ1dG8gbmFtZSwgb2NvcnJlcsOhIHVtIGVycm8gZGUgYW5ndWxhci5cbiAqIEVudMOjbyBzZXLDoSBuZWNlc3PDoXJpbyBpbmZvcm1hciBvIGF0cmlidXRvIG5hbWUgb3UgbyBhdHJpYnV0byBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCIuXG4gKiBgYGBcbiAqIDxwby1sb29rdXBcbiAqICAgWyhuZ01vZGVsKV09XCJwZXNzb2Eubm9tZVwiXG4gKiAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIj5cbiAqIDwvcG8tbG9va3VwPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLWJhc2ljXCIgdGl0bGU9XCJQTyBMb29rdXAgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvb2t1cC1sYWJzXCIgdGl0bGU9XCJQTyBMb29rdXAgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWxhYnMvc2FtcGxlLXBvLWxvb2t1cC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1sYWJzL3NhbXBsZS1wby1sb29rdXAtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyb1wiIHRpdGxlPVwiUE8gTG9va3VwIC0gSGVyb1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvL3NhbXBsZS1wby1sb29rdXAtaGVyby5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyby1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBMb29rdXAgLSBIZXJvIFJlYWN0aXZlIEZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtc3ctZmlsbXNcIiB0aXRsZT1cIlBPIExvb2t1cCAtIFN0YXIgV2FycyBmaWxtc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy9zYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtbXVsdGlwbGVcIiB0aXRsZT1cIlBPIExvb2t1cCAtIE11bHRpcGxlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlL3NhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvb2t1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1sb29rdXAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIFBvTG9va3VwQ29tcG9uZW50IGV4dGVuZHMgUG9Mb29rdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKCdpbnAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcblxuICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuXG4gIGRpc2NsYWltZXJzID0gW107XG4gIHZpc2libGVEaXNjbGFpbWVycyA9IFtdO1xuXG4gIHByaXZhdGUgbW9kYWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpc0NhbGN1bGF0ZVZpc2libGVJdGVtczogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub0F1dG9jb21wbGV0ZSA/ICdvZmYnIDogJ29uJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwb0xvb2t1cEZpbHRlclNlcnZpY2U6IFBvTG9va3VwRmlsdGVyU2VydmljZSxcbiAgICBwcml2YXRlIHBvTG9va3VwTW9kYWxTZXJ2aWNlOiBQb0xvb2t1cE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIocG9Mb29rdXBGaWx0ZXJTZXJ2aWNlLCBpbmplY3Rvcik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCBpbnB1dFdpZHRoID0gdGhpcy5pbnB1dEVsPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIFBlcm1pdGUgcXVlIG9zIGRpc2NsYWltZXJzIHNlamFtIGNhbGN1bGFkb3MgbmEgcHJpbWVpcmEgdmV6IHF1ZSBvIGNvbXBvbmVudGUgdG9ybmEtc2Ugdmlzw612ZWwsXG4gICAgLy8gZXZpdGFuZG8gY29tIGlzc28sIHByb2JsZW1hcyBjb20gVGFicyBvdSBEaXZzIHF1ZSBpbmljaWVtIGVzY29uZGlkYXMuXG4gICAgaWYgKChpbnB1dFdpZHRoICYmICF0aGlzLnZpc2libGVFbGVtZW50ICYmIHRoaXMuaW5pdGlhbGl6ZWQpIHx8IChpbnB1dFdpZHRoICYmIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMpKSB7XG4gICAgICB0aGlzLmRlYm91bmNlUmVzaXplKCk7XG4gICAgICB0aGlzLnZpc2libGVFbGVtZW50ID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLm1vZGFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1vZGFsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9Mb29rdXBDb21wb25lbnQgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XG4gICAqXG4gICAqIC4uLlxuICAgKlxuICAgKiBAVmlld0NoaWxkKFBvTG9va3VwQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBsb29rdXA6IFBvTG9va3VwQ29tcG9uZW50O1xuICAgKlxuICAgKiBmb2N1c0xvb2t1cCgpIHtcbiAgICogICB0aGlzLmxvb2t1cC5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5Mb29rdXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBbGxvd2VkT3Blbk1vZGFsKCkpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWR2YW5jZWRGaWx0ZXJzLFxuICAgICAgICBzZXJ2aWNlLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGxpdGVyYWxzLFxuICAgICAgICBpbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIGZpZWxkTGFiZWwsXG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIGNoYW5nZVZpc2libGVDb2x1bW5zLFxuICAgICAgICBjb2x1bW5SZXN0b3JlTWFuYWdlclxuICAgICAgfSA9IHRoaXM7XG5cbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSB0aGlzLmNoZWNrU2VsZWN0ZWRJdGVtcygpO1xuXG4gICAgICB0aGlzLnBvTG9va3VwTW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh7XG4gICAgICAgIGFkdmFuY2VkRmlsdGVycyxcbiAgICAgICAgc2VydmljZSxcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICB0aXRsZTogdGhpcy5sYWJlbCxcbiAgICAgICAgbGl0ZXJhbHMsXG4gICAgICAgIGluZmluaXRlU2Nyb2xsLFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgZmllbGRMYWJlbCxcbiAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgY2hhbmdlVmlzaWJsZUNvbHVtbnMsXG4gICAgICAgIGNvbHVtblJlc3RvcmVNYW5hZ2VyXG4gICAgICB9KTtcblxuICAgICAgaWYgKCF0aGlzLm1vZGFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMubW9kYWxTdWJzY3JpcHRpb24gPSB0aGlzLnBvTG9va3VwTW9kYWxTZXJ2aWNlLnNlbGVjdFZhbHVlRXZlbnQuc3Vic2NyaWJlKHNlbGVjdGVkT3B0aW9ucyA9PiB7XG4gICAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAxIHx8IHRoaXMuZGlzY2xhaW1lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNldERpc2NsYWltZXJzKHNlbGVjdGVkT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc2VsZWN0TW9kZWwoc2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tTZWxlY3RlZEl0ZW1zKCkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAoIXRoaXMuZGlzY2xhaW1lcnMubGVuZ3RoICYmIHRoaXMudmFsdWVUb01vZGVsPy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFt7IHZhbHVlOiB0aGlzLnZhbHVlVG9Nb2RlbFswXSwgbGFiZWw6IHRoaXMub2xkVmFsdWUsIC4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdIH1dO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5kaXNjbGFpbWVycztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWVUb01vZGVsO1xuICAgIH1cbiAgfVxuXG4gIHNldERpc2NsYWltZXJzKHNlbGVjdGVkT3B0aW9uczogQXJyYXk8YW55Pikge1xuICAgIHRoaXMuZGlzY2xhaW1lcnMgPSBzZWxlY3RlZE9wdGlvbnMubWFwKHNlbGVjdGVkT3B0aW9uID0+ICh7XG4gICAgICB2YWx1ZTogc2VsZWN0ZWRPcHRpb25bdGhpcy5maWVsZFZhbHVlXSxcbiAgICAgIGxhYmVsOiBzZWxlY3RlZE9wdGlvblt0aGlzLmZpZWxkTGFiZWxdLFxuICAgICAgLi4uc2VsZWN0ZWRPcHRpb25cbiAgICB9KSk7XG5cbiAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycyA9IFsuLi50aGlzLmRpc2NsYWltZXJzXTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc2V0Vmlld1ZhbHVlKHZhbHVlOiBhbnksIG9iamVjdDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbCAmJiB0aGlzLmZpZWxkRm9ybWF0KSB7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWVXaXBvaWVsZEZvcm1hdChvYmplY3QpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMudmFsdWVUb01vZGVsIHx8IHRoaXMudmFsdWVUb01vZGVsID09PSAwID8gdmFsdWUgOiAnJztcbiAgICB9XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldFZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIHNlYXJjaEV2ZW50KCkge1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0Vmlld1ZhbHVlKCk7XG5cbiAgICBpZiAodGhpcy5vbGRWYWx1ZT8udG9TdHJpbmcoKSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoQnlJZCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VEaXNjbGFpbWVyKHZhbHVlKSB7XG4gICAgdGhpcy5kaXNjbGFpbWVycyA9IHRoaXMuZGlzY2xhaW1lcnMuZmlsdGVyKGRpc2NsYWltZXIgPT4gZGlzY2xhaW1lci52YWx1ZSAhPT0gdmFsdWUpO1xuICAgIHRoaXMudmFsdWVUb01vZGVsID0gdGhpcy52YWx1ZVRvTW9kZWwuZmlsdGVyKG1vZGVsID0+IG1vZGVsICE9PSB2YWx1ZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMudmFsdWVUb01vZGVsLmxlbmd0aCA/IHRoaXMudmFsdWVUb01vZGVsIDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBpZiAodGhpcy5kaXNjbGFpbWVycyAmJiB0aGlzLmRpc2NsYWltZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW10uY29uY2F0KHRoaXMuZGlzY2xhaW1lcnMpO1xuICAgIH1cblxuICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcblxuICAgIGlmICghdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGlmICghdGhpcy5hdXRvSGVpZ2h0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVzaXplKTtcbiAgICAgIHRoaXMudGltZW91dFJlc2l6ZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVZpc2libGVJdGVtcygpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnB1dFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIDQwO1xuICB9XG5cbiAgZ2V0RGlzY2xhaW1lcnNXaWR0aCgpIHtcbiAgICBjb25zdCBkaXNjbGFpbWVycyA9IHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3BvLWRpc2NsYWltZXInKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShkaXNjbGFpbWVycykubWFwKGRpc2NsYWltZXIgPT4gZGlzY2xhaW1lclsnb2Zmc2V0V2lkdGgnXSk7XG4gIH1cblxuICBjYWxjdWxhdGVWaXNpYmxlSXRlbXMoKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lcnNXaWR0aCA9IHRoaXMuZ2V0RGlzY2xhaW1lcnNXaWR0aCgpO1xuICAgIGNvbnN0IGlucHV0V2lkdGggPSB0aGlzLmdldElucHV0V2lkdGgoKTtcbiAgICBjb25zdCBleHRyYURpc2NsYWltZXJTaXplID0gMzg7XG4gICAgY29uc3QgZGlzY2xhaW1lcnNWaXNpYmxlID0gZGlzY2xhaW1lcnNXaWR0aFswXTtcblxuICAgIGNvbnN0IG5ld0Rpc2NsYWltZXJzID0gW107XG4gICAgY29uc3QgZGlzY2xhaW1lcnMgPSB0aGlzLmRpc2NsYWltZXJzO1xuXG4gICAgaWYgKGlucHV0V2lkdGggPiAwKSB7XG4gICAgICBsZXQgc3VtID0gMDtcbiAgICAgIGxldCBpID0gMDtcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBkaXNjbGFpbWVycy5sZW5ndGg7IGkrKykge1xuICAgICAgICBzdW0gKz0gZGlzY2xhaW1lcnNXaWR0aFtpXTtcbiAgICAgICAgbmV3RGlzY2xhaW1lcnMucHVzaChkaXNjbGFpbWVyc1tpXSk7XG5cbiAgICAgICAgaWYgKHN1bSA+IGlucHV0V2lkdGgpIHtcbiAgICAgICAgICBzdW0gLT0gZGlzY2xhaW1lcnNXaWR0aFtpXTtcbiAgICAgICAgICB0aGlzLmlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGRpc2NsYWltZXJzVmlzaWJsZSB8fCAhZGlzY2xhaW1lcnMubGVuZ3RoKSB7XG4gICAgICAgIGlmIChpID09PSBkaXNjbGFpbWVycy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1bSArIGV4dHJhRGlzY2xhaW1lclNpemUgPiBpbnB1dFdpZHRoKSB7XG4gICAgICAgICAgbmV3RGlzY2xhaW1lcnMuc3BsaWNlKC0yLCAyKTtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9ICcrJyArIChkaXNjbGFpbWVycy5sZW5ndGggKyAxIC0gaSkudG9TdHJpbmcoKTtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5wdXNoKHsgdmFsdWU6ICcnLCBsYWJlbDogbGFiZWwgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3RGlzY2xhaW1lcnMuc3BsaWNlKC0xLCAxKTtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9ICcrJyArIChkaXNjbGFpbWVycy5sZW5ndGggLSBpKS50b1N0cmluZygpO1xuICAgICAgICAgIG5ld0Rpc2NsYWltZXJzLnB1c2goeyB2YWx1ZTogJycsIGxhYmVsOiBsYWJlbCB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gWy4uLm5ld0Rpc2NsYWltZXJzXTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBbGxvd2VkT3Blbk1vZGFsKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIHNlcnZpY2UgaW5mb3JtZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gISEodGhpcy5zZXJ2aWNlICYmICF0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RmllbGRzKG9iamVjdFNlbGVjdGVkLCBwcm9wZXJ0aWVzKSB7XG4gICAgbGV0IGZvcm1hdGVkRmllbGQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydGllcykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAob2JqZWN0U2VsZWN0ZWQgJiYgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKCFmb3JtYXRlZEZpZWxkKSB7XG4gICAgICAgICAgICBmb3JtYXRlZEZpZWxkID0gb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3JtYXRlZEZpZWxkID0gZm9ybWF0ZWRGaWVsZCArICcgLSAnICsgb2JqZWN0U2VsZWN0ZWRbcHJvcGVydHldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghZm9ybWF0ZWRGaWVsZCkge1xuICAgICAgZm9ybWF0ZWRGaWVsZCA9IG9iamVjdFNlbGVjdGVkW3RoaXMuZmllbGRWYWx1ZV07XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRlZEZpZWxkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlV2lwb2llbGRGb3JtYXQob2JqZWN0U2VsZWN0ZWQ6IGFueSkge1xuICAgIGNvbnN0IGlzRW1wdHkgPSBPYmplY3Qua2V5cyhvYmplY3RTZWxlY3RlZCkubGVuZ3RoID09PSAwO1xuICAgIGxldCBmaWVsZEZvcm1hdGVkO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5maWVsZEZvcm1hdCkpIHtcbiAgICAgIGZpZWxkRm9ybWF0ZWQgPSB0aGlzLmZvcm1hdEZpZWxkcyhvYmplY3RTZWxlY3RlZCwgdGhpcy5maWVsZEZvcm1hdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpZWxkRm9ybWF0ZWQgPSB0aGlzLmZpZWxkRm9ybWF0KG9iamVjdFNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLm9sZFZhbHVlID0gaXNFbXB0eSA/ICcnIDogZmllbGRGb3JtYXRlZDtcbiAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGlzRW1wdHkgPyAnJyA6IGZpZWxkRm9ybWF0ZWQ7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lciBbcC1sYWJlbF09XCJsYWJlbFwiIFtwLWhlbHBdPVwiaGVscFwiIFtwLW9wdGlvbmFsXT1cIiFyZXF1aXJlZCAmJiBvcHRpb25hbFwiPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIiAqbmdJZj1cIiFkaXNjbGFpbWVycy5sZW5ndGg7IGVsc2UgZGlzY2xhaW1lcnNUZW1wbGF0ZVwiPlxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1pbnB1dFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBbbmdDbGFzc109XCJjbGVhbiAmJiBpbnAudmFsdWUgPyAncG8taW5wdXQtZG91YmxlLWljb24tcmlnaHQnIDogJ3BvLWlucHV0LWljb24tcmlnaHQnXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIChibHVyKT1cInNlYXJjaEV2ZW50KClcIlxuICAgIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItcmlnaHRcIj5cbiAgICAgIDxwby1jbGVhbiAqbmdJZj1cImNsZWFuICYmICFkaXNhYmxlZFwiIFtwLWVsZW1lbnQtcmVmXT1cImlucHV0RWxcIiAocC1jaGFuZ2UtZXZlbnQpPVwiY2xlYW5Nb2RlbCgpXCI+IDwvcG8tY2xlYW4+XG5cbiAgICAgIDxzcGFuXG4gICAgICAgICNpY29uTG9va3VwXG4gICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1maWVsZC1pY29uIHBvLWljb24tc2VhcmNoXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIFtjbGFzcy5wby1maWVsZC1pY29uXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5wby1maWVsZC1pY29uLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Mb29rdXAoKVwiXG4gICAgICAgIChmb2N1cyk9XCJpbnAuZm9jdXMoKVwiXG4gICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkaXNjbGFpbWVyc1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2XG4gICAgICAjaW5wXG4gICAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgY2xhc3M9XCJwby1pbnB1dCBwby1pbnB1dC1pY29uLXJpZ2h0IHBvLWxvb2t1cC1pbnB1dFwiXG4gICAgICBbY2xhc3MucG8tbG9va3VwLWlucHV0LWF1dG9dPVwiYXV0b0hlaWdodFwiXG4gICAgICBbY2xhc3MucG8tbG9va3VwLWlucHV0LXN0YXRpY109XCIhYXV0b0hlaWdodFwiXG4gICAgICBbY2xhc3MucG8tbG9va3VwLWlucHV0LWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cInBsYWNlaG9sZGVyICYmICFkaXNjbGFpbWVycz8ubGVuZ3RoXCIgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQtcGxhY2Vob2xkZXJcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHBvLWRpc2NsYWltZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRpc2NsYWltZXIgb2YgdmlzaWJsZURpc2NsYWltZXJzXCJcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQtZGlzY2xhaW1lclwiXG4gICAgICAgIFtwLWxhYmVsXT1cImRpc2NsYWltZXIubGFiZWxcIlxuICAgICAgICBbcC12YWx1ZV09XCJkaXNjbGFpbWVyLnZhbHVlXCJcbiAgICAgICAgW3AtaGlkZS1jbG9zZV09XCJkaXNjbGFpbWVyLnZhbHVlID09PSAnJyB8fCBkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5wby1jbGlja2FibGVdPVwiZGlzY2xhaW1lci52YWx1ZSA9PT0gJycgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgKHAtY2xvc2UtYWN0aW9uKT1cImNsb3NlRGlzY2xhaW1lcihkaXNjbGFpbWVyLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWRpc2NsYWltZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItcmlnaHRcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICNpY29uTG9va3VwXG4gICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1maWVsZC1pY29uIHBvLWljb24tc2VhcmNoXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIFtjbGFzcy5wby1maWVsZC1pY29uXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5wby1maWVsZC1pY29uLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Mb29rdXAoKVwiXG4gICAgICAgIChmb2N1cyk9XCJpbnAuZm9jdXMoKVwiXG4gICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|