ngx-edu-sharing-ui 9999.0.2 → 9999.0.3
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/esm2022/lib/actionbar/actionbar.component.mjs +31 -16
- package/esm2022/lib/directives/icon.directive.mjs +24 -7
- package/esm2022/lib/dropdown/dropdown.component.mjs +15 -8
- package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
- package/esm2022/lib/node-entries/entries-model.mjs +1 -1
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +6 -4
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +12 -9
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +2 -2
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +5 -3
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +8 -3
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +7 -5
- package/esm2022/lib/pipes/file-size.pipe.mjs +6 -5
- package/esm2022/lib/pipes/node-title.pipe.mjs +7 -1
- package/esm2022/lib/pipes/option-tooltip.pipe.mjs +3 -3
- package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
- package/esm2022/lib/services/node-helper.service.mjs +5 -2
- package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
- package/esm2022/lib/services/search-helper.service.mjs +52 -0
- package/esm2022/lib/services/ui.service.mjs +16 -1
- package/esm2022/lib/translations/translation-loader.mjs +7 -6
- package/esm2022/lib/translations/translations.service.mjs +14 -4
- package/esm2022/lib/types/option-item.mjs +6 -1
- package/esm2022/module.mjs +2 -1
- package/fesm2022/ngx-edu-sharing-ui.mjs +208 -68
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/actionbar/actionbar.component.d.ts +13 -3
- package/lib/directives/icon.directive.d.ts +5 -3
- package/lib/dropdown/dropdown.component.d.ts +6 -3
- package/lib/list-items/list-text/list-text.component.d.ts +1 -1
- package/lib/list-items/list-widget.d.ts +1 -1
- package/lib/node-entries/entries-model.d.ts +1 -1
- package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
- package/lib/node-entries/option-button/option-button.component.d.ts +2 -1
- package/lib/pipes/node-title.pipe.d.ts +2 -1
- package/lib/pipes/option-tooltip.pipe.d.ts +1 -1
- package/lib/services/abstract/options-helper.service.d.ts +1 -1
- package/lib/services/node-helper.service.d.ts +2 -2
- package/lib/services/options-helper-data.service.d.ts +3 -3
- package/lib/services/search-helper.service.d.ts +21 -0
- package/lib/services/ui.service.d.ts +7 -1
- package/lib/translations/translations.service.d.ts +5 -2
- package/lib/types/option-item.d.ts +7 -2
- package/module.d.ts +1 -0
- package/package.json +1 -1
|
@@ -166,12 +166,17 @@ export class NodeEntriesWrapperComponent {
|
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
this.dataSource.getData().forEach((d) => {
|
|
169
|
-
let hits = nodes.filter((n) => n
|
|
169
|
+
let hits = nodes.filter((n) => n?.ref
|
|
170
|
+
? n?.ref.id === d?.ref.id
|
|
171
|
+
: n?.authorityName ===
|
|
172
|
+
d?.authorityName);
|
|
170
173
|
if (hits.length === 0) {
|
|
171
174
|
// handle if the original has changed (for collection refs)
|
|
172
|
-
hits = nodes.filter((n) => n
|
|
175
|
+
hits = nodes.filter((n) => n?.ref &&
|
|
176
|
+
n?.ref?.id === d?.originalId);
|
|
173
177
|
}
|
|
174
178
|
if (hits.length === 1) {
|
|
179
|
+
console.log('copy', d, hits);
|
|
175
180
|
this.nodeHelperService.copyDataToNode(d, hits[0]);
|
|
176
181
|
}
|
|
177
182
|
});
|
|
@@ -328,4 +333,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
328
333
|
}], displayTypeChanged: [{
|
|
329
334
|
type: Output
|
|
330
335
|
}] } });
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUtOLFNBQVMsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE9BQU8sRUFHSCxlQUFlLEVBUWYsc0JBQXNCLEdBQ3pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7QUFXbkYsTUFBTSxPQUFPLDJCQUEyQjtJQXFGcEMsWUFDWSxnQkFBa0MsRUFDbEMsdUJBQWdELEVBQ2hELE1BQWMsRUFDZCxjQUFxQyxFQUN0QyxhQUF1QyxFQUN0QyxpQkFBb0MsRUFDcEMsU0FBb0I7SUFDNUIsUUFBUTtJQUNSLG1DQUFtQztJQUMzQixnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBWHRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFHcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6RXpCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDZixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFaEQsZ0JBQVcsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFDekMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFDaEUsMkJBQXNCLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDO1FBS3BFOzs7V0FHRztRQUNNLHdCQUFtQixHQUFXLE1BQU0sQ0FBQztRQWdCOUM7Ozs7Ozs7Ozs7O1dBV0c7UUFDSCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBeUIsU0FBUyxDQUFDO1FBQzNEOztXQUVHO1FBQ00sMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRTdCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzNDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUNsRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3JELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQU9sRCxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWdCcEMsa0ZBQWtGO1FBQ2xGOzs7O1VBSUU7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlO29CQUN4QyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUN4RixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUN6RCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUEyQyxFQUFFO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN2RSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUV0RSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxDQUFDO1FBQ2xFLENBQUM7UUFDRCw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNLLElBQUk7UUFDUixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FDM0QsdUJBQXVCLENBQUMsNkJBQTZCLEVBQ3JELElBQUksQ0FDUCxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQ3JELElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsSUFBSSxDQUFDLHVCQUF1QixFQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDN0IsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUMzQixDQUFDO0lBQ04sQ0FBQztJQUNEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3JCLE1BQU0sY0FBYyxHQUEyQixFQUFFLENBQUM7UUFDbEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUksSUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNoQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFtQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxJQUFJLEdBQUksS0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQU0sQ0FBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLDJEQUEyRDtnQkFDM0QsSUFBSSxHQUFJLEtBQWEsQ0FBQyxNQUFNLENBQ3hCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBTSxDQUFvQyxDQUFDLFVBQVUsQ0FDakYsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQVMsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILGtCQUFrQjtRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLFlBQVksY0FBYyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQWdDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckQsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ2hDLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FDZixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCx3QkFBd0IsS0FBVSxDQUFDO0lBRW5DLGVBQWUsQ0FBQyxPQUFZO1FBQ3hCLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsQ0FBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzNCLE9BQU8sRUFBRTtpQkFDVCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNQLENBQVUsQ0FBQyxHQUFHO2dCQUNYLENBQUMsQ0FBRSxDQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBTSxDQUFVLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdDLENBQUMsQ0FBRSxDQUFVLENBQUMsYUFBYSxLQUFNLENBQVUsQ0FBQyxhQUFhLENBQ2hFLENBQUM7WUFDTixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBaUIsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9CO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUF5QjtRQUNoRCxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSztZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNyRCxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUN2RCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDckMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtTQUN0QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGVBQWU7UUFDWCxzQ0FBc0M7UUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDWCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0F4VFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsaXpCQUZ6QixDQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixDQUFDLHloQkFKNUU7Ozt3QkFHVTs7MkZBR1gsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRTs7O3dCQUdVO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsQ0FBQztpQkFDekY7bVhBTzBCLFFBQVE7c0JBQTlCLFlBQVk7dUJBQUMsT0FBTztnQkFJRSxRQUFRO3NCQUE5QixZQUFZO3VCQUFDLE9BQU87Z0JBSU8sYUFBYTtzQkFBeEMsWUFBWTt1QkFBQyxZQUFZO2dCQUlELFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFDWSx1QkFBdUI7c0JBQXpELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUN4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNFLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBY0csZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vZGVFbnRyaWVzVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vbm9kZS1lbnRyaWVzLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVFbnRyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9ub2RlLWVudHJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgRmV0Y2hFdmVudCxcbiAgICBHcmlkQ29uZmlnLFxuICAgIEludGVyYWN0aW9uVHlwZSxcbiAgICBMaXN0RHJhZ0dyb3BDb25maWcsXG4gICAgTGlzdEV2ZW50SW50ZXJmYWNlLFxuICAgIExpc3RPcHRpb25zLFxuICAgIExpc3RPcHRpb25zQ29uZmlnLFxuICAgIExpc3RTb3J0Q29uZmlnLFxuICAgIE5vZGVDbGlja0V2ZW50LFxuICAgIE5vZGVFbnRyaWVzRGF0YVR5cGUsXG4gICAgTm9kZUVudHJpZXNEaXNwbGF5VHlwZSxcbn0gZnJvbSAnLi9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi9ub2RlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4uL3V0aWwvaGVscGVyJztcbmltcG9ydCB7IEN1c3RvbVNlbGVjdGlvbk1vZGVsLCBOb2RlRW50cmllc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub2RlLWVudHJpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBTY29wZSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBUZW1wb3JhcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbXBvcmFyeS1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgTm9kZSwgVXNlciB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVmlydHVhbE5vZGUgfSBmcm9tICcuLi90eXBlcy9hcGktbW9kZWxzJztcbmltcG9ydCB7IE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1ub2RlLWVudHJpZXMtd3JhcHBlcicsXG4gICAgdGVtcGxhdGU6IGA8ZXMtbm9kZS1lbnRyaWVzXG4gICAgICAgICNub2RlRW50cmllc0NvbXBvbmVudFxuICAgICAgICAqbmdJZj1cIiFjdXN0b21Ob2RlTGlzdENvbXBvbmVudFwiXG4gICAgPjwvZXMtbm9kZS1lbnRyaWVzPmAsXG4gICAgcHJvdmlkZXJzOiBbTm9kZUVudHJpZXNTZXJ2aWNlLCBPcHRpb25zSGVscGVyRGF0YVNlcnZpY2UsIE5vZGVFbnRyaWVzVGVtcGxhdGVzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzV3JhcHBlckNvbXBvbmVudDxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT5cbiAgICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIExpc3RFdmVudEludGVyZmFjZTxUPlxue1xuICAgIC8qKlxuICAgICAqIHRpdGxlIChhYm92ZSkgdGhlIHRhYmxlL2dyaWRcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd0aXRsZScpIHRpdGxlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIGRhdGEgc2hvd24gd2hlbiBkYXRhIHNvdXJjZSBpcyBlbXB0eVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VtcHR5JykgZW1wdHlSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGFyZWEgZm9yIGFjdGlvbnMgb25seSBmb3IgTm9kZUVudHJpZXNEaXNwbGF5VHlwZS5TbWFsbEdyaWQgKHBlciBjYXJkIGF0IHRoZSBib3R0b20pXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnYWN0aW9uQXJlYScpIGFjdGlvbkFyZWFSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGFyZWEgZm9yIGFuIG92ZXJsYXkgXCJhYm92ZVwiIGVhY2ggY2FyZCAoaS5lLiB0byBzaG93IGRpc2FibGVkIGluZm9zKSwgb25seSBmb3IgTm9kZUVudHJpZXNEaXNwbGF5VHlwZS5TbWFsbEdyaWQgJiBvZGVFbnRyaWVzRGlzcGxheVR5cGUuR3JpZFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ292ZXJsYXknKSBvdmVybGF5UmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ25vZGVFbnRyaWVzQ29tcG9uZW50Jykgbm9kZUVudHJpZXNDb21wb25lbnRSZWY6IE5vZGVFbnRyaWVzQ29tcG9uZW50PFQ+O1xuICAgIEBJbnB1dCgpIGRhdGFTb3VyY2U6IE5vZGVEYXRhU291cmNlPFQ+O1xuICAgIEBJbnB1dCgpIHNjb3BlOiBTY29wZTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuICAgIEBJbnB1dCgpIGNvbmZpZ3VyZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2hlY2tib3ggPSB0cnVlO1xuICAgIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbVtdPigpO1xuICAgIEBJbnB1dCgpIGdsb2JhbE9wdGlvbnM6IE9wdGlvbkl0ZW1bXTtcbiAgICBASW5wdXQoKSBkaXNwbGF5VHlwZSA9IE5vZGVFbnRyaWVzRGlzcGxheVR5cGUuR3JpZDtcbiAgICBAT3V0cHV0KCkgZGlzcGxheVR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG4gICAgQElucHV0KCkgZWxlbWVudEludGVyYWN0aW9uVHlwZSA9IEludGVyYWN0aW9uVHlwZS5EZWZhdWx0QWN0aW9uTGluaztcbiAgICBASW5wdXQoKSBzb3J0OiBMaXN0U29ydENvbmZpZztcbiAgICBASW5wdXQoKSBkcmFnRHJvcDogTGlzdERyYWdHcm9wQ29uZmlnPFQ+O1xuICAgIEBJbnB1dCgpIGdyaWRDb25maWc6IEdyaWRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGNvbG9yIGRlZmluZXMgdGhlIGJhc2UgY29sb3Igb2YgZ3JhZGllbnRzIHZpc3VhbGx5IGxpbWl0aW5nIGEgZ3JpZCBpbiBzY3JvbGwgZGlyZWN0aW9uLlxuICAgICAqIERlZmF1bHRzIHRvIHdoaXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNjcm9sbEdyYWRpZW50Q29sb3I6IHN0cmluZyA9ICcjZmZmJztcblxuICAgIC8qKlxuICAgICAqIHRoaXMgY2FuIGJlIHNldCBpbnN0ZWFkIG9mIGNhbGxpbmcgaW5pdE9wdGlvbnNHZW5lcmF0b3IoKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGluaXRDb25maWc6IExpc3RPcHRpb25zQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBub2RlLWVudHJpZXMgaW5zdGFuY2UgcmVwcmVzZW50cyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cbiAgICAgKlxuICAgICAqIE9ubHkgc2V0IHRvIHRydWUgZm9yIG9uZSBpbnN0YW5jZSBwZXIgcGFnZS5cbiAgICAgKlxuICAgICAqIElmIHRydWUsIHRoaXMgaW5zdGFuY2Ugd2lsbFxuICAgICAqIC0gaGFuZGxlIHBhZ2Utd2lkZSBrZXlib2FyZCBzaG9ydGN1dHNcbiAgICAgKiAtIHRha2UgY29udHJvbCBvZiB0aGUgYHBhZ2VgIGFuZCBgcGFnZVNpemVgIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHBhZ2luYXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVUkgaGludHMgZm9yIHdoZXRoZXIgYSBzaW5nbGUgY2xpY2sgd2lsbCBjYXVzZSBhIGR5bmFtaWMgYWN0aW9uLlxuICAgICAqXG4gICAgICogVGhpcyBkb2VzIG5vdCBjb25maWd1cmUgdGhlIGFjdHVhbCBiZWhhdmlvciBidXQgb25seSBVSSBoaW50cyB0byB0aGUgdXNlci4gSGludHMgaW5jbHVkZVxuICAgICAqIGhvdmVyIGVmZmVjdHMgYW5kIGEgY2hhbmdlZCBjdXJzb3IuXG4gICAgICpcbiAgICAgKiAtIFdoZW4gY2hvb3NpbmcgJ3N0YXRpYycsIHRoZSBgY2xpY2tJdGVtYCBldmVudCBzaG91bGQgdHJpZ2dlciBzb21lIHN0YXRpb25hcnkgYWN0aW9uIGxpa2VcbiAgICAgKiAgIHNlbGVjdGluZyB0aGUgZWxlbWVudCBvciBkaXNwbGF5aW5nIGluZm9ybWF0aW9uIGluIGEgY29tcGxlbWVudGFyeSBwYWdlIGFyZWEuIFRoZVxuICAgICAqICAgYGRibENsaWNrSXRlbWAgZXZlbnQgY2FuIGJlIHVzZWQgZm9yIGEgbW9yZSBkaXNydXB0aXZlIGFjdGlvbi5cbiAgICAgKiAtIFdoZW4gY2hvb3NpbmcgJ2R5bmFtaWMnLCB0aGUgYGNsaWNrSXRlbWAgZXZlbnQgc2hvdWxkIHRyaWdnZXIgYSBtYWpvciBhY3Rpb24gbGlrZVxuICAgICAqICAgbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlIG9yIGNsb3NpbmcgYSBkaWFsb2cuXG4gICAgICovXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgY29udHJvbGxpbmcgdGhlIHVpIGhpbnRzIGFuZCB0aGUgYWN0dWFsIGJlaGF2aW9yIHdpdGggYSBzaW5nbGUgb3B0aW9uLlxuICAgIEBJbnB1dCgpIHNpbmdsZUNsaWNrSGludDogJ2R5bmFtaWMnIHwgJ3N0YXRpYycgPSAnZHluYW1pYyc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGxvYWQgbW9yZSBkYXRhIG9uIHNjcm9sbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkaXNhYmxlSW5maW5pdGVTY3JvbGwgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+KCk7XG4gICAgQE91dHB1dCgpIGRibENsaWNrSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RTb3J0Q29uZmlnPigpO1xuICAgIEBPdXRwdXQoKSB2aXJ0dWFsTm9kZXNBZGRlZDtcbiAgICBAT3V0cHV0KCkgZGlzcGxheVR5cGVDaGFuZ2VkO1xuXG4gICAgY3VzdG9tTm9kZUxpc3RDb21wb25lbnQ6IFR5cGU8Tm9kZUVudHJpZXNDb21wb25lbnQ8VD4+O1xuICAgIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Tm9kZUVudHJpZXNDb21wb25lbnQ8VD4+O1xuICAgIHByaXZhdGUgb3B0aW9uczogTGlzdE9wdGlvbnM7XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0ZW1wb3JhcnlTdG9yYWdlU2VydmljZTogVGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZW50cmllc1NlcnZpY2U6IE5vZGVFbnRyaWVzU2VydmljZTxUPixcbiAgICAgICAgcHVibGljIG9wdGlvbnNIZWxwZXI6IE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub2RlSGVscGVyU2VydmljZTogTm9kZUhlbHBlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdWlTZXJ2aWNlOiBVSVNlcnZpY2UsXG4gICAgICAgIC8vIEBUT0RPXG4gICAgICAgIC8vIHByaXZhdGUgbWFpbk5hdjogTWFpbk5hdlNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVzU2VydmljZTogTm9kZUVudHJpZXNUZW1wbGF0ZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICkge1xuICAgICAgICAvLyByZWd1bGFyeSByZS1iaW5kIHRlbXBsYXRlIHNpbmNlIGl0IG1pZ2h0IGhhdmUgdXBkYXRlZCB3aXRob3V0IG5nQ2hhbmdlcyB0cmlnZ2VyXG4gICAgICAgIC8qXG4gICAgICAgIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZW1wdHlSZWYgPSB0aGlzLmVtcHR5UmVmKVxuICAgICAgICApO1xuICAgICAgICAqL1xuICAgICAgICB0aGlzLnZpcnR1YWxOb2Rlc0FkZGVkID0gdGhpcy5vcHRpb25zSGVscGVyLnZpcnR1YWxOb2Rlc0FkZGVkO1xuICAgICAgICB0aGlzLmRpc3BsYXlUeXBlQ2hhbmdlZCA9IHRoaXMub3B0aW9uc0hlbHBlci5kaXNwbGF5VHlwZUNoYW5nZWQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLmNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnNIZWxwZXIuZ2V0RGF0YSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyLmdldERhdGEoKS5zZWxlY3RlZE9iamVjdHMgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXIuZ2V0RGF0YSgpLmFjdGl2ZU9iamVjdHMgPSB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyIGlzIG5vdCBpbml0YWxpemVkIGNvcnJlY3RseTsgZGF0YSBpcyBlbXB0eScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyLnJlZnJlc2hDb21wb25lbnRzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmltYXJ5SW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0hlbHBlci5yZWdpc3Rlckdsb2JhbEtleWJvYXJkU2hvcnRjdXRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9ID0ge30pIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5saXN0ID0gdGhpcztcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNjb3BlID0gdGhpcy5zY29wZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmNvbmZpZ3VyZUNvbHVtbnMgPSB0aGlzLmNvbmZpZ3VyZUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuY2hlY2tib3ggPSB0aGlzLmNoZWNrYm94O1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmRpc3BsYXlUeXBlID0gdGhpcy5kaXNwbGF5VHlwZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5lbGVtZW50SW50ZXJhY3Rpb25UeXBlID0gdGhpcy5lbGVtZW50SW50ZXJhY3Rpb25UeXBlO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmdyaWRDb25maWcgPSB0aGlzLmdyaWRDb25maWc7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5nbG9iYWxPcHRpb25zID0gdGhpcy5nbG9iYWxPcHRpb25zO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc29ydENoYW5nZSA9IHRoaXMuc29ydENoYW5nZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kcmFnRHJvcCA9IHRoaXMuZHJhZ0Ryb3A7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuY2xpY2tJdGVtID0gdGhpcy5jbGlja0l0ZW07XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZGJsQ2xpY2tJdGVtID0gdGhpcy5kYmxDbGlja0l0ZW07XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZmV0Y2hEYXRhID0gdGhpcy5mZXRjaERhdGE7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UucHJpbWFyeUluc3RhbmNlID0gdGhpcy5wcmltYXJ5SW5zdGFuY2U7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2luZ2xlQ2xpY2tIaW50ID0gdGhpcy5zaW5nbGVDbGlja0hpbnQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZGlzYWJsZUluZmluaXRlU2Nyb2xsID0gdGhpcy5kaXNhYmxlSW5maW5pdGVTY3JvbGw7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2Nyb2xsR3JhZGllbnRDb2xvci5zZXQodGhpcy5zY3JvbGxHcmFkaWVudENvbG9yKTtcblxuICAgICAgICBpZiAoY2hhbmdlc1snaW5pdENvbmZpZyddKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRPcHRpb25zR2VuZXJhdG9yKHRoaXMuaW5pdENvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGFuZ2VEZXRlY3RvclJlZj8uZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgbWlnaHQgbmVlZCB3cmFwcGluZyB3aXRoIGBzZXRUaW1lb3V0YC5cbiAgICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIHRoaXMgd3JhcHBlciB3aXRoIHRoZSBjb25maWd1cmVkIGN1c3RvbS1ub2RlLWxpc3QgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCA9IHRoaXMudGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UuZ2V0KFxuICAgICAgICAgICAgVGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UuQ1VTVE9NX05PREVfRU5UUklFU19DT01QT05FTlQsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnVpU2VydmljZS5pbmplY3RBbmd1bGFyQ29tcG9uZW50KFxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgLy8gSW5wdXQgYmluZGluZ3MgYXJlIGluaXRpYWxpemVkIGluIGBuZ09uQ2hhbmdlc2AuXG4gICAgICAgICAgICB0aGlzLmdldE91dHB1dEJpbmRpbmdzKCksXG4gICAgICAgICk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzaW1wbGUgbWFwIG9mIHRoZSBvdXRwdXQgYmluZGluZ3MgZGVmaW5lZCBpbiB0aGlzIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE91dHB1dEJpbmRpbmdzKCk6IHsgW2tleTogc3RyaW5nXTogRXZlbnRFbWl0dGVyPGFueT4gfSB7XG4gICAgICAgIGNvbnN0IG91dHB1dEJpbmRpbmdzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICh0aGlzIGFzIGFueSlba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcikge1xuICAgICAgICAgICAgICAgIG91dHB1dEJpbmRpbmdzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0cHV0QmluZGluZ3M7XG4gICAgfVxuXG4gICAgZ2V0RGlzcGxheVR5cGUoKTogTm9kZUVudHJpZXNEaXNwbGF5VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHNldERpc3BsYXlUeXBlKGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kaXNwbGF5VHlwZSA9IGRpc3BsYXlUeXBlO1xuICAgICAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGVDaGFuZ2UuZW1pdChkaXNwbGF5VHlwZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTm9kZXMobm9kZXM6IHZvaWQgfCBUW10pIHtcbiAgICAgICAgaWYgKCFub2Rlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuZm9yRWFjaCgoZCkgPT4ge1xuICAgICAgICAgICAgbGV0IGhpdHMgPSAobm9kZXMgYXMgVFtdKS5maWx0ZXIoKG4pID0+IChuIGFzIE5vZGUpLnJlZi5pZCA9PT0gKGQgYXMgTm9kZSkucmVmLmlkKTtcbiAgICAgICAgICAgIGlmIChoaXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBpZiB0aGUgb3JpZ2luYWwgaGFzIGNoYW5nZWQgKGZvciBjb2xsZWN0aW9uIHJlZnMpXG4gICAgICAgICAgICAgICAgaGl0cyA9IChub2RlcyBhcyBUW10pLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKG4pID0+IChuIGFzIE5vZGUpLnJlZi5pZCA9PT0gKGQgYXMgdW5rbm93biBhcyBDb2xsZWN0aW9uUmVmZXJlbmNlKS5vcmlnaW5hbElkLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaGl0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVIZWxwZXJTZXJ2aWNlLmNvcHlEYXRhVG9Ob2RlKGQgYXMgTm9kZSwgaGl0c1swXSBhcyBOb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRyaWdnZXIgcmVidWlsZFxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlIGluc3RhbmNlb2YgTm9kZURhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgICh0aGlzLmRhdGFTb3VyY2UgYXMgTm9kZURhdGFTb3VyY2U8VD4pLnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbGRTZWxlY3Rpb24gPSB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5zZWxlY3Rpb24uc2VsZWN0KFxuICAgICAgICAgICAgLi4ub2xkU2VsZWN0aW9uLm1hcChcbiAgICAgICAgICAgICAgICAobykgPT4gdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5maWx0ZXIoKGQpID0+IEhlbHBlci5vYmplY3RFcXVhbHMobywgZCkpPy5bMF0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzaG93UmVvcmRlckNvbHVtbnNEaWFsb2coKTogdm9pZCB7fVxuXG4gICAgYWRkVmlydHVhbE5vZGVzKHZpcnR1YWw6IFRbXSk6IHZvaWQge1xuICAgICAgICB2aXJ0dWFsID0gdmlydHVhbC5tYXAoKG8pID0+IHtcbiAgICAgICAgICAgIChvIGFzIFZpcnR1YWxOb2RlKS52aXJ0dWFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBvO1xuICAgICAgICB9KTtcbiAgICAgICAgdmlydHVhbC5mb3JFYWNoKCh2KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWlucyA9IHRoaXMuZGF0YVNvdXJjZVxuICAgICAgICAgICAgICAgIC5nZXREYXRhKClcbiAgICAgICAgICAgICAgICAuc29tZSgoZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgKGQgYXMgTm9kZSkucmVmXG4gICAgICAgICAgICAgICAgICAgICAgICA/IChkIGFzIE5vZGUpLnJlZj8uaWQgPT09ICh2IGFzIE5vZGUpLnJlZj8uaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGQgYXMgVXNlcikuYXV0aG9yaXR5TmFtZSA9PT0gKHYgYXMgVXNlcikuYXV0aG9yaXR5TmFtZSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOb2Rlcyhbdl0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuYXBwZW5kRGF0YShbdl0sICdiZWZvcmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLnNlbGVjdCguLi52aXJ0dWFsKTtcbiAgICAgICAgdGhpcy52aXJ0dWFsTm9kZXNBZGRlZC5lbWl0KHZpcnR1YWwgYXMgTm9kZVtdKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2V0T3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0aW9uKCk6IEN1c3RvbVNlbGVjdGlvbk1vZGVsPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXRPcHRpb25zR2VuZXJhdG9yKGNvbmZpZzogTGlzdE9wdGlvbnNDb25maWcpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpb25zSGVscGVyLmluaXRDb21wb25lbnRzKGNvbmZpZy5hY3Rpb25iYXIsIHRoaXMpO1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXIuc2V0RGF0YSh7XG4gICAgICAgICAgICBzY29wZTogdGhpcy5lbnRyaWVzU2VydmljZS5zY29wZSxcbiAgICAgICAgICAgIGFjdGl2ZU9iamVjdHM6IHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLnNlbGVjdGVkLFxuICAgICAgICAgICAgc2VsZWN0ZWRPYmplY3RzOiB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZCxcbiAgICAgICAgICAgIGFsbE9iamVjdHM6IHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCksXG4gICAgICAgICAgICBwYXJlbnQ6IGNvbmZpZy5wYXJlbnQsXG4gICAgICAgICAgICBjdXN0b21PcHRpb25zOiBjb25maWcuY3VzdG9tT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3B0aW9uc0hlbHBlci5yZWZyZXNoQ29tcG9uZW50cygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gUHJldmVudCBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3JcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLnVwZGF0ZVRlbXBsYXRlcygpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRlbXBsYXRlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNTZXJ2aWNlLnRpdGxlID0gdGhpcy50aXRsZVJlZjtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNTZXJ2aWNlLmVtcHR5ID0gdGhpcy5lbXB0eVJlZjtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNTZXJ2aWNlLmFjdGlvbkFyZWEgPSB0aGlzLmFjdGlvbkFyZWFSZWY7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzU2VydmljZS5vdmVybGF5ID0gdGhpcy5vdmVybGF5UmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlc2V0IHRoZSBwYWdpbmF0aW9uIHRvIHRoZSBmaXJzdCBwYWdlXG4gICAgICogaGludDogdGhpcyB3aWxsIGRvIG5vdGhpbmcgaW4gY2FzZSB0aGUgcGFnaW5hdGlvblN0cmF0ZWd5ICE9PSBQYWdpbmF0aW9uXG4gICAgICovXG4gICAgcmVzZXRQYWdpbmF0aW9uKCkge1xuICAgICAgICB0aGlzLm5vZGVFbnRyaWVzQ29tcG9uZW50UmVmPy5wYWdpbmF0b3I/LmZpcnN0UGFnZSgpO1xuICAgIH1cblxuICAgIGRlbGV0ZU5vZGVzKG9iamVjdHM6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVtb3ZlRGF0YShvYmplY3RzKTtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oKS5jbGVhcigpO1xuICAgIH1cbn1cbiJdfQ==
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBS0wsTUFBTSxFQUtOLFNBQVMsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE9BQU8sRUFHSCxlQUFlLEVBUWYsc0JBQXNCLEdBQ3pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7QUFXbkYsTUFBTSxPQUFPLDJCQUEyQjtJQXFGcEMsWUFDWSxnQkFBa0MsRUFDbEMsdUJBQWdELEVBQ2hELE1BQWMsRUFDZCxjQUFxQyxFQUN0QyxhQUF1QyxFQUN0QyxpQkFBb0MsRUFDcEMsU0FBb0I7SUFDNUIsUUFBUTtJQUNSLG1DQUFtQztJQUMzQixnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBWHRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNEJBQXVCLEdBQXZCLHVCQUF1QixD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OUIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBY0csZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vZGVFbnRyaWVzVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4vbm9kZS1lbnRyaWVzLXRlbXBsYXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVFbnRyaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9ub2RlLWVudHJpZXMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgRmV0Y2hFdmVudCxcbiAgICBHcmlkQ29uZmlnLFxuICAgIEludGVyYWN0aW9uVHlwZSxcbiAgICBMaXN0RHJhZ0dyb3BDb25maWcsXG4gICAgTGlzdEV2ZW50SW50ZXJmYWNlLFxuICAgIExpc3RPcHRpb25zLFxuICAgIExpc3RPcHRpb25zQ29uZmlnLFxuICAgIExpc3RTb3J0Q29uZmlnLFxuICAgIE5vZGVDbGlja0V2ZW50LFxuICAgIE5vZGVFbnRyaWVzRGF0YVR5cGUsXG4gICAgTm9kZUVudHJpZXNEaXNwbGF5VHlwZSxcbn0gZnJvbSAnLi9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi9ub2RlLWRhdGEtc291cmNlJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4uL3V0aWwvaGVscGVyJztcbmltcG9ydCB7IEN1c3RvbVNlbGVjdGlvbk1vZGVsLCBOb2RlRW50cmllc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub2RlLWVudHJpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBTY29wZSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBUZW1wb3JhcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RlbXBvcmFyeS1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgR2VuZXJpY0F1dGhvcml0eSwgTm9kZSwgVXNlciB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVmlydHVhbE5vZGUgfSBmcm9tICcuLi90eXBlcy9hcGktbW9kZWxzJztcbmltcG9ydCB7IE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1ub2RlLWVudHJpZXMtd3JhcHBlcicsXG4gICAgdGVtcGxhdGU6IGA8ZXMtbm9kZS1lbnRyaWVzXG4gICAgICAgICNub2RlRW50cmllc0NvbXBvbmVudFxuICAgICAgICAqbmdJZj1cIiFjdXN0b21Ob2RlTGlzdENvbXBvbmVudFwiXG4gICAgPjwvZXMtbm9kZS1lbnRyaWVzPmAsXG4gICAgcHJvdmlkZXJzOiBbTm9kZUVudHJpZXNTZXJ2aWNlLCBPcHRpb25zSGVscGVyRGF0YVNlcnZpY2UsIE5vZGVFbnRyaWVzVGVtcGxhdGVzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzV3JhcHBlckNvbXBvbmVudDxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT5cbiAgICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIExpc3RFdmVudEludGVyZmFjZTxUPlxue1xuICAgIC8qKlxuICAgICAqIHRpdGxlIChhYm92ZSkgdGhlIHRhYmxlL2dyaWRcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd0aXRsZScpIHRpdGxlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIGRhdGEgc2hvd24gd2hlbiBkYXRhIHNvdXJjZSBpcyBlbXB0eVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VtcHR5JykgZW1wdHlSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGFyZWEgZm9yIGFjdGlvbnMgb25seSBmb3IgTm9kZUVudHJpZXNEaXNwbGF5VHlwZS5TbWFsbEdyaWQgKHBlciBjYXJkIGF0IHRoZSBib3R0b20pXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnYWN0aW9uQXJlYScpIGFjdGlvbkFyZWFSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGFyZWEgZm9yIGFuIG92ZXJsYXkgXCJhYm92ZVwiIGVhY2ggY2FyZCAoaS5lLiB0byBzaG93IGRpc2FibGVkIGluZm9zKSwgb25seSBmb3IgTm9kZUVudHJpZXNEaXNwbGF5VHlwZS5TbWFsbEdyaWQgJiBvZGVFbnRyaWVzRGlzcGxheVR5cGUuR3JpZFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ292ZXJsYXknKSBvdmVybGF5UmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ25vZGVFbnRyaWVzQ29tcG9uZW50Jykgbm9kZUVudHJpZXNDb21wb25lbnRSZWY6IE5vZGVFbnRyaWVzQ29tcG9uZW50PFQ+O1xuICAgIEBJbnB1dCgpIGRhdGFTb3VyY2U6IE5vZGVEYXRhU291cmNlPFQ+O1xuICAgIEBJbnB1dCgpIHNjb3BlOiBTY29wZTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuICAgIEBJbnB1dCgpIGNvbmZpZ3VyZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2hlY2tib3ggPSB0cnVlO1xuICAgIEBPdXRwdXQoKSBjb2x1bW5zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbVtdPigpO1xuICAgIEBJbnB1dCgpIGdsb2JhbE9wdGlvbnM6IE9wdGlvbkl0ZW1bXTtcbiAgICBASW5wdXQoKSBkaXNwbGF5VHlwZSA9IE5vZGVFbnRyaWVzRGlzcGxheVR5cGUuR3JpZDtcbiAgICBAT3V0cHV0KCkgZGlzcGxheVR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG4gICAgQElucHV0KCkgZWxlbWVudEludGVyYWN0aW9uVHlwZSA9IEludGVyYWN0aW9uVHlwZS5EZWZhdWx0QWN0aW9uTGluaztcbiAgICBASW5wdXQoKSBzb3J0OiBMaXN0U29ydENvbmZpZztcbiAgICBASW5wdXQoKSBkcmFnRHJvcDogTGlzdERyYWdHcm9wQ29uZmlnPFQ+O1xuICAgIEBJbnB1dCgpIGdyaWRDb25maWc6IEdyaWRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGNvbG9yIGRlZmluZXMgdGhlIGJhc2UgY29sb3Igb2YgZ3JhZGllbnRzIHZpc3VhbGx5IGxpbWl0aW5nIGEgZ3JpZCBpbiBzY3JvbGwgZGlyZWN0aW9uLlxuICAgICAqIERlZmF1bHRzIHRvIHdoaXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNjcm9sbEdyYWRpZW50Q29sb3I6IHN0cmluZyA9ICcjZmZmJztcblxuICAgIC8qKlxuICAgICAqIHRoaXMgY2FuIGJlIHNldCBpbnN0ZWFkIG9mIGNhbGxpbmcgaW5pdE9wdGlvbnNHZW5lcmF0b3IoKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGluaXRDb25maWc6IExpc3RPcHRpb25zQ29uZmlnO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhpcyBub2RlLWVudHJpZXMgaW5zdGFuY2UgcmVwcmVzZW50cyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cbiAgICAgKlxuICAgICAqIE9ubHkgc2V0IHRvIHRydWUgZm9yIG9uZSBpbnN0YW5jZSBwZXIgcGFnZS5cbiAgICAgKlxuICAgICAqIElmIHRydWUsIHRoaXMgaW5zdGFuY2Ugd2lsbFxuICAgICAqIC0gaGFuZGxlIHBhZ2Utd2lkZSBrZXlib2FyZCBzaG9ydGN1dHNcbiAgICAgKiAtIHRha2UgY29udHJvbCBvZiB0aGUgYHBhZ2VgIGFuZCBgcGFnZVNpemVgIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHBhZ2luYXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVUkgaGludHMgZm9yIHdoZXRoZXIgYSBzaW5nbGUgY2xpY2sgd2lsbCBjYXVzZSBhIGR5bmFtaWMgYWN0aW9uLlxuICAgICAqXG4gICAgICogVGhpcyBkb2VzIG5vdCBjb25maWd1cmUgdGhlIGFjdHVhbCBiZWhhdmlvciBidXQgb25seSBVSSBoaW50cyB0byB0aGUgdXNlci4gSGludHMgaW5jbHVkZVxuICAgICAqIGhvdmVyIGVmZmVjdHMgYW5kIGEgY2hhbmdlZCBjdXJzb3IuXG4gICAgICpcbiAgICAgKiAtIFdoZW4gY2hvb3NpbmcgJ3N0YXRpYycsIHRoZSBgY2xpY2tJdGVtYCBldmVudCBzaG91bGQgdHJpZ2dlciBzb21lIHN0YXRpb25hcnkgYWN0aW9uIGxpa2VcbiAgICAgKiAgIHNlbGVjdGluZyB0aGUgZWxlbWVudCBvciBkaXNwbGF5aW5nIGluZm9ybWF0aW9uIGluIGEgY29tcGxlbWVudGFyeSBwYWdlIGFyZWEuIFRoZVxuICAgICAqICAgYGRibENsaWNrSXRlbWAgZXZlbnQgY2FuIGJlIHVzZWQgZm9yIGEgbW9yZSBkaXNydXB0aXZlIGFjdGlvbi5cbiAgICAgKiAtIFdoZW4gY2hvb3NpbmcgJ2R5bmFtaWMnLCB0aGUgYGNsaWNrSXRlbWAgZXZlbnQgc2hvdWxkIHRyaWdnZXIgYSBtYWpvciBhY3Rpb24gbGlrZVxuICAgICAqICAgbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlIG9yIGNsb3NpbmcgYSBkaWFsb2cuXG4gICAgICovXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgY29udHJvbGxpbmcgdGhlIHVpIGhpbnRzIGFuZCB0aGUgYWN0dWFsIGJlaGF2aW9yIHdpdGggYSBzaW5nbGUgb3B0aW9uLlxuICAgIEBJbnB1dCgpIHNpbmdsZUNsaWNrSGludDogJ2R5bmFtaWMnIHwgJ3N0YXRpYycgPSAnZHluYW1pYyc7XG4gICAgLyoqXG4gICAgICogRG8gbm90IGxvYWQgbW9yZSBkYXRhIG9uIHNjcm9sbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkaXNhYmxlSW5maW5pdGVTY3JvbGwgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBmZXRjaERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGNsaWNrSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+KCk7XG4gICAgQE91dHB1dCgpIGRibENsaWNrSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RTb3J0Q29uZmlnPigpO1xuICAgIEBPdXRwdXQoKSB2aXJ0dWFsTm9kZXNBZGRlZDtcbiAgICBAT3V0cHV0KCkgZGlzcGxheVR5cGVDaGFuZ2VkO1xuXG4gICAgY3VzdG9tTm9kZUxpc3RDb21wb25lbnQ6IFR5cGU8Tm9kZUVudHJpZXNDb21wb25lbnQ8VD4+O1xuICAgIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Tm9kZUVudHJpZXNDb21wb25lbnQ8VD4+O1xuICAgIHByaXZhdGUgb3B0aW9uczogTGlzdE9wdGlvbnM7XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSB0ZW1wb3JhcnlTdG9yYWdlU2VydmljZTogVGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZW50cmllc1NlcnZpY2U6IE5vZGVFbnRyaWVzU2VydmljZTxUPixcbiAgICAgICAgcHVibGljIG9wdGlvbnNIZWxwZXI6IE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub2RlSGVscGVyU2VydmljZTogTm9kZUhlbHBlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdWlTZXJ2aWNlOiBVSVNlcnZpY2UsXG4gICAgICAgIC8vIEBUT0RPXG4gICAgICAgIC8vIHByaXZhdGUgbWFpbk5hdjogTWFpbk5hdlNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGVtcGxhdGVzU2VydmljZTogTm9kZUVudHJpZXNUZW1wbGF0ZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICkge1xuICAgICAgICAvLyByZWd1bGFyeSByZS1iaW5kIHRlbXBsYXRlIHNpbmNlIGl0IG1pZ2h0IGhhdmUgdXBkYXRlZCB3aXRob3V0IG5nQ2hhbmdlcyB0cmlnZ2VyXG4gICAgICAgIC8qXG4gICAgICAgIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZW1wdHlSZWYgPSB0aGlzLmVtcHR5UmVmKVxuICAgICAgICApO1xuICAgICAgICAqL1xuICAgICAgICB0aGlzLnZpcnR1YWxOb2Rlc0FkZGVkID0gdGhpcy5vcHRpb25zSGVscGVyLnZpcnR1YWxOb2Rlc0FkZGVkO1xuICAgICAgICB0aGlzLmRpc3BsYXlUeXBlQ2hhbmdlZCA9IHRoaXMub3B0aW9uc0hlbHBlci5kaXNwbGF5VHlwZUNoYW5nZWQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLmNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnNIZWxwZXIuZ2V0RGF0YSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyLmdldERhdGEoKS5zZWxlY3RlZE9iamVjdHMgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXIuZ2V0RGF0YSgpLmFjdGl2ZU9iamVjdHMgPSB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyIGlzIG5vdCBpbml0YWxpemVkIGNvcnJlY3RseTsgZGF0YSBpcyBlbXB0eScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyLnJlZnJlc2hDb21wb25lbnRzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wcmltYXJ5SW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0hlbHBlci5yZWdpc3Rlckdsb2JhbEtleWJvYXJkU2hvcnRjdXRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7IFtrZXk6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9ID0ge30pIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5saXN0ID0gdGhpcztcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNjb3BlID0gdGhpcy5zY29wZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmNvbmZpZ3VyZUNvbHVtbnMgPSB0aGlzLmNvbmZpZ3VyZUNvbHVtbnM7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuY2hlY2tib3ggPSB0aGlzLmNoZWNrYm94O1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmRpc3BsYXlUeXBlID0gdGhpcy5kaXNwbGF5VHlwZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5lbGVtZW50SW50ZXJhY3Rpb25UeXBlID0gdGhpcy5lbGVtZW50SW50ZXJhY3Rpb25UeXBlO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLmdyaWRDb25maWcgPSB0aGlzLmdyaWRDb25maWc7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5nbG9iYWxPcHRpb25zID0gdGhpcy5nbG9iYWxPcHRpb25zO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc29ydENoYW5nZSA9IHRoaXMuc29ydENoYW5nZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kcmFnRHJvcCA9IHRoaXMuZHJhZ0Ryb3A7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuY2xpY2tJdGVtID0gdGhpcy5jbGlja0l0ZW07XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZGJsQ2xpY2tJdGVtID0gdGhpcy5kYmxDbGlja0l0ZW07XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZmV0Y2hEYXRhID0gdGhpcy5mZXRjaERhdGE7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UucHJpbWFyeUluc3RhbmNlID0gdGhpcy5wcmltYXJ5SW5zdGFuY2U7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2luZ2xlQ2xpY2tIaW50ID0gdGhpcy5zaW5nbGVDbGlja0hpbnQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2UuZGlzYWJsZUluZmluaXRlU2Nyb2xsID0gdGhpcy5kaXNhYmxlSW5maW5pdGVTY3JvbGw7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2Nyb2xsR3JhZGllbnRDb2xvci5zZXQodGhpcy5zY3JvbGxHcmFkaWVudENvbG9yKTtcblxuICAgICAgICBpZiAoY2hhbmdlc1snaW5pdENvbmZpZyddKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRPcHRpb25zR2VuZXJhdG9yKHRoaXMuaW5pdENvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGFuZ2VEZXRlY3RvclJlZj8uZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgbWlnaHQgbmVlZCB3cmFwcGluZyB3aXRoIGBzZXRUaW1lb3V0YC5cbiAgICAgICAgdGhpcy51cGRhdGVUZW1wbGF0ZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIHRoaXMgd3JhcHBlciB3aXRoIHRoZSBjb25maWd1cmVkIGN1c3RvbS1ub2RlLWxpc3QgY29tcG9uZW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCA9IHRoaXMudGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UuZ2V0KFxuICAgICAgICAgICAgVGVtcG9yYXJ5U3RvcmFnZVNlcnZpY2UuQ1VTVE9NX05PREVfRU5UUklFU19DT01QT05FTlQsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLnVpU2VydmljZS5pbmplY3RBbmd1bGFyQ29tcG9uZW50KFxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgdGhpcy5jdXN0b21Ob2RlTGlzdENvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgLy8gSW5wdXQgYmluZGluZ3MgYXJlIGluaXRpYWxpemVkIGluIGBuZ09uQ2hhbmdlc2AuXG4gICAgICAgICAgICB0aGlzLmdldE91dHB1dEJpbmRpbmdzKCksXG4gICAgICAgICk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzaW1wbGUgbWFwIG9mIHRoZSBvdXRwdXQgYmluZGluZ3MgZGVmaW5lZCBpbiB0aGlzIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE91dHB1dEJpbmRpbmdzKCk6IHsgW2tleTogc3RyaW5nXTogRXZlbnRFbWl0dGVyPGFueT4gfSB7XG4gICAgICAgIGNvbnN0IG91dHB1dEJpbmRpbmdzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICh0aGlzIGFzIGFueSlba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcikge1xuICAgICAgICAgICAgICAgIG91dHB1dEJpbmRpbmdzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0cHV0QmluZGluZ3M7XG4gICAgfVxuXG4gICAgZ2V0RGlzcGxheVR5cGUoKTogTm9kZUVudHJpZXNEaXNwbGF5VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHNldERpc3BsYXlUeXBlKGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgdGhpcy5lbnRyaWVzU2VydmljZS5kaXNwbGF5VHlwZSA9IGRpc3BsYXlUeXBlO1xuICAgICAgICB0aGlzLm5nT25DaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGlzcGxheVR5cGVDaGFuZ2UuZW1pdChkaXNwbGF5VHlwZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlTm9kZXMobm9kZXM6IHZvaWQgfCBUW10pIHtcbiAgICAgICAgaWYgKCFub2Rlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuZm9yRWFjaCgoZCkgPT4ge1xuICAgICAgICAgICAgbGV0IGhpdHMgPSAobm9kZXMgYXMgVFtdKS5maWx0ZXIoKG4pID0+XG4gICAgICAgICAgICAgICAgKG4gYXMgTm9kZSk/LnJlZlxuICAgICAgICAgICAgICAgICAgICA/IChuIGFzIE5vZGUpPy5yZWYuaWQgPT09IChkIGFzIE5vZGUpPy5yZWYuaWRcbiAgICAgICAgICAgICAgICAgICAgOiAobiBhcyBHZW5lcmljQXV0aG9yaXR5KT8uYXV0aG9yaXR5TmFtZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAoZCBhcyBHZW5lcmljQXV0aG9yaXR5KT8uYXV0aG9yaXR5TmFtZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoaGl0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgaWYgdGhlIG9yaWdpbmFsIGhhcyBjaGFuZ2VkIChmb3IgY29sbGVjdGlvbiByZWZzKVxuICAgICAgICAgICAgICAgIGhpdHMgPSAobm9kZXMgYXMgVFtdKS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgIChuKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgKG4gYXMgTm9kZSk/LnJlZiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgKG4gYXMgTm9kZSk/LnJlZj8uaWQgPT09IChkIGFzIHVua25vd24gYXMgQ29sbGVjdGlvblJlZmVyZW5jZSk/Lm9yaWdpbmFsSWQsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChoaXRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjb3B5JywgZCwgaGl0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlSGVscGVyU2VydmljZS5jb3B5RGF0YVRvTm9kZShkIGFzIE5vZGUsIGhpdHNbMF0gYXMgTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0cmlnZ2VyIHJlYnVpbGRcbiAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE5vZGVEYXRhU291cmNlKSB7XG4gICAgICAgICAgICAodGhpcy5kYXRhU291cmNlIGFzIE5vZGVEYXRhU291cmNlPFQ+KS5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb2xkU2VsZWN0aW9uID0gdGhpcy5lbnRyaWVzU2VydmljZS5zZWxlY3Rpb24uc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZW50cmllc1NlcnZpY2Uuc2VsZWN0aW9uLnNlbGVjdChcbiAgICAgICAgICAgIC4uLm9sZFNlbGVjdGlvbi5tYXAoXG4gICAgICAgICAgICAgICAgKG8pID0+IHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuZmlsdGVyKChkKSA9PiBIZWxwZXIub2JqZWN0RXF1YWxzKG8sIGQpKT8uWzBdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgc2hvd1Jlb3JkZXJDb2x1bW5zRGlhbG9nKCk6IHZvaWQge31cblxuICAgIGFkZFZpcnR1YWxOb2Rlcyh2aXJ0dWFsOiBUW10pOiB2b2lkIHtcbiAgICAgICAgdmlydHVhbCA9IHZpcnR1YWwubWFwKChvKSA9PiB7XG4gICAgICAgICAgICAobyBhcyBWaXJ0dWFsTm9kZSkudmlydHVhbCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gbztcbiAgICAgICAgfSk7XG4gICAgICAgIHZpcnR1YWwuZm9yRWFjaCgodikgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGFpbnMgPSB0aGlzLmRhdGFTb3VyY2VcbiAgICAgICAgICAgICAgICAuZ2V0RGF0YSgpXG4gICAgICAgICAgICAgICAgLnNvbWUoKGQpID0+XG4gICAgICAgICAgICAgICAgICAgIChkIGFzIE5vZGUpLnJlZlxuICAgICAgICAgICAgICAgICAgICAgICAgPyAoZCBhcyBOb2RlKS5yZWY/LmlkID09PSAodiBhcyBOb2RlKS5yZWY/LmlkXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChkIGFzIFVzZXIpLmF1dGhvcml0eU5hbWUgPT09ICh2IGFzIFVzZXIpLmF1dGhvcml0eU5hbWUsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChjb250YWlucykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTm9kZXMoW3ZdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmFwcGVuZERhdGEoW3ZdLCAnYmVmb3JlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3QoLi4udmlydHVhbCk7XG4gICAgICAgIHRoaXMudmlydHVhbE5vZGVzQWRkZWQuZW1pdCh2aXJ0dWFsIGFzIE5vZGVbXSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHNldE9wdGlvbnMob3B0aW9uczogTGlzdE9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5uZ09uQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbigpOiBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0T3B0aW9uc0dlbmVyYXRvcihjb25maWc6IExpc3RPcHRpb25zQ29uZmlnKSB7XG4gICAgICAgIGF3YWl0IHRoaXMub3B0aW9uc0hlbHBlci5pbml0Q29tcG9uZW50cyhjb25maWcuYWN0aW9uYmFyLCB0aGlzKTtcbiAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyLnNldERhdGEoe1xuICAgICAgICAgICAgc2NvcGU6IHRoaXMuZW50cmllc1NlcnZpY2Uuc2NvcGUsXG4gICAgICAgICAgICBhY3RpdmVPYmplY3RzOiB0aGlzLmVudHJpZXNTZXJ2aWNlLnNlbGVjdGlvbi5zZWxlY3RlZCxcbiAgICAgICAgICAgIHNlbGVjdGVkT2JqZWN0czogdGhpcy5lbnRyaWVzU2VydmljZS5zZWxlY3Rpb24uc2VsZWN0ZWQsXG4gICAgICAgICAgICBhbGxPYmplY3RzOiB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLFxuICAgICAgICAgICAgcGFyZW50OiBjb25maWcucGFyZW50LFxuICAgICAgICAgICAgY3VzdG9tT3B0aW9uczogY29uZmlnLmN1c3RvbU9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXIucmVmcmVzaENvbXBvbmVudHMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFByZXZlbnQgY2hhbmdlZC1hZnRlci1jaGVja2VkIGVycm9yXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy51cGRhdGVUZW1wbGF0ZXMoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZW1wbGF0ZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzU2VydmljZS50aXRsZSA9IHRoaXMudGl0bGVSZWY7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzU2VydmljZS5lbXB0eSA9IHRoaXMuZW1wdHlSZWY7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzU2VydmljZS5hY3Rpb25BcmVhID0gdGhpcy5hY3Rpb25BcmVhUmVmO1xuICAgICAgICB0aGlzLnRlbXBsYXRlc1NlcnZpY2Uub3ZlcmxheSA9IHRoaXMub3ZlcmxheVJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXNldCB0aGUgcGFnaW5hdGlvbiB0byB0aGUgZmlyc3QgcGFnZVxuICAgICAqIGhpbnQ6IHRoaXMgd2lsbCBkbyBub3RoaW5nIGluIGNhc2UgdGhlIHBhZ2luYXRpb25TdHJhdGVneSAhPT0gUGFnaW5hdGlvblxuICAgICAqL1xuICAgIHJlc2V0UGFnaW5hdGlvbigpIHtcbiAgICAgICAgdGhpcy5ub2RlRW50cmllc0NvbXBvbmVudFJlZj8ucGFnaW5hdG9yPy5maXJzdFBhZ2UoKTtcbiAgICB9XG5cbiAgICBkZWxldGVOb2RlcyhvYmplY3RzOiBUW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnJlbW92ZURhdGEob2JqZWN0cyk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKCkuY2xlYXIoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -11,13 +11,15 @@ import * as i4 from "@ngx-translate/core";
|
|
|
11
11
|
export class OptionButtonComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
this.isShown = false;
|
|
14
|
+
this.isEnabled = false;
|
|
14
15
|
}
|
|
15
16
|
async ngOnChanges(changes) {
|
|
17
|
+
this.isEnabled = await this.optionIsValid(this.option, this.node);
|
|
16
18
|
this.isShown = await this.optionIsShown(this.option, this.node);
|
|
17
19
|
}
|
|
18
|
-
optionIsValid(optionItem, node) {
|
|
20
|
+
async optionIsValid(optionItem, node) {
|
|
19
21
|
if (optionItem.enabledCallback) {
|
|
20
|
-
return optionItem.enabledCallback(node);
|
|
22
|
+
return await optionItem.enabledCallback(node);
|
|
21
23
|
}
|
|
22
24
|
return optionItem.isEnabled;
|
|
23
25
|
}
|
|
@@ -39,7 +41,7 @@ export class OptionButtonComponent {
|
|
|
39
41
|
color="primary"
|
|
40
42
|
matTooltip="{{ option.name | translate }}"
|
|
41
43
|
[class.display-none]="!isShown"
|
|
42
|
-
[disabled]="!
|
|
44
|
+
[disabled]="!isEnabled"
|
|
43
45
|
(click)="click(option, node)"
|
|
44
46
|
attr.data-test="option-button-{{ option.name }}"
|
|
45
47
|
>
|
|
@@ -57,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
57
59
|
color="primary"
|
|
58
60
|
matTooltip="{{ option.name | translate }}"
|
|
59
61
|
[class.display-none]="!isShown"
|
|
60
|
-
[disabled]="!
|
|
62
|
+
[disabled]="!isEnabled"
|
|
61
63
|
(click)="click(option, node)"
|
|
62
64
|
attr.data-test="option-button-{{ option.name }}"
|
|
63
65
|
>
|
|
@@ -70,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
70
72
|
}], node: [{
|
|
71
73
|
type: Input
|
|
72
74
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9vcHRpb24tYnV0dG9uL29wdGlvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNFLGtHQUFrRztBQUNsRyxnR0FBZ0c7QUFDaEcsNEZBQTRGO0FBQzVGLFdBQVc7QUFrQlgsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFvQkksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBeUJyQjtJQXhCRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUNsRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUMxRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWtCLEVBQUUsSUFBVTtRQUN0QyxJQUFJLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDOzhHQTdCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5SEFkcEI7Ozs7Ozs7Ozs7OztLQVlUOzsyRkFFUSxxQkFBcUI7a0JBaEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7aUJBQ0o7OEJBRVksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbi8vIFRPRE86IERlY2lkZSBpZiBwcm92aWRpbmcgZm9jdXMgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyB3aXRoIHRoaXMgY29tcG9uZW50IGlzIGEgZ29vZCBpZGVhLiBXaGVuXG4vLyB1c2luZyBgYXBwLW5vZGUtdXJsYCBmb3IgY2FyZHMsIHdlIG1pZ2h0IG5lZWQgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyBmb3IgdGhlIHdob2xlIGNhcmQgd2hpbGVcbi8vIGBhcHAtbm9kZS11cmxgIHNob3VsZCBvbmx5IHdyYXAgdGhlIHRpdGxlIHNpbmNlIGxpbmtzIHdpdGggbG90cyBvZiBjb250ZW50IGNvbmZ1c2Ugc2NyZWVuXG4vLyByZWFkZXJzLlxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLW9wdGlvbi1idXR0b24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFpc1Nob3duXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNFbmFibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGljayhvcHRpb24sIG5vZGUpXCJcbiAgICAgICAgICAgIGF0dHIuZGF0YS10ZXN0PVwib3B0aW9uLWJ1dHRvbi17eyBvcHRpb24ubmFtZSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGVzSWNvbj1cInt7IG9wdGlvbi5pY29uIH19XCIgW2FyaWFdPVwiZmFsc2VcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgb3B0aW9uOiBPcHRpb25JdGVtO1xuICAgIEBJbnB1dCgpIG5vZGU6IE5vZGU7XG5cbiAgICBpc1Nob3duID0gZmFsc2U7XG4gICAgaXNFbmFibGVkID0gZmFsc2U7XG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLmlzRW5hYmxlZCA9IGF3YWl0IHRoaXMub3B0aW9uSXNWYWxpZCh0aGlzLm9wdGlvbiwgdGhpcy5ub2RlKTtcbiAgICAgICAgdGhpcy5pc1Nob3duID0gYXdhaXQgdGhpcy5vcHRpb25Jc1Nob3duKHRoaXMub3B0aW9uLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIGFzeW5jIG9wdGlvbklzVmFsaWQob3B0aW9uSXRlbTogT3B0aW9uSXRlbSwgbm9kZTogTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAob3B0aW9uSXRlbS5lbmFibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBvcHRpb25JdGVtLmVuYWJsZWRDYWxsYmFjayhub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5pc0VuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBvcHRpb25Jc1Nob3duKG9wdGlvbkl0ZW06IE9wdGlvbkl0ZW0sIG5vZGU6IE5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKG9wdGlvbkl0ZW0uc2hvd0NhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5zaG93Q2FsbGJhY2sobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLm9wdGlvbklzU2hvd24ob3B0aW9uLCBub2RlKSkge1xuICAgICAgICAgICAgb3B0aW9uLmNhbGxiYWNrKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -16,10 +16,11 @@ export class FormatSizePipe {
|
|
|
16
16
|
value /= 1024;
|
|
17
17
|
i++;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
let options = {
|
|
20
|
+
maximumFractionDigits: i > 1 ? 1 : 0,
|
|
21
|
+
};
|
|
22
|
+
let numberFormat = new Intl.NumberFormat([], options);
|
|
23
|
+
return numberFormat.format(value) + ' ' + names[i];
|
|
23
24
|
}
|
|
24
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormatSizePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
25
26
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: FormatSizePipe, name: "formatSize" }); }
|
|
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
28
29
|
type: Pipe,
|
|
29
30
|
args: [{ name: 'formatSize' }]
|
|
30
31
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBaUIsSUFBSTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ2QsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQTZCO1lBQ3BDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QyxDQUFDO1FBQ0YsSUFBSSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQWpCUSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdmb3JtYXRTaXplJyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1hdFNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWVzID0gWydieXRlcycsICdLQicsICdNQicsICdHQicsICdUQiddO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHZhbHVlID0gMDtcbiAgICAgICAgd2hpbGUgKHZhbHVlID49IDEwMjQgJiYgaSA8IG5hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsdWUgLz0gMTAyNDtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICBsZXQgb3B0aW9uczogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpID4gMSA/IDEgOiAwLFxuICAgICAgICB9O1xuICAgICAgICBsZXQgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtdLCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIG51bWJlckZvcm1hdC5mb3JtYXQodmFsdWUpICsgJyAnICsgbmFtZXNbaV07XG4gICAgfVxufVxuIl19
|
|
@@ -4,6 +4,12 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@ngx-translate/core";
|
|
5
5
|
export class NodeTitlePipe {
|
|
6
6
|
transform(node, args = null) {
|
|
7
|
+
if (!node.name) {
|
|
8
|
+
if (node === 'HOME') {
|
|
9
|
+
return this.translate.instant('WORKSPACE.' + node);
|
|
10
|
+
}
|
|
11
|
+
return this.translate.instant('WORKSPACE.' + node);
|
|
12
|
+
}
|
|
7
13
|
return RestHelper.getTitle(node);
|
|
8
14
|
}
|
|
9
15
|
constructor(translate) {
|
|
@@ -16,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
16
22
|
type: Pipe,
|
|
17
23
|
args: [{ name: 'nodeTitle' }]
|
|
18
24
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsU0FBUyxDQUFDLElBQThCLEVBQUUsT0FBaUIsSUFBSTtRQUMzRCxJQUFJLENBQUUsSUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQVYxQyxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgUmVzdEhlbHBlciB9IGZyb20gJy4uL3V0aWwvcmVzdC1oZWxwZXInO1xuaW1wb3J0IHsgTm9kZVJvb3QgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5cbkBQaXBlKHsgbmFtZTogJ25vZGVUaXRsZScgfSlcbmV4cG9ydCBjbGFzcyBOb2RlVGl0bGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG5vZGU6IE5vZGUgfCBOb2RlUm9vdCB8ICdIT01FJywgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCEobm9kZSBhcyBOb2RlKS5uYW1lKSB7XG4gICAgICAgICAgICBpZiAobm9kZSA9PT0gJ0hPTUUnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ1dPUktTUEFDRS4nICsgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnV09SS1NQQUNFLicgKyBub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUmVzdEhlbHBlci5nZXRUaXRsZShub2RlIGFzIE5vZGUpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cbn1cbiJdfQ==
|
|
@@ -5,8 +5,8 @@ export class OptionTooltipPipe {
|
|
|
5
5
|
constructor(translate) {
|
|
6
6
|
this.translate = translate;
|
|
7
7
|
}
|
|
8
|
-
transform(option, args = null) {
|
|
9
|
-
return (this.translate.
|
|
8
|
+
async transform(option, args = null) {
|
|
9
|
+
return ((await this.translate.get(option.name).toPromise()) +
|
|
10
10
|
(option.keyboardShortcut ? ' (' + this.getKeyInfo(option) + ')' : ''));
|
|
11
11
|
}
|
|
12
12
|
getKeyInfo(option) {
|
|
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
30
30
|
type: Pipe,
|
|
31
31
|
args: [{ name: 'optionTooltip' }]
|
|
32
32
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXRvb2x0aXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvcGlwZXMvb3B0aW9uLXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBa0IsRUFBRSxPQUFpQixJQUFJO1FBQ3JELE9BQU8sQ0FDSCxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25ELENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN4RSxDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFrQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLENBQ0gsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDckQsQ0FBQztJQUNOLENBQUM7OEdBekJRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5cbkBQaXBlKHsgbmFtZTogJ29wdGlvblRvb2x0aXAnIH0pXG5leHBvcnQgY2xhc3MgT3B0aW9uVG9vbHRpcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAgIGFzeW5jIHRyYW5zZm9ybShvcHRpb246IE9wdGlvbkl0ZW0sIGFyZ3M6IHN0cmluZ1tdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRlLmdldChvcHRpb24ubmFtZSkudG9Qcm9taXNlKCkpICtcbiAgICAgICAgICAgIChvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCA/ICcgKCcgKyB0aGlzLmdldEtleUluZm8ob3B0aW9uKSArICcpJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEtleUluZm8ob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RpZmllcnMgPSBbXTtcbiAgICAgICAgaWYgKG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0Lm1vZGlmaWVycz8uaW5jbHVkZXMoJ1NoaWZ0JykpIHtcbiAgICAgICAgICAgIG1vZGlmaWVycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0tFWV9NT0RJRklFUi5TSElGVCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9uLmtleWJvYXJkU2hvcnRjdXQubW9kaWZpZXJzPy5pbmNsdWRlcygnQ3RybC9DbWQnKSkge1xuICAgICAgICAgICAgbW9kaWZpZXJzLnB1c2godGhpcy50cmFuc2xhdGUuaW5zdGFudCgnS0VZX01PRElGSUVSLkNUUkwnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChtb2RpZmllcnMubGVuZ3RoID8gbW9kaWZpZXJzLmpvaW4oJyArICcpICsgJyArICcgOiAnJykgK1xuICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQua2V5Q29kZS5yZXBsYWNlKCdLZXknLCAnJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class OptionsHelperService {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG9CQUFvQjtDQTZCekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EYXRhLCBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB9IGZyb20gJy4uL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBUYXJnZXQgfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zSGVscGVyU2VydmljZSB7XG4gICAgYWJzdHJhY3Qgd3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhOiBPcHRpb25EYXRhKTogT3B0aW9uRGF0YTtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBnZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdLFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG5cbiAgICBhYnN0cmFjdCBwYXN0ZU5vZGUoXG4gICAgICAgIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzLFxuICAgICAgICBkYXRhOiBPcHRpb25EYXRhLFxuICAgICAgICBhZGRWaXJ1dGFsTm9kZXM6IGJvb2xlYW4sXG4gICAgICAgIG5vZGVzOiBOb2RlW10sXG4gICAgKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGZpbHRlck9wdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSxcbiAgICAgICAgdGFyZ2V0OiBUYXJnZXQsXG4gICAgICAgIGRhdGE6IE9wdGlvbkRhdGEsXG4gICAgICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG59XG4iXX0=
|
|
@@ -88,7 +88,7 @@ export class NodeHelperService {
|
|
|
88
88
|
if (icon == 'none' && !useNoneAsFallback)
|
|
89
89
|
return null;
|
|
90
90
|
const result = this.apiHelpersService.getServerUrl() + '/../ccimages/licenses/' + icon + '.svg';
|
|
91
|
-
return
|
|
91
|
+
return result;
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Return a translated name of a license name for a node
|
|
@@ -185,6 +185,9 @@ export class NodeHelperService {
|
|
|
185
185
|
target.properties = source.properties;
|
|
186
186
|
target.name = source.name;
|
|
187
187
|
target.title = source.title;
|
|
188
|
+
target.authorityName = source.authorityName;
|
|
189
|
+
target.profile = source.profile;
|
|
190
|
+
target.status = source.status;
|
|
188
191
|
}
|
|
189
192
|
isNodeCollection(node) {
|
|
190
193
|
return node.aspects?.includes(RestConstants.CCM_ASPECT_COLLECTION) || !!node.collection;
|
|
@@ -254,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
254
257
|
type: Inject,
|
|
255
258
|
args: [ASSETS_BASE_PATH]
|
|
256
259
|
}] }] });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU1ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxLQUFLLEtBQUssYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQztRQUNELElBQ0ksS0FBSyxLQUFLLGFBQWEsQ0FBQyxvQkFBb0I7WUFDNUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxzQkFBc0IsRUFDaEQsQ0FBQztZQUNDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDZixTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUNJLEtBQUssS0FBSyxhQUFhLENBQUMsbUJBQW1CO1lBQzNDLEtBQUssS0FBSyxhQUFhLENBQUMsNkJBQTZCLEVBQ3ZELENBQUM7WUFDQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ2xCLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbkUsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNkLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxhQUFhLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUN0RSxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ2xCLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQVU7UUFDM0IsMEZBQTBGO1FBQzFGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFzQixDQUFDLE1BQWMsRUFBRSxpQkFBaUIsR0FBRyxJQUFJO1FBQ2xFLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELElBQUksSUFBSSxJQUFJLEVBQUU7WUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBRTlCLE1BQU0sYUFBYSxHQUFHO1lBQ2xCLE1BQU07WUFDTixVQUFVO1lBQ1YsYUFBYTtZQUNiLGFBQWE7WUFDYixVQUFVO1lBQ1YsVUFBVTtZQUNWLE9BQU87WUFDUCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsTUFBTTtZQUNOLEtBQUs7WUFDTCxXQUFXO1lBQ1gsNEJBQTRCO1NBQy9CLENBQUM7UUFDRixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLGVBQWU7UUFDekYsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxHQUFHLHdCQUF3QixHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxJQUFVO1FBQzVCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksc0JBQXNCLENBQUMsSUFBWTtRQUN0QyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkQsaUNBQWlDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHFCQUFxQixDQUN4QixlQUF1QixFQUN2QixjQUFzQixFQUN0QixhQUFxQjtRQUVyQixNQUFNLElBQUksR0FBRyxjQUFjLEtBQUssS0FBSyxDQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDaEIsR0FBRyxDQUFDLGdCQUFnQixlQUFlLEVBQUUsRUFBRTtZQUNwQyxPQUFPLEVBQUUsY0FBYztZQUN2QixNQUFNLEVBQUUsTUFBTTtTQUNqQixDQUFDO2FBQ0QsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ2hCLHFGQUFxRjtZQUNyRixJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixrRUFBa0U7Z0JBQ2xFLDBEQUEwRDtnQkFDMUQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRU0scUJBQXFCLENBQUMsRUFBVTtRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNNLGlCQUFpQixDQUFDLElBQVUsRUFBRSxhQUFhLEdBQUcsS0FBSztRQUN0RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztTQUM3QyxDQUFDO0lBQ04sQ0FBQztJQUNELHdCQUF3QixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQzFDLE1BQU0sTUFBTSxHQUFHO1lBQ1gsT0FBTyxFQUFFLElBQW1DO1lBQzVDLE9BQU8sRUFBRSxJQUFtQztTQUMvQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO1FBQ2pDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUU7WUFDcEQsUUFBUSxDQUFDLHlCQUF5QjtZQUNsQyxRQUFRLENBQUMsd0JBQXdCO1lBQ2pDLFFBQVEsQ0FBQyx3QkFBd0I7WUFDakMsUUFBUSxDQUFDLHVCQUF1QjtTQUNuQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsY0FBYyxDQUFpQixNQUFTLEVBQUUsTUFBUztRQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVGLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxHQUFHLHdCQUF3QixHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFrQyxFQUFFLElBQVU7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLElBQUksR0FBZ0QsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHO2dCQUNILFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxHQUFHLGFBQWE7Z0JBQ3JELFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTthQUNuQyxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUM7Z0JBQ1QsSUFDSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNELGFBQWEsQ0FBQyxVQUFVLEVBQzFCLENBQUM7b0JBQ0MsSUFBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3hELENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLEdBQUcsV0FBVyxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7Z0JBQ25ELENBQUM7Z0JBQ0QsSUFBSSxHQUFHO29CQUNILFVBQVUsRUFBRSxJQUFJO29CQUNoQixXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUU7aUJBQ25DLENBQUM7WUFDTixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLEdBQUc7b0JBQ0gsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUFhLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDL0QsV0FBVyxFQUFFO3dCQUNULFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3dCQUMzQyxRQUFRLEVBQUcsSUFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ2pELGtCQUFrQixFQUFHLElBQXFCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3hFO2lCQUNKLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsQ0FBQztRQUNELG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7OEdBbFBRLGlCQUFpQiw0S0FPRixnQkFBZ0I7a0hBUC9CLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQVFRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcGlIZWxwZXJzU2VydmljZSxcbiAgICBDb25maWdTZXJ2aWNlLFxuICAgIE5ldHdvcmtTZXJ2aWNlLFxuICAgIE5vZGUsXG4gICAgUHJvcG9zYWxOb2RlLFxuICAgIFJlc3RDb25zdGFudHMsXG59IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0ICogYXMgV29ya2Zsb3cgZnJvbSAnLi4vdHlwZXMvd29ya2Zsb3cnO1xuaW1wb3J0IHsgUmVwb1VybFNlcnZpY2UgfSBmcm9tICcuL3JlcG8tdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQVNTRVRTX0JBU0VfUEFUSCB9IGZyb20gJy4uL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUhlbHBlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYXBpSGVscGVyc1NlcnZpY2U6IEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlcG9VcmxTZXJ2aWNlOiBSZXBvVXJsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBU1NFVFNfQkFTRV9QQVRIKSBwcml2YXRlIGFzc2V0c0Jhc2VQYXRoOiBzdHJpbmcsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldENvbGxlY3Rpb25TY29wZUluZm8obm9kZTogTm9kZSk6IHsgaWNvbjogc3RyaW5nOyBzY29wZU5hbWU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBub2RlLmNvbGxlY3Rpb24gPyBub2RlLmNvbGxlY3Rpb24uc2NvcGUgOiBudWxsO1xuICAgICAgICBsZXQgaWNvbiA9ICdoZWxwJztcbiAgICAgICAgbGV0IHNjb3BlTmFtZSA9ICdVTktOT1dOJztcbiAgICAgICAgaWYgKHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9NWSkge1xuICAgICAgICAgICAgaWNvbiA9ICdsb2NrJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdNWSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX09SR0EgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2dyb3VwJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdTSEFSRUQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9BTEwgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01fUFVCTElDXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdsYW5ndWFnZSc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnUFVCTElDJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX0VESVRPUklBTCkge1xuICAgICAgICAgICAgaWNvbiA9ICdzdGFyJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX0VESVRPUklBTCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9NRURJQV9DRU5URVIpIHtcbiAgICAgICAgICAgIGljb24gPSAnYnVzaW5lc3MnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfTUVESUFfQ0VOVEVSJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uLCBzY29wZU5hbWUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaWNlbnNlIGljb24gb2YgYSBub2RlXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TGljZW5zZUljb24obm9kZTogTm9kZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIC8vIHByZWZlciBtYW51YWwgbWFwcGluZyBpbnN0ZWFkIG9mIGJhY2tlbmQgZGF0YSB0byBzdXBwb3J0IGN1c3RvbSBzdGF0ZXMgZnJvbSBsb2NhbCBlZGl0c1xuICAgICAgICBjb25zdCBsaWNlbnNlID0gbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAobGljZW5zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZUljb25CeVN0cmluZyhsaWNlbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZS5saWNlbnNlID8gdGhpcy5yZXBvVXJsU2VydmljZS5nZXRSZXBvVXJsKG5vZGUubGljZW5zZS5pY29uLCBub2RlKSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGljZW5zZSBpY29uIGJ5IHVzaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZSBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZUljb25CeVN0cmluZyhzdHJpbmc6IFN0cmluZywgdXNlTm9uZUFzRmFsbGJhY2sgPSB0cnVlKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGljb24gPSBzdHJpbmcucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChpY29uID09ICcnKSBpY29uID0gJ25vbmUnO1xuXG4gICAgICAgIGNvbnN0IExJQ0VOU0VfSUNPTlMgPSBbXG4gICAgICAgICAgICAnY2MtMCcsXG4gICAgICAgICAgICAnY2MtYnktbmMnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1zYScsXG4gICAgICAgICAgICAnY2MtYnktbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LXNhJyxcbiAgICAgICAgICAgICdjYy1ieScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWZyZWUnLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1saWNlbnNlJyxcbiAgICAgICAgICAgICdjdXN0b20nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQnLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kJyxcbiAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICdwZG0nLFxuICAgICAgICAgICAgJ3NjaHVsZnVuaycsXG4gICAgICAgICAgICAndW50ZXJyaWNodHMtdW5kLWxlaHJtZWRpZW4nLFxuICAgICAgICBdO1xuICAgICAgICBpZiAoTElDRU5TRV9JQ09OUy5pbmRleE9mKGljb24pID09IC0xICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7IC8vIGljb249J25vbmUnO1xuICAgICAgICBpZiAoaWNvbiA9PSAnbm9uZScgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID1cbiAgICAgICAgICAgIHRoaXMuYXBpSGVscGVyc1NlcnZpY2UuZ2V0U2VydmVyVXJsKCkgKyAnLy4uL2NjaW1hZ2VzL2xpY2Vuc2VzLycgKyBpY29uICsgJy5zdmcnO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXBvVXJsU2VydmljZS53aXRoQ3VycmVudE9yaWdpbihyZXN1bHQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgb2YgYSBsaWNlbnNlIG5hbWUgZm9yIGEgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZShub2RlOiBOb2RlKSB7XG4gICAgICAgIGxldCBwcm9wID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKCFwcm9wKSBwcm9wID0gJyc7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VOYW1lQnlTdHJpbmcocHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIGZvciBhIGxpY2Vuc2Ugc3RyaW5nXG4gICAgICogQHBhcmFtIHN0cmluZ1xuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAobmFtZSA9PSAnJykge1xuICAgICAgICAgICAgbmFtZSA9ICdOT05FJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTElDRU5TRS5OQU1FUy4nICsgbmFtZSk7XG4gICAgICAgIC8vIHJldHVybiBuYW1lLnJlcGxhY2UoL18vZyxcIi1cIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIHRoZSBMaWNlbnNlIFVSTCAoZS5nLiBmb3IgQ0NfQlkgbGljZW5zZXMpIGZvciBhIGxpY2Vuc2Ugc3RyaW5nIGFuZCB2ZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VQcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBsaWNlbnNlVmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlTG9jYWxlXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VVcmxCeVN0cmluZyhcbiAgICAgICAgbGljZW5zZVByb3BlcnR5OiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VMb2NhbGU6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgY29uc3QgaXNWNCA9IGxpY2Vuc2VWZXJzaW9uID09PSAnNC4wJztcbiAgICAgICAgY29uc3QgbG9jYWxlID0gaXNWNCB8fCAhbGljZW5zZUxvY2FsZSA/ICcnIDogbGljZW5zZUxvY2FsZS50b0xvd2VyQ2FzZSgpICsgJy8nO1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5nZXQoYExJQ0VOU0UuVVJMUy4ke2xpY2Vuc2VQcm9wZXJ0eX1gLCB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbGljZW5zZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB0cmFuc2xhdGlvbiBmYWlscyBpdCBtaWdodCByZXR1cm4gc29tZXRoaW5nIGxpa2UgJ0xJQ0VOU0UuVVJMUy51bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgIGlmICghdXJsIHx8IHVybC5zdGFydHNXaXRoKCdMSUNFTlNFLlVSTFMnKSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB0aGUgaW50ZXJuYXRpb25hbCA0LjAgdmVyc2lvbiBzdXBwb3J0cyBkaWZmZXJlbnQgbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGlzIHBhcnQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmb3IgYWxsIG90aGVyIHZlcnNpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgnLmRlJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1c0J5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB3b3JrZmxvd3MgPSB0aGlzLmdldFdvcmtmbG93cygpO1xuICAgICAgICByZXR1cm4gd29ya2Zsb3dzLmZpbHRlcigodykgPT4gdy5pZCA9PT0gaWQpPy5bMF07XG4gICAgfVxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1cyhub2RlOiBOb2RlLCB1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBsZXQgdmFsdWUgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9XRl9TVEFUVVNdPy5bMF07XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICAgICAgaW5pdGlhbDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgICAgICBpbml0aWFsOiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgfTtcbiAgICAgICAgcmVzdWx0LmluaXRpYWwgPSB0aGlzLmdldFdvcmtmbG93cygpWzBdO1xuICAgICAgICBsZXQgZGVmYXVsdFN0YXR1czogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgaWYgKHVzZUZyb21Db25maWcpIHtcbiAgICAgICAgICAgIGRlZmF1bHRTdGF0dXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cuZGVmYXVsdFN0YXR1cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWZhdWx0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHRoaXMuZ2V0V29ya2Zsb3dzKCkuZmluZCgodykgPT4gdy5pZCA9PT0gZGVmYXVsdFN0YXR1cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHJlc3VsdC5pbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGdldFdvcmtmbG93cygpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cud29ya2Zsb3dzJywgW1xuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRCxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19UT19DSEVDSyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19IQVNGTEFXUyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19DSEVDS0VELFxuICAgICAgICBdKTtcbiAgICB9XG4gICAgY29weURhdGFUb05vZGU8VCBleHRlbmRzIE5vZGU+KHRhcmdldDogVCwgc291cmNlOiBUKSB7XG4gICAgICAgIHRhcmdldC5wcm9wZXJ0aWVzID0gc291cmNlLnByb3BlcnRpZXM7XG4gICAgICAgIHRhcmdldC5uYW1lID0gc291cmNlLm5hbWU7XG4gICAgICAgIHRhcmdldC50aXRsZSA9IHNvdXJjZS50aXRsZTtcbiAgICB9XG4gICAgaXNOb2RlQ29sbGVjdGlvbihub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmFzcGVjdHM/LmluY2x1ZGVzKFJlc3RDb25zdGFudHMuQ0NNX0FTUEVDVF9DT0xMRUNUSU9OKSB8fCAhIW5vZGUuY29sbGVjdGlvbjtcbiAgICB9XG4gICAgcHVibGljIGdldFNvdXJjZUljb25QYXRoKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5hc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2ltYWdlcy9zb3VyY2VzLycgKyBzcmMudG9Mb3dlckNhc2UoKSArICcucG5nJztcbiAgICB9XG5cbiAgICBnZXROb2RlTGluayhtb2RlOiAncm91dGVyTGluaycgfCAncXVlcnlQYXJhbXMnLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmICghbm9kZT8ucmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGF0YTogeyByb3V0ZXJMaW5rOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmlzTm9kZUNvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdjb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5vZGUuaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGF0aDtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfRURVU0NPUEVOQU1FXT8uWzBdID09PVxuICAgICAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLlNBRkVfU0NPUEVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlL3NhZmUnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUucmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnJvbUhvbWUgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmlzRnJvbUhvbWVSZXBvc2l0b3J5KG5vZGUpO1xuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAncmVuZGVyLycgKyBub2RlLnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IGZyb21Ib21lID8gbnVsbCA6IG5vZGUucmVmLnJlcG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbDogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbD8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWxDb2xsZWN0aW9uOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsQ29sbGVjdGlvbj8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZSA9PT0gJ3JvdXRlckxpbmsnKSB7XG4gICAgICAgICAgICByZXR1cm4gJy8nICsgZGF0YS5yb3V0ZXJMaW5rO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVuZm9yY2UgY2xlYXJpbmcgb2YgcGFyYW1ldGVycyB3aGljaCBzaG91bGQgb25seSBiZSBjb25zdW1lZCBvbmNlXG4gICAgICAgIGRhdGEucXVlcnlQYXJhbXMucmVkaXJlY3RGcm9tU1NPID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGRhdGEucXVlcnlQYXJhbXM7XG4gICAgfVxufVxuIl19
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU9ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgVXNlcixcbiAgICBOZXR3b3JrU2VydmljZSxcbiAgICBOb2RlLFxuICAgIFByb3Bvc2FsTm9kZSxcbiAgICBSZXN0Q29uc3RhbnRzLFxufSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCAqIGFzIFdvcmtmbG93IGZyb20gJy4uL3R5cGVzL3dvcmtmbG93JztcbmltcG9ydCB7IFJlcG9VcmxTZXJ2aWNlIH0gZnJvbSAnLi9yZXBvLXVybC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IEFTU0VUU19CQVNFX1BBVEggfSBmcm9tICcuLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVIZWxwZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFwaUhlbHBlcnNTZXJ2aWNlOiBBcGlIZWxwZXJzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZXBvVXJsU2VydmljZTogUmVwb1VybFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRTX0JBU0VfUEFUSCkgcHJpdmF0ZSBhc3NldHNCYXNlUGF0aDogc3RyaW5nLFxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXRDb2xsZWN0aW9uU2NvcGVJbmZvKG5vZGU6IE5vZGUpOiB7IGljb246IHN0cmluZzsgc2NvcGVOYW1lOiBzdHJpbmcgfSB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gbm9kZS5jb2xsZWN0aW9uID8gbm9kZS5jb2xsZWN0aW9uLnNjb3BlIDogbnVsbDtcbiAgICAgICAgbGV0IGljb24gPSAnaGVscCc7XG4gICAgICAgIGxldCBzY29wZU5hbWUgPSAnVU5LTk9XTic7XG4gICAgICAgIGlmIChzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfTVkpIHtcbiAgICAgICAgICAgIGljb24gPSAnbG9jayc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnTVknO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9PUkdBIHx8XG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQ1VTVE9NXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdncm91cCc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnU0hBUkVEJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQUxMIHx8XG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQ1VTVE9NX1BVQkxJQ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGljb24gPSAnbGFuZ3VhZ2UnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1BVQkxJQyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9FRElUT1JJQUwpIHtcbiAgICAgICAgICAgIGljb24gPSAnc3Rhcic7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnVFlQRV9FRElUT1JJQUwnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNvbGxlY3Rpb24/LnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlRZUEVfTUVESUFfQ0VOVEVSKSB7XG4gICAgICAgICAgICBpY29uID0gJ2J1c2luZXNzJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX01FRElBX0NFTlRFUic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbiwgc2NvcGVOYW1lIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgbGljZW5zZSBpY29uIG9mIGEgbm9kZVxuICAgICAqL1xuICAgIGFzeW5jIGdldExpY2Vuc2VJY29uKG5vZGU6IE5vZGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICAvLyBwcmVmZXIgbWFudWFsIG1hcHBpbmcgaW5zdGVhZCBvZiBiYWNrZW5kIGRhdGEgdG8gc3VwcG9ydCBjdXN0b20gc3RhdGVzIGZyb20gbG9jYWwgZWRpdHNcbiAgICAgICAgY29uc3QgbGljZW5zZSA9IG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKGxpY2Vuc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VJY29uQnlTdHJpbmcobGljZW5zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGUubGljZW5zZSA/IHRoaXMucmVwb1VybFNlcnZpY2UuZ2V0UmVwb1VybChub2RlLmxpY2Vuc2UuaWNvbiwgbm9kZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhIGxpY2Vuc2UgaWNvbiBieSB1c2luZyB0aGUgcHJvcGVydHkgdmFsdWUgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VJY29uQnlTdHJpbmcoc3RyaW5nOiBTdHJpbmcsIHVzZU5vbmVBc0ZhbGxiYWNrID0gdHJ1ZSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBpY29uID0gc3RyaW5nLnJlcGxhY2UoL18vZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoaWNvbiA9PSAnJykgaWNvbiA9ICdub25lJztcblxuICAgICAgICBjb25zdCBMSUNFTlNFX0lDT05TID0gW1xuICAgICAgICAgICAgJ2NjLTAnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1uZCcsXG4gICAgICAgICAgICAnY2MtYnktbmMtc2EnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1zYScsXG4gICAgICAgICAgICAnY2MtYnknLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1mcmVlJyxcbiAgICAgICAgICAgICdjb3B5cmlnaHQtbGljZW5zZScsXG4gICAgICAgICAgICAnY3VzdG9tJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQtbm9EbycsXG4gICAgICAgICAgICAnZWR1LW5jLW5kJyxcbiAgICAgICAgICAgICdlZHUtcC1uci1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtcC1uci1uZCcsXG4gICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICAncGRtJyxcbiAgICAgICAgICAgICdzY2h1bGZ1bmsnLFxuICAgICAgICAgICAgJ3VudGVycmljaHRzLXVuZC1sZWhybWVkaWVuJyxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKExJQ0VOU0VfSUNPTlMuaW5kZXhPZihpY29uKSA9PSAtMSAmJiAhdXNlTm9uZUFzRmFsbGJhY2spIHJldHVybiBudWxsOyAvLyBpY29uPSdub25lJztcbiAgICAgICAgaWYgKGljb24gPT0gJ25vbmUnICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICAgICAgICB0aGlzLmFwaUhlbHBlcnNTZXJ2aWNlLmdldFNlcnZlclVybCgpICsgJy8uLi9jY2ltYWdlcy9saWNlbnNlcy8nICsgaWNvbiArICcuc3ZnJztcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIG9mIGEgbGljZW5zZSBuYW1lIGZvciBhIG5vZGVcbiAgICAgKiBAcGFyYW0gbm9kZVxuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ31cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZU5hbWUobm9kZTogTm9kZSkge1xuICAgICAgICBsZXQgcHJvcCA9IG5vZGUucHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0VdPy5bMF07XG4gICAgICAgIGlmICghcHJvcCkgcHJvcCA9ICcnO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKHByb3ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHRyYW5zbGF0ZWQgbmFtZSBmb3IgYSBsaWNlbnNlIHN0cmluZ1xuICAgICAqIEBwYXJhbSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZU5hbWVCeVN0cmluZyhuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG5hbWUgPT0gJycpIHtcbiAgICAgICAgICAgIG5hbWUgPSAnTk9ORSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0xJQ0VOU0UuTkFNRVMuJyArIG5hbWUpO1xuICAgICAgICAvLyByZXR1cm4gbmFtZS5yZXBsYWNlKC9fL2csXCItXCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybiB0aGUgTGljZW5zZSBVUkwgKGUuZy4gZm9yIENDX0JZIGxpY2Vuc2VzKSBmb3IgYSBsaWNlbnNlIHN0cmluZyBhbmQgdmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlUHJvcGVydHlcbiAgICAgKiBAcGFyYW0gbGljZW5zZVZlcnNpb25cbiAgICAgKiBAcGFyYW0gbGljZW5zZUxvY2FsZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlVXJsQnlTdHJpbmcoXG4gICAgICAgIGxpY2Vuc2VQcm9wZXJ0eTogc3RyaW5nLFxuICAgICAgICBsaWNlbnNlVmVyc2lvbjogc3RyaW5nLFxuICAgICAgICBsaWNlbnNlTG9jYWxlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGlzVjQgPSBsaWNlbnNlVmVyc2lvbiA9PT0gJzQuMCc7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGlzVjQgfHwgIWxpY2Vuc2VMb2NhbGUgPyAnJyA6IGxpY2Vuc2VMb2NhbGUudG9Mb3dlckNhc2UoKSArICcvJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlXG4gICAgICAgICAgICAuZ2V0KGBMSUNFTlNFLlVSTFMuJHtsaWNlbnNlUHJvcGVydHl9YCwge1xuICAgICAgICAgICAgICAgIHZlcnNpb246IGxpY2Vuc2VWZXJzaW9uLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgdHJhbnNsYXRpb24gZmFpbHMgaXQgbWlnaHQgcmV0dXJuIHNvbWV0aGluZyBsaWtlICdMSUNFTlNFLlVSTFMudW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXVybCB8fCB1cmwuc3RhcnRzV2l0aCgnTElDRU5TRS5VUkxTJykpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzVjQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgdGhlIGludGVybmF0aW9uYWwgNC4wIHZlcnNpb24gc3VwcG9ydHMgZGlmZmVyZW50IGxhbmd1YWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gdGhpcyBwYXJ0IG5lZWRzIHRvIGJlIHJlbW92ZWQgZm9yIGFsbCBvdGhlciB2ZXJzaW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJy5kZScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgd29ya2Zsb3dzID0gdGhpcy5nZXRXb3JrZmxvd3MoKTtcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93cy5maWx0ZXIoKHcpID0+IHcuaWQgPT09IGlkKT8uWzBdO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0V29ya2Zsb3dTdGF0dXMobm9kZTogTm9kZSwgdXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfV0ZfU1RBVFVTXT8uWzBdO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IHRoaXMuZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKHZhbHVlKSxcbiAgICAgICAgICAgIGluaXRpYWw6IHRoaXMuZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKHZhbHVlKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZ2V0RGVmYXVsdFdvcmtmbG93U3RhdHVzKHVzZUZyb21Db25maWcgPSBmYWxzZSk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvblN0YXR1cyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IG51bGwgYXMgV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgICAgICAgICAgaW5pdGlhbDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgIH07XG4gICAgICAgIHJlc3VsdC5pbml0aWFsID0gdGhpcy5nZXRXb3JrZmxvd3MoKVswXTtcbiAgICAgICAgbGV0IGRlZmF1bHRTdGF0dXM6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGlmICh1c2VGcm9tQ29uZmlnKSB7XG4gICAgICAgICAgICBkZWZhdWx0U3RhdHVzID0gdGhpcy5jb25maWdTZXJ2aWNlLmluc3RhbnQoJ3dvcmtmbG93LmRlZmF1bHRTdGF0dXMnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmYXVsdFN0YXR1cykge1xuICAgICAgICAgICAgcmVzdWx0LmN1cnJlbnQgPSB0aGlzLmdldFdvcmtmbG93cygpLmZpbmQoKHcpID0+IHcuaWQgPT09IGRlZmF1bHRTdGF0dXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0LmN1cnJlbnQgPSByZXN1bHQuaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBnZXRXb3JrZmxvd3MoKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmluc3RhbnQoJ3dvcmtmbG93LndvcmtmbG93cycsIFtcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19VTkNIRUNLRUQsXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfVE9fQ0hFQ0ssXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfSEFTRkxBV1MsXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfQ0hFQ0tFRCxcbiAgICAgICAgXSk7XG4gICAgfVxuICAgIGNvcHlEYXRhVG9Ob2RlPFQgZXh0ZW5kcyBOb2RlIHwgVXNlcj4odGFyZ2V0OiBULCBzb3VyY2U6IFQpIHtcbiAgICAgICAgdGFyZ2V0LnByb3BlcnRpZXMgPSBzb3VyY2UucHJvcGVydGllcztcbiAgICAgICAgKHRhcmdldCBhcyBOb2RlKS5uYW1lID0gKHNvdXJjZSBhcyBOb2RlKS5uYW1lO1xuICAgICAgICAodGFyZ2V0IGFzIE5vZGUpLnRpdGxlID0gKHNvdXJjZSBhcyBOb2RlKS50aXRsZTtcbiAgICAgICAgKHRhcmdldCBhcyBVc2VyKS5hdXRob3JpdHlOYW1lID0gKHNvdXJjZSBhcyBVc2VyKS5hdXRob3JpdHlOYW1lO1xuICAgICAgICAodGFyZ2V0IGFzIFVzZXIpLnByb2ZpbGUgPSAoc291cmNlIGFzIFVzZXIpLnByb2ZpbGU7XG4gICAgICAgICh0YXJnZXQgYXMgVXNlcikuc3RhdHVzID0gKHNvdXJjZSBhcyBVc2VyKS5zdGF0dXM7XG4gICAgfVxuICAgIGlzTm9kZUNvbGxlY3Rpb24obm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbm9kZS5hc3BlY3RzPy5pbmNsdWRlcyhSZXN0Q29uc3RhbnRzLkNDTV9BU1BFQ1RfQ09MTEVDVElPTikgfHwgISFub2RlLmNvbGxlY3Rpb247XG4gICAgfVxuICAgIHB1YmxpYyBnZXRTb3VyY2VJY29uUGF0aChzcmM6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKHRoaXMuYXNzZXRzQmFzZVBhdGggPz8gJycpICsgJ2Fzc2V0cy9pbWFnZXMvc291cmNlcy8nICsgc3JjLnRvTG93ZXJDYXNlKCkgKyAnLnBuZyc7XG4gICAgfVxuXG4gICAgZ2V0Tm9kZUxpbmsobW9kZTogJ3JvdXRlckxpbmsnIHwgJ3F1ZXJ5UGFyYW1zJywgbm9kZTogTm9kZSkge1xuICAgICAgICBpZiAoIW5vZGU/LnJlZikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGE6IHsgcm91dGVyTGluazogc3RyaW5nOyBxdWVyeVBhcmFtczogUGFyYW1zIH0gPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5pc05vZGVDb2xsZWN0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnY29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChub2RlLmlzRGlyZWN0b3J5KSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBub2RlLnByb3BlcnRpZXM/LltSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0VEVVNDT1BFTkFNRV0/LlswXSA9PT1cbiAgICAgICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5TQUZFX1NDT1BFXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZS9zYWZlJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXRoID0gVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICd3b3Jrc3BhY2UnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBpZDogbm9kZS5yZWYuaWQgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLnJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZyb21Ib21lID0gdGhpcy5uZXR3b3JrU2VydmljZS5pc0Zyb21Ib21lUmVwb3NpdG9yeShub2RlKTtcbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3JlbmRlci8nICsgbm9kZS5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBmcm9tSG9tZSA/IG51bGwgOiBub2RlLnJlZi5yZXBvLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWw6IChub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWw/LnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bvc2FsQ29sbGVjdGlvbjogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbENvbGxlY3Rpb24/LnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZGUgPT09ICdyb3V0ZXJMaW5rJykge1xuICAgICAgICAgICAgcmV0dXJuICcvJyArIGRhdGEucm91dGVyTGluaztcbiAgICAgICAgfVxuICAgICAgICAvLyBlbmZvcmNlIGNsZWFyaW5nIG9mIHBhcmFtZXRlcnMgd2hpY2ggc2hvdWxkIG9ubHkgYmUgY29uc3VtZWQgb25jZVxuICAgICAgICBkYXRhLnF1ZXJ5UGFyYW1zLnJlZGlyZWN0RnJvbVNTTyA9IG51bGw7XG4gICAgICAgIHJldHVybiBkYXRhLnF1ZXJ5UGFyYW1zO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -119,7 +119,7 @@ export class OptionsHelperDataService {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
pasteNode(nodes = []) {
|
|
122
|
-
this.optionsHelperService.pasteNode(this.components, this.data, nodes);
|
|
122
|
+
this.optionsHelperService.pasteNode(this.components, this.data, true, nodes);
|
|
123
123
|
}
|
|
124
124
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService, deps: [{ token: i0.NgZone }, { token: i1.ActivatedRoute }, { token: i2.LocalEventsService }, { token: i3.AuthenticationService }, { token: i3.UserService }, { token: i3.NetworkService }, { token: i4.KeyboardShortcutsService, optional: true }, { token: i5.OptionsHelperService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
125
125
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService }); }
|
|
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
|
131
131
|
}] }, { type: i5.OptionsHelperService, decorators: [{
|
|
132
132
|
type: Optional
|
|
133
133
|
}] }] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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QVU7OzBCQW9CRixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBMaXN0RXZlbnRJbnRlcmZhY2UsXG4gICAgTm9kZUVudHJpZXNEYXRhVHlwZSxcbiAgICBOb2RlRW50cmllc0Rpc3BsYXlUeXBlLFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBNRSwgTmV0d29ya1NlcnZpY2UsIE5vZGUsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDdXN0b21PcHRpb25zLCBPcHRpb25JdGVtLCBTY29wZSwgVGFyZ2V0IH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgT3B0aW9uc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbiB9IGZyb20gJy4uL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5pbXBvcnQgeyBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2FsRXZlbnRzU2VydmljZSB9IGZyb20gJy4vbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuXG50eXBlIERlbGV0ZUV2ZW50ID0ge1xuICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGVycm9yOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0hlbHBlckNvbXBvbmVudHMge1xuICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50O1xuICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudDtcbiAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uRGF0YSB7XG4gICAgc2NvcGU6IFNjb3BlO1xuICAgIGFjdGl2ZU9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBzZWxlY3RlZE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBhbGxPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgcGFyZW50PzogTm9kZSB8IGFueTtcbiAgICBjdXN0b21PcHRpb25zPzogQ3VzdG9tT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBjdXN0b20gaW50ZXJjZXB0b3IgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJyYXlcbiAgICAgKi9cbiAgICBwb3N0UHJlcGFyZU9wdGlvbnM/OiAob3B0aW9uczogT3B0aW9uSXRlbVtdLCBvYmplY3RzOiBOb2RlW10pID0+IHZvaWQ7XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3B0aW9uc0hlbHBlckRhdGFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzO1xuICAgIHByaXZhdGUgZGF0YTogT3B0aW9uRGF0YTtcbiAgICBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW107XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmVhZG9ubHkgdmlydHVhbE5vZGVzQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXT4oKTtcbiAgICByZWFkb25seSBub2Rlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXSB8IHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEZWxldGVFdmVudD4oKTtcbiAgICByZWFkb25seSBkaXNwbGF5VHlwZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYWxFdmVudHM6IExvY2FsRXZlbnRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU2VydmljZTogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG9wdGlvbnNIZWxwZXJTZXJ2aWNlOiBPcHRpb25zSGVscGVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG4gICAgLyoqIFBlcmZvcm1zIHN1YnNjcmlwdGlvbnMgdGhhdCBkb24ndCBoYXZlIHRvIGJlIHJlZnJlc2hlZC4gKi9cbiAgICBwcml2YXRlIHJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0RlbGV0ZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py5kZWxldGVOb2Rlcyhub2RlcykpO1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzQ2hhbmdlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LnVwZGF0ZU5vZGVzKG5vZGVzKSk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdENvbXBvbmVudHMoXG4gICAgICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50ID0gbnVsbCxcbiAgICAgICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0gbnVsbCxcbiAgICAgICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50ID0gbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0ge1xuICAgICAgICAgICAgYWN0aW9uYmFyLFxuICAgICAgICAgICAgbGlzdCxcbiAgICAgICAgICAgIGRyb3Bkb3duLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoKGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlcihNRSkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSkucGVyc29uLmF1dGhvcml0eU5hbWUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuZ2V0UmVwb3NpdG9yaWVzKCkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgc2V0RGF0YShkYXRhOiBPcHRpb25EYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2Uud3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyByZWZyZXNoQ29tcG9uZW50cyhyZWZyZXNoTGlzdE9wdGlvbnMgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zIGhlbHBlciByZWZyZXNoIGNhbGxlZCBidXQgbm8gZGF0YSBwcmV2aW91c2x5IGJvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyU2VydmljZSBub3QgcHJvdmlkZWQuIE5vIGRlZmF1bHQgYWN0aW9ucyB3aWxsIGJlIGdlbmVyYXRlZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2xvYmFsT3B0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlT3B0aW9ucyhUYXJnZXQuQWN0aW9uYmFyKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8ucmVmcmVzaENvbXBvbmVudHMoXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICAgICByZWZyZXNoTGlzdE9wdGlvbnMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlT3B0aW9ucyh0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8uZ2V0QXZhaWxhYmxlT3B0aW9ucyhcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIG9iamVjdHMsXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRWaXJ0dWFsT2JqZWN0cyhvYmplY3RzOiBhbnlbXSkge1xuICAgICAgICBvYmplY3RzID0gb2JqZWN0cy5tYXAoKG86IGFueSkgPT4ge1xuICAgICAgICAgICAgby52aXJ0dWFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBvO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aXJ0dWFsTm9kZXNBZGRlZC5lbWl0KG9iamVjdHMpO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRzPy5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHM/Lmxpc3QuYWRkVmlydHVhbE5vZGVzKG9iamVjdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJHbG9iYWxLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbiA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5nbG9iYWxPcHRpb25zICYmICF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU2VydmljZT8uc2hvdWxkSWdub3JlU2hvcnRjdXQoZXZlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gdGhpcy5nbG9iYWxPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKG9wdGlvbjogT3B0aW9uSXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmlzRW5hYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCAmJlxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24oZXZlbnQsIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IG1hdGNoZWRPcHRpb24uY2FsbGJhY2sobnVsbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZpbHRlck9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdLCB0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdIHwgYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5maWx0ZXJPcHRpb25zKG9wdGlvbnMsIHRhcmdldCwgdGhpcy5kYXRhLCBvYmplY3RzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogc2hvcnRjdXQgdG8gc2ltcGx5IGRpc2FibGUgYWxsIG9wdGlvbnMgb24gdGhlIGdpdmVuIGNvbXBvZW5udHNcbiAgICAgKiBAcGFyYW0gYWN0aW9uYmFyXG4gICAgICogQHBhcmFtIGxpc3RcbiAgICAgKi9cbiAgICBjbGVhckNvbXBvbmVudHMoYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQsIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlPiA9IG51bGwpIHtcbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgIGxpc3Quc2V0T3B0aW9ucyhudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uYmFyKSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIub3B0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFzdGVOb2RlKG5vZGVzOiBOb2RlW10gPSBbXSkge1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLnBhc3RlTm9kZSh0aGlzLmNvbXBvbmVudHMsIHRoaXMuZGF0YSwgbm9kZXMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDL0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUNqRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFZckUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELDhEQUE4RDtJQUN0RCwyQkFBMkI7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZO2FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZO2FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQ2hCLFlBQWdDLElBQUksRUFDcEMsT0FBZ0QsSUFBSSxFQUNwRCxXQUE4QixJQUFJO1FBRWxDLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZCxTQUFTO1lBQ1QsSUFBSTtZQUNKLFFBQVE7U0FDWCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDMUUsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJO1FBQzdDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLDREQUE0RCxDQUFDLENBQUM7WUFDM0UsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxDQUFDLENBQUM7WUFDeEYsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FDOUMsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsSUFBSSxFQUNULGtCQUFrQixDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWMsRUFBRSxVQUFrQixJQUFJO1FBQ3RELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixDQUNqRCxNQUFNLEVBQ04sT0FBTyxFQUNQLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLElBQUksQ0FDWixDQUFDO0lBQ04sQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQWM7UUFDcEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUM3QixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNqQixPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDTCxDQUFDO0lBRUQsK0JBQStCO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO3FCQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztxQkFDL0IsU0FBUyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQW9CO1FBQzVDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUN6QyxDQUFDLE1BQWtCLEVBQUUsRUFBRSxDQUNuQixNQUFNLENBQUMsU0FBUztnQkFDaEIsTUFBTSxDQUFDLGdCQUFnQjtnQkFDdkIsd0JBQXdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUMvRCxDQUFDO1lBQ0YsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDaEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDRCxhQUFhLENBQUMsT0FBcUIsRUFBRSxNQUFjLEVBQUUsVUFBd0IsSUFBSTtRQUM3RSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFNBQTZCLEVBQUUsT0FBaUMsSUFBSTtRQUNoRixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQWdCLEVBQUU7UUFDeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OEdBOUlRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkFvQkYsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7XG4gICAgTGlzdEV2ZW50SW50ZXJmYWNlLFxuICAgIE5vZGVFbnRyaWVzRGF0YVR5cGUsXG4gICAgTm9kZUVudHJpZXNEaXNwbGF5VHlwZSxcbn0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgTUUsIE5ldHdvcmtTZXJ2aWNlLCBOb2RlLCBVc2VyU2VydmljZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ3VzdG9tT3B0aW9ucywgT3B0aW9uSXRlbSwgU2NvcGUsIFRhcmdldCB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IE9wdGlvbnNIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC9vcHRpb25zLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC9rZXlib2FyZC1zaG9ydGN1dHMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2NhbEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2xvY2FsLWV2ZW50cy5zZXJ2aWNlJztcblxudHlwZSBEZWxldGVFdmVudCA9IHtcbiAgICBvYmplY3RzOiBOb2RlW10gfCBhbnk7XG4gICAgY291bnQ6IG51bWJlcjtcbiAgICBlcnJvcjogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnNIZWxwZXJDb21wb25lbnRzIHtcbiAgICBhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudDtcbiAgICBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQ7XG4gICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkRhdGEge1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBhY3RpdmVPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgc2VsZWN0ZWRPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgYWxsT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIHBhcmVudD86IE5vZGUgfCBhbnk7XG4gICAgY3VzdG9tT3B0aW9ucz86IEN1c3RvbU9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGludGVyY2VwdG9yIHRvIG1vZGlmeSB0aGUgZGVmYXVsdCBvcHRpb25zIGFycmF5XG4gICAgICovXG4gICAgcG9zdFByZXBhcmVPcHRpb25zPzogKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgb2JqZWN0czogTm9kZVtdKSA9PiB2b2lkO1xufVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cztcbiAgICBwcml2YXRlIGRhdGE6IE9wdGlvbkRhdGE7XG4gICAgcHJpdmF0ZSBrZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgZ2xvYmFsT3B0aW9uczogT3B0aW9uSXRlbVtdO1xuICAgIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJlYWRvbmx5IHZpcnR1YWxOb2Rlc0FkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlW10+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlW10gfCB2b2lkPigpO1xuICAgIHJlYWRvbmx5IG5vZGVzRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGVsZXRlRXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgZGlzcGxheVR5cGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlRW50cmllc0Rpc3BsYXlUeXBlPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGxvY2FsRXZlbnRzOiBMb2NhbEV2ZW50c1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBrZXlib2FyZFNob3J0Y3V0c1NlcnZpY2U6IEtleWJvYXJkU2hvcnRjdXRzU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBvcHRpb25zSGVscGVyU2VydmljZTogT3B0aW9uc0hlbHBlclNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTdGF0aWNTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuICAgIC8qKiBQZXJmb3JtcyBzdWJzY3JpcHRpb25zIHRoYXQgZG9uJ3QgaGF2ZSB0byBiZSByZWZyZXNoZWQuICovXG4gICAgcHJpdmF0ZSByZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxFdmVudHMubm9kZXNEZWxldGVkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobm9kZXMpID0+IHRoaXMuY29tcG9uZW50cz8ubGlzdD8uZGVsZXRlTm9kZXMobm9kZXMpKTtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0NoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py51cGRhdGVOb2Rlcyhub2RlcykpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXRDb21wb25lbnRzKFxuICAgICAgICBhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudCA9IG51bGwsXG4gICAgICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlRW50cmllc0RhdGFUeXBlPiA9IG51bGwsXG4gICAgICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudCA9IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50cyA9IHtcbiAgICAgICAgICAgIGFjdGlvbmJhcixcbiAgICAgICAgICAgIGxpc3QsXG4gICAgICAgICAgICBkcm9wZG93bixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXIoTUUpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCkpLnBlcnNvbi5hdXRob3JpdHlOYW1lKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5ldHdvcmtTZXJ2aWNlLmdldFJlcG9zaXRvcmllcygpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cblxuICAgIHNldERhdGEoZGF0YTogT3B0aW9uRGF0YSkge1xuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLndyYXBPcHRpb25DYWxsYmFja3MoZGF0YSk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVmcmVzaENvbXBvbmVudHMocmVmcmVzaExpc3RPcHRpb25zID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybignb3B0aW9ucyBoZWxwZXIgcmVmcmVzaCBjYWxsZWQgYnV0IG5vIGRhdGEgcHJldmlvdXNseSBib3VuZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybignb3B0aW9uc0hlbHBlclNlcnZpY2Ugbm90IHByb3ZpZGVkLiBObyBkZWZhdWx0IGFjdGlvbnMgd2lsbCBiZSBnZW5lcmF0ZWQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdsb2JhbE9wdGlvbnMgPSBhd2FpdCB0aGlzLmdldEF2YWlsYWJsZU9wdGlvbnMoVGFyZ2V0LkFjdGlvbmJhcik7XG4gICAgICAgIGF3YWl0IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2U/LnJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLFxuICAgICAgICAgICAgdGhpcy5kYXRhLFxuICAgICAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEF2YWlsYWJsZU9wdGlvbnModGFyZ2V0OiBUYXJnZXQsIG9iamVjdHM6IE5vZGVbXSA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2U/LmdldEF2YWlsYWJsZU9wdGlvbnMoXG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICBvYmplY3RzLFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLFxuICAgICAgICAgICAgdGhpcy5kYXRhLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVmlydHVhbE9iamVjdHMob2JqZWN0czogYW55W10pIHtcbiAgICAgICAgb2JqZWN0cyA9IG9iamVjdHMubWFwKChvOiBhbnkpID0+IHtcbiAgICAgICAgICAgIG8udmlydHVhbCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gbztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudmlydHVhbE5vZGVzQWRkZWQuZW1pdChvYmplY3RzKTtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50cz8ubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzPy5saXN0LmFkZFZpcnR1YWxOb2RlcyhvYmplY3RzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyR2xvYmFsS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFsT3B0aW9ucyAmJiAhdGhpcy5rZXlib2FyZFNob3J0Y3V0c1NlcnZpY2U/LnNob3VsZElnbm9yZVNob3J0Y3V0KGV2ZW50KSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHRoaXMuZ2xvYmFsT3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChvcHRpb246IE9wdGlvbkl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5pc0VuYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uKGV2ZW50LCBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG1hdGNoZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiBtYXRjaGVkT3B0aW9uLmNhbGxiYWNrKG51bGwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWx0ZXJPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgdGFyZ2V0OiBUYXJnZXQsIG9iamVjdHM6IE5vZGVbXSB8IGFueSA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UuZmlsdGVyT3B0aW9ucyhvcHRpb25zLCB0YXJnZXQsIHRoaXMuZGF0YSwgb2JqZWN0cyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIHNob3J0Y3V0IHRvIHNpbXBseSBkaXNhYmxlIGFsbCBvcHRpb25zIG9uIHRoZSBnaXZlbiBjb21wb2VubnRzXG4gICAgICogQHBhcmFtIGFjdGlvbmJhclxuICAgICAqIEBwYXJhbSBsaXN0XG4gICAgICovXG4gICAgY2xlYXJDb21wb25lbnRzKGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50LCBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZT4gPSBudWxsKSB7XG4gICAgICAgIGlmIChsaXN0KSB7XG4gICAgICAgICAgICBsaXN0LnNldE9wdGlvbnMobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdGlvbmJhcikge1xuICAgICAgICAgICAgYWN0aW9uYmFyLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhc3RlTm9kZShub2RlczogTm9kZVtdID0gW10pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5wYXN0ZU5vZGUodGhpcy5jb21wb25lbnRzLCB0aGlzLmRhdGEsIHRydWUsIG5vZGVzKTtcbiAgICB9XG59XG4iXX0=
|