@ng-atomic/components 18.4.0 → 18.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/atoms.module.d.ts +6 -2
- package/atoms/smart-menu-button/smart-menu-button.atom.d.ts +8 -7
- package/components.module.d.ts +0 -15
- package/esm2022/atoms/atoms.module.mjs +7 -2
- package/esm2022/atoms/icon/icon.atom.mjs +2 -2
- package/esm2022/atoms/smart-menu-button/smart-menu-button.atom.mjs +27 -22
- package/esm2022/components.module.mjs +19 -44
- package/esm2022/frames/app/app.frame.mjs +5 -3
- package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
- package/esm2022/frames/columns/columns.frame.mjs +2 -2
- package/esm2022/frames/divider/divider.frame.mjs +2 -2
- package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
- package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
- package/esm2022/frames/fab/fab.frame.mjs +2 -2
- package/esm2022/frames/frames.module.mjs +19 -14
- package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
- package/esm2022/frames/loading/loading.frame.mjs +2 -2
- package/esm2022/frames/router-outlet/router-outlet.frame.mjs +2 -2
- package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
- package/esm2022/frames/side-nav/side-nav.frame.mjs +2 -2
- package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
- package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
- package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
- package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
- package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
- package/esm2022/molecules/molecules.module.mjs +18 -16
- package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +2 -2
- package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
- package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
- package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
- package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
- package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
- package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
- package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
- package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
- package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
- package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
- package/esm2022/organisms/heading/heading.organism.mjs +2 -2
- package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
- package/esm2022/organisms/menu-header/menu-header.organism.mjs +2 -2
- package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
- package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +2 -2
- package/esm2022/organisms/navigator/navigator.organism.mjs +20 -31
- package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
- package/esm2022/organisms/organisms.module.mjs +66 -61
- package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
- package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
- package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
- package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +2 -2
- package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
- package/esm2022/organisms/table/table.organism.mjs +2 -2
- package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
- package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
- package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
- package/esm2022/pages/_index/index.page.mjs +8 -13
- package/esm2022/pages/columns/columns.page.mjs +2 -2
- package/esm2022/pages/form/form.page.mjs +8 -6
- package/esm2022/pages/pages.module.mjs +10 -7
- package/esm2022/templates/_index/index.template.mjs +7 -7
- package/esm2022/templates/background/background.template.mjs +2 -2
- package/esm2022/templates/code-editor/code-editor.template.mjs +2 -2
- package/esm2022/templates/columns/columns.template.mjs +3 -3
- package/esm2022/templates/entrance/entrance.template.mjs +19 -17
- package/esm2022/templates/form/form.builder.mjs +2 -2
- package/esm2022/templates/form/form.template.mjs +3 -3
- package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
- package/esm2022/templates/menu/menu.template.mjs +2 -2
- package/esm2022/templates/selection/selection.template.mjs +2 -2
- package/esm2022/templates/settings/settings.template.mjs +2 -2
- package/esm2022/templates/templates.module.mjs +17 -25
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs +25 -21
- package/fesm2022/ng-atomic-components-atoms-smart-menu-button.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-atoms.mjs +7 -2
- package/fesm2022/ng-atomic-components-atoms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-app.mjs +4 -2
- package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames.mjs +19 -14
- package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules.mjs +18 -16
- package/fesm2022/ng-atomic-components-molecules.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +19 -30
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-table.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms.mjs +66 -61
- package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-_index.mjs +7 -12
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-form.mjs +7 -5
- package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages.mjs +10 -7
- package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-_index.mjs +6 -6
- package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +18 -16
- package/fesm2022/ng-atomic-components-templates-entrance.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-form.mjs +4 -4
- package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates.mjs +17 -25
- package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
- package/fesm2022/ng-atomic-components.mjs +19 -44
- package/fesm2022/ng-atomic-components.mjs.map +1 -1
- package/frames/app/app.frame.d.ts +1 -0
- package/frames/frames.module.d.ts +3 -20
- package/molecules/molecules.module.d.ts +22 -0
- package/organisms/navigator/navigator.organism.d.ts +4 -3
- package/organisms/organisms.module.d.ts +56 -1
- package/package.json +19 -19
- package/pages/form/form.page.d.ts +9 -9
- package/pages/pages.module.d.ts +1 -0
- package/templates/templates.module.d.ts +24 -1
|
@@ -184,14 +184,8 @@ let IndexPageStore = class IndexPageStore extends InjectableComponent {
|
|
|
184
184
|
effect(() => {
|
|
185
185
|
const value = formValue();
|
|
186
186
|
const itemsMapper = (items) => {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
// for (const func of filterFuncs ?? []) {
|
|
190
|
-
// console.debug('items:', items);
|
|
191
|
-
// items = items.filter(func);
|
|
192
|
-
// console.debug('filteredItems:', items);
|
|
193
|
-
// }
|
|
194
|
-
return indexPipe.transform(items, value);
|
|
187
|
+
const filterFunc = store.filterFunc();
|
|
188
|
+
return indexPipe.transform(items.filter(filterFunc), value);
|
|
195
189
|
};
|
|
196
190
|
applyToInput(store, 'itemsMapper', itemsMapper);
|
|
197
191
|
}, { allowSignalWrites: true });
|
|
@@ -210,9 +204,10 @@ let IndexPageStore = class IndexPageStore extends InjectableComponent {
|
|
|
210
204
|
static provideItemsInitializer(itemsFactory) {
|
|
211
205
|
return [
|
|
212
206
|
IndexPageStore_1.Initializer.provide((store) => {
|
|
213
|
-
const items = itemsFactory();
|
|
214
207
|
effect(() => {
|
|
208
|
+
const items = itemsFactory();
|
|
215
209
|
applyToInput(store, 'items', items);
|
|
210
|
+
console.debug('items:', items);
|
|
216
211
|
}, { allowSignalWrites: true });
|
|
217
212
|
}),
|
|
218
213
|
];
|
|
@@ -323,7 +318,7 @@ let IndexPageStore = class IndexPageStore extends InjectableComponent {
|
|
|
323
318
|
this.groupKeys = input(_computed(() => this.config().groupKeys));
|
|
324
319
|
this.type = input(_computed(() => this.config().type));
|
|
325
320
|
this.items = input(_computed(() => this.config().items));
|
|
326
|
-
this.itemsMap = input(_computed(() => convertToItemsMap(this.
|
|
321
|
+
this.itemsMap = input(_computed(() => convertToItemsMap(this.displayedItems())));
|
|
327
322
|
this.itemActions = input(_computed(() => this.config().itemActions));
|
|
328
323
|
this.title = input(_computed(() => this.config().title));
|
|
329
324
|
this.form = input(_computed(() => this.config().form));
|
|
@@ -416,7 +411,7 @@ export class IndexPage extends NgAtomicComponent {
|
|
|
416
411
|
(action)="dispatch($event)"
|
|
417
412
|
/>
|
|
418
413
|
</frames-router-outlet>
|
|
419
|
-
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-
|
|
414
|
+
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-z9WM: var(--page-width-lv3);--primary-color-SCOPED-IN-index-z9WM: var(--primary-color);--on-primary-color-SCOPED-IN-index-z9WM: var(--on-primary-color);--surface-color-SCOPED-IN-index-z9WM: var(--surface-color);--on-surface-color-SCOPED-IN-index-z9WM: var(--on-surface-color);--on-background-color-SCOPED-IN-index-z9WM: var(--on-background-color);--background-color-SCOPED-IN-index-z9WM: var(--background-color);--navigator-background-color-SCOPED-IN-index-z9WM: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-index-z9WM: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-index-z9WM: var(--table-background-color);--table-on-background-color-SCOPED-IN-index-z9WM: var(--table-on-background-color)}:host .template{width:var(--page-width-lv3-SCOPED-IN-index-z9WM)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-z9WM);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-z9WM);--surface-color: var(--surface-color-SCOPED-IN-index-z9WM);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-z9WM);--background-color: var(--background-color-SCOPED-IN-index-z9WM);--on-background-color: var(--on-background-color-SCOPED-IN-index-z9WM);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-index-z9WM);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-z9WM);--table-background-color: var(--table-background-color-SCOPED-IN-index-z9WM);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-index-z9WM)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: IndexTemplate, selector: "templates-index" }] }); }
|
|
420
415
|
}
|
|
421
416
|
__decorate([
|
|
422
417
|
Effect(IndexTemplate.ActionId.BACK),
|
|
@@ -482,6 +477,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
482
477
|
'itemsMap',
|
|
483
478
|
],
|
|
484
479
|
},
|
|
485
|
-
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-
|
|
480
|
+
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-z9WM: var(--page-width-lv3);--primary-color-SCOPED-IN-index-z9WM: var(--primary-color);--on-primary-color-SCOPED-IN-index-z9WM: var(--on-primary-color);--surface-color-SCOPED-IN-index-z9WM: var(--surface-color);--on-surface-color-SCOPED-IN-index-z9WM: var(--on-surface-color);--on-background-color-SCOPED-IN-index-z9WM: var(--on-background-color);--background-color-SCOPED-IN-index-z9WM: var(--background-color);--navigator-background-color-SCOPED-IN-index-z9WM: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-index-z9WM: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-index-z9WM: var(--table-background-color);--table-on-background-color-SCOPED-IN-index-z9WM: var(--table-on-background-color)}:host .template{width:var(--page-width-lv3-SCOPED-IN-index-z9WM)}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-z9WM);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-z9WM);--surface-color: var(--surface-color-SCOPED-IN-index-z9WM);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-z9WM);--background-color: var(--background-color-SCOPED-IN-index-z9WM);--on-background-color: var(--on-background-color-SCOPED-IN-index-z9WM);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-index-z9WM);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-z9WM);--table-background-color: var(--table-background-color-SCOPED-IN-index-z9WM);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-index-z9WM)}\n"] }]
|
|
486
481
|
}], propDecorators: { back: [], close: [], itemClick: [], onCheckboxClick: [], onItemButtonClicked: [] } });
|
|
487
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL19pbmRleC9pbmRleC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBWSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBVyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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QUFpQixzRkFDakIsYUFBYTs7QUF5Q0w7SUFEVCxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Ozs7cUNBR25DO0FBR1M7SUFEVCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQzs7OztzQ0FHekI7QUFHUztJQURULE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQzs7OzswQ0FHekM7QUFHUztJQURULE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDOzs7O2dEQUcxRDtBQUlTO0lBRFQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUM7Ozs7b0RBU3ZEOzJGQW5DVSxTQUFTO2tCQXhDckIsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQO3dCQUNQLGlCQUFpQjt3QkFDakIsYUFBYTtxQkFDZCxZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQsa0JBRWU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGNBQWM7NEJBQ3pCLE1BQU0sRUFBRTtnQ0FDTixPQUFPO2dDQUNQLFVBQVU7NkJBQ1g7eUJBQ0Y7cUJBQ0Y7OEJBUVMsSUFBSSxNQUtKLEtBQUssTUFLTCxTQUFTLE1BS1QsZUFBZSxNQU1mLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFByb3ZpZGVyLCBTaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IGNvbnZlcnRUb0l0ZW1zTWFwLCBnZXRUeXBlLCBJbmRleFRlbXBsYXRlLCBJdGVtc01hcCB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvX2luZGV4JztcbmltcG9ydCB7IGluamVjdEFsbCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3N0b3Jlcy9lbnRpdGllcyc7XG5pbXBvcnQgeyBpbmplY3RNb2RlbCwgaW5qZWN0TW9kZWxOYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvZG9tYWluJztcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIFRva2VuaXplZFR5cGUsIF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBwcm92aWRlRWZmZWN0LCByZXNvbHZlQWN0aW9ucyB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBidWlsZENvbHVtbnMsIGluamVjdEluZGV4Rm9ybSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvdGFibGUnO1xuaW1wb3J0IHsgaW5qZWN0SXNSb290UGFnZSwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zLCBpbmplY3RTaWRlQXBwTmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGluamVjdEVudGl0eUlkTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtJztcbmltcG9ydCB7IGNvbXB1dGVkUmF3VmFsdWUsIGluamVjdENoaWxkUm91dGVQYXJhbSwgaW5qZWN0SGFzTmV4dCwgaW5qZWN0Um91dGVQYXJhbSwgaW5qZWN0Um91dGVTa2lwIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvYXBwJztcbmltcG9ydCB7IEluZGV4UGlwZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2luZGV4JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29tcHV0ZWRBc3luYyB9IGZyb20gJ25neHRlbnNpb24vY29tcHV0ZWQtYXN5bmMnO1xuaW1wb3J0IHsgbWFrZUluaXRpYWxpemVyQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbmRleExlbmd0aFBpcGUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9pbmRleC1sZW5ndGgnO1xuaW1wb3J0IHsgU2hlZXRTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvc2hlZXRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEhpZ2hsaWdodChrZXk6IHN0cmluZyk6IFNpZ25hbDxTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+PiB7XG4gIGNvbnN0IGl0ZW1JZCA9IGluamVjdENoaWxkUm91dGVQYXJhbShrZXkpO1xuICByZXR1cm4gY29tcHV0ZWQoKCkgPT4gbmV3IFNlbGVjdGlvbk1vZGVsPHN0cmluZz4odHJ1ZSwgaXRlbUlkKCkgPyBbaXRlbUlkKCldIDogW10pKTtcbn1cblxudHlwZSBGaWx0ZXJGdW5jID0gKGl0ZW06IHtpZDogc3RyaW5nfSkgPT4gYm9vbGVhbjtcbmNvbnN0IEZJTFRFUl9GVU5DID0gbmV3IEluamVjdGlvblRva2VuPChpbmplY3Rvcj86IEluamVjdG9yKSA9PiBGaWx0ZXJGdW5jPignRklMVEVSX0ZVTkMnKTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRmlsdGVyRnVuYyh1c2VGYWN0b3J5OiAoKSA9PiBGaWx0ZXJGdW5jKSB7XG4gIGNvbnN0IHdyYXBwZWQgPSAoKSA9PiAoaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpKSA9PiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsIHVzZUZhY3RvcnkpO1xuXHRyZXR1cm4geyBwcm92aWRlOiBGSUxURVJfRlVOQywgdXNlRmFjdG9yeTogd3JhcHBlZCB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEZpbHRlckZ1bmMoKSB7XG4gIHJldHVybiAoaW5qZWN0KEZJTFRFUl9GVU5DLCB7b3B0aW9uYWw6IHRydWV9KSA/PyAoKCkgPT4gKCkgPT4gdHJ1ZSkpKCk7XG59XG5cbmVudW0gQWN0aW9uSWQge1xuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHM6cGFnZXMvaW5kZXhdIEJhY2snLFxuICBDSEVDS0JPWF9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4XSBDaGVja2JveENsaWNrJyxcbiAgSEVBREVSX0NIRUNLQk9YX0NMSUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvaW5kZXhdIEhlYWRlckNoZWNrYm94Q2xpY2snLFxuICBBREQgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9pbmRleF0gQWRkJyxcbiAgREVUQUlMID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvaW5kZXhdIERldGFpbCcsXG4gIENMT1NFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvaW5kZXhdIENsb3NlJyxcbiAgTElTVF9JVEVNX0JVVFRPTl9DTElDS0VEID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvaW5kZXhdIExpc3RJdGVtQnV0dG9uQ2xpY2snLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9nZ2xlQWxsU2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8c3RyaW5nPiwgaXRlbXM6IHtpZDogc3RyaW5nfVtdKSB7XG4gIGlmIChzZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID09PSBpdGVtcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbmV3IFNlbGVjdGlvbk1vZGVsPHN0cmluZz4odHJ1ZSwgW10pO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgU2VsZWN0aW9uTW9kZWw8c3RyaW5nPih0cnVlLCBpdGVtcy5tYXAoZW50cnkgPT4gZW50cnkuaWQpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0cnlKc29uUGFyc2UodmFsdWU6IHN0cmluZykge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWNvdmVyeUZvcm1WYWx1ZShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIGtleTogc3RyaW5nID0gJ2RlZmF1bHQnKSB7XG4gIC8vIEZvcm1Db250cm9s44Gu5aC05ZCI44GoRm9ybUdyb3Vw44Gu5aC05ZCI44Gn5Yem55CG44KS5YiG44GR44KLXG4gIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgZm9ybS5wYXRjaFZhbHVlKHRyeUpzb25QYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKSk7XG4gICAgZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB2YWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgY29uc29sZS5kZWJ1ZygnbG9hZGVkOicsIHZhbHVlKTtcbiAgICBmb3JtLnNldFZhbHVlKHZhbHVlKTtcbiAgICBmb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgY29uc29sZS5kZWJ1ZygndmFsdWU6JywgdmFsdWUpO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbn1cblxuQFRva2VuaXplZFR5cGUoKVxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBJbmRleFBhZ2VTdG9yZTxUPiBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgc3RhdGljIHJlYWRvbmx5IENvbmZpZyA9IG1ha2VDb25maWcoKCkgPT4ge1xuICAgIGNvbnN0IGhpZ2hsaWdodCA9IGluamVjdEhpZ2hsaWdodChpbmplY3RFbnRpdHlJZE5hbWUoKSk7XG4gICAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoKTtcbiAgICBjb25zdCBuYXZTdGFydEFjdGlvbnMgPSBpbmplY3ROYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7ICBcbiAgICBjb25zdCBmaWx0ZXJGdW5jID0gaW5qZWN0RmlsdGVyRnVuYygpO1xuICAgIGNvbnN0IG1vZGVsTmFtZSA9IGluamVjdE1vZGVsTmFtZSgpO1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgc3R5bGU6IHtcbiAgICAgICAgd2lkdGg6ICd2YXIoLS1wYWdlLXdpZHRoLWx2MyknLFxuICAgICAgfSxcbiAgICAgIGdyb3VwZWRCeTogPHN0cmluZz5udWxsLFxuICAgICAgZ3JvdXBLZXlzOiBbXSxcbiAgICAgIGl0ZW1zOiBbXSxcbiAgICAgIGl0ZW1zTWFwOiA8SXRlbXNNYXA8YW55Pj51bmRlZmluZWQsXG4gICAgICBpdGVtQWN0aW9uczogKCgpID0+IFtdKSBhcyBBY3Rpb25zLFxuICAgICAgaXRlbXNNYXBwZXI6IDwoaXRlbXM6IGFueVtdKSA9PiBhbnlbXT51bmRlZmluZWQsXG4gICAgICBpdGVtc0xlbmd0aDogMCxcbiAgICAgIGZpbHRlckZ1bmMsXG4gICAgICB0aXRsZTogbW9kZWxOYW1lKCkgPyBgJHttb2RlbE5hbWUoKX3kuIDopqdgIDogYOWPluW+l+S4rS4uLmAsXG4gICAgICB0eXBlOiA8J2xpc3QnIHwgJ3RhYmxlJyB8ICdncmlkJz4ndGFibGUnLFxuICAgICAgc2VsZWN0aW9uOiBuZXcgU2VsZWN0aW9uTW9kZWw8c3RyaW5nPih0cnVlLCBbXSksXG4gICAgICBoaWdobGlnaHQ6IGhpZ2hsaWdodCgpLFxuICAgICAgZm9ybTogbmV3IEZvcm1Hcm91cCh7fSkgYXMgQWJzdHJhY3RDb250cm9sLFxuICAgICAgdGFibGVDaGlsZHJlbktleTogbnVsbCxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogbmF2U3RhcnRBY3Rpb25zKCksXG4gICAgICBuYXZFbmRBY3Rpb25zOiA8QWN0aW9ucz5bXSxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ3BhZ2VzJywgJ2luZGV4J10pO1xuXG4gIHN0YXRpYyBwcm92aWRlVHlwZUNvbmZpZygpIHtcbiAgICByZXR1cm4gSW5kZXhQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgcmV0dXJuIChjb25maWcsIGNvbnRleHQpID0+ICh7Li4uY29uZmlnLCB0eXBlOiBnZXRUeXBlKGNvbnRleHQpfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUl0ZW1zRnJvbVJlcG9zaXRvcnkoKSB7XG4gICAgcmV0dXJuIEluZGV4UGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgIGNvbnN0IE1vZGVsID0gaW5qZWN0TW9kZWwoKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gTW9kZWwgPyBpbmplY3RBbGwoTW9kZWwpIDogc2lnbmFsKFtdKTtcbiAgICAgIHJldHVybiAoY29uZmlnKSA9PiAoey4uLmNvbmZpZywgaXRlbXM6IGl0ZW1zKCl9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSXRlbUFjdGlvbnNDb25maWcoKSB7XG4gICAgcmV0dXJuIEluZGV4UGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgIHJldHVybiAoY29uZmlnKSA9PiAoe1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIGl0ZW1BY3Rpb25zOiAoaXRlbSkgPT4gW1xuICAgICAgICAgIHsgaWQ6IEFjdGlvbklkLkRFVEFJTCwgaWNvbjogJ29wZW5faW5fbmV3JywgbmFtZTogJ+ips+e0sCcsIHBheWxvYWQ6IGl0ZW0gfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVTaWRlQXBwTmF2U3RhcnRBY3Rpb25zKCkge1xuICAgIHJldHVybiBJbmRleFBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgICBjb25zdCBpc1Jvb3RQYWdlID0gaW5qZWN0SXNSb290UGFnZSgnc2lkZScpO1xuICAgICAgY29uc3QgbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbiAgICAgIHJldHVybiAoY29uZmlnKSA9PiAoe1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIG5hdlN0YXJ0QWN0aW9uczogbmF2U3RhcnRBY3Rpb25zKCksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBJbml0aWFsaXplciA9IG1ha2VJbml0aWFsaXplckNvbmZpZyhJbmRleFBhZ2VTdG9yZSk7XG4gIHN0YXRpYyBwcm92aWRlRm9ybUluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgZm9ybSA9IGluamVjdEluZGV4Rm9ybSh7XG4gICAgICAgIGNvbHVtbnM6IGJ1aWxkQ29sdW1ucyhbXG4gICAgICAgICAgJ2lkJywgXG4gICAgICAgICAgJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgKGl0ZW06IHtpZDogc3RyaW5nfSkgPT4gW3sgaWQ6IEFjdGlvbklkLkRFVEFJTCwgaWNvbjogJ29wZW5faW5fbmV3JywgbmFtZTogJ+ips+e0sCcsIHBheWxvYWQ6IGl0ZW0gfV0sXG4gICAgICAgIF0pLFxuICAgICAgfSk7XG4gICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICdmb3JtJywgZm9ybSk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVGb3JtVmFsdWVTdG9yYWdlSW5pdGlhbGl6ZXIoKSB7XG4gICAgcmV0dXJuIEluZGV4UGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBwYXRocyA9IHJvdXRlLnBhdGhGcm9tUm9vdC5tYXAociA9PiByPy5yb3V0ZUNvbmZpZz8ucGF0aCk7XG4gICAgICBjb25zdCBrZXkgPSBgQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4OiR7cGF0aHMuZmlsdGVyKChwYXRoKSA9PiAhIXBhdGgpLmpvaW4oJy8nKX1gO1xuICAgICAgcmVjb3ZlcnlGb3JtVmFsdWUoc3RvcmUuZm9ybSgpLCBrZXkpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVJdGVtc0xlbmd0aEluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleExlbmd0aFBpcGUsXG4gICAgICBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBwaXBlID0gaW5qZWN0KEluZGV4TGVuZ3RoUGlwZSk7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGNvbXB1dGVkUmF3VmFsdWUoKCkgPT4gc3RvcmUuZm9ybSgpKTtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpdGVtc0xlbmd0aCA9IHBpcGUudHJhbnNmb3JtKHN0b3JlLml0ZW1zKCksIGZvcm1WYWx1ZSgpKTtcbiAgICAgICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICdpdGVtc0xlbmd0aCcsIGl0ZW1zTGVuZ3RoKTtcbiAgICAgICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVJdGVtc01hcHBlckluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBpcGUsXG5cdFx0XHRJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuXHRcdFx0XHRjb25zdCBmb3JtVmFsdWUgPSBjb21wdXRlZFJhd1ZhbHVlKCgpID0+IHN0b3JlLmZvcm0oKSk7XG5cdFx0XHRcdGNvbnN0IGluZGV4UGlwZSA9IGluamVjdChJbmRleFBpcGUpO1xuXHRcdFx0XHRlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gZm9ybVZhbHVlKCkgYXMgYW55O1xuXHRcdFx0XHQgIGNvbnN0IGl0ZW1zTWFwcGVyID0gKGl0ZW1zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgLy8gY29uc3QgZmlsdGVyRnVuY3MgPSBzdG9yZS5maWx0ZXJGdW5jcygpO1xuICAgICAgICAgICAgLy8gY29uc29sZS5kZWJ1ZygnZmlsdGVyRnVuY3M6JywgZmlsdGVyRnVuY3MpO1xuICAgICAgICAgICAgLy8gZm9yIChjb25zdCBmdW5jIG9mIGZpbHRlckZ1bmNzID8/IFtdKSB7XG4gICAgICAgICAgICAvLyAgIGNvbnNvbGUuZGVidWcoJ2l0ZW1zOicsIGl0ZW1zKTtcbiAgICAgICAgICAgIC8vICAgaXRlbXMgPSBpdGVtcy5maWx0ZXIoZnVuYyk7XG4gICAgICAgICAgICAvLyAgIGNvbnNvbGUuZGVidWcoJ2ZpbHRlcmVkSXRlbXM6JywgaXRlbXMpO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgcmV0dXJuIGluZGV4UGlwZS50cmFuc2Zvcm0oaXRlbXMsIHZhbHVlKTtcbiAgICAgICAgICB9O1xuXHRcdFx0XHRcdGFwcGx5VG9JbnB1dChzdG9yZSwgJ2l0ZW1zTWFwcGVyJywgaXRlbXNNYXBwZXIpO1xuXHRcdFx0XHR9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuXHRcdFx0fSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQ29sdW1uc0luaXRpYWxpemVyKHVzZUZhY3Rvcnk6ICgpID0+IHN0cmluZ1tdKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEluZGV4UGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB1c2VGYWN0b3J5KCk7XG4gICAgICAgIGNvbnN0IGZvcm0gPSBpbmplY3RJbmRleEZvcm0oeyBjb2x1bW5zOiBidWlsZENvbHVtbnMoY29sdW1ucykgfSk7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ2Zvcm0nLCBmb3JtKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUl0ZW1zSW5pdGlhbGl6ZXIoaXRlbXNGYWN0b3J5OiAoKSA9PiBhbnlbXSk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGl0ZW1zRmFjdG9yeSgpO1xuXHRcdFx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRcdGFwcGx5VG9JbnB1dChzdG9yZSwgJ2l0ZW1zJywgaXRlbXMpO1x0XG5cdFx0XHRcdH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuXHRcdFx0fSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRm9ybUluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRm9ybVZhbHVlU3RvcmFnZUluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlSXRlbXNMZW5ndGhJbml0aWFsaXplcigpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZUl0ZW1zTWFwcGVySW5pdGlhbGl6ZXIoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkJBQ0ssICgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiBoaXN0b3J5LmJhY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGV0YWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkRFVEFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgY29uc3QgaGFzTmV4dCA9IGluamVjdEhhc05leHQoKTtcbiAgICAgIHJldHVybiAoaXRlbToge2lkOiBzdHJpbmd9KSA9PiB7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0uaWRdLCB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogc3RvcmUucm91dGUsXG4gICAgICAgICAgcmVwbGFjZVVybDogaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQWRkRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkFERCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgaGFzTmV4dCA9IGluamVjdEhhc05leHQoKTtcbiAgICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoWyduZXcnXSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6ICEhaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNoZWNrYm94Q2xpY2tFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoSW5kZXhUZW1wbGF0ZS5BY3Rpb25JZC5UQUJMRV9DSEVDS0JPWF9DTElDSywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgcmV0dXJuIChpdGVtOiB7aWQ6IHN0cmluZ30pID0+IHtcbiAgICAgICAgc3RvcmUuc2VsZWN0aW9uKCkudG9nZ2xlKGl0ZW0uaWQpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGFibGVIZWFkZXJDbGlja0VmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLlRBQkxFX0hFQURFUl9DTElDSywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgcmV0dXJuIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBzb3J0ID0gc3RvcmUuZm9ybSgpLmdldChbJ3NvcnQnXSkudmFsdWU7XG4gICAgICAgIGNvbnN0IG9yZGVyID0ga2V5ID09PSBzb3J0LmtleSAmJiBzb3J0Lm9yZGVyID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xuICAgICAgICBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZSh7c29ydDoge2tleSwgb3JkZXJ9fSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVTaWRlTmF2RWZmZWN0cygpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChOYXZBY3Rpb25JZC5UT0dHTEVfU0lERV9OQVYsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiBhcHAuc2lkZU5hdi50b2dnbGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSGVhZGVyQ2hlY2tib3hDbGlja0VmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5IRUFERVJfQ0hFQ0tCT1hfQ0xJQ0ssICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEluZGV4UGFnZVN0b3JlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRvZ2dsZUFsbFNlbGVjdGlvbihzdG9yZS5zZWxlY3Rpb24oKSwgc3RvcmUuZGlzcGxheWVkSXRlbXMoKSk7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3NlbGVjdGlvbicsIHNlbGVjdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGV0YWlsRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlQWRkRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZUhlYWRlckNoZWNrYm94Q2xpY2tFZmZlY3QoKSxcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVDaGVja2JveENsaWNrRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlVGFibGVIZWFkZXJDbGlja0VmZmVjdCgpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZVNpZGVOYXZFZmZlY3RzKCksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdENvbmZpZygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgSW5kZXhQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVJdGVtQWN0aW9uc0NvbmZpZygpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZVR5cGVDb25maWcoKSxcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0Q29uZmlnKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gSW5kZXhQYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBzdHlsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnN0eWxlKSk7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgZ3JvdXBlZEJ5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZ3JvdXBlZEJ5KSk7XG4gIHJlYWRvbmx5IGdyb3VwS2V5cyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmdyb3VwS2V5cykpO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudHlwZSkpO1xuICByZWFkb25seSBpdGVtcyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1zKSk7XG4gIHJlYWRvbmx5IGl0ZW1zTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IGNvbnZlcnRUb0l0ZW1zTWFwKHRoaXMuaXRlbXMoKSkpKTtcbiAgcmVhZG9ubHkgaXRlbUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pdGVtQWN0aW9ucykpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNlbGVjdGlvbikpO1xuICByZWFkb25seSBoaWdobGlnaHQgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5oaWdobGlnaHQpKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2U3RhcnRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IG5hdkVuZEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZFbmRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGZpbHRlckZ1bmMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5maWx0ZXJGdW5jKSk7XG4gIHJlYWRvbmx5IGl0ZW1zTWFwcGVyID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXRlbXNNYXBwZXIpKTtcbiAgcmVhZG9ubHkgdGFibGVDaGlsZHJlbktleSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRhYmxlQ2hpbGRyZW5LZXkpKTtcblxuICByZWFkb25seSBpdGVtc0xlbmd0aCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1zTGVuZ3RoKSk7XG4gIHJlYWRvbmx5IGRpc3BsYXllZEl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbXMoKSA/PyBbXTtcbiAgICBjb25zdCBmaWx0ZXJGdW5jID0gdGhpcy5maWx0ZXJGdW5jKCk7XG4gICAgaXRlbXMgPSBmaWx0ZXJGdW5jID8gaXRlbXMuZmlsdGVyKGZpbHRlckZ1bmMpIDogaXRlbXM7XG4gICAgY29uc3QgaXRlbXNNYXBwZXIgPSB0aGlzLml0ZW1zTWFwcGVyKCk7XG4gICAgcmV0dXJuIGl0ZW1zTWFwcGVyID8gaXRlbXNNYXBwZXIoaXRlbXMpIDogaXRlbXM7XG4gIH0pO1xuICByZWFkb25seSBzZWxlY3RlZElkcyA9IGNvbXB1dGVkQXN5bmMoKCkgPT4gdGhpcy5zZWxlY3Rpb24oKS5jaGFuZ2VkLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuc2VsZWN0aW9uKCk/LnNlbGVjdGVkID8/IFtdKSxcbiAgKSwge2luaXRpYWxWYWx1ZTogW119KTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pdGVtcygpID8/IFtdKS5maWx0ZXIoZW50cnkgPT4gdGhpcy5zZWxlY3RlZElkcygpLmluY2x1ZGVzKGVudHJ5LmlkKSkpO1xuICByZWFkb25seSBpc0FsbFNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEl0ZW1zKCkuZXZlcnkoZW50cnkgPT4gdGhpcy5zZWxlY3RlZElkcygpLmluY2x1ZGVzKGVudHJ5LmlkKSk7XG4gIH0pO1xuICByZWFkb25seSBza2lwID0gaW5qZWN0Um91dGVTa2lwKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc29sZS5kZWJ1ZygnaXRlbXNNYXA6JywgdGhpcy5pdGVtc01hcCgpKTtcbiAgICB9KVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2VzLWluZGV4JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldEZyYW1lLFxuICAgIEluZGV4VGVtcGxhdGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gIDxmcmFtZXMtcm91dGVyLW91dGxldCBbc2tpcF09XCJzdG9yZS5za2lwKClcIj5cbiAgICA8dGVtcGxhdGVzLWluZGV4XG4gICAgICBbc3R5bGVdPVwic3RvcmUuc3R5bGUoKVwiXG4gICAgICBbdGl0bGVdPVwic3RvcmUudGl0bGUoKVwiXG4gICAgICBbdHlwZV09XCJzdG9yZS50eXBlKClcIlxuICAgICAgW3RhYmxlQ2hpbGRyZW5LZXldPVwic3RvcmUudGFibGVDaGlsZHJlbktleSgpXCJcbiAgICAgIFtpdGVtc109XCJzdG9yZS5kaXNwbGF5ZWRJdGVtcygpXCJcbiAgICAgIFtpdGVtc01hcF09XCJzdG9yZS5pdGVtc01hcCgpXCJcbiAgICAgIFtpdGVtc0xlbmd0aF09XCJzdG9yZS5pdGVtc0xlbmd0aCgpXCJcbiAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgIFtncm91cGVkQnldPVwic3RvcmUuZ3JvdXBlZEJ5KClcIlxuICAgICAgW2dyb3VwS2V5c109XCJzdG9yZS5ncm91cEtleXMoKVwiXG4gICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgW3NlbGVjdGlvbl09XCJzdG9yZS5zZWxlY3Rpb24oKVwiXG4gICAgICBbaGlnaGxpZ2h0XT1cInN0b3JlLmhpZ2hsaWdodCgpXCJcbiAgICAgIFtuYXZTdGFydEFjdGlvbnNdPVwic3RvcmUubmF2U3RhcnRBY3Rpb25zKClcIlxuICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgLz5cbiAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2luZGV4LnBhZ2Uuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBJbmRleFBhZ2VTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnaXRlbXMnLFxuICAgICAgICAnaXRlbXNNYXAnLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbmRleFBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChJbmRleFBhZ2VTdG9yZSk7XG4gIHByb3RlY3RlZCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJvdGVjdGVkIHNoZWV0ID0gaW5qZWN0KFNoZWV0U2VydmljZSk7XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLkJBQ0spXG4gIHByb3RlY3RlZCBiYWNrKCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5CQUNLfSk7XG4gIH1cblxuICBARWZmZWN0KE5hdkFjdGlvbklkLkNMT1NFKVxuICBwcm90ZWN0ZWQgY2xvc2UoKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLkNMT1NFfSk7XG4gIH1cblxuICBARWZmZWN0KEluZGV4VGVtcGxhdGUuQWN0aW9uSWQuSVRFTV9DTElDSylcbiAgcHJvdGVjdGVkIGl0ZW1DbGljayhpdGVtOiB7aWQ6IHN0cmluZ30pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuREVUQUlMLCBwYXlsb2FkOiBpdGVtfSk7XG4gIH1cblxuICBARWZmZWN0KEluZGV4VGVtcGxhdGUuQWN0aW9uSWQuVEFCTEVfSEVBREVSX0NIRUNLQk9YX0NMSUNLKVxuICBwcm90ZWN0ZWQgb25DaGVja2JveENsaWNrKGl0ZW06IHtpZDogc3RyaW5nfSkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5IRUFERVJfQ0hFQ0tCT1hfQ0xJQ0ssIHBheWxvYWQ6IGl0ZW19KTtcbiAgfVxuXG4gIC8vIE1FTU8oQG5vbnRhbmdlbnQpOiDjgrfjg7zjg4jjga7jgqLjgq/jgrfjg6fjg7PjgpLjg5rjg7zjgrjjgavmjIHjgZ/jgZvjgovjgbnjgY3jgYvjga/opoHmpJzoqI7jgIJcbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLkxJU1RfSVRFTV9CVVRUT05fQ0xJQ0tFRClcbiAgcHJvdGVjdGVkIG9uSXRlbUJ1dHRvbkNsaWNrZWQoaXRlbTogYW55KSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHJlc29sdmVBY3Rpb25zKHRoaXMuc3RvcmUuaXRlbUFjdGlvbnMoKSwgaXRlbSk7XG4gICAgdGhpcy5zaGVldC5vcGVuQWN0aW9ucyhhY3Rpb25zKS50aGVuKChhY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgICBpZDogYWN0aW9uLmlkLFxuICAgICAgICBwYXlsb2FkOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
482
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL19pbmRleC9pbmRleC5wYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBb0IsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBWSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBVyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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Ozs7Ozs7Ozs7Ozs7R0FxQlQsNnBEQXhCQyxpQkFBaUIsc0ZBQ2pCLGFBQWE7O0FBeUNMO0lBRFQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDOzs7O3FDQUduQztBQUdTO0lBRFQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7c0NBR3pCO0FBR1M7SUFEVCxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7Ozs7MENBR3pDO0FBR1M7SUFEVCxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQzs7OztnREFHMUQ7QUFJUztJQURULE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDOzs7O29EQVN2RDsyRkFuQ1UsU0FBUztrQkF4Q3JCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUDt3QkFDUCxpQkFBaUI7d0JBQ2pCLGFBQWE7cUJBQ2QsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJULGtCQUVlO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxjQUFjOzRCQUN6QixNQUFNLEVBQUU7Z0NBQ04sT0FBTztnQ0FDUCxVQUFVOzZCQUNYO3lCQUNGO3FCQUNGOzhCQVFTLElBQUksTUFLSixLQUFLLE1BS0wsU0FBUyxNQUtULGVBQWUsTUFNZixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBQcm92aWRlciwgU2lnbmFsLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBydW5JbkluamVjdGlvbkNvbnRleHQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvcm91dGVyLW91dGxldCc7XG5pbXBvcnQgeyBjb252ZXJ0VG9JdGVtc01hcCwgZ2V0VHlwZSwgSW5kZXhUZW1wbGF0ZSwgSXRlbXNNYXAgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL19pbmRleCc7XG5pbXBvcnQgeyBpbmplY3RBbGwgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zdG9yZXMvZW50aXRpZXMnO1xuaW1wb3J0IHsgaW5qZWN0TW9kZWwsIGluamVjdE1vZGVsTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpbic7XG5pbXBvcnQgeyBBY3Rpb25zLCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlLCBfY29tcHV0ZWQsIGFwcGx5VG9JbnB1dCwgcHJvdmlkZUVmZmVjdCwgcmVzb2x2ZUFjdGlvbnMgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgYnVpbGRDb2x1bW5zLCBpbmplY3RJbmRleEZvcm0gfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvb3JnYW5pc21zL3RhYmxlJztcbmltcG9ydCB7IGluamVjdElzUm9vdFBhZ2UsIGluamVjdE5hdlN0YXJ0QWN0aW9ucywgaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucywgbWFrZUNvbmZpZywgTmF2QWN0aW9uSWQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aSc7XG5pbXBvcnQgeyBpbmplY3RFbnRpdHlJZE5hbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybSc7XG5pbXBvcnQgeyBjb21wdXRlZFJhd1ZhbHVlLCBpbmplY3RDaGlsZFJvdXRlUGFyYW0sIGluamVjdEhhc05leHQsIGluamVjdFJvdXRlU2tpcCB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBJbmRleFBpcGUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9pbmRleCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcbmltcG9ydCB7IG1ha2VJbml0aWFsaXplckNvbmZpZyB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2luaXRpYWxpemVyJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5kZXhMZW5ndGhQaXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvaW5kZXgtbGVuZ3RoJztcbmltcG9ydCB7IFNoZWV0U2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3NoZWV0cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RIaWdobGlnaHQoa2V5OiBzdHJpbmcpOiBTaWduYWw8U2VsZWN0aW9uTW9kZWw8c3RyaW5nPj4ge1xuICBjb25zdCBpdGVtSWQgPSBpbmplY3RDaGlsZFJvdXRlUGFyYW0oa2V5KTtcbiAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IG5ldyBTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+KHRydWUsIGl0ZW1JZCgpID8gW2l0ZW1JZCgpXSA6IFtdKSk7XG59XG5cbnR5cGUgRmlsdGVyRnVuYyA9IChpdGVtOiB7aWQ6IHN0cmluZ30pID0+IGJvb2xlYW47XG5jb25zdCBGSUxURVJfRlVOQyA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoaW5qZWN0b3I/OiBJbmplY3RvcikgPT4gRmlsdGVyRnVuYz4oJ0ZJTFRFUl9GVU5DJyk7XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUZpbHRlckZ1bmModXNlRmFjdG9yeTogKCkgPT4gRmlsdGVyRnVuYykge1xuICBjb25zdCB3cmFwcGVkID0gKCkgPT4gKGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKSkgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCB1c2VGYWN0b3J5KTtcblx0cmV0dXJuIHsgcHJvdmlkZTogRklMVEVSX0ZVTkMsIHVzZUZhY3Rvcnk6IHdyYXBwZWQgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RGaWx0ZXJGdW5jKCkge1xuICByZXR1cm4gKGluamVjdChGSUxURVJfRlVOQywge29wdGlvbmFsOiB0cnVlfSkgPz8gKCgpID0+ICgpID0+IHRydWUpKSgpO1xufVxuXG5lbnVtIEFjdGlvbklkIHtcbiAgQkFDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzOnBhZ2VzL2luZGV4XSBCYWNrJyxcbiAgQ0hFQ0tCT1hfQ0xJQ0sgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9pbmRleF0gQ2hlY2tib3hDbGljaycsXG4gIEhFQURFUl9DSEVDS0JPWF9DTElDSyA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4XSBIZWFkZXJDaGVja2JveENsaWNrJyxcbiAgQUREID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvaW5kZXhdIEFkZCcsXG4gIERFVEFJTCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4XSBEZXRhaWwnLFxuICBDTE9TRSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4XSBDbG9zZScsXG4gIExJU1RfSVRFTV9CVVRUT05fQ0xJQ0tFRCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2luZGV4XSBMaXN0SXRlbUJ1dHRvbkNsaWNrJyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZUFsbFNlbGVjdGlvbihzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPHN0cmluZz4sIGl0ZW1zOiB7aWQ6IHN0cmluZ31bXSkge1xuICBpZiAoc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCA9PT0gaXRlbXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG5ldyBTZWxlY3Rpb25Nb2RlbDxzdHJpbmc+KHRydWUsIFtdKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFNlbGVjdGlvbk1vZGVsPHN0cmluZz4odHJ1ZSwgaXRlbXMubWFwKGVudHJ5ID0+IGVudHJ5LmlkKSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJ5SnNvblBhcnNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3ZlcnlGb3JtVmFsdWUoZm9ybTogQWJzdHJhY3RDb250cm9sLCBrZXk6IHN0cmluZyA9ICdkZWZhdWx0Jykge1xuICAvLyBGb3JtQ29udHJvbOOBruWgtOWQiOOBqEZvcm1Hcm91cOOBruWgtOWQiOOBp+WHpueQhuOCkuWIhuOBkeOCi1xuICBpZiAoZm9ybSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgIGZvcm0ucGF0Y2hWYWx1ZSh0cnlKc29uUGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSkpO1xuICAgIGZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIGNvbnNvbGUuZGVidWcoJ2xvYWRlZDonLCB2YWx1ZSk7XG4gICAgZm9ybS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ3ZhbHVlOicsIHZhbHVlKTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG59XG5cbkBUb2tlbml6ZWRUeXBlKClcbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgSW5kZXhQYWdlU3RvcmU8VD4gZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICBjb25zdCBoaWdobGlnaHQgPSBpbmplY3RIaWdobGlnaHQoaW5qZWN0RW50aXR5SWROYW1lKCkpO1xuICAgIGNvbnN0IGlzUm9vdFBhZ2UgPSBpbmplY3RJc1Jvb3RQYWdlKCk7XG4gICAgY29uc3QgbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0TmF2U3RhcnRBY3Rpb25zKGlzUm9vdFBhZ2UpOyAgXG4gICAgY29uc3QgZmlsdGVyRnVuYyA9IGluamVjdEZpbHRlckZ1bmMoKTtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBpbmplY3RNb2RlbE5hbWUoKTtcbiAgICByZXR1cm4gKCkgPT4gKHtcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIHdpZHRoOiAndmFyKC0tcGFnZS13aWR0aC1sdjMpJyxcbiAgICAgIH0sXG4gICAgICBncm91cGVkQnk6IDxzdHJpbmc+bnVsbCxcbiAgICAgIGdyb3VwS2V5czogW10sXG4gICAgICBpdGVtczogW10sXG4gICAgICBpdGVtc01hcDogPEl0ZW1zTWFwPGFueT4+dW5kZWZpbmVkLFxuICAgICAgaXRlbUFjdGlvbnM6ICgoKSA9PiBbXSkgYXMgQWN0aW9ucyxcbiAgICAgIGl0ZW1zTWFwcGVyOiA8KGl0ZW1zOiBhbnlbXSkgPT4gYW55W10+dW5kZWZpbmVkLFxuICAgICAgaXRlbXNMZW5ndGg6IDAsXG4gICAgICBmaWx0ZXJGdW5jLFxuICAgICAgdGl0bGU6IG1vZGVsTmFtZSgpID8gYCR7bW9kZWxOYW1lKCl95LiA6KanYCA6IGDlj5blvpfkuK0uLi5gLFxuICAgICAgdHlwZTogPCdsaXN0JyB8ICd0YWJsZScgfCAnZ3JpZCc+J3RhYmxlJyxcbiAgICAgIHNlbGVjdGlvbjogbmV3IFNlbGVjdGlvbk1vZGVsPHN0cmluZz4odHJ1ZSwgW10pLFxuICAgICAgaGlnaGxpZ2h0OiBoaWdobGlnaHQoKSxcbiAgICAgIGZvcm06IG5ldyBGb3JtR3JvdXAoe30pIGFzIEFic3RyYWN0Q29udHJvbCxcbiAgICAgIHRhYmxlQ2hpbGRyZW5LZXk6IG51bGwsXG4gICAgICBuYXZTdGFydEFjdGlvbnM6IG5hdlN0YXJ0QWN0aW9ucygpLFxuICAgICAgbmF2RW5kQWN0aW9uczogPEFjdGlvbnM+W10sXG4gICAgfSk7XG4gIH0sIFsnY29tcG9uZW50cycsICdwYWdlcycsICdpbmRleCddKTtcblxuICBzdGF0aWMgcHJvdmlkZVR5cGVDb25maWcoKSB7XG4gICAgcmV0dXJuIEluZGV4UGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICAgIHJldHVybiAoY29uZmlnLCBjb250ZXh0KSA9PiAoey4uLmNvbmZpZywgdHlwZTogZ2V0VHlwZShjb250ZXh0KX0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVJdGVtc0Zyb21SZXBvc2l0b3J5KCkge1xuICAgIHJldHVybiBJbmRleFBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgICBjb25zdCBNb2RlbCA9IGluamVjdE1vZGVsKCk7XG4gICAgICBjb25zdCBpdGVtcyA9IE1vZGVsID8gaW5qZWN0QWxsKE1vZGVsKSA6IHNpZ25hbChbXSk7XG4gICAgICByZXR1cm4gKGNvbmZpZykgPT4gKHsuLi5jb25maWcsIGl0ZW1zOiBpdGVtcygpfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUl0ZW1BY3Rpb25zQ29uZmlnKCkge1xuICAgIHJldHVybiBJbmRleFBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgoKSA9PiB7XG4gICAgICByZXR1cm4gKGNvbmZpZykgPT4gKHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBpdGVtQWN0aW9uczogKGl0ZW0pID0+IFtcbiAgICAgICAgICB7IGlkOiBBY3Rpb25JZC5ERVRBSUwsIGljb246ICdvcGVuX2luX25ldycsIG5hbWU6ICfoqbPntLAnLCBwYXlsb2FkOiBpdGVtIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlU2lkZUFwcE5hdlN0YXJ0QWN0aW9ucygpIHtcbiAgICByZXR1cm4gSW5kZXhQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKCkgPT4ge1xuICAgICAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoJ3NpZGUnKTtcbiAgICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7XG4gICAgICByZXR1cm4gKGNvbmZpZykgPT4gKHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBuYXZTdGFydEFjdGlvbnM6IG5hdlN0YXJ0QWN0aW9ucygpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgSW5pdGlhbGl6ZXIgPSBtYWtlSW5pdGlhbGl6ZXJDb25maWcoSW5kZXhQYWdlU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZUZvcm1Jbml0aWFsaXplcigpIHtcbiAgICByZXR1cm4gSW5kZXhQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSBpbmplY3RJbmRleEZvcm0oe1xuICAgICAgICBjb2x1bW5zOiBidWlsZENvbHVtbnMoW1xuICAgICAgICAgICdpZCcsIFxuICAgICAgICAgICdjcmVhdGVkQXQnLFxuICAgICAgICAgICd1cGRhdGVkQXQnLFxuICAgICAgICAgIChpdGVtOiB7aWQ6IHN0cmluZ30pID0+IFt7IGlkOiBBY3Rpb25JZC5ERVRBSUwsIGljb246ICdvcGVuX2luX25ldycsIG5hbWU6ICfoqbPntLAnLCBwYXlsb2FkOiBpdGVtIH1dLFxuICAgICAgICBdKSxcbiAgICAgIH0pO1xuICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnZm9ybScsIGZvcm0pO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlRm9ybVZhbHVlU3RvcmFnZUluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgICAgY29uc3QgcGF0aHMgPSByb3V0ZS5wYXRoRnJvbVJvb3QubWFwKHIgPT4gcj8ucm91dGVDb25maWc/LnBhdGgpO1xuICAgICAgY29uc3Qga2V5ID0gYEBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9pbmRleDoke3BhdGhzLmZpbHRlcigocGF0aCkgPT4gISFwYXRoKS5qb2luKCcvJyl9YDtcbiAgICAgIHJlY292ZXJ5Rm9ybVZhbHVlKHN0b3JlLmZvcm0oKSwga2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSXRlbXNMZW5ndGhJbml0aWFsaXplcigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgSW5kZXhMZW5ndGhQaXBlLFxuICAgICAgSW5kZXhQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICAgICAgY29uc3QgcGlwZSA9IGluamVjdChJbmRleExlbmd0aFBpcGUpO1xuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSBjb21wdXRlZFJhd1ZhbHVlKCgpID0+IHN0b3JlLmZvcm0oKSk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXRlbXNMZW5ndGggPSBwaXBlLnRyYW5zZm9ybShzdG9yZS5pdGVtcygpLCBmb3JtVmFsdWUoKSk7XG4gICAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnaXRlbXNMZW5ndGgnLCBpdGVtc0xlbmd0aCk7XG4gICAgICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSXRlbXNNYXBwZXJJbml0aWFsaXplcigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgSW5kZXhQaXBlLFxuXHRcdFx0SW5kZXhQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcblx0XHRcdFx0Y29uc3QgZm9ybVZhbHVlID0gY29tcHV0ZWRSYXdWYWx1ZSgoKSA9PiBzdG9yZS5mb3JtKCkpO1xuXHRcdFx0XHRjb25zdCBpbmRleFBpcGUgPSBpbmplY3QoSW5kZXhQaXBlKTtcblx0XHRcdFx0ZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZvcm1WYWx1ZSgpIGFzIGFueTtcblx0XHRcdFx0ICBjb25zdCBpdGVtc01hcHBlciA9IChpdGVtczogYW55W10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckZ1bmMgPSBzdG9yZS5maWx0ZXJGdW5jKCk7XG4gICAgICAgICAgICByZXR1cm4gaW5kZXhQaXBlLnRyYW5zZm9ybShpdGVtcy5maWx0ZXIoZmlsdGVyRnVuYyksIHZhbHVlKTtcbiAgICAgICAgICB9O1xuXHRcdFx0XHRcdGFwcGx5VG9JbnB1dChzdG9yZSwgJ2l0ZW1zTWFwcGVyJywgaXRlbXNNYXBwZXIpO1xuXHRcdFx0XHR9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pO1xuXHRcdFx0fSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQ29sdW1uc0luaXRpYWxpemVyKHVzZUZhY3Rvcnk6ICgpID0+IHN0cmluZ1tdKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEluZGV4UGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSB1c2VGYWN0b3J5KCk7XG4gICAgICAgIGNvbnN0IGZvcm0gPSBpbmplY3RJbmRleEZvcm0oeyBjb2x1bW5zOiBidWlsZENvbHVtbnMoY29sdW1ucykgfSk7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ2Zvcm0nLCBmb3JtKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUl0ZW1zSW5pdGlhbGl6ZXIoaXRlbXNGYWN0b3J5OiAoKSA9PiBhbnlbXSk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zID0gaXRlbXNGYWN0b3J5KCk7XG5cdFx0XHRcdFx0YXBwbHlUb0lucHV0KHN0b3JlLCAnaXRlbXMnLCBpdGVtcyk7XHRcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKCdpdGVtczonLCBpdGVtcyk7XG5cdFx0XHRcdH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuXHRcdFx0fSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRm9ybUluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRm9ybVZhbHVlU3RvcmFnZUluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlSXRlbXNMZW5ndGhJbml0aWFsaXplcigpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZUl0ZW1zTWFwcGVySW5pdGlhbGl6ZXIoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkJBQ0ssICgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiBoaXN0b3J5LmJhY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGV0YWlsRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkRFVEFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgY29uc3QgaGFzTmV4dCA9IGluamVjdEhhc05leHQoKTtcbiAgICAgIHJldHVybiAoaXRlbToge2lkOiBzdHJpbmd9KSA9PiB7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0uaWRdLCB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogc3RvcmUucm91dGUsXG4gICAgICAgICAgcmVwbGFjZVVybDogaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQWRkRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEluZGV4UGFnZVN0b3JlLkFjdGlvbklkLkFERCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgaGFzTmV4dCA9IGluamVjdEhhc05leHQoKTtcbiAgICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoWyduZXcnXSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6ICEhaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNoZWNrYm94Q2xpY2tFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoSW5kZXhUZW1wbGF0ZS5BY3Rpb25JZC5UQUJMRV9DSEVDS0JPWF9DTElDSywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgcmV0dXJuIChpdGVtOiB7aWQ6IHN0cmluZ30pID0+IHtcbiAgICAgICAgc3RvcmUuc2VsZWN0aW9uKCkudG9nZ2xlKGl0ZW0uaWQpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGFibGVIZWFkZXJDbGlja0VmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLlRBQkxFX0hFQURFUl9DTElDSywgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RvcmUgPSBpbmplY3QoSW5kZXhQYWdlU3RvcmUpO1xuICAgICAgcmV0dXJuIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBzb3J0ID0gc3RvcmUuZm9ybSgpLmdldChbJ3NvcnQnXSkudmFsdWU7XG4gICAgICAgIGNvbnN0IG9yZGVyID0ga2V5ID09PSBzb3J0LmtleSAmJiBzb3J0Lm9yZGVyID09PSAnYXNjJyA/ICdkZXNjJyA6ICdhc2MnO1xuICAgICAgICBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZSh7c29ydDoge2tleSwgb3JkZXJ9fSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVTaWRlTmF2RWZmZWN0cygpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChOYXZBY3Rpb25JZC5UT0dHTEVfU0lERV9OQVYsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiBhcHAuc2lkZU5hdi50b2dnbGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSGVhZGVyQ2hlY2tib3hDbGlja0VmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5IRUFERVJfQ0hFQ0tCT1hfQ0xJQ0ssICgpID0+IHtcbiAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KEluZGV4UGFnZVN0b3JlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRvZ2dsZUFsbFNlbGVjdGlvbihzdG9yZS5zZWxlY3Rpb24oKSwgc3RvcmUuZGlzcGxheWVkSXRlbXMoKSk7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3NlbGVjdGlvbicsIHNlbGVjdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGV0YWlsRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlQWRkRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZUhlYWRlckNoZWNrYm94Q2xpY2tFZmZlY3QoKSxcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVDaGVja2JveENsaWNrRWZmZWN0KCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlVGFibGVIZWFkZXJDbGlja0VmZmVjdCgpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZVNpZGVOYXZFZmZlY3RzKCksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdENvbmZpZygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgSW5kZXhQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVJdGVtQWN0aW9uc0NvbmZpZygpLFxuICAgICAgSW5kZXhQYWdlU3RvcmUucHJvdmlkZVR5cGVDb25maWcoKSxcbiAgICBdXG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0Q29uZmlnKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBJbmRleFBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gSW5kZXhQYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBzdHlsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnN0eWxlKSk7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgZ3JvdXBlZEJ5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZ3JvdXBlZEJ5KSk7XG4gIHJlYWRvbmx5IGdyb3VwS2V5cyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmdyb3VwS2V5cykpO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudHlwZSkpO1xuICByZWFkb25seSBpdGVtcyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1zKSk7XG4gIHJlYWRvbmx5IGl0ZW1zTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IGNvbnZlcnRUb0l0ZW1zTWFwKHRoaXMuZGlzcGxheWVkSXRlbXMoKSkpKTtcbiAgcmVhZG9ubHkgaXRlbUFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5pdGVtQWN0aW9ucykpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnNlbGVjdGlvbikpO1xuICByZWFkb25seSBoaWdobGlnaHQgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5oaWdobGlnaHQpKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2U3RhcnRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IG5hdkVuZEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZFbmRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGZpbHRlckZ1bmMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5maWx0ZXJGdW5jKSk7XG4gIHJlYWRvbmx5IGl0ZW1zTWFwcGVyID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuaXRlbXNNYXBwZXIpKTtcbiAgcmVhZG9ubHkgdGFibGVDaGlsZHJlbktleSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRhYmxlQ2hpbGRyZW5LZXkpKTtcblxuICByZWFkb25seSBpdGVtc0xlbmd0aCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1zTGVuZ3RoKSk7XG4gIHJlYWRvbmx5IGRpc3BsYXllZEl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbXMoKSA/PyBbXTtcbiAgICBjb25zdCBmaWx0ZXJGdW5jID0gdGhpcy5maWx0ZXJGdW5jKCk7XG4gICAgaXRlbXMgPSBmaWx0ZXJGdW5jID8gaXRlbXMuZmlsdGVyKGZpbHRlckZ1bmMpIDogaXRlbXM7XG4gICAgY29uc3QgaXRlbXNNYXBwZXIgPSB0aGlzLml0ZW1zTWFwcGVyKCk7XG4gICAgcmV0dXJuIGl0ZW1zTWFwcGVyID8gaXRlbXNNYXBwZXIoaXRlbXMpIDogaXRlbXM7XG4gIH0pO1xuICByZWFkb25seSBzZWxlY3RlZElkcyA9IGNvbXB1dGVkQXN5bmMoKCkgPT4gdGhpcy5zZWxlY3Rpb24oKS5jaGFuZ2VkLnBpcGUoXG4gICAgbWFwKCgpID0+IHRoaXMuc2VsZWN0aW9uKCk/LnNlbGVjdGVkID8/IFtdKSxcbiAgKSwge2luaXRpYWxWYWx1ZTogW119KTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pdGVtcygpID8/IFtdKS5maWx0ZXIoZW50cnkgPT4gdGhpcy5zZWxlY3RlZElkcygpLmluY2x1ZGVzKGVudHJ5LmlkKSkpO1xuICByZWFkb25seSBpc0FsbFNlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEl0ZW1zKCkuZXZlcnkoZW50cnkgPT4gdGhpcy5zZWxlY3RlZElkcygpLmluY2x1ZGVzKGVudHJ5LmlkKSk7XG4gIH0pO1xuICByZWFkb25seSBza2lwID0gaW5qZWN0Um91dGVTa2lwKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBJbmRleFBhZ2VTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc29sZS5kZWJ1ZygnaXRlbXNNYXA6JywgdGhpcy5pdGVtc01hcCgpKTtcbiAgICB9KVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2VzLWluZGV4JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldEZyYW1lLFxuICAgIEluZGV4VGVtcGxhdGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gIDxmcmFtZXMtcm91dGVyLW91dGxldCBbc2tpcF09XCJzdG9yZS5za2lwKClcIj5cbiAgICA8dGVtcGxhdGVzLWluZGV4XG4gICAgICBbc3R5bGVdPVwic3RvcmUuc3R5bGUoKVwiXG4gICAgICBbdGl0bGVdPVwic3RvcmUudGl0bGUoKVwiXG4gICAgICBbdHlwZV09XCJzdG9yZS50eXBlKClcIlxuICAgICAgW3RhYmxlQ2hpbGRyZW5LZXldPVwic3RvcmUudGFibGVDaGlsZHJlbktleSgpXCJcbiAgICAgIFtpdGVtc109XCJzdG9yZS5kaXNwbGF5ZWRJdGVtcygpXCJcbiAgICAgIFtpdGVtc01hcF09XCJzdG9yZS5pdGVtc01hcCgpXCJcbiAgICAgIFtpdGVtc0xlbmd0aF09XCJzdG9yZS5pdGVtc0xlbmd0aCgpXCJcbiAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgIFtncm91cGVkQnldPVwic3RvcmUuZ3JvdXBlZEJ5KClcIlxuICAgICAgW2dyb3VwS2V5c109XCJzdG9yZS5ncm91cEtleXMoKVwiXG4gICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgW3NlbGVjdGlvbl09XCJzdG9yZS5zZWxlY3Rpb24oKVwiXG4gICAgICBbaGlnaGxpZ2h0XT1cInN0b3JlLmhpZ2hsaWdodCgpXCJcbiAgICAgIFtuYXZTdGFydEFjdGlvbnNdPVwic3RvcmUubmF2U3RhcnRBY3Rpb25zKClcIlxuICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgLz5cbiAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2luZGV4LnBhZ2Uuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBJbmRleFBhZ2VTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnaXRlbXMnLFxuICAgICAgICAnaXRlbXNNYXAnLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbmRleFBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChJbmRleFBhZ2VTdG9yZSk7XG4gIHByb3RlY3RlZCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJvdGVjdGVkIHNoZWV0ID0gaW5qZWN0KFNoZWV0U2VydmljZSk7XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLkJBQ0spXG4gIHByb3RlY3RlZCBiYWNrKCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5CQUNLfSk7XG4gIH1cblxuICBARWZmZWN0KE5hdkFjdGlvbklkLkNMT1NFKVxuICBwcm90ZWN0ZWQgY2xvc2UoKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLkNMT1NFfSk7XG4gIH1cblxuICBARWZmZWN0KEluZGV4VGVtcGxhdGUuQWN0aW9uSWQuSVRFTV9DTElDSylcbiAgcHJvdGVjdGVkIGl0ZW1DbGljayhpdGVtOiB7aWQ6IHN0cmluZ30pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuREVUQUlMLCBwYXlsb2FkOiBpdGVtfSk7XG4gIH1cblxuICBARWZmZWN0KEluZGV4VGVtcGxhdGUuQWN0aW9uSWQuVEFCTEVfSEVBREVSX0NIRUNLQk9YX0NMSUNLKVxuICBwcm90ZWN0ZWQgb25DaGVja2JveENsaWNrKGl0ZW06IHtpZDogc3RyaW5nfSkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBJbmRleFBhZ2VTdG9yZS5BY3Rpb25JZC5IRUFERVJfQ0hFQ0tCT1hfQ0xJQ0ssIHBheWxvYWQ6IGl0ZW19KTtcbiAgfVxuXG4gIC8vIE1FTU8oQG5vbnRhbmdlbnQpOiDjgrfjg7zjg4jjga7jgqLjgq/jgrfjg6fjg7PjgpLjg5rjg7zjgrjjgavmjIHjgZ/jgZvjgovjgbnjgY3jgYvjga/opoHmpJzoqI7jgIJcbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLkxJU1RfSVRFTV9CVVRUT05fQ0xJQ0tFRClcbiAgcHJvdGVjdGVkIG9uSXRlbUJ1dHRvbkNsaWNrZWQoaXRlbTogYW55KSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHJlc29sdmVBY3Rpb25zKHRoaXMuc3RvcmUuaXRlbUFjdGlvbnMoKSwgaXRlbSk7XG4gICAgdGhpcy5zaGVldC5vcGVuQWN0aW9ucyhhY3Rpb25zKS50aGVuKChhY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuZGlzcGF0Y2goe1xuICAgICAgICBpZDogYWN0aW9uLmlkLFxuICAgICAgICBwYXlsb2FkOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -79,7 +79,7 @@ export class ColumnsPage extends NgAtomicComponent {
|
|
|
79
79
|
(action)="dispatch($event)"
|
|
80
80
|
/>
|
|
81
81
|
</frames-router-outlet>
|
|
82
|
-
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-
|
|
82
|
+
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-KbKd: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-KbKd: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-KbKd: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-KbKd: var(--primary-color);--on-primary-color-SCOPED-IN-columns-KbKd: var(--on-primary-color);--surface-color-SCOPED-IN-columns-KbKd: var(--surface-color);--on-surface-color-SCOPED-IN-columns-KbKd: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-KbKd: var(--on-background-color);--background-color-SCOPED-IN-columns-KbKd: var(--background-color);--navigator-background-color-SCOPED-IN-columns-KbKd: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-KbKd: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-KbKd: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-KbKd: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-KbKd)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-KbKd);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-KbKd);--surface-color: var(--surface-color-SCOPED-IN-columns-KbKd);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-KbKd);--background-color: var(--background-color-SCOPED-IN-columns-KbKd);--on-background-color: var(--on-background-color-SCOPED-IN-columns-KbKd);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-KbKd);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-KbKd);--table-background-color: var(--table-background-color-SCOPED-IN-columns-KbKd);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-KbKd)}\n"], dependencies: [{ kind: "component", type: ColumnsTemplate, selector: "templates-columns" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }] }); }
|
|
83
83
|
}
|
|
84
84
|
__decorate([
|
|
85
85
|
Effect(NavActionId.BACK),
|
|
@@ -115,6 +115,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
115
115
|
'form',
|
|
116
116
|
],
|
|
117
117
|
},
|
|
118
|
-
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-
|
|
118
|
+
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-KbKd: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-KbKd: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-KbKd: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-KbKd: var(--primary-color);--on-primary-color-SCOPED-IN-columns-KbKd: var(--on-primary-color);--surface-color-SCOPED-IN-columns-KbKd: var(--surface-color);--on-surface-color-SCOPED-IN-columns-KbKd: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-KbKd: var(--on-background-color);--background-color-SCOPED-IN-columns-KbKd: var(--background-color);--navigator-background-color-SCOPED-IN-columns-KbKd: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-KbKd: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-KbKd: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-KbKd: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-KbKd)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-KbKd);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-KbKd);--surface-color: var(--surface-color-SCOPED-IN-columns-KbKd);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-KbKd);--background-color: var(--background-color-SCOPED-IN-columns-KbKd);--on-background-color: var(--on-background-color-SCOPED-IN-columns-KbKd);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-KbKd);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-KbKd);--table-background-color: var(--table-background-color-SCOPED-IN-columns-KbKd);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-KbKd)}\n"] }]
|
|
119
119
|
}], propDecorators: { back: [], close: [] } });
|
|
120
120
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvY29sdW1ucy9jb2x1bW5zLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxTQUFTLEVBQVcsWUFBWSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHbEksSUFBSyxRQUdKO0FBSEQsV0FBSyxRQUFRO0lBQ1gsK0RBQW1ELENBQUE7SUFDbkQsaUVBQXFELENBQUE7QUFDdkQsQ0FBQyxFQUhJLFFBQVEsS0FBUixRQUFRLFFBR1o7QUFJTSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLG1CQUFtQjs7YUFDdkMsYUFBUSxHQUFHLFFBQVEsQUFBWCxDQUFZO2FBQ3BCLFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNaLEtBQUssRUFBRSxTQUFTO1lBQ2hCLGVBQWUsRUFBVyxF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VVQsa0JBRWU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGdCQUFnQjs0QkFDM0IsTUFBTSxFQUFFO2dDQUNOLE1BQU07NkJBQ1A7eUJBQ0Y7cUJBQ0Y7OEJBTVMsSUFBSSxNQUtKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5zVGVtcGxhdGUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL2NvbHVtbnMnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9pbml0aWFsaXplcic7XG5pbXBvcnQgeyBpbmplY3RJc1Jvb3RQYWdlLCBpbmplY3RTaWRlQXBwTmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IF9jb21wdXRlZCwgQWN0aW9ucywgYXBwbHlUb0lucHV0LCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IHRpdGxlIH0gZnJvbSAncHJvY2Vzcyc7XG5cbmVudW0gQWN0aW9uSWQge1xuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvY29sdW1uc10gQmFjaycsXG4gIENMT1NFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvY29sdW1uc10gQ2xvc2UnLFxufVxuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ3BhZ2VzLWNvbHVtbnMnfSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zUGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICB0aXRsZTogJ0NvbHVtbnMnLFxuICAgICAgbmF2U3RhcnRBY3Rpb25zOiA8QWN0aW9ucz5bXSxcbiAgICAgIG5hdkVuZEFjdGlvbnM6IDxBY3Rpb25zPltdLFxuICAgIH0pO1xuICB9LCBbJ2NvbXBvbmVudHMnLCAncGFnZXMnLCAnY29sdW1ucyddKTtcbiAgc3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKENvbHVtbnNQYWdlU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZVNpZGVBcHBOYXZTdGFydEFjdGlvbnNJbml0aWFsaXplciA9ICgpID0+IENvbHVtbnNQYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICBjb25zdCBpc1Jvb3RQYWdlID0gaW5qZWN0SXNSb290UGFnZSgnc2lkZScpO1xuICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ25hdlN0YXJ0QWN0aW9ucycsIG5hdlN0YXJ0QWN0aW9ucygpKTtcbiAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgfSk7XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0KCkge1xuICAgIHJldHVybiBbXG4gICAgICBDb2x1bW5zUGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgXTtcbiAgfVxuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IENvbHVtbnNQYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdlN0YXJ0QWN0aW9ucykpO1xuICByZWFkb25seSBuYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2RW5kQWN0aW9ucykpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQ8QWJzdHJhY3RDb250cm9sPihuZXcgRm9ybUdyb3VwKHt9KSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBDb2x1bW5zUGFnZVN0b3JlLkluaXRpYWxpemVyLmluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYWdlcy1jb2x1bW5zJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbHVtbnNUZW1wbGF0ZSxcbiAgICBSb3V0ZXJPdXRsZXRGcmFtZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gICAgICA8dGVtcGxhdGVzLWNvbHVtbnNcbiAgICAgICAgW25hdlN0YXJ0QWN0aW9uc109XCJzdG9yZS5uYXZTdGFydEFjdGlvbnMoKVwiXG4gICAgICAgIFtuYXZFbmRBY3Rpb25zXT1cInN0b3JlLm5hdkVuZEFjdGlvbnMoKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL2NvbHVtbnMucGFnZS5zY3NzJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENvbHVtbnNQYWdlU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ2Zvcm0nLFxuICAgICAgXSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoQ29sdW1uc1BhZ2VTdG9yZSk7XG5cbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5CQUNLKVxuICBwcm90ZWN0ZWQgYmFjaygpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuQkFDS30pXG4gIH1cblxuICBARWZmZWN0KE5hdkFjdGlvbklkLkNMT1NFKVxuICBwcm90ZWN0ZWQgY2xvc2UoKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLkNMT1NFfSlcbiAgfVxufVxuIl19
|
|
@@ -52,9 +52,11 @@ export class FormPageStore extends InjectableComponent {
|
|
|
52
52
|
entity: entity(),
|
|
53
53
|
mode: mode(),
|
|
54
54
|
navStartActions: [],
|
|
55
|
-
navEndActions: mode() === 'create' ? [] : [
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
navEndActions: (mode() === 'create' ? [] : [
|
|
56
|
+
[
|
|
57
|
+
{ id: FormPageStore.ActionId.DELETE, name: '削除', icon: 'delete', color: 'basic' },
|
|
58
|
+
],
|
|
59
|
+
]),
|
|
58
60
|
title: mode() === 'create' ? `${modelName()}の作成` : `${modelName()}の更新`,
|
|
59
61
|
actions: mode() === 'create'
|
|
60
62
|
? [{ id: FormPageStore.ActionId.CREATE, name: '作成', icon: 'add', color: 'primary' }]
|
|
@@ -197,7 +199,7 @@ export class FormPage extends NgAtomicComponent {
|
|
|
197
199
|
(action)="dispatch($event)"
|
|
198
200
|
/>
|
|
199
201
|
</frames-router-outlet>
|
|
200
|
-
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-
|
|
202
|
+
`, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-17P7: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-17P7: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-17P7: var(--page-width-lv3);--primary-color-SCOPED-IN-form-17P7: var(--primary-color);--on-primary-color-SCOPED-IN-form-17P7: var(--on-primary-color);--surface-color-SCOPED-IN-form-17P7: var(--surface-color);--on-surface-color-SCOPED-IN-form-17P7: var(--on-surface-color);--on-background-color-SCOPED-IN-form-17P7: var(--on-background-color);--background-color-SCOPED-IN-form-17P7: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-17P7)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-17P7);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-17P7);--surface-color: var(--surface-color-SCOPED-IN-form-17P7);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-17P7);--background-color: var(--background-color-SCOPED-IN-form-17P7);--on-background-color: var(--on-background-color-SCOPED-IN-form-17P7)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }] }); }
|
|
201
203
|
}
|
|
202
204
|
__decorate([
|
|
203
205
|
Effect(FormTemplate.ActionId.BACK),
|
|
@@ -253,6 +255,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
253
255
|
'outletName',
|
|
254
256
|
],
|
|
255
257
|
},
|
|
256
|
-
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-
|
|
258
|
+
], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-17P7: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-17P7: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-17P7: var(--page-width-lv3);--primary-color-SCOPED-IN-form-17P7: var(--primary-color);--on-primary-color-SCOPED-IN-form-17P7: var(--on-primary-color);--surface-color-SCOPED-IN-form-17P7: var(--surface-color);--on-surface-color-SCOPED-IN-form-17P7: var(--on-surface-color);--on-background-color-SCOPED-IN-form-17P7: var(--on-background-color);--background-color-SCOPED-IN-form-17P7: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-17P7)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-17P7);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-17P7);--surface-color: var(--surface-color-SCOPED-IN-form-17P7);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-17P7);--background-color: var(--background-color-SCOPED-IN-form-17P7);--on-background-color: var(--on-background-color-SCOPED-IN-form-17P7)}\n"] }]
|
|
257
259
|
}], propDecorators: { back: [], close: [], fileSelected: [] } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvZm9ybS9mb3JtLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFJLE9BQU8sRUFBbUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FB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QUMsYUFBYSxDQUFDOzs7OzRDQUczQzsyRkFwQlUsUUFBUTtrQkF6Q3BCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2IsWUFDUzs7Ozs7Ozs7Ozs7Ozs7R0FjVCxrQkFFZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsYUFBYTs0QkFDeEIsTUFBTSxFQUFFO2dDQUNOLFVBQVU7Z0NBQ1YsVUFBVTtnQ0FDVixRQUFRO2dDQUNSLE1BQU07Z0NBQ04sZUFBZTtnQ0FDZixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsTUFBTTtnQ0FDTixrQkFBa0I7Z0NBQ2xCLFlBQVk7NkJBQ2I7eUJBQ0Y7cUJBQ0Y7OEJBVVMsSUFBSSxNQUtKLEtBQUssTUFLTCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnMsIEVmZmVjdCwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpbmplY3RPbmUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zdG9yZXMvZW50aXRpZXMnO1xuaW1wb3J0IHsgTG9hZGluZ1NlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9sb2FkaW5nJztcbmltcG9ydCB7IGluamVjdE1vZGVsLCBpbmplY3RNb2RlbE5hbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kb21haW4nO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvc25hY2stYmFyJztcbmltcG9ydCB7IGluamVjdElzUm9vdFBhZ2UsIGluamVjdE5hdlN0YXJ0QWN0aW9ucywgaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucywgbWFrZUNvbmZpZywgTmF2QWN0aW9uSWQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aSc7XG5pbXBvcnQgeyBpbmplY3RIYXNOZXh0LCBpbmplY3RSb3V0ZVBhcmFtLCBpbmplY3RSb3V0ZVBhcmFtcywgaW5qZWN0Um91dGVTa2lwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9pbml0aWFsaXplcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmVudW0gQWN0aW9uSWQge1xuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQmFjaycsXG4gIENMT1NFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQ2xvc2UnLFxuICBDUkVBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBDcmVhdGUnLFxuICBVUERBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBVcGRhdGUnLFxuICBERUxFVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBEZWxldGUnLFxuICBOQVZJR0FURSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIE5hdmlnYXRlJyxcbiAgRklMRV9TRUxFQ1RFRCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIEZpbGUgU2VsZWN0ZWQnLFxufVxuXG5leHBvcnQgY29uc3QgRU5USVRZX0lEX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBFbnRpdHlJZE5hbWUnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFbnRpdHlJZE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7cHJvdmlkZTogRU5USVRZX0lEX05BTUUsIHVzZVZhbHVlOiBuYW1lfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEVudGl0eUlkTmFtZSgpIHtcbiAgcmV0dXJuIGluamVjdChFTlRJVFlfSURfTkFNRSwge29wdGlvbmFsOiB0cnVlfSkgPz8gYCR7KGNhbWVsQ2FzZShpbmplY3RNb2RlbE5hbWUoKSgpKSl9SWRgO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdmb3JtLXBhZ2Utc3RvcmUnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtUGFnZVN0b3JlPFQ+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgY29uc3QgbW9kZWxOYW1lID0gaW5qZWN0TW9kZWxOYW1lKCk7XG4gICAgY29uc3QgZW50aXR5SWQgPSBpbmplY3RSb3V0ZVBhcmFtKGluamVjdEVudGl0eUlkTmFtZSgpKTtcbiAgICBjb25zdCBlbnRpdHkgPSBpbmplY3RNb2RlbCgpID8gaW5qZWN0T25lKGluamVjdE1vZGVsKCksIHtpZDogZW50aXR5SWR9KSA6IHNpZ25hbChudWxsKTtcbiAgICBjb25zdCBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gICAgY29uc3QgbW9kZSA9IGNvbXB1dGVkKCgpID0+IGVudGl0eUlkKCkgPT09ICduZXcnID8gJ2NyZWF0ZScgOiAndXBkYXRlJyk7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICBzdHlsZToge30sXG4gICAgICBmb3JtOiBmYi5ncm91cCh7XG4gICAgICAgIGlkOiBbXSxcbiAgICAgICAgbmFtZTogW10sXG4gICAgICB9KSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICBmb3JtRmxhdEV4Y2x1ZGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICAgIGVudGl0eUlkOiBlbnRpdHlJZCgpLFxuICAgICAgZW50aXR5OiBlbnRpdHkoKSxcbiAgICAgIG1vZGU6IG1vZGUoKSxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogPEFjdGlvbnM+W10sXG4gICAgICBuYXZFbmRBY3Rpb25zOiBtb2RlKCkgPT09ICdjcmVhdGUnID8gW10gOiBbXG4gICAgICAgIHsgaWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuREVMRVRFLCBuYW1lOiAn5YmK6ZmkJywgaWNvbjogJ2RlbGV0ZScsIGNvbG9yOiAnYmFzaWMnIH0sXG4gICAgICBdIGFzIEFjdGlvbnMsXG4gICAgICB0aXRsZTogbW9kZSgpID09PSAnY3JlYXRlJyA/IGAke21vZGVsTmFtZSgpfeOBruS9nOaIkGAgOiBgJHttb2RlbE5hbWUoKX3jga7mm7TmlrBgLFxuICAgICAgYWN0aW9uczogbW9kZSgpID09PSAnY3JlYXRlJ1xuICAgICAgICA/IFt7IGlkOiBGb3JtUGFnZVN0b3JlLkFjdGlvbklkLkNSRUFURSwgbmFtZTogJ+S9nOaIkCcsIGljb246ICdhZGQnLCBjb2xvcjogJ3ByaW1hcnknIH1dIGFzIEFjdGlvbltdXG4gICAgICAgIDogW3sgaWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuVVBEQVRFLCBuYW1lOiAn5pu05pawJywgaWNvbjogJ3NhdmUnLCBjb2xvcjogJ3ByaW1hcnknIH1dIGFzIEFjdGlvbltdLFxuICAgICAgZmllbGRNYXA6IHVuZGVmaW5lZCBhcyBGb3JtRmllbGRNYXAsXG4gICAgICBvdXRsZXROYW1lOiBQUklNQVJZX09VVExFVCBhcyBzdHJpbmcsXG4gICAgfSk7XG4gIH0sIFsnY29tcG9uZW50cycsICdwYWdlcycsICdmb3JtJ10pO1xuICBzdGF0aWMgSW5pdGlhbGl6ZXIgPSBtYWtlSW5pdGlhbGl6ZXJDb25maWcoRm9ybVBhZ2VTdG9yZSk7XG4gIHN0YXRpYyBwcm92aWRlSW5pdGlhbGl6ZXIgPSBGb3JtUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGU7XG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEluaXRpYWxpemVyID0gKCkgPT4gRm9ybVBhZ2VTdG9yZS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlKSA9PiB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChzdG9yZS5lbnRpdHkoKSA9PT0gbnVsbCkge1xuICAgICAgICBzdG9yZS5mb3JtKCkucmVzZXQoKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RvcmU/LmVudGl0eSAmJiBzdG9yZS5lbnRpdHkoKSkge1xuICAgICAgICBzdG9yZS5mb3JtKCkucmVzZXQoKTtcbiAgICAgICAgc3RvcmUuZm9ybSgpLnBhdGNoVmFsdWUoc3RvcmUuZW50aXR5KCkpO1xuICAgICAgfVxuICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChzdG9yZS5tb2RlKCkgIT09ICdjcmVhdGUnKSByZXR1cm47XG4gICAgICBzdG9yZS5mb3JtKCkucmVzZXQoKTtcbiAgICB9KTtcbiAgfSk7XG4gIHN0YXRpYyBwcm92aWRlTmF2U3RhcnRBY3Rpb25zSW5pdGlhbGl6ZXIgPSAoKSA9PiBGb3JtUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoKTtcbiAgICBjb25zdCBuYXZTdGFydEFjdGlvbnMgPSBpbmplY3ROYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ25hdlN0YXJ0QWN0aW9ucycsIG5hdlN0YXJ0QWN0aW9ucygpKTtcbiAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgfSk7XG4gIHN0YXRpYyBwcm92aWRlU2lkZUFwcE5hdlN0YXJ0QWN0aW9uc0luaXRpYWxpemVyID0gKCkgPT4gRm9ybVBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgIGNvbnN0IGlzUm9vdFBhZ2UgPSBpbmplY3RJc1Jvb3RQYWdlKCdzaWRlJyk7XG4gICAgY29uc3QgbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnbmF2U3RhcnRBY3Rpb25zJywgbmF2U3RhcnRBY3Rpb25zKCkpO1xuICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQkFDSywgKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IGhpc3RvcnkuYmFjaygpO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlTmF2aWdhdGVFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5OQVZJR0FURSwgKCkgPT4ge1xuICAgICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICByb3V0ZXIubmF2aWdhdGUocGF5bG9hZCwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6ICEhaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEZvcm1QYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgIEZvcm1QYWdlU3RvcmUucHJvdmlkZURlZmF1bHRJbml0aWFsaXplcigpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlTmF2U3RhcnRBY3Rpb25zSW5pdGlhbGl6ZXIoKSxcbiAgICAgIEZvcm1QYWdlU3RvcmUucHJvdmlkZURlZmF1bHRFZmZlY3RzKCksXG4gICAgXTtcbiAgfVxuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IEZvcm1QYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBzdHlsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnN0eWxlKSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGZvcm1GbGF0RXhjbHVkZXMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtRmxhdEV4Y2x1ZGVzKSk7XG4gIHJlYWRvbmx5IGVudGl0eUlkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZW50aXR5SWQpKTtcbiAgcmVhZG9ubHkgZW50aXR5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZW50aXR5KSBhcyBUKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS50aXRsZSkpO1xuICByZWFkb25seSBhY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWN0aW9ucykpO1xuICByZWFkb25seSBmaWVsZE1hcCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZpZWxkTWFwKSk7XG4gIHJlYWRvbmx5IG1vZGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5tb2RlKSk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdlN0YXJ0QWN0aW9ucykpO1xuICByZWFkb25seSBuYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2RW5kQWN0aW9ucykpO1xuICByZWFkb25seSBwYXJhbXMgPSBpbmplY3RSb3V0ZVBhcmFtcygpO1xuICByZWFkb25seSBza2lwID0gaW5qZWN0Um91dGVTa2lwKCk7XG4gIHJlYWRvbmx5IG91dGxldE5hbWUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5wYXJhbXMoKS5vdXRsZXROYW1lKSk7XG5cbiAgcmVhZG9ubHkgaXNWYWxpZCA9IGNvbXB1dGVkQXN5bmMoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm0oKS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0oKS52YWxpZCksXG4gICAgKTtcbiAgfSlcblxuICByZWFkb25seSBhY3RpdmF0ZWRBY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMoKS5tYXAoYWN0aW9uID0+ICh7XG4gICAgICAuLi5hY3Rpb24sXG4gICAgICBkaXNhYmxlZDogdHlwZW9mIGFjdGlvbi5kaXNhYmxlZCA9PT0gJ3VuZGVmaW5lZCcgPyAhdGhpcy5pc1ZhbGlkKCkgOiBhY3Rpb24uZGlzYWJsZWQsXG4gICAgfSkpO1xuICB9KVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgRm9ybVBhZ2VTdG9yZS5Jbml0aWFsaXplci5pbml0aWFsaXplU3RvcmUodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGFnZXMtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSb3V0ZXJPdXRsZXRGcmFtZSxcbiAgICBGb3JtVGVtcGxhdGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZyYW1lcy1yb3V0ZXItb3V0bGV0IFtza2lwXT1cInN0b3JlLnNraXAoKVwiPlxuICAgICAgPHRlbXBsYXRlcy1mb3JtXG4gICAgICAgIFtzdHlsZV09XCJzdG9yZS5zdHlsZSgpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aXZhdGVkQWN0aW9ucygpXCJcbiAgICAgICAgW25hdlN0YXJ0QWN0aW9uc109XCJzdG9yZS5uYXZTdGFydEFjdGlvbnMoKVwiXG4gICAgICAgIFtuYXZFbmRBY3Rpb25zXT1cInN0b3JlLm5hdkVuZEFjdGlvbnMoKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgW2Zvcm1GbGF0RXhjbHVkZXNdPVwic3RvcmUuZm9ybUZsYXRFeGNsdWRlcygpXCJcbiAgICAgICAgW2ZpZWxkTWFwXT1cInN0b3JlLmZpZWxkTWFwKClcIlxuICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2ZyYW1lcy1yb3V0ZXItb3V0bGV0PlxuICBgLFxuICBzdHlsZVVybDogJy4vZm9ybS5wYWdlLnNjc3MnLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogRm9ybVBhZ2VTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnZmllbGRNYXAnLFxuICAgICAgICAnZW50aXR5SWQnLFxuICAgICAgICAnZW50aXR5JyxcbiAgICAgICAgJ21vZGUnLFxuICAgICAgICAnbmF2RW5kQWN0aW9ucycsXG4gICAgICAgICdhY3Rpb25zJyxcbiAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgJ2Zvcm0nLFxuICAgICAgICAnZm9ybUZsYXRFeGNsdWRlcycsXG4gICAgICAgICdvdXRsZXROYW1lJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoRm9ybVBhZ2VTdG9yZSk7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBpbmplY3QoTG9hZGluZ1NlcnZpY2UpO1xuICByZWFkb25seSBzbmFja0JhciA9IGluamVjdChTbmFja0JhclNlcnZpY2UpO1xuXG4gIEBFZmZlY3QoRm9ybVRlbXBsYXRlLkFjdGlvbklkLkJBQ0spXG4gIEBFZmZlY3QoTmF2QWN0aW9uSWQuQkFDSylcbiAgcHJvdGVjdGVkIGJhY2soKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQkFDS30pO1xuICB9XG5cbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSlcbiAgcHJvdGVjdGVkIGNsb3NlKCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBGb3JtUGFnZVN0b3JlLkFjdGlvbklkLkNMT1NFfSk7XG4gIH1cblxuICBARWZmZWN0KEZvcm1UZW1wbGF0ZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVEKVxuICBwcm90ZWN0ZWQgZmlsZVNlbGVjdGVkKHBheWxvYWQ6IHsgc2NvcGU6IHN0cmluZywgZmlsZXM6IEZpbGVbXX0pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCBwYXlsb2FkfSk7XG4gIH1cbn1cbiJdfQ==
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvZm9ybS9mb3JtLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFJLE9BQU8sRUFBbUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FB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QU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLFVBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFNBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xELHFCQUFnQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUMxRSxhQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxXQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFNLENBQUMsQ0FBQztRQUMzRCxVQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxTQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRCxvQkFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsa0JBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLFdBQU0sR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLFNBQUksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUU5RCxZQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNsQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDN0IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFBO1FBRU8scUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxHQUFHLE1BQU07Z0JBQ1QsUUFBUSxFQUFFLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUTthQUNyRixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFBO1FBSUEsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0FuSVUsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs7QUFnTEQsTUFBTSxPQUFPLFFBQVMsU0FBUSxpQkFBaUI7SUF6Qy9DOztRQTJDWSxVQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQWlCN0M7YUFwQmlCLGFBQVEsR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQU8xQixJQUFJO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUdTLEtBQUs7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBR1MsWUFBWSxDQUFDLE9BQXdDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQXBCVSxRQUFRO2tHQUFSLFFBQVEsbUdBL0tSLGFBQWEseVJBNklkOzs7Ozs7Ozs7Ozs7OztHQWNULHVtQ0FqQkMsaUJBQWlCLHNGQUNqQixZQUFZOztBQTRDSjtJQUZULE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNsQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzs7OztvQ0FHeEI7QUFHUztJQURULE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDOzs7O3FDQUd6QjtBQUdTO0lBRFQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDOzs7OzRDQUczQzsyRkFwQlUsUUFBUTtrQkF6Q3BCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2IsWUFDUzs7Ozs7Ozs7Ozs7Ozs7R0FjVCxrQkFFZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsYUFBYTs0QkFDeEIsTUFBTSxFQUFFO2dDQUNOLFVBQVU7Z0NBQ1YsVUFBVTtnQ0FDVixRQUFRO2dDQUNSLE1BQU07Z0NBQ04sZUFBZTtnQ0FDZixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsTUFBTTtnQ0FDTixrQkFBa0I7Z0NBQ2xCLFlBQVk7NkJBQ2I7eUJBQ0Y7cUJBQ0Y7OEJBVVMsSUFBSSxNQUtKLEtBQUssTUFLTCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbnMsIEVmZmVjdCwgSW5qZWN0YWJsZUNvbXBvbmVudCwgTmdBdG9taWNDb21wb25lbnQsIF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpbmplY3RPbmUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zdG9yZXMvZW50aXRpZXMnO1xuaW1wb3J0IHsgTG9hZGluZ1NlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9sb2FkaW5nJztcbmltcG9ydCB7IGluamVjdE1vZGVsLCBpbmplY3RNb2RlbE5hbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kb21haW4nO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvc25hY2stYmFyJztcbmltcG9ydCB7IGluamVjdElzUm9vdFBhZ2UsIGluamVjdE5hdlN0YXJ0QWN0aW9ucywgaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucywgbWFrZUNvbmZpZywgTmF2QWN0aW9uSWQgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy91aSc7XG5pbXBvcnQgeyBpbmplY3RIYXNOZXh0LCBpbmplY3RSb3V0ZVBhcmFtLCBpbmplY3RSb3V0ZVBhcmFtcywgaW5qZWN0Um91dGVTa2lwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9pbml0aWFsaXplcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUFJJTUFSWV9PVVRMRVQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmVudW0gQWN0aW9uSWQge1xuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQmFjaycsXG4gIENMT1NFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQ2xvc2UnLFxuICBDUkVBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBDcmVhdGUnLFxuICBVUERBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBVcGRhdGUnLFxuICBERUxFVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBEZWxldGUnLFxuICBOQVZJR0FURSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIE5hdmlnYXRlJyxcbiAgRklMRV9TRUxFQ1RFRCA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIEZpbGUgU2VsZWN0ZWQnLFxufVxuXG5leHBvcnQgY29uc3QgRU5USVRZX0lEX05BTUUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBFbnRpdHlJZE5hbWUnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFbnRpdHlJZE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7cHJvdmlkZTogRU5USVRZX0lEX05BTUUsIHVzZVZhbHVlOiBuYW1lfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEVudGl0eUlkTmFtZSgpIHtcbiAgcmV0dXJuIGluamVjdChFTlRJVFlfSURfTkFNRSwge29wdGlvbmFsOiB0cnVlfSkgPz8gYCR7KGNhbWVsQ2FzZShpbmplY3RNb2RlbE5hbWUoKSgpKSl9SWRgO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdmb3JtLXBhZ2Utc3RvcmUnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtUGFnZVN0b3JlPFQ+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgY29uc3QgbW9kZWxOYW1lID0gaW5qZWN0TW9kZWxOYW1lKCk7XG4gICAgY29uc3QgZW50aXR5SWQgPSBpbmplY3RSb3V0ZVBhcmFtKGluamVjdEVudGl0eUlkTmFtZSgpKTtcbiAgICBjb25zdCBlbnRpdHkgPSBpbmplY3RNb2RlbCgpID8gaW5qZWN0T25lKGluamVjdE1vZGVsKCksIHtpZDogZW50aXR5SWR9KSA6IHNpZ25hbChudWxsKTtcbiAgICBjb25zdCBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gICAgY29uc3QgbW9kZSA9IGNvbXB1dGVkKCgpID0+IGVudGl0eUlkKCkgPT09ICduZXcnID8gJ2NyZWF0ZScgOiAndXBkYXRlJyk7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICBzdHlsZToge30sXG4gICAgICBmb3JtOiBmYi5ncm91cCh7XG4gICAgICAgIGlkOiBbXSxcbiAgICAgICAgbmFtZTogW10sXG4gICAgICB9KSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICBmb3JtRmxhdEV4Y2x1ZGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICAgIGVudGl0eUlkOiBlbnRpdHlJZCgpLFxuICAgICAgZW50aXR5OiBlbnRpdHkoKSxcbiAgICAgIG1vZGU6IG1vZGUoKSxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogPEFjdGlvbltdIHwgQWN0aW9uW11bXT5bXSxcbiAgICAgIG5hdkVuZEFjdGlvbnM6IDxBY3Rpb25bXSB8IEFjdGlvbltdW10+KG1vZGUoKSA9PT0gJ2NyZWF0ZScgPyBbXSA6IFtcbiAgICAgICAgW1xuICAgICAgICAgIHsgaWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuREVMRVRFLCBuYW1lOiAn5YmK6ZmkJywgaWNvbjogJ2RlbGV0ZScsIGNvbG9yOiAnYmFzaWMnIH0sXG4gICAgICAgIF0sXG4gICAgICBdKSxcbiAgICAgIHRpdGxlOiBtb2RlKCkgPT09ICdjcmVhdGUnID8gYCR7bW9kZWxOYW1lKCl944Gu5L2c5oiQYCA6IGAke21vZGVsTmFtZSgpfeOBruabtOaWsGAsXG4gICAgICBhY3Rpb25zOiBtb2RlKCkgPT09ICdjcmVhdGUnXG4gICAgICAgID8gW3sgaWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQ1JFQVRFLCBuYW1lOiAn5L2c5oiQJywgaWNvbjogJ2FkZCcsIGNvbG9yOiAncHJpbWFyeScgfV0gYXMgQWN0aW9uW11cbiAgICAgICAgOiBbeyBpZDogRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5VUERBVEUsIG5hbWU6ICfmm7TmlrAnLCBpY29uOiAnc2F2ZScsIGNvbG9yOiAncHJpbWFyeScgfV0gYXMgQWN0aW9uW10sXG4gICAgICBmaWVsZE1hcDogdW5kZWZpbmVkIGFzIEZvcm1GaWVsZE1hcCxcbiAgICAgIG91dGxldE5hbWU6IFBSSU1BUllfT1VUTEVUIGFzIHN0cmluZyxcbiAgICB9KTtcbiAgfSwgWydjb21wb25lbnRzJywgJ3BhZ2VzJywgJ2Zvcm0nXSk7XG4gIHN0YXRpYyBJbml0aWFsaXplciA9IG1ha2VJbml0aWFsaXplckNvbmZpZyhGb3JtUGFnZVN0b3JlKTtcbiAgc3RhdGljIHByb3ZpZGVJbml0aWFsaXplciA9IEZvcm1QYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZTtcbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXIgPSAoKSA9PiBGb3JtUGFnZVN0b3JlLnByb3ZpZGVJbml0aWFsaXplcigoc3RvcmUpID0+IHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHN0b3JlLmVudGl0eSgpID09PSBudWxsKSB7XG4gICAgICAgIHN0b3JlLmZvcm0oKS5yZXNldCgpO1xuICAgICAgfSBlbHNlIGlmIChzdG9yZT8uZW50aXR5ICYmIHN0b3JlLmVudGl0eSgpKSB7XG4gICAgICAgIHN0b3JlLmZvcm0oKS5yZXNldCgpO1xuICAgICAgICBzdG9yZS5mb3JtKCkucGF0Y2hWYWx1ZShzdG9yZS5lbnRpdHkoKSk7XG4gICAgICB9XG4gICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHN0b3JlLm1vZGUoKSAhPT0gJ2NyZWF0ZScpIHJldHVybjtcbiAgICAgIHN0b3JlLmZvcm0oKS5yZXNldCgpO1xuICAgIH0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVOYXZTdGFydEFjdGlvbnNJbml0aWFsaXplciA9ICgpID0+IEZvcm1QYWdlU3RvcmUuSW5pdGlhbGl6ZXIucHJvdmlkZSgoc3RvcmUpID0+IHtcbiAgICBjb25zdCBpc1Jvb3RQYWdlID0gaW5qZWN0SXNSb290UGFnZSgpO1xuICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnbmF2U3RhcnRBY3Rpb25zJywgbmF2U3RhcnRBY3Rpb25zKCkpO1xuICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVTaWRlQXBwTmF2U3RhcnRBY3Rpb25zSW5pdGlhbGl6ZXIgPSAoKSA9PiBGb3JtUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoJ3NpZGUnKTtcbiAgICBjb25zdCBuYXZTdGFydEFjdGlvbnMgPSBpbmplY3RTaWRlQXBwTmF2U3RhcnRBY3Rpb25zKGlzUm9vdFBhZ2UpO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICduYXZTdGFydEFjdGlvbnMnLCBuYXZTdGFydEFjdGlvbnMoKSk7XG4gICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gIH0pO1xuICBzdGF0aWMgcHJvdmlkZUJhY2tFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5CQUNLLCAoKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4gaGlzdG9yeS5iYWNrKCk7XG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpIHtcbiAgICByZXR1cm4gcHJvdmlkZUVmZmVjdChGb3JtUGFnZVN0b3JlLkFjdGlvbklkLk5BVklHQVRFLCAoKSA9PiB7XG4gICAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICAgIGNvbnN0IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgIHJvdXRlci5uYXZpZ2F0ZShwYXlsb2FkLCB7XG4gICAgICAgICAgcmVsYXRpdmVUbzogcm91dGUsXG4gICAgICAgICAgcmVwbGFjZVVybDogISFoYXNOZXh0KCksXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEZvcm1QYWdlU3RvcmUucHJvdmlkZU5hdmlnYXRlRWZmZWN0KCksXG4gICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVCYWNrRWZmZWN0KCksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAgRm9ybVBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEluaXRpYWxpemVyKCksXG4gICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVOYXZTdGFydEFjdGlvbnNJbml0aWFsaXplcigpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gRm9ybVBhZ2VTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IHN0eWxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuc3R5bGUpKTtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZvcm0pKTtcbiAgcmVhZG9ubHkgZm9ybUZsYXRFeGNsdWRlcyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmZvcm1GbGF0RXhjbHVkZXMpKTtcbiAgcmVhZG9ubHkgZW50aXR5SWQgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5lbnRpdHlJZCkpO1xuICByZWFkb25seSBlbnRpdHkgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5lbnRpdHkpIGFzIFQpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IGFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5hY3Rpb25zKSk7XG4gIHJlYWRvbmx5IGZpZWxkTWFwID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZmllbGRNYXApKTtcbiAgcmVhZG9ubHkgbW9kZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm1vZGUpKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubmF2U3RhcnRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IG5hdkVuZEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZFbmRBY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHBhcmFtcyA9IGluamVjdFJvdXRlUGFyYW1zKCk7XG4gIHJlYWRvbmx5IHNraXAgPSBpbmplY3RSb3V0ZVNraXAoKTtcbiAgcmVhZG9ubHkgb3V0bGV0TmFtZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLnBhcmFtcygpLm91dGxldE5hbWUpKTtcblxuICByZWFkb25seSBpc1ZhbGlkID0gY29tcHV0ZWRBc3luYygoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybSgpLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybSgpLnZhbGlkKSxcbiAgICApO1xuICB9KVxuXG4gIHJlYWRvbmx5IGFjdGl2YXRlZEFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLm1hcChhY3Rpb24gPT4gKHtcbiAgICAgIC4uLmFjdGlvbixcbiAgICAgIGRpc2FibGVkOiB0eXBlb2YgYWN0aW9uLmRpc2FibGVkID09PSAndW5kZWZpbmVkJyA/ICF0aGlzLmlzVmFsaWQoKSA6IGFjdGlvbi5kaXNhYmxlZCxcbiAgICB9KSk7XG4gIH0pXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBGb3JtUGFnZVN0b3JlLkluaXRpYWxpemVyLmluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYWdlcy1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldEZyYW1lLFxuICAgIEZvcm1UZW1wbGF0ZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZnJhbWVzLXJvdXRlci1vdXRsZXQgW3NraXBdPVwic3RvcmUuc2tpcCgpXCI+XG4gICAgICA8dGVtcGxhdGVzLWZvcm1cbiAgICAgICAgW3N0eWxlXT1cInN0b3JlLnN0eWxlKClcIlxuICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5hY3RpdmF0ZWRBY3Rpb25zKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgICBbZm9ybUZsYXRFeGNsdWRlc109XCJzdG9yZS5mb3JtRmxhdEV4Y2x1ZGVzKClcIlxuICAgICAgICBbZmllbGRNYXBdPVwic3RvcmUuZmllbGRNYXAoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAvPlxuICAgIDwvZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9mb3JtLnBhZ2Uuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBGb3JtUGFnZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdmaWVsZE1hcCcsXG4gICAgICAgICdlbnRpdHlJZCcsXG4gICAgICAgICdlbnRpdHknLFxuICAgICAgICAnbW9kZScsXG4gICAgICAgICduYXZFbmRBY3Rpb25zJyxcbiAgICAgICAgJ2FjdGlvbnMnLFxuICAgICAgICAndGl0bGUnLFxuICAgICAgICAnZm9ybScsXG4gICAgICAgICdmb3JtRmxhdEV4Y2x1ZGVzJyxcbiAgICAgICAgJ291dGxldE5hbWUnLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtUGFnZSBleHRlbmRzIE5nQXRvbWljQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHByb3RlY3RlZCBzdG9yZSA9IGluamVjdChGb3JtUGFnZVN0b3JlKTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IGluamVjdChMb2FkaW5nU2VydmljZSk7XG4gIHJlYWRvbmx5IHNuYWNrQmFyID0gaW5qZWN0KFNuYWNrQmFyU2VydmljZSk7XG5cbiAgQEVmZmVjdChGb3JtVGVtcGxhdGUuQWN0aW9uSWQuQkFDSylcbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5CQUNLKVxuICBwcm90ZWN0ZWQgYmFjaygpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5CQUNLfSk7XG4gIH1cblxuICBARWZmZWN0KE5hdkFjdGlvbklkLkNMT1NFKVxuICBwcm90ZWN0ZWQgY2xvc2UoKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQ0xPU0V9KTtcbiAgfVxuXG4gIEBFZmZlY3QoRm9ybVRlbXBsYXRlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQpXG4gIHByb3RlY3RlZCBmaWxlU2VsZWN0ZWQocGF5bG9hZDogeyBzY29wZTogc3RyaW5nLCBmaWxlczogRmlsZVtdfSkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBGb3JtUGFnZVN0b3JlLkFjdGlvbklkLkZJTEVfU0VMRUNURUQsIHBheWxvYWR9KTtcbiAgfVxufVxuIl19
|
|
@@ -8,12 +8,7 @@ export class NgAtomicPagesModule {
|
|
|
8
8
|
static forRoot() {
|
|
9
9
|
return {
|
|
10
10
|
ngModule: NgAtomicPagesModule,
|
|
11
|
-
providers: [
|
|
12
|
-
ColumnsPageStore.provideDefault(),
|
|
13
|
-
FormPageStore.provideDefault(),
|
|
14
|
-
IndexPageStore.provideDefault(),
|
|
15
|
-
TermsPageStore.Config.provide(),
|
|
16
|
-
],
|
|
11
|
+
providers: [...providePages()],
|
|
17
12
|
};
|
|
18
13
|
}
|
|
19
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicPagesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -24,4 +19,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
24
19
|
type: NgModule,
|
|
25
20
|
args: [{}]
|
|
26
21
|
}] });
|
|
27
|
-
|
|
22
|
+
export function providePages() {
|
|
23
|
+
return [
|
|
24
|
+
ColumnsPageStore.provideDefault(),
|
|
25
|
+
FormPageStore.provideDefault(),
|
|
26
|
+
IndexPageStore.provideDefault(),
|
|
27
|
+
TermsPageStore.Config.provide(),
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcGFnZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBR3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUUsQ0FBQyxHQUFHLFlBQVksRUFBRSxDQUFDO1NBQy9CLENBQUE7SUFDSCxDQUFDOzhHQU5VLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFFBQVE7bUJBQUMsRUFBRTs7QUFVWixNQUFNLFVBQVUsWUFBWTtJQUMxQixPQUFPO1FBQ0wsZ0JBQWdCLENBQUMsY0FBYyxFQUFFO1FBQ2pDLGFBQWEsQ0FBQyxjQUFjLEVBQUU7UUFDOUIsY0FBYyxDQUFDLGNBQWMsRUFBRTtRQUMvQixjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtLQUNoQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEluZGV4UGFnZVN0b3JlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9faW5kZXhcIjtcbmltcG9ydCB7IEZvcm1QYWdlU3RvcmUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1cIjtcbmltcG9ydCB7IFRlcm1zUGFnZVN0b3JlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy90ZXJtc1wiO1xuaW1wb3J0IHsgQ29sdW1uc1BhZ2VTdG9yZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvY29sdW1uc1wiO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNQYWdlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdBdG9taWNQYWdlc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogWy4uLnByb3ZpZGVQYWdlcygpXSxcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQYWdlcygpIHtcbiAgcmV0dXJuIFtcbiAgICBDb2x1bW5zUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0KCksXG4gICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlRGVmYXVsdCgpLFxuICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0KCksXG4gICAgVGVybXNQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgXTtcbn1cbiJdfQ==
|