@loxia/mst-viewer 8.1.3-202511131502 → 8.1.3-202511131559
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/components/ritdelen-lijst/ritdelen-lijst.component.mjs +5 -1
- package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +4 -1
- package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +2 -1
- package/esm2022/lib/mst-viewer.module.mjs +1 -2
- package/esm2022/lib/services/editor.service.mjs +3 -1
- package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +6 -6
- package/esm2022/lib/state/mst-editor-state.mjs +8 -10
- package/fesm2022/loxia-mst-viewer.mjs +22 -15
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +1 -1
- package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +2 -2
- package/lib/state/mst-editor-state.d.ts +8 -69
- package/package.json +1 -1
|
@@ -14,10 +14,14 @@ export class RitdelenLijstComponent {
|
|
|
14
14
|
constructor(store, sbmService) {
|
|
15
15
|
this.store = store;
|
|
16
16
|
this.sbmService = sbmService;
|
|
17
|
+
this.nietGeplandeActies = [];
|
|
17
18
|
this.focusEmitter = new EventEmitter();
|
|
18
19
|
this.keurAlleActiesGoed = new EventEmitter();
|
|
20
|
+
this.ritdeelViewModels = [];
|
|
19
21
|
this.selectedRitdeelActies = [];
|
|
20
22
|
this.selectedRitdeelOngeplandeActies = [];
|
|
23
|
+
this.disableActieKnoppenVanRitdeel = true;
|
|
24
|
+
this.editable = false;
|
|
21
25
|
this.NG_ACTIE_PREFIX = '* ';
|
|
22
26
|
this.subscriptions = [];
|
|
23
27
|
this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
|
|
@@ -264,4 +268,4 @@ class RitdeelViewModel {
|
|
|
264
268
|
this.treinNummer = treinNummer;
|
|
265
269
|
}
|
|
266
270
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQVMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSTdELE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBU3BELE1BQU0sT0FBTyxzQkFBc0I7SUFrQi9CLFlBQTZCLEtBQTRCLEVBQW1CLFVBQTJDO1FBQTFGLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQWlDO1FBZjdHLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWxELDBCQUFxQixHQUFZLEVBQUUsQ0FBQztRQUNwQyxvQ0FBK0IsR0FBc0IsRUFBRSxDQUFDO1FBTXZDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUdoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM3QyxPQUFPLElBQUksZ0JBQWdCLENBQ3ZCLE9BQU8sRUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDdEIsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQzVCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFDeEIsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQzdCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFDeEIsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbEcsd0hBQXdIO1FBQ3hILHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUMxRCxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQ3BELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixhQUFhLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7U0FBQyxDQUN6QyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFnQjtRQUMvQixPQUFPLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMEJBQTBCLENBQUMsT0FBZ0I7UUFDdkMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxPQUFnQjtRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFnQjtRQUMzQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFnQjtRQUNyQixPQUFPLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWdCO1FBQzNCLE9BQU8sT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0I7UUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBQzNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxLQUFLO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLCtCQUErQixDQUFDO1FBQ3BELE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQWdDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUUsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEI7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLCtCQUErQixHQUFHLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7WUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEcsTUFBTSxjQUFjLEdBQW9CLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUM7WUFFN0gsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25FLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDekUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNoQixJQUFJLE9BQU8sQ0FBQztvQkFDWixJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ25DLE9BQU8sR0FBRyxJQUFJLENBQUMsa0NBQWtDLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDM0YsQ0FBQzt5QkFBTSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEcsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDakIsQ0FBQztvQkFFRCxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7b0JBQ3hILElBQUksT0FBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQzt3QkFDdEMsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDdkQsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELGtDQUFrQyxDQUFDLGVBQWdDLEVBQUUsT0FBd0I7UUFDekYsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5RSxJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFFaEMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV2RixJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixlQUFlLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDMUUsdUJBQXVCLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZUFBZSxHQUFHLENBQUMsSUFBSSxlQUFlLEtBQUssdUJBQXVCLENBQUM7SUFDOUUsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQXdCLEVBQUUsVUFBa0IsRUFBRSxRQUFnQjtRQUN6RixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssVUFBVSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU8sZUFBZSxDQUFDLFFBQWtCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFnQjtRQUNqQyxJQUFJLE9BQU8sQ0FBQywrQkFBK0IsRUFBRSxFQUFFLENBQUM7WUFDNUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLFVBQVUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsT0FBTyx3QkFBd0IsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQixFQUFFLE9BQWdCO1FBQzdDLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7WUFDL0IsSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUV6RSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQzVDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDO1lBQzlDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQVk7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixDQUFDO0lBQ25ELENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFZLEVBQUUsTUFBYztRQUN6RCxPQUFPLEdBQUksTUFBTyxHQUFJLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxLQUFZO1FBQzFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlDLHdEQUF3RDtZQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUN4QixJQUFJLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDaEcsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQ3hCLE9BQU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQywrQkFBK0IsR0FBRyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQjtRQUMxQixPQUFPLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQW1CO1FBQ25DLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTVSUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpTUNyQm5DLG91UUErSUE7OzJGRDFIYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE9BQU87d0hBR3ZDLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTs7QUEyUlgsTUFBTSxnQkFBZ0I7SUFDbEIsWUFDYSxPQUFnQixFQUNoQixvQkFBNEIsRUFDNUIsV0FBb0IsRUFDcEIsS0FBYSxFQUNiLGlCQUEwQixFQUMxQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsV0FBbUIsRUFDbkIsVUFBa0IsRUFDbEIsV0FBbUI7UUFWbkIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVE7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUVoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZG9tZWluLCBKc0phdmFVdGlsfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHtTdG9yZX0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T25nZXBsYW5kZUFjdGllfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7Uml0ZGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQge0FjdGllfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHtTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIE1zdEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCAqIGFzIFJpdGRlbGVuQWN0aW9ucyBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMnO1xuaW1wb3J0IHtNc3RFZGl0b3JTdGF0ZX0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQge0FjdGllSGVscGVyfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQge0FycmF5TXVsdGltYXB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyaXRkZWxlbi1saWpzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JpdGRlbGVuLWxpanN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yaXRkZWxlbi1saWpzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBSaXRkZWxlbkxpanN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBuaWV0R2VwbGFuZGVBY3RpZXM6IEFjdGllW107XG5cbiAgICBAT3V0cHV0KCkgZm9jdXNFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxSaXRkZWVsPigpO1xuICAgIEBPdXRwdXQoKSBrZXVyQWxsZUFjdGllc0dvZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICByaXRkZWVsVmlld01vZGVsczogUml0ZGVlbFZpZXdNb2RlbFtdO1xuICAgIHNlbGVjdGVkUml0ZGVlbDogUml0ZGVlbDtcbiAgICBzZWxlY3RlZFJpdGRlZWxBY3RpZXM6IEFjdGllW10gPSBbXTtcbiAgICBzZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzOiBPbmdlcGxhbmRlQWN0aWVbXSA9IFtdO1xuICAgIGRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsOiBib29sZWFuO1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzTWFwOiBBcnJheU11bHRpbWFwPHN0cmluZywgT25nZXBsYW5kZUFjdGllPjtcbiAgICBwcml2YXRlIGdlcGxhbmRlQWN0aWVzOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgTkdfQUNUSUVfUFJFRklYID0gJyogJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sIHByaXZhdGUgcmVhZG9ubHkgc2JtU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdG9yZS5zZWxlY3QoJ3JpdERlbGVuJykuc3Vic2NyaWJlKChyaXRkZWxlbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yaXRkZWVsVmlld01vZGVscyA9IHJpdGRlbGVuPy5tYXAocml0ZGVlbCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSaXRkZWVsVmlld01vZGVsKFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbENsYXNzKHJpdGRlZWwpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUml0ZGVlbFppY2h0YmFhcihyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUaXRsZShyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5pc05pZXRCZXNjaGlrYmFhcigpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUml0ZGVlbE5pZXV3KHJpdGRlZWwpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldFZhblBybFNwb29yKCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuZ2V0TmFhclBybFNwb29yVGV4dCgpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldER3YW5nTnVtbWVyKCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuZ2V0UHBsZ1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRyZWluTnVtbWVyKHJpdGRlZWwpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJykuc3Vic2NyaWJlKGFjdGllcyA9PiB0aGlzLm9uZ2VwbGFuZGVBY3RpZXNNYXAgPSBhY3RpZXMpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdnZXBsYW5kZUFjdGllcycpLnN1YnNjcmliZShhY3RpZXMgPT4gdGhpcy5nZXBsYW5kZUFjdGllcyA9IGFjdGllcykpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZSkpO1xuXG4gICAgICAgIC8vIGxpc3RlbiB0byBjaGFuZ2VzIGZyb20gc3ZnLXZpZXdlci1jb21wb25lbnQsIHNhdmluZyByaXRkZWVsIGluIHN0b3JlIGlzbid0IGNvb2wgYmVjYXVzZSBvZiBhbGwgdGhlIGd3dCBpbiBpdC4gVGhpcyBpc1xuICAgICAgICAvLyBqdXN0IHRvIG1ha2UgY2hhbmdlcyB3aXRoaW4gdGhlIGFuZ3VsYXIgbGlmZWN5Y2xlLlxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdG9yZS5zZWxlY3QoJ3NlbGVjdGVkUml0ZGVlbElkJykucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpZCA9PiAhaWQpKS5zdWJzY3JpYmUodGhpcy5kZXNlbGVjdFJpdGRlZWxcbiAgICAgICAgKSk7XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBpc1JpdGRlZWxaaWNodGJhYXIocml0ZGVlbDogUml0ZGVlbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gcml0ZGVlbC5pc1ppY2h0YmFhcigpO1xuICAgIH1cblxuICAgIHRvZ2dsZVJpdGRlZWxaaWNodGJhYXJoZWlkKHJpdGRlZWw6IFJpdGRlZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMudG9nZ2xlUml0ZGVlbFppY2h0YmFhcihyaXRkZWVsKSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlWmljaHRiYWFyaGVpZEFsbGVSaXRkZWxlbihjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUml0ZGVsZW5BY3Rpb25zLnNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4oY2hlY2tlZCkpO1xuICAgIH1cblxuICAgIGlzUml0ZGVlbE5pZXV3KHJpdGRlZWw6IFJpdGRlZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcml0ZGVlbC5pc05pZXV3KCkgPyAnKycgOiAnJztcbiAgICB9XG5cbiAgICBnZXRUaXRsZShyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuZ2V0QmV3ZWdpbmdJZCgpO1xuICAgIH1cblxuICAgIGdldFRyZWluTnVtbWVyKHJpdGRlZWw6IFJpdGRlZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcml0ZGVlbC5nZXRUcmVpbk51bW1lcigpO1xuICAgIH1cblxuICAgIGRlbGV0ZVJpdGRlZWwocml0ZGVlbDogUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICByaXRkZWVsLmFjdGllcy5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgIHRoaXMudmVyaHVpc0FjdGllTmFhck9uZ2VwbGFuZChhY3RpZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRlc2VsZWN0Uml0ZGVlbCgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5kZWxldGVSaXRkZWVsKHJpdGRlZWwpKTtcbiAgICB9XG5cbiAgICBkZWxldGVBY3RpZXNVaXRSaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsLmFjdGllcy5zbGljZSgpLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVBY3RpZVVpdFJpdChhY3RpZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZUFjdGllVWl0Uml0KGFjdGllKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGllcyA9IHRoaXMuc2VsZWN0ZWRSaXRkZWVsLmFjdGllcztcbiAgICAgICAgY29uc3QgaWR4ID0gYWN0aWVzLmluZGV4T2YoYWN0aWUpO1xuICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudmVyaHVpc0FjdGllTmFhck9uZ2VwbGFuZChhY3RpZSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5kZWxldGVSaXRkZWVsQWN0aWUodGhpcy5zZWxlY3RlZFJpdGRlZWwsIGFjdGllc1tpZHhdKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm5pZXRHZXBsYW5kZUFjdGllcy5pbmRleE9mKGFjdGllKTtcbiAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgICAgdGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMucHVzaChhY3RpZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHVpY3MgPSB0aGlzLmdlcGxhbmRlQWN0aWVzLmdldChhY3RpZSk7XG5cbiAgICAgICAgaWYgKHB1aWNzICYmIHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5BZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuRGVsZXRlR2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZvZWdBY3RpZXNUb2VBYW5SaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGllcyA9IHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcztcbiAgICAgICAgYWN0aWVzLnNsaWNlKCkuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZvZWdBY3RpZVRvZUFhblJpdChhY3RpZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZvZWdBY3RpZVRvZUFhblJpdChvbmdlcGxhbmRlQWN0aWU6IE9uZ2VwbGFuZGVBY3RpZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZHggPSB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMuaW5kZXhPZihvbmdlcGxhbmRlQWN0aWUpO1xuICAgICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUml0ZGVsZW5BY3Rpb25zLmFkZFJpdGRlZWxBY3RpZSh0aGlzLnNlbGVjdGVkUml0ZGVlbCwgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzW2lkeF0uYWN0aWUpKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTXN0QWN0aW9ucy5BZGRHZXBsYW5kZUFjdGllKG9uZ2VwbGFuZGVBY3RpZS5hY3RpZSwgb25nZXBsYW5kZUFjdGllLnB1aWNzKSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuRGVsZXRlT25nZXBsYW5kZUFjdGllKG9uZ2VwbGFuZGVBY3RpZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlT25nZXBsYW5kZUFjdGllc0xpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUml0ZGVlbCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzID0gW107XG4gICAgICAgICAgICBjb25zdCByaXRQdWljczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHJpdGRlZWxUb3BvRWxlbWVudHMgPSBBY3RpZUhlbHBlci5nZXRBY3RpZVRvcG9FbGVtZW50cyh0aGlzLnNlbGVjdGVkUml0ZGVlbCwgdGhpcy5zYm1TZXJ2aWNlKTtcbiAgICAgICAgICAgIGNvbnN0IHdpc3NlbE9iamVjdGVuOiBkb21laW4uV2lzc2VsW10gPSBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMuc2VsZWN0ZWRSaXRkZWVsLmdldFJvdXRlKCkuZ2V0V2lzc2VsT2JqZWN0ZW5JbkRlUm91dGUoKSk7XG5cbiAgICAgICAgICAgIHJpdGRlZWxUb3BvRWxlbWVudHMuZm9yRWFjaChlbGVtID0+IHJpdFB1aWNzLnB1c2goZWxlbS5nZXRQdWljKCkpKTtcbiAgICAgICAgICAgIGNvbnN0IG9uZ2VwbGFuZGVBY3RpZXNBcnJheSA9IHRoaXMub25nZXBsYW5kZUFjdGllc01hcC52YWx1ZXMoKTtcbiAgICAgICAgICAgIG9uZ2VwbGFuZGVBY3RpZXNBcnJheS5mb3JFYWNoKG9hID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpZXMgPSB0aGlzLnJpdGRlZWxWaWV3TW9kZWxzLmZsYXRNYXAocmQgPT4gcmQucml0ZGVlbC5hY3RpZXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFscmVhZHlBZGRlZCA9IGFjdGllcy5maWx0ZXIoYSA9PiBhLmlkID09PSBvYS5hY3RpZS5pZCkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICBpZiAoIWFscmVhZHlBZGRlZCkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgb2FNYXRjaDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFjdGllSGVscGVyLmlzVlNUQWN0aWUob2EuYWN0aWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYU1hdGNoID0gdGhpcy5tYXRjaGVkV2lzc2VsTWV0S2FudENvZGVJblZTVEFjdGllKG9hLCB3aXNzZWxPYmplY3RlbikgPyBvYSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvYS5wdWljcy5maWx0ZXIocCA9PiByaXRQdWljcy5pbmNsdWRlcyhwKSB8fCB0aGlzLmJldmF0V2lzc2VsUHVpYyhyaXRQdWljcywgcCkpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9hTWF0Y2ggPSBvYTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFscmVhZHlBZGRlZEFzT25nZXBsYW5kID0gdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLmZpbHRlcihhID0+IGEuYWN0aWUuaWQgPT09IG9hLmFjdGllLmlkKS5sZW5ndGggPiAwO1xuICAgICAgICAgICAgICAgICAgICBpZiAob2FNYXRjaCAmJiAhYWxyZWFkeUFkZGVkQXNPbmdlcGxhbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcy5wdXNoKG9hTWF0Y2gpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtYXRjaGVkV2lzc2VsTWV0S2FudENvZGVJblZTVEFjdGllKG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllLCB3aXNzZWxzOiBkb21laW4uV2lzc2VsW10pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcHBsZyA9IG9uZ2VwbGFuZGVBY3RpZS5hY3RpZS5wcGxnTmFhbTtcbiAgICAgICAgY29uc3Qgd2lzc2VsS2FudENvZGVzID0gQWN0aWVIZWxwZXIuZ2V0V2lzc2VsS2FudENvZGVzKG9uZ2VwbGFuZGVBY3RpZS5hY3RpZSk7XG5cbiAgICAgICAgbGV0IGdldm9uZGVuV2lzc2VscyA9IDA7XG4gICAgICAgIGxldCBnZXZvbmRlbldpc3NlbEthbnRDb2RlcyA9IDA7XG5cbiAgICAgICAgd2lzc2VsS2FudENvZGVzLmZvckVhY2goKHdpc3NlbEthbnRDb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBnZXZvbmRlbldpc3NlbCA9IHRoaXMuZmluZFdpc3NlbE9wTmFhbUVuUHBsZyh3aXNzZWxzLCB3aXNzZWxLYW50Q29kZS5uYWFtLCBwcGxnKTtcblxuICAgICAgICAgICAgaWYgKGdldm9uZGVuV2lzc2VsKSB7XG4gICAgICAgICAgICAgICAgZ2V2b25kZW5XaXNzZWxzKys7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2V0S2FudENvZGUoZ2V2b25kZW5XaXNzZWwuZ2V0U3RhbmQoKSkgPT09IHdpc3NlbEthbnRDb2RlLmthbnRDb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGdldm9uZGVuV2lzc2VsS2FudENvZGVzKys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZ2V2b25kZW5XaXNzZWxzID4gMCAmJiBnZXZvbmRlbldpc3NlbHMgPT09IGdldm9uZGVuV2lzc2VsS2FudENvZGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZFdpc3NlbE9wTmFhbUVuUHBsZyh3aXNzZWxzOiBkb21laW4uV2lzc2VsW10sIHdpc3NlbE5hYW06IHN0cmluZywgcHBsZ05hYW06IHN0cmluZyk6IGRvbWVpbi5XaXNzZWwge1xuICAgICAgICByZXR1cm4gd2lzc2Vscy5maW5kKHdvID0+IHdvLmdldE5hbWUoKSA9PT0gd2lzc2VsTmFhbSAmJiB3by5nZXRQUExHKCkgPT09IHBwbGdOYWFtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJldmF0V2lzc2VsUHVpYyhyaXRQdWljczogc3RyaW5nW10sIHApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJpdFB1aWNzLmluY2x1ZGVzKHRoaXMuc2JtU2VydmljZS5nZXRXaXNzZWxNZXRTdG9yaW5nc2thZGVyUHVpYyhwKT8uZ2V0UHVpYygpKTtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHJpdGRlZWwuZ2V0WmljaHRiYWFyaGVpZEJ1aXRlblBhZ2luYXRpZSgpKSB7XG4gICAgICAgICAgICBpZiAocml0ZGVlbC5lcXVhbHModGhpcy5zZWxlY3RlZFJpdGRlZWwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzZWxlY3RlZCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gJ3Zpc2libGUtb3V0c2lkZS13aW5kb3cnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyaXRkZWVsLmlzTmlldEJlc2NoaWtiYWFyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZGlzYWJsZWQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyaXRkZWVsLmVxdWFscyh0aGlzLnNlbGVjdGVkUml0ZGVlbCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBzZWxlY3RSaXRkZWVsKGV2ZW50OiBNb3VzZUV2ZW50LCByaXRkZWVsOiBSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudD8uY3RybEtleSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0VtaXR0ZXIuZW1pdChyaXRkZWVsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyaXRkZWVsPy5lcXVhbHModGhpcy5zZWxlY3RlZFJpdGRlZWwpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsID0gcml0ZGVlbDtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWwgPSAhdGhpcy5zZWxlY3RlZFJpdGRlZWwuaXNaaWNodGJhYXIoKTtcblxuICAgICAgICAgICAgaWYgKHJpdGRlZWwuYWN0aWVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxBY3RpZXMgPSByaXRkZWVsLmFjdGllcztcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU9uZ2VwbGFuZGVBY3RpZXNMaXN0KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhY3RpZU9tc2NocmlqdmluZ1Rla3N0KGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMuYmVwYWFsUHJlZml4Vm9vckFjdGllT21zY2hyaWp2aW5nKGFjdGllKTtcbiAgICAgICAgaWYgKEFjdGllSGVscGVyLmlzVlNUQWN0aWUoYWN0aWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYWFrVnN0QWN0aWVPbXNjaHJpanZpbmcoYWN0aWUsIHByZWZpeCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZWZpeCArIGFjdGllLnJpdEFjdGllVHlwZU9tc2NocmlqdmluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hYWtWc3RBY3RpZU9tc2NocmlqdmluZyhhY3RpZTogQWN0aWUsIHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAkeyBwcmVmaXggfSR7IEFjdGllSGVscGVyLmdldFZTVEFjdGllT21zY2hyaWp2aW5nKGFjdGllKSB9YDtcbiAgICB9XG5cbiAgICBiZXBhYWxQcmVmaXhWb29yQWN0aWVPbXNjaHJpanZpbmcoYWN0aWU6IEFjdGllKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUml0ZGVlbC5hY3RpZXMuaW5jbHVkZXMoYWN0aWUpKSB7XG4gICAgICAgICAgICAvLyBBZndpamtlbmRlIG5hYW0gYmlqIG5pZXQgZ2V2aXN1YWxpc2VlcmRlIGFjdGllIGluIHJpdFxuICAgICAgICAgICAgY29uc3QgcHVpY3MgPSB0aGlzLmdlcGxhbmRlQWN0aWVzLmdldChhY3RpZSk7XG4gICAgICAgICAgICByZXR1cm4gcHVpY3MubGVuZ3RoID4gMCA/IHByZWZpeCA6IHRoaXMuTkdfQUNUSUVfUFJFRklYO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmVmaXg7XG4gICAgfVxuXG4gICAgYWN0aWVWYW5LbVRla3N0KGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChBY3RpZUhlbHBlci5pc1dpc3NlbFNsaWpwZW5BY3RpZShhY3RpZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBhY3RpZS53aXNzZWxOYWFtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpZS52YW5LaWxvbWV0ZXJsaW50ID8gYWN0aWUudmFuS2lsb21ldGVybGludCArICcgJyArIGFjdGllLnZhbktpbG9tZXRyZXJpbmcgOiAnLSc7XG4gICAgfVxuXG4gICAgYWN0aWVUb3RLbVRla3N0KGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBhY3RpZS50b3RLaWxvbWV0ZXJsaW50ID8gYWN0aWUudG90S2lsb21ldGVybGludCArICcgJyArIGFjdGllLnRvdEtpbG9tZXRyZXJpbmcgOiAnLSc7XG4gICAgfVxuXG4gICAgZGVzZWxlY3RSaXRkZWVsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbEFjdGllcyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMgPSBbXTtcbiAgICB9XG5cbiAgICBnZXRQcGxnU3RyaW5nKHJpdGRlZWw6IFJpdGRlZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcml0ZGVlbC5nZXRQcGxnU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRLYW50Q29kZShzdGFuZDogZG9tZWluLlN0YW5kKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHN0YW5kID09PSB3aW5kb3dbJ2RvbWVpbiddLlN0YW5kLkxJTktTKSB7XG4gICAgICAgICAgICByZXR1cm4gJ0wnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnUic7XG4gICAgfVxuXG4gICAgcGxhbkFsbGVSaXRBY3RpZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V1ckFsbGVBY3RpZXNHb2VkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICB9XG59XG5cbmNsYXNzIFJpdGRlZWxWaWV3TW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSByaXRkZWVsOiBSaXRkZWVsLFxuICAgICAgICByZWFkb25seSBzZWxlY3RlZFJpdGRlZWxDbGFzczogc3RyaW5nLFxuICAgICAgICByZWFkb25seSBpc1ppY2h0YmFhcjogYm9vbGVhbixcbiAgICAgICAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgaXNOaWV0QmVzY2hpa2JhYXI6IGJvb2xlYW4sXG4gICAgICAgIHJlYWRvbmx5IGlzTmlldXc6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgdmFuUHJsU3Bvb3I6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgbmFhclBybFNwb29yOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IGR3YW5nTnVtbWVyOiBudW1iZXIsXG4gICAgICAgIHJlYWRvbmx5IHBwbGdTdHJpbmc6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgdHJlaW5OdW1tZXI6IHN0cmluZ1xuICAgICkge1xuICAgIH1cbn1cbiIsIjxkaXYgaWQ9XCJyaXRkZWxlbi1saWpzdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlYmFyLWhlYWRlclwiPlxuICAgICAgICA8aDMgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIid0aXRsZS1yaXQtZGV0YWlscydcIj5SaXRkZXRhaWxzPC9oMz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0b3AtcGFuZSB0YWJsZUZpeEhlYWRcIiBpZD1cInRvcC1wYW5lXCI+XG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFthdHRyLmRhdGEtdGVzdC1pZF09XCIndGFibGUtcml0LWRldGFpbHMnXCI+XG4gICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgI2lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveCBjb2wtdmlzaWJpbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVaaWNodGJhYXJoZWlkQWxsZVJpdGRlbGVuKGlucHV0LmNoZWNrZWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtc2VsZWN0ZWVyQWxsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiU2VsZWN0ZWVyIGFsbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ2NoZWNrYm94LWFsbGUtYmV3ZWdpbmdlbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VmFuPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+TmFhcjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPkRXPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+UFBMRyhzKTwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlRyZWlubnIuPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PC90aD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG5cbiAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJpdGRlZWxWaWV3TW9kZWwgb2Ygcml0ZGVlbFZpZXdNb2RlbHM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInt7IHNlbGVjdGVkUml0ZGVlbENsYXNzKHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbCkgfX1cIiBpZD1cInJpdGRldGFpbHMtcnt7aX19XCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXppY2h0YmFhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjaGVja2JveC1yJytpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3ggY29sLXZpc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJpdGRlZWxWaWV3TW9kZWwuaXNaaWNodGJhYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJyaXRkZWVsVmlld01vZGVsLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZVJpdGRlZWxaaWNodGJhYXJoZWlkKHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwicml0ZGVlbFZpZXdNb2RlbC5pc05pZXRCZXNjaGlrYmFhclwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tZ2V3aWp6aWdkXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLmlzTmlldXd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXZhblNwb29yXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnZhblBybFNwb29yfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS1uYWFyU3Bvb3JcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwubmFhclBybFNwb29yfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS1kd2FuZ051bW1lclwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC5kd2FuZ051bW1lcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tcHBsZ3NcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwucHBsZ1N0cmluZ319PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tdHJlaW5OdW1tZXJcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwudHJlaW5OdW1tZXJ9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246cmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1kYW5nZXIgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJpdGRlZWwocml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPlhcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aWUtcGFuZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkUml0ZGVlbCAgJiYgKHNlbGVjdGVkUml0ZGVlbEFjdGllcy5sZW5ndGggPiAwIHx8IHNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMubGVuZ3RoID4gMCkgXCJcbiAgICAgICAgICAgICAgICAgaWQ9XCJhY3RpZS1wYW5lXCI+XG4gICAgICAgICAgICAgICAgPGg0PkdlcGxhbmRlIGFjdGllczwvaDQ+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5BY3RpZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5WYW48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VG90PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInNlbGVjdGVkUml0ZGVlbEFjdGllcy5sZW5ndGg9PT0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYnVsa1NldE9uZ2VwbGFuZEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ3VucGxhbi1hbGwtYWN0aW9ucydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tZGFuZ2VyIGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlQWN0aWVzVWl0Uml0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsXCI+WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGFjdGllIG9mIHNlbGVjdGVkUml0ZGVlbEFjdGllczsgbGV0IGkgPSBpbmRleFwiIGlkPVwicml0ZGV0YWlscy1he3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtYXt7aX19LW9tc2NocmlqdmluZ1wiIGNsYXNzPVwibm93cmFwXCI+e3sgYWN0aWVPbXNjaHJpanZpbmdUZWtzdChhY3RpZSkgfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1he3tpfX0tdmFuS21MaW50XCI+e3sgYWN0aWVWYW5LbVRla3N0KGFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtYXt7aX19LXRvdEttTGludFwiPnt7IGFjdGllVG90S21UZWtzdChhY3RpZSl9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicml0ZGV0YWlscy1he3tpfX0tZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLWRhbmdlciBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUFjdGllVWl0Uml0KGFjdGllKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5YXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPGg0Pk9uZ2VwbGFuZGUgYWN0aWVzPC9oND5cbiAgICAgICAgICAgICAgICA8dGFibGUgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPkFjdGllPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlZhbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5Ub3Q8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImVkaXRhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwic2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcy5sZW5ndGg9PT0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYnVsa1NldEdlcGxhbmRCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidwbGFuLWFsbC1hY3Rpb25zJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1zdWNjZXNzIGxveGlhLWJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidm9lZ0FjdGllc1RvZUFhblJpdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbFwiPl5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvbmdlcGxhbmRlQWN0aWUgb2Ygc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtb2F7e2l9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1vYXt7aX19LW9tc2NocmlqdmluZ1wiIGNsYXNzPVwibm93cmFwXCI+e3thY3RpZU9tc2NocmlqdmluZ1Rla3N0KG9uZ2VwbGFuZGVBY3RpZS5hY3RpZSkgfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1vYXt7aX19LXZhbkttTGludFwiPnt7IGFjdGllVmFuS21UZWtzdChvbmdlcGxhbmRlQWN0aWUuYWN0aWUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1vYXt7aX19LXRvdEttTGludFwiPnt7IGFjdGllVG90S21UZWtzdChvbmdlcGxhbmRlQWN0aWUuYWN0aWUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS1kZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tc3VjY2VzcyBsb3hpYS1idG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZvZWdBY3RpZVRvZUFhblJpdChvbmdlcGxhbmRlQWN0aWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbFwiPl5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImtub3AtcGFuZVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXByaW1hcnkgbG94aWEtYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidwbGFuLWFsbC1hY3Rpb25zLWZvci1maWxlJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpbm5lclRleHRdPVwiJ1BsYW4gYWN0aWVzIGhlbGUgcml0J1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwbGFuQWxsZVJpdEFjdGllcygpXCI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvcml0ZGVsZW4tbGlqc3Qvcml0ZGVsZW4tbGlqc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQVMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBSTdELE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxLQUFLLGVBQWUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBU3BELE1BQU0sT0FBTyxzQkFBc0I7SUFrQi9CLFlBQTZCLEtBQTRCLEVBQW1CLFVBQTJDO1FBQTFGLFVBQUssR0FBTCxLQUFLLENBQXVCO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQWlDO1FBakI5Ryx1QkFBa0IsR0FBWSxFQUFFLENBQUM7UUFFaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbEQs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QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUVoQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZG9tZWluLCBKc0phdmFVdGlsfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHtTdG9yZX0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T25nZXBsYW5kZUFjdGllfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7Uml0ZGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQge0FjdGllfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHtTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIE1zdEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCAqIGFzIFJpdGRlbGVuQWN0aW9ucyBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMnO1xuaW1wb3J0IHtNc3RFZGl0b3JTdGF0ZX0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQge0FjdGllSGVscGVyfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQge0FycmF5TXVsdGltYXB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyaXRkZWxlbi1saWpzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JpdGRlbGVuLWxpanN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yaXRkZWxlbi1saWpzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBSaXRkZWxlbkxpanN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBuaWV0R2VwbGFuZGVBY3RpZXM6IEFjdGllW10gPSBbXTtcblxuICAgIEBPdXRwdXQoKSBmb2N1c0VtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFJpdGRlZWw+KCk7XG4gICAgQE91dHB1dCgpIGtldXJBbGxlQWN0aWVzR29lZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHJpdGRlZWxWaWV3TW9kZWxzOiBSaXRkZWVsVmlld01vZGVsW10gPSBbXTtcbiAgICBzZWxlY3RlZFJpdGRlZWw6IFJpdGRlZWwgfCB1bmRlZmluZWQ7XG4gICAgc2VsZWN0ZWRSaXRkZWVsQWN0aWVzOiBBY3RpZVtdID0gW107XG4gICAgc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllczogT25nZXBsYW5kZUFjdGllW10gPSBbXTtcbiAgICBkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbCA9IHRydWU7XG4gICAgZWRpdGFibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgb25nZXBsYW5kZUFjdGllc01hcDogQXJyYXlNdWx0aW1hcDxzdHJpbmcsIE9uZ2VwbGFuZGVBY3RpZT47XG4gICAgcHJpdmF0ZSBnZXBsYW5kZUFjdGllczogQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IE5HX0FDVElFX1BSRUZJWCA9ICcqICc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LCBwcml2YXRlIHJlYWRvbmx5IHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZSgocml0ZGVsZW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMucml0ZGVlbFZpZXdNb2RlbHMgPSByaXRkZWxlbj8ubWFwKHJpdGRlZWwgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUml0ZGVlbFZpZXdNb2RlbChcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JpdGRlZWxaaWNodGJhYXIocml0ZGVlbCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGl0bGUocml0ZGVlbCksXG4gICAgICAgICAgICAgICAgICAgIHJpdGRlZWwuaXNOaWV0QmVzY2hpa2JhYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JpdGRlZWxOaWV1dyhyaXRkZWVsKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5nZXRWYW5QcmxTcG9vcigpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldE5hYXJQcmxTcG9vclRleHQoKSxcbiAgICAgICAgICAgICAgICAgICAgcml0ZGVlbC5nZXREd2FuZ051bW1lcigpLFxuICAgICAgICAgICAgICAgICAgICByaXRkZWVsLmdldFBwbGdTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUcmVpbk51bW1lcihyaXRkZWVsKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllcycpLnN1YnNjcmliZShhY3RpZXMgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzTWFwID0gYWN0aWVzKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKS5zdWJzY3JpYmUoYWN0aWVzID0+IHRoaXMuZ2VwbGFuZGVBY3RpZXMgPSBhY3RpZXMpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGUpKTtcblxuICAgICAgICAvLyBsaXN0ZW4gdG8gY2hhbmdlcyBmcm9tIHN2Zy12aWV3ZXItY29tcG9uZW50LCBzYXZpbmcgcml0ZGVlbCBpbiBzdG9yZSBpc24ndCBjb29sIGJlY2F1c2Ugb2YgYWxsIHRoZSBnd3QgaW4gaXQuIFRoaXMgaXNcbiAgICAgICAgLy8ganVzdCB0byBtYWtlIGNoYW5nZXMgd2l0aGluIHRoZSBhbmd1bGFyIGxpZmVjeWNsZS5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3RvcmUuc2VsZWN0KCdzZWxlY3RlZFJpdGRlZWxJZCcpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoaWQgPT4gIWlkKSkuc3Vic2NyaWJlKHRoaXMuZGVzZWxlY3RSaXRkZWVsXG4gICAgICAgICkpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlT25nZXBsYW5kZUFjdGllc0xpc3QoKSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaXNSaXRkZWVsWmljaHRiYWFyKHJpdGRlZWw6IFJpdGRlZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNaaWNodGJhYXIoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsOiBSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUml0ZGVsZW5BY3Rpb25zLnRvZ2dsZVJpdGRlZWxaaWNodGJhYXIocml0ZGVlbCkpO1xuICAgIH1cblxuICAgIHRvZ2dsZVppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4oY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2VsZWN0Uml0ZGVlbCgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5zZXRaaWNodGJhYXJoZWlkQWxsZVJpdGRlbGVuKGNoZWNrZWQpKTtcbiAgICB9XG5cbiAgICBpc1JpdGRlZWxOaWV1dyhyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuaXNOaWV1dygpID8gJysnIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0VGl0bGUocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiByaXRkZWVsLmdldEJld2VnaW5nSWQoKTtcbiAgICB9XG5cbiAgICBnZXRUcmVpbk51bW1lcihyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuZ2V0VHJlaW5OdW1tZXIoKTtcbiAgICB9XG5cbiAgICBkZWxldGVSaXRkZWVsKHJpdGRlZWw6IFJpdGRlZWwpOiB2b2lkIHtcbiAgICAgICAgcml0ZGVlbC5hY3RpZXMuZm9yRWFjaChhY3RpZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kZXNlbGVjdFJpdGRlZWwoKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbChyaXRkZWVsKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQWN0aWVzVWl0Uml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbC5hY3RpZXMuc2xpY2UoKS5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlQWN0aWVVaXRSaXQoYWN0aWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVBY3RpZVVpdFJpdChhY3RpZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY3RpZXMgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbC5hY3RpZXM7XG4gICAgICAgIGNvbnN0IGlkeCA9IGFjdGllcy5pbmRleE9mKGFjdGllKTtcbiAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnZlcmh1aXNBY3RpZU5hYXJPbmdlcGxhbmQoYWN0aWUpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSaXRkZWxlbkFjdGlvbnMuZGVsZXRlUml0ZGVlbEFjdGllKHRoaXMuc2VsZWN0ZWRSaXRkZWVsLCBhY3RpZXNbaWR4XSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMuaW5kZXhPZihhY3RpZSk7XG4gICAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgICAgIHRoaXMubmlldEdlcGxhbmRlQWN0aWVzLnB1c2goYWN0aWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJodWlzQWN0aWVOYWFyT25nZXBsYW5kKGFjdGllKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5nZXBsYW5kZUFjdGllcy5nZXQoYWN0aWUpO1xuXG4gICAgICAgIGlmIChwdWljcyAmJiBwdWljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuQWRkT25nZXBsYW5kZUFjdGllKG5ldyBPbmdlcGxhbmRlQWN0aWUoYWN0aWUsIHB1aWNzKSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkRlbGV0ZUdlcGxhbmRlQWN0aWUoYWN0aWUsIHB1aWNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2b2VnQWN0aWVzVG9lQWFuUml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY3RpZXMgPSB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXM7XG4gICAgICAgIGFjdGllcy5zbGljZSgpLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgdGhpcy52b2VnQWN0aWVUb2VBYW5SaXQoYWN0aWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2b2VnQWN0aWVUb2VBYW5SaXQob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLmluZGV4T2Yob25nZXBsYW5kZUFjdGllKTtcbiAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJpdGRlbGVuQWN0aW9ucy5hZGRSaXRkZWVsQWN0aWUodGhpcy5zZWxlY3RlZFJpdGRlZWwsIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllc1tpZHhdLmFjdGllKSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKE1zdEFjdGlvbnMuQWRkR2VwbGFuZGVBY3RpZShvbmdlcGxhbmRlQWN0aWUuYWN0aWUsIG9uZ2VwbGFuZGVBY3RpZS5wdWljcykpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChNc3RBY3Rpb25zLkRlbGV0ZU9uZ2VwbGFuZGVBY3RpZShvbmdlcGxhbmRlQWN0aWUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZU9uZ2VwbGFuZGVBY3RpZXNMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJpdGRlZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgICAgICAgICAgY29uc3Qgcml0UHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICBjb25zdCByaXRkZWVsVG9wb0VsZW1lbnRzID0gQWN0aWVIZWxwZXIuZ2V0QWN0aWVUb3BvRWxlbWVudHModGhpcy5zZWxlY3RlZFJpdGRlZWwsIHRoaXMuc2JtU2VydmljZSk7XG4gICAgICAgICAgICBjb25zdCB3aXNzZWxPYmplY3RlbjogZG9tZWluLldpc3NlbFtdID0gSnNKYXZhVXRpbC5saXN0VG9BcnJheSh0aGlzLnNlbGVjdGVkUml0ZGVlbC5nZXRSb3V0ZSgpLmdldFdpc3NlbE9iamVjdGVuSW5EZVJvdXRlKCkpO1xuXG4gICAgICAgICAgICByaXRkZWVsVG9wb0VsZW1lbnRzLmZvckVhY2goZWxlbSA9PiByaXRQdWljcy5wdXNoKGVsZW0uZ2V0UHVpYygpKSk7XG4gICAgICAgICAgICBjb25zdCBvbmdlcGxhbmRlQWN0aWVzQXJyYXkgPSB0aGlzLm9uZ2VwbGFuZGVBY3RpZXNNYXAudmFsdWVzKCk7XG4gICAgICAgICAgICBvbmdlcGxhbmRlQWN0aWVzQXJyYXkuZm9yRWFjaChvYSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aWVzID0gdGhpcy5yaXRkZWVsVmlld01vZGVscy5mbGF0TWFwKHJkID0+IHJkLnJpdGRlZWwuYWN0aWVzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhbHJlYWR5QWRkZWQgPSBhY3RpZXMuZmlsdGVyKGEgPT4gYS5pZCA9PT0gb2EuYWN0aWUuaWQpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICAgICAgaWYgKCFhbHJlYWR5QWRkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG9hTWF0Y2g7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBY3RpZUhlbHBlci5pc1ZTVEFjdGllKG9hLmFjdGllKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2FNYXRjaCA9IHRoaXMubWF0Y2hlZFdpc3NlbE1ldEthbnRDb2RlSW5WU1RBY3RpZShvYSwgd2lzc2VsT2JqZWN0ZW4pID8gb2EgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob2EucHVpY3MuZmlsdGVyKHAgPT4gcml0UHVpY3MuaW5jbHVkZXMocCkgfHwgdGhpcy5iZXZhdFdpc3NlbFB1aWMocml0UHVpY3MsIHApKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYU1hdGNoID0gb2E7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhbHJlYWR5QWRkZWRBc09uZ2VwbGFuZCA9IHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcy5maWx0ZXIoYSA9PiBhLmFjdGllLmlkID09PSBvYS5hY3RpZS5pZCkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9hTWF0Y2ggJiYgIWFscmVhZHlBZGRlZEFzT25nZXBsYW5kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMucHVzaChvYU1hdGNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbWF0Y2hlZFdpc3NlbE1ldEthbnRDb2RlSW5WU1RBY3RpZShvbmdlcGxhbmRlQWN0aWU6IE9uZ2VwbGFuZGVBY3RpZSwgd2lzc2VsczogZG9tZWluLldpc3NlbFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBwbGcgPSBvbmdlcGxhbmRlQWN0aWUuYWN0aWUucHBsZ05hYW07XG4gICAgICAgIGNvbnN0IHdpc3NlbEthbnRDb2RlcyA9IEFjdGllSGVscGVyLmdldFdpc3NlbEthbnRDb2RlcyhvbmdlcGxhbmRlQWN0aWUuYWN0aWUpO1xuXG4gICAgICAgIGxldCBnZXZvbmRlbldpc3NlbHMgPSAwO1xuICAgICAgICBsZXQgZ2V2b25kZW5XaXNzZWxLYW50Q29kZXMgPSAwO1xuXG4gICAgICAgIHdpc3NlbEthbnRDb2Rlcy5mb3JFYWNoKCh3aXNzZWxLYW50Q29kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ2V2b25kZW5XaXNzZWwgPSB0aGlzLmZpbmRXaXNzZWxPcE5hYW1FblBwbGcod2lzc2Vscywgd2lzc2VsS2FudENvZGUubmFhbSwgcHBsZyk7XG5cbiAgICAgICAgICAgIGlmIChnZXZvbmRlbldpc3NlbCkge1xuICAgICAgICAgICAgICAgIGdldm9uZGVuV2lzc2VscysrO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmdldEthbnRDb2RlKGdldm9uZGVuV2lzc2VsLmdldFN0YW5kKCkpID09PSB3aXNzZWxLYW50Q29kZS5rYW50Q29kZSkge1xuICAgICAgICAgICAgICAgICAgICBnZXZvbmRlbldpc3NlbEthbnRDb2RlcysrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGdldm9uZGVuV2lzc2VscyA+IDAgJiYgZ2V2b25kZW5XaXNzZWxzID09PSBnZXZvbmRlbldpc3NlbEthbnRDb2RlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRXaXNzZWxPcE5hYW1FblBwbGcod2lzc2VsczogZG9tZWluLldpc3NlbFtdLCB3aXNzZWxOYWFtOiBzdHJpbmcsIHBwbGdOYWFtOiBzdHJpbmcpOiBkb21laW4uV2lzc2VsIHtcbiAgICAgICAgcmV0dXJuIHdpc3NlbHMuZmluZCh3byA9PiB3by5nZXROYW1lKCkgPT09IHdpc3NlbE5hYW0gJiYgd28uZ2V0UFBMRygpID09PSBwcGxnTmFhbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXZhdFdpc3NlbFB1aWMocml0UHVpY3M6IHN0cmluZ1tdLCBwKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByaXRQdWljcy5pbmNsdWRlcyh0aGlzLnNibVNlcnZpY2UuZ2V0V2lzc2VsTWV0U3RvcmluZ3NrYWRlclB1aWMocCk/LmdldFB1aWMoKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSaXRkZWVsQ2xhc3Mocml0ZGVlbDogUml0ZGVlbCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChyaXRkZWVsLmdldFppY2h0YmFhcmhlaWRCdWl0ZW5QYWdpbmF0aWUoKSkge1xuICAgICAgICAgICAgaWYgKHJpdGRlZWwuZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnc2VsZWN0ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICd2aXNpYmxlLW91dHNpZGUtd2luZG93JztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5pc05pZXRCZXNjaGlrYmFhcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Rpc2FibGVkJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocml0ZGVlbC5lcXVhbHModGhpcy5zZWxlY3RlZFJpdGRlZWwpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3NlbGVjdGVkJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc2VsZWN0Uml0ZGVlbChldmVudDogTW91c2VFdmVudCwgcml0ZGVlbDogUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmN0cmxLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFbWl0dGVyLmVtaXQocml0ZGVlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocml0ZGVlbD8uZXF1YWxzKHRoaXMuc2VsZWN0ZWRSaXRkZWVsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbCA9IHJpdGRlZWw7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsID0gIXRoaXMuc2VsZWN0ZWRSaXRkZWVsLmlzWmljaHRiYWFyKCk7XG5cbiAgICAgICAgICAgIGlmIChyaXRkZWVsLmFjdGllcykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsQWN0aWVzID0gcml0ZGVlbC5hY3RpZXM7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPbmdlcGxhbmRlQWN0aWVzTGlzdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbEFjdGllcyA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSaXRkZWVsT25nZXBsYW5kZUFjdGllcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWN0aWVPbXNjaHJpanZpbmdUZWtzdChhY3RpZTogQWN0aWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLmJlcGFhbFByZWZpeFZvb3JBY3RpZU9tc2NocmlqdmluZyhhY3RpZSk7XG4gICAgICAgIGlmIChBY3RpZUhlbHBlci5pc1ZTVEFjdGllKGFjdGllKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWFha1ZzdEFjdGllT21zY2hyaWp2aW5nKGFjdGllLCBwcmVmaXgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBhY3RpZS5yaXRBY3RpZVR5cGVPbXNjaHJpanZpbmc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYWFrVnN0QWN0aWVPbXNjaHJpanZpbmcoYWN0aWU6IEFjdGllLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHsgcHJlZml4IH0keyBBY3RpZUhlbHBlci5nZXRWU1RBY3RpZU9tc2NocmlqdmluZyhhY3RpZSkgfWA7XG4gICAgfVxuXG4gICAgYmVwYWFsUHJlZml4Vm9vckFjdGllT21zY2hyaWp2aW5nKGFjdGllOiBBY3RpZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFJpdGRlZWwuYWN0aWVzLmluY2x1ZGVzKGFjdGllKSkge1xuICAgICAgICAgICAgLy8gQWZ3aWprZW5kZSBuYWFtIGJpaiBuaWV0IGdldmlzdWFsaXNlZXJkZSBhY3RpZSBpbiByaXRcbiAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5nZXBsYW5kZUFjdGllcy5nZXQoYWN0aWUpO1xuICAgICAgICAgICAgcmV0dXJuIHB1aWNzLmxlbmd0aCA+IDAgPyBwcmVmaXggOiB0aGlzLk5HX0FDVElFX1BSRUZJWDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJlZml4O1xuICAgIH1cblxuICAgIGFjdGllVmFuS21UZWtzdChhY3RpZTogQWN0aWUpOiBzdHJpbmcge1xuICAgICAgICBpZiAoQWN0aWVIZWxwZXIuaXNXaXNzZWxTbGlqcGVuQWN0aWUoYWN0aWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gYWN0aWUud2lzc2VsTmFhbTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aWUudmFuS2lsb21ldGVybGludCA/IGFjdGllLnZhbktpbG9tZXRlcmxpbnQgKyAnICcgKyBhY3RpZS52YW5LaWxvbWV0cmVyaW5nIDogJy0nO1xuICAgIH1cblxuICAgIGFjdGllVG90S21UZWtzdChhY3RpZTogQWN0aWUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYWN0aWUudG90S2lsb21ldGVybGludCA/IGFjdGllLnRvdEtpbG9tZXRlcmxpbnQgKyAnICcgKyBhY3RpZS50b3RLaWxvbWV0cmVyaW5nIDogJy0nO1xuICAgIH1cblxuICAgIGRlc2VsZWN0Uml0ZGVlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkUml0ZGVlbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxBY3RpZXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzID0gW107XG4gICAgfVxuXG4gICAgZ2V0UHBsZ1N0cmluZyhyaXRkZWVsOiBSaXRkZWVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHJpdGRlZWwuZ2V0UHBsZ1N0cmluZygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0S2FudENvZGUoc3RhbmQ6IGRvbWVpbi5TdGFuZCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChzdGFuZCA9PT0gd2luZG93Wydkb21laW4nXS5TdGFuZC5MSU5LUykge1xuICAgICAgICAgICAgcmV0dXJuICdMJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ1InO1xuICAgIH1cblxuICAgIHBsYW5BbGxlUml0QWN0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtldXJBbGxlQWN0aWVzR29lZC5lbWl0KCk7XG4gICAgICAgIHRoaXMuZGVzZWxlY3RSaXRkZWVsKCk7XG4gICAgfVxufVxuXG5jbGFzcyBSaXRkZWVsVmlld01vZGVsIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgcml0ZGVlbDogUml0ZGVlbCxcbiAgICAgICAgcmVhZG9ubHkgc2VsZWN0ZWRSaXRkZWVsQ2xhc3M6IHN0cmluZyxcbiAgICAgICAgcmVhZG9ubHkgaXNaaWNodGJhYXI6IGJvb2xlYW4sXG4gICAgICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IGlzTmlldEJlc2NoaWtiYWFyOiBib29sZWFuLFxuICAgICAgICByZWFkb25seSBpc05pZXV3OiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHZhblBybFNwb29yOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IG5hYXJQcmxTcG9vcjogc3RyaW5nLFxuICAgICAgICByZWFkb25seSBkd2FuZ051bW1lcjogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBwcGxnU3RyaW5nOiBzdHJpbmcsXG4gICAgICAgIHJlYWRvbmx5IHRyZWluTnVtbWVyOiBzdHJpbmdcbiAgICApIHtcbiAgICB9XG59XG4iLCI8ZGl2IGlkPVwicml0ZGVsZW4tbGlqc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oZWFkZXJcIj5cbiAgICAgICAgPGgzIFthdHRyLmRhdGEtdGVzdC1pZF09XCIndGl0bGUtcml0LWRldGFpbHMnXCI+Uml0ZGV0YWlsczwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhbmVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wLXBhbmUgdGFibGVGaXhIZWFkXCIgaWQ9XCJ0b3AtcGFuZVwiPlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5kYXRhLXRlc3QtaWRdPVwiJ3RhYmxlLXJpdC1kZXRhaWxzJ1wiPlxuICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3ggY29sLXZpc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlWmljaHRiYWFyaGVpZEFsbGVSaXRkZWxlbihpbnB1dC5jaGVja2VkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLXNlbGVjdGVlckFsbGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlNlbGVjdGVlciBhbGxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIidjaGVja2JveC1hbGxlLWJld2VnaW5nZW4nXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlZhbjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPk5hYXI8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5EVzwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlBQTEcocyk8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5UcmVpbm5yLjwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByaXRkZWVsVmlld01vZGVsIG9mIHJpdGRlZWxWaWV3TW9kZWxzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBzZWxlY3RlZFJpdGRlZWxDbGFzcyhyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpIH19XCIgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS16aWNodGJhYXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCInY2hlY2tib3gtcicraVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrYm94IGNvbC12aXNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyaXRkZWVsVmlld01vZGVsLmlzWmljaHRiYWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwicml0ZGVlbFZpZXdNb2RlbC50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVSaXRkZWVsWmljaHRiYWFyaGVpZChyaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInJpdGRlZWxWaWV3TW9kZWwuaXNOaWV0QmVzY2hpa2JhYXJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LWdld2lqemlnZFwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC5pc05pZXV3fX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLXJ7e2l9fS12YW5TcG9vclwiIChjbGljayk9XCJzZWxlY3RSaXRkZWVsKCRldmVudCwgcml0ZGVlbFZpZXdNb2RlbC5yaXRkZWVsKVwiPnt7cml0ZGVlbFZpZXdNb2RlbC52YW5QcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tbmFhclNwb29yXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLm5hYXJQcmxTcG9vcn19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIGlkPVwicml0ZGV0YWlscy1ye3tpfX0tZHdhbmdOdW1tZXJcIiAoY2xpY2spPVwic2VsZWN0Uml0ZGVlbCgkZXZlbnQsIHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj57e3JpdGRlZWxWaWV3TW9kZWwuZHdhbmdOdW1tZXJ9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXBwbGdzXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnBwbGdTdHJpbmd9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtcnt7aX19LXRyZWluTnVtbWVyXCIgKGNsaWNrKT1cInNlbGVjdFJpdGRlZWwoJGV2ZW50LCByaXRkZWVsVmlld01vZGVsLnJpdGRlZWwpXCI+e3tyaXRkZWVsVmlld01vZGVsLnRyZWluTnVtbWVyfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtcnt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tZGFuZ2VyIGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSaXRkZWVsKHJpdGRlZWxWaWV3TW9kZWwucml0ZGVlbClcIj5YXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGllLXBhbmVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzZWxlY3RlZFJpdGRlZWwgICYmIChzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoID4gMCB8fCBzZWxlY3RlZFJpdGRlZWxPbmdlcGxhbmRlQWN0aWVzLmxlbmd0aCA+IDApIFwiXG4gICAgICAgICAgICAgICAgIGlkPVwiYWN0aWUtcGFuZVwiPlxuICAgICAgICAgICAgICAgIDxoND5HZXBsYW5kZSBhY3RpZXM8L2g0PlxuICAgICAgICAgICAgICAgIDx0YWJsZSBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+QWN0aWU8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VmFuPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlRvdDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJzZWxlY3RlZFJpdGRlZWxBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRPbmdlcGxhbmRCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cIid1bnBsYW4tYWxsLWFjdGlvbnMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLWRhbmdlciBidG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUFjdGllc1VpdFJpdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQWN0aWVLbm9wcGVuVmFuUml0ZGVlbFwiPlhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBhY3RpZSBvZiBzZWxlY3RlZFJpdGRlZWxBY3RpZXM7IGxldCBpID0gaW5kZXhcIiBpZD1cInJpdGRldGFpbHMtYXt7aX19XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7IGFjdGllT21zY2hyaWp2aW5nVGVrc3QoYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtYXt7aX19LXZhbkttTGludFwiPnt7IGFjdGllVmFuS21UZWtzdChhY3RpZSl9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgaWQ9XCJyaXRkZXRhaWxzLWF7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3QoYWN0aWUpfX08L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwidGV4dC1hbGlnbjpyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJpdGRldGFpbHMtYXt7aX19LWRlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1kYW5nZXIgYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVBY3RpZVVpdFJpdChhY3RpZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVBY3RpZUtub3BwZW5WYW5SaXRkZWVsXCI+WFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxoND5PbmdlcGxhbmRlIGFjdGllczwvaDQ+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5BY3RpZTwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj5WYW48L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+VG90PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cInNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXMubGVuZ3RoPT09MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImJ1bGtTZXRHZXBsYW5kQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxveGlhLWJ0biBsb3hpYS1idG4tc3VjY2VzcyBsb3hpYS1idG4tc21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZvZWdBY3RpZXNUb2VBYW5SaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb25nZXBsYW5kZUFjdGllIG9mIHNlbGVjdGVkUml0ZGVlbE9uZ2VwbGFuZGVBY3RpZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS1vbXNjaHJpanZpbmdcIiBjbGFzcz1cIm5vd3JhcFwiPnt7YWN0aWVPbXNjaHJpanZpbmdUZWtzdChvbmdlcGxhbmRlQWN0aWUuYWN0aWUpIH19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS12YW5LbUxpbnRcIj57eyBhY3RpZVZhbkttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBpZD1cInJpdGRldGFpbHMtb2F7e2l9fS10b3RLbUxpbnRcIj57eyBhY3RpZVRvdEttVGVrc3Qob25nZXBsYW5kZUFjdGllLmFjdGllKX19PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246cmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZWRpdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyaXRkZXRhaWxzLW9he3tpfX0tZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXN1Y2Nlc3MgbG94aWEtYnRuLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ2b2VnQWN0aWVUb2VBYW5SaXQob25nZXBsYW5kZUFjdGllKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFjdGllS25vcHBlblZhblJpdGRlZWxcIj5eXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJrbm9wLXBhbmVcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCIncGxhbi1hbGwtYWN0aW9ucy1mb3ItZmlsZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJUZXh0XT1cIidQbGFuIGFjdGllcyBoZWxlIHJpdCdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxhbkFsbGVSaXRBY3RpZXMoKVwiPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -22,12 +22,15 @@ export class SvgVisualisatieComponent {
|
|
|
22
22
|
this.actieHelper = actieHelper;
|
|
23
23
|
this.sbmService = sbmService;
|
|
24
24
|
this.editorService = editorService;
|
|
25
|
+
this.nietGeplandeActies = [];
|
|
26
|
+
this.useClickArea = false;
|
|
25
27
|
this.svgInfos$ = this.store.select('svgInfos');
|
|
26
28
|
this.popoverInfos = [];
|
|
27
29
|
this.clickableIds = [];
|
|
28
30
|
this.rightClickableIds = [];
|
|
29
31
|
this.contextMenuActions = [];
|
|
30
32
|
this.contextMenuStyle = { display: 'none' };
|
|
33
|
+
this.editable = false;
|
|
31
34
|
this.puicNaarBeginSeinRitdeel = new Map();
|
|
32
35
|
this.puicNaarEindSeinCombinatie = new Map();
|
|
33
36
|
this.puicNaarAlternatieveRoute = new Map();
|
|
@@ -269,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
269
272
|
type: ViewChild,
|
|
270
273
|
args: ['imxviewercontainer']
|
|
271
274
|
}] } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCO1FBQy9DLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLGdCQUFnQixDQUFDLENBQUM7UUFDaEcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDLGVBQWUsRUFBRTtrQkFDbEYsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFTyxRQUFRLENBQUMsYUFBcUM7UUFDbEQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0F6UlEsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNlBDNUNyQyx3M0JBaUJBOzsyRkQyQmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLGtCQUFrQjtpTkFNbkIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRTJCLFNBQVM7c0JBQXpDLFNBQVM7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW14Vmlld2VyQ29tcG9uZW50LCBQb3BvdmVySW5mbywgU2VsZWN0aWVFdmVudCwgU3ZnSW5mbyB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IGRvbWVpbiwgc2JibGFkIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbHRlcm5hdGllZlJpdERlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9hbHRlcm5hdGllZi1yaXQtZGVlbCc7XG5pbXBvcnQgeyBPbmdlcGxhbmRlQWN0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllJztcbmltcG9ydCB7IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfSBmcm9tICcuLi8uLi9tb2RlbC9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IFNlaW5PcFJpdGRlZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWluLW9wLXJpdGRlZWwnO1xuaW1wb3J0IHsgQWN0aWUgfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIEFkZE9uZ2VwbGFuZGVBY3RpZSxcbiAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzLFxuICAgIEJld2VnaW5nSW52b2VnZW4sXG4gICAgQ2xlYXJQcm9ncmVzcywgU2V0U2VsZWN0ZWRSaXRkZWVsLFxuICAgIG5hdmlnZWVyQnVpdGVuUml0LFxuICAgIFJlc2V0TmlldXdlUm91dGUsXG4gICAgU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzLFxuICAgIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzLFxuICAgIFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzLFxuICAgIFNldEJlZ2luU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMsXG4gICAgU2V0RWluZFNlaW5TZWxlY3RpZUlkcyxcbiAgICBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzLFxuICAgIFNldEdlcGxhbmRlQWN0aWVzLFxuICAgIFNldE5pZXV3Um91dGVFaW5kU2VpbixcbiAgICBTZXRSaXRTZWxlY3RpZUlkc1xufSBmcm9tICcuLi8uLi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMnO1xuaW1wb3J0IHsgcml0ZGVlbEludm9lZ2VuLCBzZXRBbHRlcm5hdGlldmVSaXREZWxlbiB9IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvcml0ZGVsZW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuaW1wb3J0IHsgQWN0aWVIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQgeyBBY3RpZVBvcG92ZXJCZXBhbGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9hY3RpZS1wb3BvdmVyLWJlcGFsZXInO1xuaW1wb3J0IHsgQXJyYXlNdWx0aW1hcCB9IGZyb20gJy4uLy4uL3V0aWwvbXVsdGktbWFwJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzdmctdmlzdWFsaXNhdGllJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBJbnB1dCgpIG5pZXRHZXBsYW5kZUFjdGllczogQWN0aWVbXTtcbiAgICBASW5wdXQoKSB1c2VDbGlja0FyZWE6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdpbXh2aWV3ZXJjb250YWluZXInKSBpbXh2aWV3ZXI6IElteFZpZXdlckNvbXBvbmVudDtcblxuICAgIHN2Z0luZm9zJDogT2JzZXJ2YWJsZTxTdmdJbmZvW10+ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3N2Z0luZm9zJyk7XG4gICAgcG9wb3ZlckluZm9zOiBQb3BvdmVySW5mb1tdID0gW107XG4gICAgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcmlnaHRDbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29udGV4dE1lbnVBY3Rpb25zOiBhbnkgPSBbXTtcbiAgICBjb250ZXh0TWVudVN0eWxlOiBhbnkgPSB7IGRpc3BsYXk6ICdub25lJyB9O1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBwdWljTmFhckJlZ2luU2VpblJpdGRlZWwgPSBuZXcgTWFwPHN0cmluZywgU2Vpbk9wUml0ZGVlbD4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllID0gbmV3IE1hcDxzdHJpbmcsIFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWU+KCk7XG4gICAgcHJpdmF0ZSBwdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlID0gbmV3IE1hcDxzdHJpbmcsIEFsdGVybmF0aWVmUml0RGVlbD4oKTtcblxuICAgIHByaXZhdGUgb25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpZUhlbHBlcjogQWN0aWVIZWxwZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzYm1TZXJ2aWNlOiBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICB0aGlzLm9uUml0ZGVsZW5VcGRhdGUoKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyQ2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLnRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTtcbiAgICAgICAgdGhpcy5oYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTtcbiAgICAgICAgdGhpcy5zZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTtcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZWRpdGFibGUnKS5zdWJzY3JpYmUoZWRpdGFibGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGVkaXRhYmxlO1xuICAgICAgICB9KSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkID0+IHRoaXMub25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgnZm9jdXNJZHMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShmb2N1c0lkcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvY3VzSWRzICYmIHRoaXMuaW14dmlld2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW14dmlld2VyLmZvY3VzT25JZHMoZm9jdXNJZHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRleHRNZW51JykuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuaGlkZUNvbnRleHRNZW51KCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld0NsaWNrKGV2dDogU2VsZWN0aWVFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwdWljID0gZXZ0LmlkO1xuICAgICAgICBjb25zdCBhbHRlcm5hdGlldmVSaXREZWVsID0gdGhpcy5wdWljTmFhckFsdGVybmF0aWV2ZVJvdXRlLmdldChwdWljKTtcbiAgICAgICAgY29uc3QgY29tYmluYXRpZSA9IHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUuZ2V0KHB1aWMpO1xuICAgICAgICBpZiAoYWx0ZXJuYXRpZXZlUml0RGVlbCkge1xuICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUml0RGVlbC5yaXREZWVsLmFjdGllcy5mb3JFYWNoKGFjdGllID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IHRoaXMuYWN0aWVIZWxwZXIuYmVwYWFsUHVpY3NWb29yQWN0aWUoYWN0aWUpO1xuICAgICAgICAgICAgICAgIGlmIChwdWljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRkT25nZXBsYW5kZUFjdGllKG5ldyBPbmdlcGxhbmRlQWN0aWUoYWN0aWUsIHB1aWNzKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZXRBbHRlcm5hdGlldmVSaXREZWxlbihhbHRlcm5hdGlldmVSaXREZWVsKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29tYmluYXRpZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXROaWV1d1JvdXRlRWluZFNlaW4oY29tYmluYXRpZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmFuZCA9IHRoaXMuc2JtU2VydmljZS5nZXRUb3BvbG9neUVsZW1lbnRCeVB1aWMocHVpYyk7XG4gICAgICAgICAgICBpZiAocmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmF2aWdlZXJCdWl0ZW5SaXQocHVpYykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRTZWxlY3RlZFJpdGRlZWwodW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW14dmlld1JpZ2h0Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZuID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRTZWluT3BSaXRkZWVsID0gdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuZ2V0KGV2dC5pZCk7XG4gICAgICAgICAgICBpZiAoc3RhcnRTZWluT3BSaXRkZWVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVBY3Rpb25zLnB1c2goeyBsYWJlbDogJ2Jld2VnaW5nIGludm9lZ2VuJywgY2xpY2s6IGZuIH0pO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBsZWZ0OiAoZXZ0LmV2ZW50Lm9mZnNldFggLSA1KSArICdweCcsXG4gICAgICAgICAgICB0b3A6IChldnQuZXZlbnQub2Zmc2V0WSAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBiZXdlZ2luZ0ludm9lZ2VuKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVDb250ZXh0TWVudSgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsLCB0aGlzLnB1aWNOYWFyRWluZFNlaW5Db21iaW5hdGllKSk7XG4gICAgfVxuXG4gICAgaGlkZUNvbnRleHRNZW51KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3R5bGUgPSB7XG4gICAgICAgICAgICBkaXNwbGF5OiAnbm9uZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTmlldXdlUm91dGVUb2VnZXZvZWdkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnbmlldXdlUm91dGUnKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobmlldXdlUm91dGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5pZXV3ZVJvdXRlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChSZXNldE5pZXV3ZVJvdXRlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChyaXRkZWVsSW52b2VnZW4obmlldXdlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblJpdGRlbGVuVXBkYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKS5zdWJzY3JpYmUocml0RGVsZW4gPT4ge1xuICAgICAgICAgICAgaWYgKHJpdERlbGVuICYmIHJpdERlbGVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbFJvdXRlSGlnaGxpZ2h0cyhyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdhbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZWluZFNlaW5lbkNsaWNrYWJsZUlkcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2Nvbm5lY3RvckNsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIGVpbmRTZWluZW5DbGlja2FibGVJZHMsIGNvbm5lY3RvckNsaWNrYWJsZUlkc10pID0+XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZUlkcyA9IFsuLi5hbHRlcm5hdGlldmVuQ2xpY2thYmxlSWRzLCAuLi5laW5kU2VpbmVuQ2xpY2thYmxlSWRzLCAuLi5jb25uZWN0b3JDbGlja2FibGVJZHNdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmlnZ2VyUmlnaHRDbGlja2FibGVJZEJlcGFsaW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdCgnYmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkc10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZHMgPSBbXTtcbiAgICAgICAgICAgICAgICBpZHMucHVzaCguLi5iZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yaWdodENsaWNrYWJsZUlkcyA9IGlkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFRyaWdnZXJQb3BvdmVyQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ3JpdERlbGVuJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllcycpLFxuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2dlcGxhbmRlQWN0aWVzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbcml0ZGVsZW4sIG9uZ2VwbGFuZGVBY3RpZXMsIGdlcGxhbmRlQWN0aWVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyaXRkZWxlbiAmJiByaXRkZWxlbi5sZW5ndGggPiAwICYmIGdlcGxhbmRlQWN0aWVzICYmIG9uZ2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVySW5mb3MgPSBBY3RpZVBvcG92ZXJCZXBhbGVyLmJlcGFhbFBvcG92ZXJJbmZvcyhyaXRkZWxlbiwgZ2VwbGFuZGVBY3RpZXMsIG9uZ2VwbGFuZGVBY3RpZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgYmVwYWFsT25nZXBsYW5kZUFjdGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmlldEdlcGxhbmRlQWN0aWVzKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXModGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQ29udGV4dE1lbnVWb29yQmVnaW5TZWluZW4ocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2JtU2VydmljZS5pc1JlYWR5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBpZHMgPSBbXTtcbiAgICAgICAgcml0RGVsZW4uZmlsdGVyKHJpdERlZWwgPT4gcml0RGVlbC5pc1ppY2h0YmFhcigpKS5mb3JFYWNoKHJpdERlZWwgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHVpY3MgPSByaXREZWVsLmdldFNlaW5lbigpLmZsYXRNYXAoc2VpbiA9PiB0aGlzLnZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICBpZHMgPSBpZHMuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyhpZHMpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluU2VsZWN0aWVJZHMoW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzKFtdKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ6YW1lbEJlZ2luU2VpbkluZm9ybWF0aWUoc2VpbjogZG9tZWluLlNlaW4sIHJpdERlZWw6IFJpdGRlZWwpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IHB1aWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCBzYlNlaW4gPSB0aGlzLnNibVNlcnZpY2UuZ2V0U0JTZWluKHNlaW4pO1xuICAgICAgICBpZiAoc2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gc2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5zZXQocHVpYywgbmV3IFNlaW5PcFJpdGRlZWwoc2Vpbiwgcml0RGVlbCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFsdFNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRUZWNobmlzY2hBbHRlcm5hdGllZlNCU2VpbihzYlNlaW4pO1xuICAgICAgICBpZiAoYWx0U2JTZWluKSB7XG4gICAgICAgICAgICBjb25zdCBwdWljID0gYWx0U2JTZWluLmdldFB1aWMoKTtcbiAgICAgICAgICAgIHB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICBjb25zdCByd3AgPSB0aGlzLmVkaXRvclNlcnZpY2UuZ2V0Umlqd2VncGxhbihhbHRTYlNlaW4uZ2V0UFBMRygpKTtcbiAgICAgICAgICAgIGNvbnN0IGRvbWVpblNlaW4gPSByd3AuZ2V0QmVnaW5TZWluKGFsdFNiU2Vpbi5nZXROYW1lKCkpO1xuICAgICAgICAgICAgLy8gc2VpbiBrYW4gbmlldCBhbHRpamQgZ2V2b25kZW4gd29yZGVuIG9tZGF0IGVyIG5pZXQgYWx0aWpkIGVlbiByaWp3ZWcgdmFuYWYgZGl0IHNlaW4gaXMsIGJpanYgYmlqIHZlZXJ3aXNzZWwuXG4gICAgICAgICAgICBpZiAoZG9tZWluU2Vpbikge1xuICAgICAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChkb21laW5TZWluLCByaXREZWVsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHB1aWNzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuOiBSaXRkZWVsW10pOiB2b2lkIHtcbiAgICAgICAgbGV0IHJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MgPSBuZXcgQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPigpO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzID0gW107XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgY2xpY2thYmxlSWRzID0gW107XG4gICAgICAgIGxldCBsYWF0c3RlTmFhclNwb29yOiBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGJlc3RhYXRVaXQxUml0ZGVlbCA9IHJpdERlbGVuLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgbGV0IGdlYnJva2VuUml0ID0gZmFsc2U7XG4gICAgICAgIHJpdERlbGVuLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVlbC5pc1ppY2h0YmFhcigpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWFwOiBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+ID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxBY3RpZVB1aWNzVWl0Uml0ZGVlbChyaXREZWVsKTtcbiAgICAgICAgICAgICAgICBtYXAua2V5cygpLmZvckVhY2goa2V5ID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzLnB1dEFsbChrZXksIG1hcC5nZXQoa2V5KSkpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhYmVzdGFhdFVpdDFSaXRkZWVsICYmIHRoaXMuaXNHZWJyb2tlblJpdGRlZWwocml0RGVlbCwgbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgICAgICAgICAgY29uc3QgcHVpY3MgPSBbLi4udGhpcy5nZXRQdWljcyhyaXREZWVsLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5zYm1TZXJ2aWNlLmdldFB1aWNzVm9vclNlaW5lbkluUm91dGUocml0RGVlbC5nZXRSb3V0ZSgpKV07XG5cbiAgICAgICAgICAgICAgICBpZiAocHVpY3MgJiYgaXNHZWJyb2tlblJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzID0gZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwdWljcykge1xuICAgICAgICAgICAgICAgICAgICByaXRTZWxlY3RpZVB1aWNzID0gcml0U2VsZWN0aWVQdWljcy5jb25jYXQocHVpY3MpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsLCBjbGlja2FibGVJZHMsIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MpO1xuXG4gICAgICAgICAgICAgICAgZ2Vicm9rZW5SaXQgPSBnZWJyb2tlblJpdCB8fCBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYXRzdGVOYWFyU3Bvb3IgPSByaXREZWVsLmdldFZpc3VlZWxOYWFyUHJsU3Bvb3IoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0VmFsaWRlUml0KCFnZWJyb2tlblJpdCk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZXBsYW5kZUFjdGllcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5ID0gQXJyYXkuZnJvbShhY3RpZU9wUml0U2VsZWN0aWVQdWljcy52YWx1ZXMoKSkucmVkdWNlKChhY2M6IHN0cmluZ1tdLCB2YWw6IHN0cmluZyk6IHN0cmluZ1tdID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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QUFDO29CQUM3RixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0I7UUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO2tCQUNsRixXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLHFDQUFxQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxhQUFxQztRQUNsRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXpSUSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw2UEM1Q3JDLHczQkFpQkE7OzJGRDJCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO2lOQU1uQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMkIsU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJDb21wb25lbnQsIFBvcG92ZXJJbmZvLCBTZWxlY3RpZUV2ZW50LCBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgZG9tZWluLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsdGVybmF0aWVmUml0RGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0aWVmLXJpdC1kZWVsJztcbmltcG9ydCB7IE9uZ2VwbGFuZGVBY3RpZSB9IGZyb20gJy4uLy4uL21vZGVsL29uZ2VwbGFuZGUtYWN0aWUnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4uLy4uL21vZGVsL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHsgU2Vpbk9wUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3NlaW4tb3Atcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSB9IGZyb20gJy4uLy4uL29wdGltbyc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgQmV3ZWdpbmdJbnZvZWdlbixcbiAgICBDbGVhclByb2dyZXNzLCBTZXRTZWxlY3RlZFJpdGRlZWwsXG4gICAgbmF2aWdlZXJCdWl0ZW5SaXQsXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFNldFJpdFNlbGVjdGllSWRzXG59IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyByaXRkZWVsSW52b2VnZW4sIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuIH0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IEFjdGllUG9wb3ZlckJlcGFsZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLXBvcG92ZXItYmVwYWxlcic7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vLi4vdXRpbC9tdWx0aS1tYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3N2Zy12aXN1YWxpc2F0aWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdID0gW107XG4gICAgQElucHV0KCkgdXNlQ2xpY2tBcmVhID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdpbXh2aWV3ZXJjb250YWluZXInKSBpbXh2aWV3ZXI6IElteFZpZXdlckNvbXBvbmVudDtcblxuICAgIHN2Z0luZm9zJDogT2JzZXJ2YWJsZTxTdmdJbmZvW10+ID0gdGhpcy5zdG9yZS5zZWxlY3QoJ3N2Z0luZm9zJyk7XG4gICAgcG9wb3ZlckluZm9zOiBQb3BvdmVySW5mb1tdID0gW107XG4gICAgY2xpY2thYmxlSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcmlnaHRDbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29udGV4dE1lbnVBY3Rpb25zOiBhbnkgPSBbXTtcbiAgICBjb250ZXh0TWVudVN0eWxlOiBhbnkgPSB7IGRpc3BsYXk6ICdub25lJyB9O1xuICAgIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbCA9IG5ldyBNYXA8c3RyaW5nLCBTZWluT3BSaXRkZWVsPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgPSBuZXcgTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUgPSBuZXcgTWFwPHN0cmluZywgQWx0ZXJuYXRpZWZSaXREZWVsPigpO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFjdGllSGVscGVyOiBBY3RpZUhlbHBlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25SaXRkZWxlblVwZGF0ZSgpO1xuICAgICAgICB0aGlzLnRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLmhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpO1xuICAgICAgICB0aGlzLnNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdmb2N1c0lkcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZvY3VzSWRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNJZHMgJiYgdGhpcy5pbXh2aWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXh2aWV3ZXIuZm9jdXNPbklkcyhmb2N1c0lkcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dE1lbnUnKS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5oaWRlQ29udGV4dE1lbnUoKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWMgPSBldnQuaWQ7XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJpdERlZWwgPSB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuZ2V0KHB1aWMpO1xuICAgICAgICBjb25zdCBjb21iaW5hdGllID0gdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZS5nZXQocHVpYyk7XG4gICAgICAgIGlmIChhbHRlcm5hdGlldmVSaXREZWVsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGlldmVSaXREZWVsLnJpdERlZWwuYWN0aWVzLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxQdWljc1Zvb3JBY3RpZShhY3RpZSk7XG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFsdGVybmF0aWV2ZVJpdERlbGVuKGFsdGVybmF0aWV2ZVJpdERlZWwpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb21iaW5hdGllKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldE5pZXV3Um91dGVFaW5kU2Vpbihjb21iaW5hdGllKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByYW5kID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICAgICAgICAgIGlmIChyYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuYXZpZ2VlckJ1aXRlblJpdChwdWljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFNlbGVjdGVkUml0ZGVlbCh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3UmlnaHRDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydFNlaW5PcFJpdGRlZWwgPSB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5nZXQoZXZ0LmlkKTtcbiAgICAgICAgICAgIGlmIChzdGFydFNlaW5PcFJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMucHVzaCh7IGxhYmVsOiAnYmV3ZWdpbmcgaW52b2VnZW4nLCBjbGljazogZm4gfSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGxlZnQ6IChldnQuZXZlbnQub2Zmc2V0WCAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIHRvcDogKGV2dC5ldmVudC5vZmZzZXRZIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZUNvbnRleHRNZW51KCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwsIHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUpKTtcbiAgICB9XG5cbiAgICBoaWRlQ29udGV4dE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCduaWV1d2VSb3V0ZScpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuaWV1d2VSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmlldXdlUm91dGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJlc2V0TmlldXdlUm91dGUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHJpdGRlZWxJbnZvZWdlbihuaWV1d2VSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUml0ZGVsZW5VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZShyaXREZWxlbiA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW4gJiYgcml0RGVsZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsT25nZXBsYW5kZUFjdGllcygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdlaW5kU2VpbmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnY29ubmVjdG9yQ2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2xpY2thYmxlSWRzID0gWy4uLmFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIC4uLmVpbmRTZWluZW5DbGlja2FibGVJZHMsIC4uLmNvbm5lY3RvckNsaWNrYWJsZUlkc10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkcyA9IFtdO1xuICAgICAgICAgICAgICAgIGlkcy5wdXNoKC4uLmJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2thYmxlSWRzID0gaWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtyaXRkZWxlbiwgb25nZXBsYW5kZUFjdGllcywgZ2VwbGFuZGVBY3RpZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJpdGRlbGVuICYmIHJpdGRlbGVuLmxlbmd0aCA+IDAgJiYgZ2VwbGFuZGVBY3RpZXMgJiYgb25nZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJJbmZvcyA9IEFjdGllUG9wb3ZlckJlcGFsZXIuYmVwYWFsUG9wb3ZlckluZm9zKHJpdGRlbGVuLCBnZXBsYW5kZUFjdGllcywgb25nZXBsYW5kZUFjdGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBiZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmVwYWFsT25nZXBsYW5kZUFjdGllcyh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zYm1TZXJ2aWNlLmlzUmVhZHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlkcyA9IFtdO1xuICAgICAgICByaXREZWxlbi5maWx0ZXIocml0RGVlbCA9PiByaXREZWVsLmlzWmljaHRiYWFyKCkpLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWljcyA9IHJpdERlZWwuZ2V0U2VpbmVuKCkuZmxhdE1hcChzZWluID0+IHRoaXMudmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIGlkcyA9IGlkcy5jb25jYXQocHVpY3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKGlkcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMoW10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluOiBkb21laW4uU2Vpbiwgcml0RGVlbDogUml0ZGVlbCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRTQlNlaW4oc2Vpbik7XG4gICAgICAgIGlmIChzYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBzYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChzZWluLCByaXREZWVsKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWx0U2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNiU2Vpbik7XG4gICAgICAgIGlmIChhbHRTYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBhbHRTYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIGNvbnN0IHJ3cCA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKGFsdFNiU2Vpbi5nZXRQUExHKCkpO1xuICAgICAgICAgICAgY29uc3QgZG9tZWluU2VpbiA9IHJ3cC5nZXRCZWdpblNlaW4oYWx0U2JTZWluLmdldE5hbWUoKSk7XG4gICAgICAgICAgICAvLyBzZWluIGthbiBuaWV0IGFsdGlqZCBnZXZvbmRlbiB3b3JkZW4gb21kYXQgZXIgbmlldCBhbHRpamQgZWVuIHJpandlZyB2YW5hZiBkaXQgc2VpbiBpcywgYmlqdiBiaWogdmVlcndpc3NlbC5cbiAgICAgICAgICAgIGlmIChkb21laW5TZWluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKGRvbWVpblNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVpY3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBsZXQgcml0U2VsZWN0aWVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljcyA9IG5ldyBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KCk7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBjbGlja2FibGVJZHMgPSBbXTtcbiAgICAgICAgbGV0IGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZztcbiAgICAgICAgY29uc3QgYmVzdGFhdFVpdDFSaXRkZWVsID0gcml0RGVsZW4ubGVuZ3RoID09PSAxO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXQgPSBmYWxzZTtcbiAgICAgICAgcml0RGVsZW4uZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWVsLmlzWmljaHRiYWFyKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbEFjdGllUHVpY3NVaXRSaXRkZWVsKHJpdERlZWwpO1xuICAgICAgICAgICAgICAgIG1hcC5rZXlzKCkuZm9yRWFjaChrZXkgPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MucHV0QWxsKGtleSwgbWFwLmdldChrZXkpKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICFiZXN0YWF0VWl0MVJpdGRlZWwgJiYgdGhpcy5pc0dlYnJva2VuUml0ZGVlbChyaXREZWVsLCBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IFsuLi50aGlzLmdldFB1aWNzKHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNibVNlcnZpY2UuZ2V0UHVpY3NWb29yU2VpbmVuSW5Sb3V0ZShyaXREZWVsLmdldFJvdXRlKCkpXTtcblxuICAgICAgICAgICAgICAgIGlmIChwdWljcyAmJiBpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgICAgICBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB1aWNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWwsIGNsaWNrYWJsZUlkcywgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyk7XG5cbiAgICAgICAgICAgICAgICBnZWJyb2tlblJpdCA9IGdlYnJva2VuUml0IHx8IGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFhdHN0ZU5hYXJTcG9vciA9IHJpdERlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRWYWxpZGVSaXQoIWdlYnJva2VuUml0KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlcGxhbmRlQWN0aWVzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkgPSBBcnJheS5mcm9tKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzLnZhbHVlcygpKS5yZWR1Y2UoKGFjYzogc3RyaW5nW10sIHZhbDogc3RyaW5nKTogc3RyaW5nW10gPT4gYWNjLmNvbmNhdCh2YWwpLCBbXSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkpKTtcbiAgICAgICAgcml0U2VsZWN0aWVQdWljcyA9IHJpdFNlbGVjdGllUHVpY3MuZmlsdGVyKGl0ZW0gPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3NBcnJheS5pbmRleE9mKGl0ZW0pIDwgMCk7IC8vIG1ha2UgbXV0dWFsbHkgZXhjbHVzaXZlXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0Uml0U2VsZWN0aWVJZHMocml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMoZ2Vicm9rZW5SaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyh0aGlzLmVkaXRhYmxlID8gY2xpY2thYmxlSWRzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHModGhpcy5lZGl0YWJsZSA/IGFsdGVybmF0aWV2ZVJvdXRlUHVpY3MgOiBbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsZWFyUHJvZ3Jlc3MoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWw6IFJpdGRlZWwsIGNsaWNrYWJsZUlkczogc3RyaW5nW10sIGFsdGVybmF0aWV2ZVJvdXRlUHVpY3M6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHJpdERlZWwuZ2V0QWx0ZXJuYXRpZXZlUm91dGVzKCk/LmZvckVhY2goYWx0ZXJuYXRpZXZlUm91dGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlVG9wb0VsZW1lbnRlbiA9XG4gICAgICAgICAgICAgICAgdGhpcy5zYm1TZXJ2aWNlLmJlcGFhbEFsdGVybmF0aXZlUm91dGVIaWdobGlnaHRzKGFsdGVybmF0aWV2ZVJvdXRlLCByaXREZWVsLmdldFRvcG9sb2dpZUVsZW1lbnRlbigpKTtcblxuICAgICAgICAgICAgY29uc3QgYWx0UHVpY3MgPSB0aGlzLmdldFB1aWNzKGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4pO1xuICAgICAgICAgICAgaWYgKGFsdFB1aWNzKSB7XG4gICAgICAgICAgICAgICAgY2xpY2thYmxlSWRzLnB1c2goLi4uYWx0UHVpY3MpO1xuICAgICAgICAgICAgICAgIGFsdFB1aWNzLmZvckVhY2gocHVpYyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVpY05hYXJBbHRlcm5hdGlldmVSb3V0ZS5zZXQocHVpYywgbmV3IEFsdGVybmF0aWVmUml0RGVlbChyaXREZWVsLCBhbHRlcm5hdGlldmVSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzLnB1c2gocHVpYyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNHZWJyb2tlblJpdGRlZWwocml0RGVlbCwgbGFhdHN0ZU5hYXJTcG9vcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICEoIWxhYXRzdGVOYWFyU3Bvb3IgfHwgcml0RGVlbC5nZXRWYW5QcmxTcG9vcigpID09PSBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgaWYgKGlzR2Vicm9rZW5SaXRkZWVsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUml0IHZhbiAnICsgcml0RGVlbC5nZXRWYW5QcmxTcG9vcigpICsgJyBuYWFyICcgKyByaXREZWVsLmdldE5hYXJQcmxTcG9vcigpXG4gICAgICAgICAgICAgICAgKyAnIGluIHBwbGcgJyArIHJpdERlZWwuZ2V0UHBsZygpICsgJyBzbHVpdCBuaWV0IGFhbiBvcCB2b3JpZ2UgYmV3ZWdpbmcuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHVpY3ModG9wb0VsZW1lbnRlbjogc2JibGFkLkhhc0lkZW50aWZpZXJbXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRvcG9FbGVtZW50ZW4ubWFwKGUgPT4gZS5nZXRQdWljKCkpO1xuICAgIH1cbn1cbiIsIjxpbXgtdmlld2VyICNpbXh2aWV3ZXJjb250YWluZXJcbiAgICAgICAgICAgIFtzdmdJbmZvXT1cInN2Z0luZm9zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFtzZWxlY3RpZUluZm9zXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zZWxlY3RpZUluZm9zXCJcbiAgICAgICAgICAgIFtjbGlja2FibGVJZHNdPVwiY2xpY2thYmxlSWRzXCJcbiAgICAgICAgICAgIFtyaWdodENsaWNrYWJsZUlkc109XCJyaWdodENsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcG9wb3ZlckluZm9zXT1cInBvcG92ZXJJbmZvc1wiXG4gICAgICAgICAgICBbaW5saW5lRGduQ3NzSW1wb3J0XT1cImZhbHNlXCJcbiAgICAgICAgICAgIFt1c2VDbGlja0FyZWFdPVwidXNlQ2xpY2tBcmVhXCJcbiAgICAgICAgICAgIFt6b29tU2NhbGVTZW5zaXRpdml0eV09XCIwLjI1XCJcbiAgICAgICAgICAgIChjbGlja0hhbmRsZXIpPVwiaGFuZGxlSW14dmlld0NsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKHJpZ2h0Q2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdSaWdodENsaWNrKCRldmVudClcIlxuICAgICAgICAgID48L2lteC12aWV3ZXI+XG5cbjx1bCBpZD1cImNvbnRleHRNZW51XCIgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgcm9sZT1cIm1lbnVcIiBbbmdTdHlsZV09XCJjb250ZXh0TWVudVN0eWxlXCI+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29udGV4dE1lbnVBY3Rpb25zXCI+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3Rpb24uY2xpY2soKVwiPnt7YWN0aW9uLmxhYmVsfX08L2E+PC9saT5cbjwvdWw+XG4iXX0=
|
|
@@ -15,6 +15,7 @@ export class ViewerControlsComponent {
|
|
|
15
15
|
this.printing$ = this.viewerControlsService.isPrinting$();
|
|
16
16
|
this.valideRit$ = this.viewerControlsService.isValideRit$();
|
|
17
17
|
this.subscriptions = new Subscription();
|
|
18
|
+
this.editable = false;
|
|
18
19
|
this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
|
|
19
20
|
}
|
|
20
21
|
ngOnChanges({ treinpad }) {
|
|
@@ -49,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
49
50
|
}], goedgekeurd: [{
|
|
50
51
|
type: Input
|
|
51
52
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci1jb250cm9scy92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFXcEMsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFvQixLQUE0QixFQUM3QixxQkFBMkMsRUFDMUMsYUFBNEI7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWJ2QyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUs1QixjQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFLYixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBaUI7UUFDbkMsSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDckQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDTCxDQUFDOzhHQXBDUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwwTUNicEMsNnpCQWtCQTs7MkZETGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLGlCQUFpQjt5SUFLbEIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5mcmFNb2RlbCwgUml0IH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IEJld2VnaW5nVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBNc3RFZGl0b3JTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL21zdC1lZGl0b3Itc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3ZpZXdlci1jb250cm9scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmlld2VyQ29udHJvbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHBhZ2luYXRpb25TaXplID0gNDtcbiAgICBASW5wdXQoKSBpYXZlcnNpZWluZm86IEluZnJhTW9kZWw7XG4gICAgQElucHV0KCkgdHJlaW5wYWQ6IFJpdDtcbiAgICBASW5wdXQoKSBnb2VkZ2VrZXVyZDogRXZlbnRFbWl0dGVyPFJpdD47XG5cbiAgICBwcmludGluZyQgPSB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5pc1ByaW50aW5nJCgpO1xuICAgIHZhbGlkZVJpdCQgID0gdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2UuaXNWYWxpZGVSaXQkKCk7XG5cbiAgICBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBiZXdlZ2luZ1V0aWxzOiBCZXdlZ2luZ1V0aWxzKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZSkpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHsgdHJlaW5wYWQgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodHJlaW5wYWQgJiYgdGhpcy50cmVpbnBhZCkge1xuICAgICAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0T3JpZ2luZWVsVHJlaW5QYWQodGhpcy50cmVpbnBhZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93R29lZGtldXJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGUgJiYgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvcy5sZW5ndGggIT09IDA7XG4gICAgfVxuXG4gICAgZ29lZGtldXJlbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByaXREZWxlbiA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnJpdGRlbGVuO1xuICAgICAgICBpZiAocml0RGVsZW4pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnRyZWlucGFkLmFhbnRhbFJpdEFjdGllcztcbiAgICAgICAgICAgIHRoaXMudHJlaW5wYWQuYmV3ZWdpbmdlbiA9IHRoaXMuYmV3ZWdpbmdVdGlscy5leHRyYWN0QmV3ZWdpbmdlblVpdFJpdGRlbGVuKHJpdERlbGVuLCB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5vcmlnaW5lZWxUcmVpblBhZC5iZXdlZ2luZ2VuKTtcbiAgICAgICAgICAgIHRoaXMuZ29lZGdla2V1cmQuZW1pdCh0aGlzLnRyZWlucGFkKTtcbiAgICAgICAgICAgIHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnNldE9yaWdpbmVlbFRyZWluUGFkKHRoaXMudHJlaW5wYWQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8YnV0dG9uIGlkPVwidG9vblNpZGVOYXZLbm9wXCJcbiAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXByaW1hcnkgbG94aWEtYnRuLXNtIG9wZW4tc2lkZW5hdi1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwidmlld2VyQ29udHJvbHNTZXJ2aWNlLnRvZ2dsZVNpZGVOYXZWaXNpYmxlKClcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiXG4gICAgICAgIFtoaWRkZW5dPVwicHJpbnRpbmckIHwgYXN5bmNcIj5SaXRkZXRhaWxzXG48L2J1dHRvbj5cbjxidXR0b24gKm5nSWY9XCJzaG93R29lZGtldXJlbigpXCJcbiAgICAgICAgaWQ9XCJnb2Vka2V1cmVuS25vcFwiXG4gICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbSBnb2Vka2V1cmVuLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb2Vka2V1cmVuQ2xpY2soKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIodmFsaWRlUml0JCB8IGFzeW5jICkgPT09IGZhbHNlXCJcbiAgICAgICAgW2hpZGRlbl09XCJwcmludGluZyQgfCBhc3luY1wiPkdvZWRrZXVyZW5cbjwvYnV0dG9uPlxuXG48Y2Fyb3VzZWwtY29udHJvbHMgW3BhZ2luYXRpb25TaXplXT1cInBhZ2luYXRpb25TaXplXCJcbiAgICAgICAgICAgICAgICAgICBbaWF2ZXJzaWVpbmZvXT1cImlhdmVyc2llaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgW3NpZGVOYXZPcGVuXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiPlxuPC9jYXJvdXNlbC1jb250cm9scz5cbiJdfQ==
|
|
@@ -57,7 +57,6 @@ const imports = [
|
|
|
57
57
|
ImxViewerModule,
|
|
58
58
|
RijwegenModule,
|
|
59
59
|
ResourceModule.forRoot(),
|
|
60
|
-
//@ts-ignore TODO: remove this ignore and fix it
|
|
61
60
|
StoreModule.forRoot(storeReducers, STORE_CONFIG),
|
|
62
61
|
EffectsModule.forRoot([
|
|
63
62
|
DeleteOngeplandeActieEffect,
|
|
@@ -142,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
142
141
|
]
|
|
143
142
|
}]
|
|
144
143
|
}], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.ZoneUtil }] });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0LXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbXN0LXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztB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LFlBQVk7WUFDWixlQUFlO1lBQ2YsY0FBYywwRUFrQ1Ysa0JBQWtCOytHQWViLGVBQWUsYUFiYjtZQUNQLFFBQVE7WUFDUiw2QkFBNkI7WUFDN0Isa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYiwrQkFBK0I7WUFDL0IsZUFBZTtZQUNmLGFBQWE7WUFDYixXQUFXO1lBQ1gsYUFBYTtZQUNiLHdCQUF3QjtTQUMzQixZQTVCRCxPQUFPOzsyRkE4QkUsZUFBZTtrQkEvQjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTztvQkFDUCxZQUFZLEVBQUU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7cUJBQ3JCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxRQUFRO3dCQUNSLDZCQUE2Qjt3QkFDN0Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLCtCQUErQjt3QkFDL0IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYix3QkFBd0I7cUJBQzNCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hdG9taWMtY29tcG9uZW50cy9tZXNzYWdlJztcbmltcG9ydCB7IElteFZpZXdlck1vZHVsZSB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IFJpandlZ2VuTW9kdWxlIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUmVzb3VyY2VNb2R1bGUgfSBmcm9tICdAbmd4LXJlc291cmNlL2hhbmRsZXItbmd4LWh0dHAnO1xuaW1wb3J0IHsgTWVzc2FnZXNDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL21lc3NhZ2VzL21lc3NhZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9hdG9taWMtY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9hdG9taWMtY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNc3R2aWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbXN0dmlld2VyL21zdHZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml0ZGVsZW5MaWpzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaXRkZWxlbi1saWpzdC9yaXRkZWxlbi1saWpzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml0ZGVsZW5WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpdGRlbGVuLXZpZXcvcml0ZGVsZW4tdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUnBlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JwZS9ycGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1zdExvZ2dpbmdSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2VzL21zdGxvZ2dpbmcucmVzb3VyY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzYmVlbGRJbmZvUmVzb3VyY2UgfSBmcm9tICcuL3Jlc291cmNlcy9zaWduYWxlcmluZ3NiZWVsZGluZm8ucmVzb3VyY2UnO1xuaW1wb3J0IHsgQmV3ZWdpbmdVdGlscyB9IGZyb20gJy4vc2VydmljZXMvYmV3ZWdpbmctdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBCZXdlZ2luZ1ZlcnJpamtlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Jld2VnaW5nLXZlcnJpamtlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJpdExlemVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcml0LWxlemVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvYmVwYWFsLW9uZ2VwbGFuZGUtYWN0aWVzLmVmZmVjdCc7XG5pbXBvcnQgeyBCZXBhYWxTYkluZm9zRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvYmVwYWFsLXNiLWluZm9zLmVmZmVjdCc7XG5pbXBvcnQgeyBCZXdlZ2luZ0ludm9lZ2VuRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvYmV3ZWdpbmctaW52b2VnZW4uZWZmZWN0JztcbmltcG9ydCB7IERlbGV0ZU9uZ2VwbGFuZGVBY3RpZUVmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2RlbGV0ZS1vbmdlcGxhbmRlLWFjdGllLmVmZmVjdCc7XG5pbXBvcnQgeyBGb2N1c0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2ZvY3VzLWVmZmVjdCc7XG5pbXBvcnQgeyBMYWFkUm91dGVGaWxlc0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L2xhYWQtcm91dGUtZmlsZXMuZWZmZWN0JztcbmltcG9ydCB7IExhYWRTaWduYWxlcmluZ3NiZWVsZGVuRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvbGFhZC1zaWduYWxlcmluZ3NiZWVsZGVuLmVmZmVjdCc7XG5pbXBvcnQgeyBSaXRHb2Vka2V1cmVuRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3Qvcml0LWdvZWRrZXVyZW4uZWZmZWN0JztcbmltcG9ydCB7IFJpdGRlbGVuRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3Qvcml0ZGVsZW4uZWZmZWN0JztcbmltcG9ydCB7IFN2Z1ZpZXdFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9zdmctdmlldy5lZmZlY3QnO1xuaW1wb3J0IHsgc3RvcmVSZWR1Y2VycyB9IGZyb20gJy4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4vdXRpbC9hY3RpZS1oZWxwZXInO1xuaW1wb3J0IHsgTG9nZ2luZ0hlbHBlciB9IGZyb20gJy4vdXRpbC9sb2dnaW5nLWhlbHBlcic7XG5pbXBvcnQgeyBab25lVXRpbCB9IGZyb20gJy4vdXRpbC96b25lLXV0aWwnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxDb250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYXJvdXNlbC1jb250cm9scy9jYXJvdXNlbC1jb250cm9scy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N2Zy12aXN1YWxpc2F0aWUvc3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgU1RPUkVfQ09ORklHID0ge1xuICAgIHJ1bnRpbWVDaGVja3M6IHtcbiAgICAgICAgc3RyaWN0U3RhdGVJbW11dGFiaWxpdHk6IGZhbHNlLFxuICAgICAgICBzdHJpY3RBY3Rpb25JbW11dGFiaWxpdHk6IGZhbHNlLFxuICAgICAgICAvLyBzdHJpY3RTdGF0ZVNlcmlhbGl6YWJpbGl0eTogdHJ1ZSwgLy8gZ2VlZnQgbm9nIHJ1bnRpbWUgZXJyb3JzLCB6b3UgbW9vaSB6aWpuIG9tIGFhbiB0ZSBrdW5uZW4gemV0dGVuXG4gICAgICAgIC8vIHN0cmljdEFjdGlvblNlcmlhbGl6YWJpbGl0eTogdHJ1ZSwgLy8gZ2VlZnQgbm9nIHJ1bnRpbWUgZXJyb3JzLCB6b3UgbW9vaSB6aWpuIG9tIGFhbiB0ZSBrdW5uZW4gemV0dGVuXG4gICAgICAgIHN0cmljdEFjdGlvblR5cGVVbmlxdWVuZXNzOiBmYWxzZVxuICAgIH1cbn07XG5cbmNvbnN0IGltcG9ydHMgPSBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElteFZpZXdlck1vZHVsZSxcbiAgICBSaWp3ZWdlbk1vZHVsZSxcbiAgICBSZXNvdXJjZU1vZHVsZS5mb3JSb290KCksXG4gICAgLy9AdHMtaWdub3JlIFRPRE86IHJlbW92ZSB0aGlzIGlnbm9yZSBhbmQgZml4IGl0XG4gICAgU3RvcmVNb2R1bGUuZm9yUm9vdCggc3RvcmVSZWR1Y2VycywgU1RPUkVfQ09ORklHKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvclJvb3QoW1xuICAgICAgICBEZWxldGVPbmdlcGxhbmRlQWN0aWVFZmZlY3QsXG4gICAgICAgIExhYWRTaWduYWxlcmluZ3NiZWVsZGVuRWZmZWN0LFxuICAgICAgICBMYWFkUm91dGVGaWxlc0VmZmVjdCxcbiAgICAgICAgQmVwYWFsT25nZXBsYW5kZUFjdGllc0VmZmVjdCxcbiAgICAgICAgQmV3ZWdpbmdJbnZvZWdlbkVmZmVjdCxcbiAgICAgICAgUml0ZGVsZW5FZmZlY3QsXG4gICAgICAgIFJpdEdvZWRrZXVyZW5FZmZlY3QsXG4gICAgICAgIFN2Z1ZpZXdFZmZlY3QsXG4gICAgICAgIEJlcGFhbFNiSW5mb3NFZmZlY3QsXG4gICAgICAgIEZvY3VzRWZmZWN0XG4gICAgXSlcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0cyxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTWVzc2FnZUNvbXBvbmVudCxcbiAgICAgICAgTXN0dmlld2VyQ29tcG9uZW50LFxuICAgICAgICBPdmVybGF5Q29tcG9uZW50LFxuICAgICAgICBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCxcbiAgICAgICAgUnBlQ29tcG9uZW50LFxuICAgICAgICBSaXRkZWxlbkxpanN0Q29tcG9uZW50LFxuICAgICAgICBSaXRkZWxlblZpZXdDb21wb25lbnQsXG4gICAgICAgIENhcm91c2VsQ29udHJvbHNDb21wb25lbnQsXG4gICAgICAgIFZpZXdlckNvbnRyb2xzQ29tcG9uZW50LFxuICAgICAgICBTdmdWaXN1YWxpc2F0aWVDb21wb25lbnQsXG4gICAgICAgIE1lc3NhZ2VzQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE1zdHZpZXdlckNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFpvbmVVdGlsLFxuICAgICAgICBTaWduYWxlcmluZ3NiZWVsZEluZm9SZXNvdXJjZSxcbiAgICAgICAgTXN0TG9nZ2luZ1Jlc291cmNlLFxuICAgICAgICBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICBSaXRMZXplclNlcnZpY2UsXG4gICAgICAgIEJld2VnaW5nVXRpbHMsXG4gICAgICAgIEFjdGllSGVscGVyLFxuICAgICAgICBMb2dnaW5nSGVscGVyLFxuICAgICAgICBCZXdlZ2luZ1ZlcnJpamtlclNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE1zdFZpZXdlck1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLCB6b25lVXRpbDogWm9uZVV0aWwpIHtcbiAgICAgICAgLy8gbWFhayBkZSBFZGl0b3JTZXJ2aWNlIHRvZWdhbmtlbGlqayB2b29yIEdXVCBjb2RlXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgd2luZG93WydycGUnXSA9IHtcbiAgICAgICAgICAgIEVkaXRvclNlcnZpY2U6IHpvbmVVdGlsLnByb3h5KHNlcnZpY2UpXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXN0LXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbXN0LXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztB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QWU7WUFDZixjQUFjLDBFQWlDVixrQkFBa0I7K0dBZWIsZUFBZSxhQWJiO1lBQ1AsUUFBUTtZQUNSLDZCQUE2QjtZQUM3QixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLCtCQUErQjtZQUMvQixlQUFlO1lBQ2YsYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2Isd0JBQXdCO1NBQzNCLFlBNUJELE9BQU87OzJGQThCRSxlQUFlO2tCQS9CM0IsUUFBUTttQkFBQztvQkFDTixPQUFPO29CQUNQLFlBQVksRUFBRTt3QkFDVixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFFBQVE7d0JBQ1IsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsK0JBQStCO3dCQUMvQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLHdCQUF3QjtxQkFDM0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL21lc3NhZ2UnO1xuaW1wb3J0IHsgSW14Vmlld2VyTW9kdWxlIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgUmlqd2VnZW5Nb2R1bGUgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBSZXNvdXJjZU1vZHVsZSB9IGZyb20gJ0BuZ3gtcmVzb3VyY2UvaGFuZGxlci1uZ3gtaHR0cCc7XG5pbXBvcnQgeyBNZXNzYWdlc0NvbXBvbmVudCB9IGZyb20gJy4vYXRvbWljLWNvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL292ZXJsYXkvb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2F0b21pYy1jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1zdHZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tc3R2aWV3ZXIvbXN0dmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaXRkZWxlbkxpanN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpdGRlbGVuLWxpanN0L3JpdGRlbGVuLWxpanN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaXRkZWxlblZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcml0ZGVsZW4tdmlldy9yaXRkZWxlbi12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBScGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcnBlL3JwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXN0TG9nZ2luZ1Jlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZXMvbXN0bG9nZ2luZy5yZXNvdXJjZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NiZWVsZEluZm9SZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2VzL3NpZ25hbGVyaW5nc2JlZWxkaW5mby5yZXNvdXJjZSc7XG5pbXBvcnQgeyBCZXdlZ2luZ1V0aWxzIH0gZnJvbSAnLi9zZXJ2aWNlcy9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEJld2VnaW5nVmVycmlqa2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmV3ZWdpbmctdmVycmlqa2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUml0TGV6ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9yaXQtbGV6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXNFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXBhYWwtb25nZXBsYW5kZS1hY3RpZXMuZWZmZWN0JztcbmltcG9ydCB7IEJlcGFhbFNiSW5mb3NFZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXBhYWwtc2ItaW5mb3MuZWZmZWN0JztcbmltcG9ydCB7IEJld2VnaW5nSW52b2VnZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9iZXdlZ2luZy1pbnZvZWdlbi5lZmZlY3QnO1xuaW1wb3J0IHsgRGVsZXRlT25nZXBsYW5kZUFjdGllRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvZGVsZXRlLW9uZ2VwbGFuZGUtYWN0aWUuZWZmZWN0JztcbmltcG9ydCB7IEZvY3VzRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvZm9jdXMtZWZmZWN0JztcbmltcG9ydCB7IExhYWRSb3V0ZUZpbGVzRWZmZWN0IH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3QvbGFhZC1yb3V0ZS1maWxlcy5lZmZlY3QnO1xuaW1wb3J0IHsgTGFhZFNpZ25hbGVyaW5nc2JlZWxkZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9sYWFkLXNpZ25hbGVyaW5nc2JlZWxkZW4uZWZmZWN0JztcbmltcG9ydCB7IFJpdEdvZWRrZXVyZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9yaXQtZ29lZGtldXJlbi5lZmZlY3QnO1xuaW1wb3J0IHsgUml0ZGVsZW5FZmZlY3QgfSBmcm9tICcuL3N0YXRlL2VmZmVjdC9yaXRkZWxlbi5lZmZlY3QnO1xuaW1wb3J0IHsgU3ZnVmlld0VmZmVjdCB9IGZyb20gJy4vc3RhdGUvZWZmZWN0L3N2Zy12aWV3LmVmZmVjdCc7XG5pbXBvcnQgeyBzdG9yZVJlZHVjZXJzIH0gZnJvbSAnLi9zdGF0ZS9tc3QtZWRpdG9yLXN0YXRlJztcbmltcG9ydCB7IEFjdGllSGVscGVyIH0gZnJvbSAnLi91dGlsL2FjdGllLWhlbHBlcic7XG5pbXBvcnQgeyBMb2dnaW5nSGVscGVyIH0gZnJvbSAnLi91dGlsL2xvZ2dpbmctaGVscGVyJztcbmltcG9ydCB7IFpvbmVVdGlsIH0gZnJvbSAnLi91dGlsL3pvbmUtdXRpbCc7XG5pbXBvcnQgeyBDYXJvdXNlbENvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhcm91c2VsLWNvbnRyb2xzL2Nhcm91c2VsLWNvbnRyb2xzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3ZXJDb250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92aWV3ZXItY29udHJvbHMvdmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdmdWaXN1YWxpc2F0aWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBTVE9SRV9DT05GSUcgPSB7XG4gICAgcnVudGltZUNoZWNrczoge1xuICAgICAgICBzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTogZmFsc2UsXG4gICAgICAgIHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTogZmFsc2UsXG4gICAgICAgIC8vIHN0cmljdFN0YXRlU2VyaWFsaXphYmlsaXR5OiB0cnVlLCAvLyBnZWVmdCBub2cgcnVudGltZSBlcnJvcnMsIHpvdSBtb29pIHppam4gb20gYWFuIHRlIGt1bm5lbiB6ZXR0ZW5cbiAgICAgICAgLy8gc3RyaWN0QWN0aW9uU2VyaWFsaXphYmlsaXR5OiB0cnVlLCAvLyBnZWVmdCBub2cgcnVudGltZSBlcnJvcnMsIHpvdSBtb29pIHppam4gb20gYWFuIHRlIGt1bm5lbiB6ZXR0ZW5cbiAgICAgICAgc3RyaWN0QWN0aW9uVHlwZVVuaXF1ZW5lc3M6IGZhbHNlXG4gICAgfVxufTtcblxuY29uc3QgaW1wb3J0cyA9IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW14Vmlld2VyTW9kdWxlLFxuICAgIFJpandlZ2VuTW9kdWxlLFxuICAgIFJlc291cmNlTW9kdWxlLmZvclJvb3QoKSxcbiAgICBTdG9yZU1vZHVsZS5mb3JSb290KCBzdG9yZVJlZHVjZXJzLCBTVE9SRV9DT05GSUcpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yUm9vdChbXG4gICAgICAgIERlbGV0ZU9uZ2VwbGFuZGVBY3RpZUVmZmVjdCxcbiAgICAgICAgTGFhZFNpZ25hbGVyaW5nc2JlZWxkZW5FZmZlY3QsXG4gICAgICAgIExhYWRSb3V0ZUZpbGVzRWZmZWN0LFxuICAgICAgICBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzRWZmZWN0LFxuICAgICAgICBCZXdlZ2luZ0ludm9lZ2VuRWZmZWN0LFxuICAgICAgICBSaXRkZWxlbkVmZmVjdCxcbiAgICAgICAgUml0R29lZGtldXJlbkVmZmVjdCxcbiAgICAgICAgU3ZnVmlld0VmZmVjdCxcbiAgICAgICAgQmVwYWFsU2JJbmZvc0VmZmVjdCxcbiAgICAgICAgRm9jdXNFZmZlY3RcbiAgICBdKVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBNZXNzYWdlQ29tcG9uZW50LFxuICAgICAgICBNc3R2aWV3ZXJDb21wb25lbnQsXG4gICAgICAgIE92ZXJsYXlDb21wb25lbnQsXG4gICAgICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgICAgICBScGVDb21wb25lbnQsXG4gICAgICAgIFJpdGRlbGVuTGlqc3RDb21wb25lbnQsXG4gICAgICAgIFJpdGRlbGVuVmlld0NvbXBvbmVudCxcbiAgICAgICAgQ2Fyb3VzZWxDb250cm9sc0NvbXBvbmVudCxcbiAgICAgICAgVmlld2VyQ29udHJvbHNDb21wb25lbnQsXG4gICAgICAgIFN2Z1Zpc3VhbGlzYXRpZUNvbXBvbmVudCxcbiAgICAgICAgTWVzc2FnZXNDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTXN0dmlld2VyQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgWm9uZVV0aWwsXG4gICAgICAgIFNpZ25hbGVyaW5nc2JlZWxkSW5mb1Jlc291cmNlLFxuICAgICAgICBNc3RMb2dnaW5nUmVzb3VyY2UsXG4gICAgICAgIEVkaXRvclNlcnZpY2UsXG4gICAgICAgIFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgIFJpdExlemVyU2VydmljZSxcbiAgICAgICAgQmV3ZWdpbmdVdGlscyxcbiAgICAgICAgQWN0aWVIZWxwZXIsXG4gICAgICAgIExvZ2dpbmdIZWxwZXIsXG4gICAgICAgIEJld2VnaW5nVmVycmlqa2VyU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTXN0Vmlld2VyTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHpvbmVVdGlsOiBab25lVXRpbCkge1xuICAgICAgICAvLyBtYWFrIGRlIEVkaXRvclNlcnZpY2UgdG9lZ2Fua2VsaWprIHZvb3IgR1dUIGNvZGVcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3aW5kb3dbJ3JwZSddID0ge1xuICAgICAgICAgICAgRWRpdG9yU2VydmljZTogem9uZVV0aWwucHJveHkoc2VydmljZSlcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,6 +7,7 @@ export class EditorService {
|
|
|
7
7
|
this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
|
|
8
8
|
this.initReadyPromise();
|
|
9
9
|
}
|
|
10
|
+
// Called from GWT only, can be removed when GWT is gone
|
|
10
11
|
setEditor(editor) {
|
|
11
12
|
this.editor = editor;
|
|
12
13
|
this.resolveReadyPromise();
|
|
@@ -14,6 +15,7 @@ export class EditorService {
|
|
|
14
15
|
isReady() {
|
|
15
16
|
return this.promise;
|
|
16
17
|
}
|
|
18
|
+
// Called from GWT only, can be removed when GWT is gone
|
|
17
19
|
setSignaleringsBeeldManager(signaleringsBeeldManager) {
|
|
18
20
|
this.signaleringsBeeldManagerService.set(signaleringsBeeldManager);
|
|
19
21
|
}
|
|
@@ -45,4 +47,4 @@ export class EditorService {
|
|
|
45
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditorService, decorators: [{
|
|
46
48
|
type: Injectable
|
|
47
49
|
}], ctorParameters: () => [{ type: i1.SignaleringsBeeldManagerService }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvc2VydmljZXMvZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFBb0IsK0JBQWdFO1FBQWhFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxTQUFTLENBQUMsTUFBTTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsMkJBQTJCLENBQUMsd0JBQXdCO1FBQ2hELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsUUFBZ0IsRUFBRSxJQUFpQztRQUN2RSxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQixFQUFFLEtBQWU7UUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxRQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFTLE9BQU8sRUFBRSxPQUFPO1lBQzdFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs4R0FuRFEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZG9tZWluIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSBlZGl0b3I7XG4gICAgcHJpdmF0ZSByZXNvbHZlUmVhZHlQcm9taXNlO1xuICAgIHByaXZhdGUgcHJvbWlzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZTogU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSkge1xuICAgICAgICB0aGlzLmluaXRSZWFkeVByb21pc2UoKTtcbiAgICB9XG5cbiAgICAvLyBDYWxsZWQgZnJvbSBHV1Qgb25seSwgY2FuIGJlIHJlbW92ZWQgd2hlbiBHV1QgaXMgZ29uZVxuICAgIHNldEVkaXRvcihlZGl0b3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBlZGl0b3I7XG5cbiAgICAgICAgdGhpcy5yZXNvbHZlUmVhZHlQcm9taXNlKCk7XG4gICAgfVxuXG4gICAgaXNSZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvbWlzZTtcbiAgICB9XG5cbiAgICAvLyBDYWxsZWQgZnJvbSBHV1Qgb25seSwgY2FuIGJlIHJlbW92ZWQgd2hlbiBHV1QgaXMgZ29uZVxuICAgIHNldFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcihzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlLnNldChzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIpO1xuICAgIH1cblxuICAgIGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuKGlhVmVyc2llOiBzdHJpbmcsIGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGxhYWRTaWduYWxlcmluZ3NiZWVsZGVuID0gdGhpcy5lZGl0b3IubGFhZFNpZ25hbGVyaW5nc2JlZWxkZW4oaWFWZXJzaWUsIGR0b3MpO1xuICAgICAgICByZXR1cm4gZnJvbShsYWFkU2lnbmFsZXJpbmdzYmVlbGRlbik7XG4gICAgfVxuXG4gICAgbGFhZFJvdXRlRmlsZXMoaWFWZXJzaWU6IHN0cmluZywgcHBsZ3M6IHN0cmluZ1tdKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmxhYWRSb3V0ZUZpbGVzKGlhVmVyc2llLCBwcGxncyk7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbihwcGxnOiBzdHJpbmcpOiBkb21laW4uUmlqd2VncGxhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRSaWp3ZWdwbGFuKHBwbGcpO1xuICAgIH1cblxuICAgIGdldFZyaWplYmFhblJpandlZ3BsYW4ocHBsZzogc3RyaW5nLCB2YW5TcG9vcjogc3RyaW5nKTogZG9tZWluLlZyaWplYmFhblJpandlZ3BsYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0VnJpamViYWFuUmlqd2VncGxhbihwcGxnLCB2YW5TcG9vcik7XG4gICAgfVxuXG4gICAgZ2V0Umlqd2VncGxhbm5lbigpOiBkb21laW4uUmlqd2VncGxhbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldFJpandlZ3BsYW5uZW4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRSZWFkeVByb21pc2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGlzLnByb21pc2UgPSB0aGlzLnByb21pc2UgPT09IHVuZGVmaW5lZCA/IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIF9yZWplY3QpIHtcbiAgICAgICAgICAgIHRoYXQucmVzb2x2ZVJlYWR5UHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICAgIH0pIDogdGhpcy5wcm9taXNlO1xuICAgIH1cbn1cbiJdfQ==
|