ontimize-web-ngx 15.2.1 → 15.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/svg/ontimize-icon-set.svg +0 -1
- package/esm2020/lib/components/form/navigation/o-form.navigation.class.mjs +5 -4
- package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +3 -3
- package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +6 -6
- package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +3 -3
- package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +3 -3
- package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +15 -13
- package/esm2020/lib/components/o-service-base-component.class.mjs +1 -1
- package/esm2020/lib/components/o-service-component.class.mjs +12 -3
- package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +6 -6
- package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +6 -6
- package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +7 -1
- package/esm2020/lib/components/table/column/cell-renderer/cell-renderer.mjs +5 -3
- package/esm2020/lib/components/table/column/o-column.class.mjs +4 -1
- package/esm2020/lib/components/table/column/o-table-column.component.mjs +2 -3
- package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +80 -19
- package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +10 -11
- package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +10 -2
- package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +3 -3
- package/esm2020/lib/components/table/extensions/header/table-menu/o-table-export-configuration.class.mjs +1 -1
- package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +10 -1
- package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +3 -2
- package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
- package/esm2020/lib/components/table/o-table.component.mjs +103 -19
- package/esm2020/lib/components/tree/o-tree-dao.service.mjs +1 -1
- package/esm2020/lib/components/tree/o-tree.component.mjs +17 -24
- package/esm2020/lib/components/tree/o-tree.datasource.mjs +1 -1
- package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +27 -6
- package/esm2020/lib/config/o-directives.mjs +4 -2
- package/esm2020/lib/directives/index.mjs +2 -1
- package/esm2020/lib/directives/input-regulate.directive.mjs +70 -0
- package/esm2020/lib/i18n/i18n.mjs +24 -3
- package/esm2020/lib/interfaces/export-service.interface.mjs +1 -1
- package/esm2020/lib/interfaces/layout-manager-component.interface.mjs +1 -1
- package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +5 -2
- package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +3 -2
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager-base.class.mjs +1 -1
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +8 -4
- package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +1 -1
- package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +5 -2
- package/esm2020/lib/services/o-form-layout-manager.service.mjs +7 -1
- package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +7 -5
- package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +6 -3
- package/esm2020/lib/services/snackbar.service.mjs +1 -1
- package/esm2020/lib/shared/shared.module.mjs +4 -3
- package/esm2020/lib/types/form-layout-manager-context.type.mjs +2 -0
- package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
- package/esm2020/lib/types/tree-flat-node.type.mjs +2 -0
- package/esm2020/lib/util/util.mjs +8 -1
- package/esm2020/lib/validators/o-validators.mjs +1 -1
- package/fesm2015/ontimize-web-ngx.mjs +6189 -5882
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +4329 -4024
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/input/text-input/o-text-input.component.d.ts +2 -1
- package/lib/components/o-service-base-component.class.d.ts +1 -0
- package/lib/components/o-service-component.class.d.ts +5 -3
- package/lib/components/table/column/o-table-column.component.d.ts +1 -1
- package/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.d.ts +24 -1
- package/lib/components/table/extensions/dialog/o-table-dialog-components.d.ts +1 -1
- package/lib/components/table/extensions/export-button/o-table-export-button.component.d.ts +2 -2
- package/lib/components/table/extensions/footer/o-table-footer-components.d.ts +1 -1
- package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
- package/lib/components/table/extensions/header/table-button/o-table-button.component.d.ts +1 -0
- package/lib/components/table/extensions/header/table-menu/o-table-export-configuration.class.d.ts +1 -0
- package/lib/components/table/extensions/header/table-menu/o-table-menu.component.d.ts +1 -0
- package/lib/components/table/o-table-base.class.d.ts +13 -5
- package/lib/components/table/o-table.component.d.ts +14 -4
- package/lib/components/tree/o-tree-dao.service.d.ts +1 -1
- package/lib/components/tree/o-tree.component.d.ts +5 -16
- package/lib/components/tree/o-tree.datasource.d.ts +2 -1
- package/lib/components/tree/tree-node/tree-node.component.d.ts +6 -2
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/input-regulate.directive.d.ts +23 -0
- package/lib/i18n/i18n.d.ts +21 -0
- package/lib/interfaces/export-service.interface.d.ts +1 -1
- package/lib/interfaces/layout-manager-component.interface.d.ts +1 -0
- package/lib/layouts/form-layout/o-form-layout-manager-base.class.d.ts +2 -0
- package/lib/layouts/form-layout/o-form-layout-manager.component.d.ts +2 -1
- package/lib/services/o-form-layout-manager.service.d.ts +5 -1
- package/lib/services/ontimize/ontimize-export-3xx.service.d.ts +1 -1
- package/lib/shared/shared.module.d.ts +15 -14
- package/lib/types/form-layout-manager-context.type.d.ts +3 -0
- package/lib/types/table/o-table-global-config.type.d.ts +2 -0
- package/lib/types/tree-flat-node.type.d.ts +14 -0
- package/lib/util/util.d.ts +2 -0
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import { Codes } from '../../../util/codes';
|
|
|
9
9
|
import { Util } from '../../../util/util';
|
|
10
10
|
import { OFormLayoutManagerContentDirective } from '../directives/o-form-layout-manager-content.directive';
|
|
11
11
|
import { OFormLayoutManagerBase } from '../o-form-layout-manager-base.class';
|
|
12
|
+
import { OFormLayoutManagerService } from '../../../services/o-form-layout-manager.service';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "@angular/common";
|
|
14
15
|
import * as i2 from "@angular/flex-layout/flex";
|
|
@@ -241,7 +242,9 @@ export class OFormLayoutTabGroupComponent {
|
|
|
241
242
|
index = this.data.findIndex((item) => Object.keys(keysValues).every(key => keysValues[key] == item.params[key]));
|
|
242
243
|
}
|
|
243
244
|
if (index >= 0) {
|
|
244
|
-
|
|
245
|
+
const oFormLayoutManagerService = this.injector.get(OFormLayoutManagerService);
|
|
246
|
+
const context = oFormLayoutManagerService.context;
|
|
247
|
+
let label = context?.label || this.formLayoutManager.getLabelFromData(data);
|
|
245
248
|
this.tabGroup.selectedIndex = (index + 1);
|
|
246
249
|
label = label.length ? label : this.formLayoutManager.getLabelFromUrlParams(this.data[index].params);
|
|
247
250
|
this.data[index].label = label;
|
|
@@ -382,4 +385,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
382
385
|
type: ViewChildren,
|
|
383
386
|
args: [OFormLayoutManagerContentDirective]
|
|
384
387
|
}] } });
|
|
385
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWxheW91dC10YWJncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvbGF5b3V0cy9mb3JtLWxheW91dC90YWJncm91cC9vLWZvcm0tbGF5b3V0LXRhYmdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2Zvcm0tbGF5b3V0L3RhYmdyb3VwL28tZm9ybS1sYXlvdXQtdGFiZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUc1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FB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Q1k7NEZBUHpCLDRCQUE0QjtrQkFYeEMsU0FBUzsrQkFDRSx3QkFBd0IsVUFDMUIscUNBQXFDLFdBQ3BDLHNDQUFzQyxpQkFHaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixnQ0FBZ0MsRUFBRSxNQUFNO3FCQUN6Qzs7MEJBK0JFLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDOzRDQXRCM0MsV0FBVyxNQUVLLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDNkIsY0FBYztzQkFBL0QsWUFBWTt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFRhYkNoYW5nZUV2ZW50LCBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcbmltcG9ydCB7IElMYXlvdXRNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9sYXlvdXQtbWFuYWdlci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9Gb3JtTGF5b3V0TWFuYWdlck1vZGUgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL28tZm9ybS1sYXlvdXQtbWFuYWdlci1tb2RlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50U3RhdGVDbGFzcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0YXRlL28tZm9ybS1sYXlvdXQtbWFuYWdlci1jb21wb25lbnQtc3RhdGUuY2xhc3MnO1xuaW1wb3J0IHsgRm9ybUxheW91dENsb3NlRGV0YWlsT3B0aW9ucywgRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9mb3JtLWxheW91dC1kZXRhaWwtY29tcG9uZW50LWRhdGEudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybUxheW91dE1hbmFnZXJDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9vLWZvcm0tbGF5b3V0LW1hbmFnZXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT0Zvcm1MYXlvdXRNYW5hZ2VyQmFzZSB9IGZyb20gJy4uL28tZm9ybS1sYXlvdXQtbWFuYWdlci1iYXNlLmNsYXNzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fRk9STV9MQVlPVVRfVEFCR1JPVVAgPSBbXG4gICd0aXRsZScsXG4gICdvcHRpb25zJyxcbiAgJ3N0cmV0Y2hUYWJzOiBzdHJldGNoLXRhYnMnXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PVVRQVVRTX09fRk9STV9MQVlPVVRfVEFCR1JPVVAgPSBbXG4gICdvbk1haW5UYWJTZWxlY3RlZCcsXG4gICdvblNlbGVjdGVkVGFiQ2hhbmdlJyxcbiAgJ29uQ2xvc2VUYWInXG5dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLWZvcm0tbGF5b3V0LXRhYmdyb3VwJyxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX0ZPUk1fTEFZT1VUX1RBQkdST1VQLFxuICBvdXRwdXRzOiBERUZBVUxUX09VVFBVVFNfT19GT1JNX0xBWU9VVF9UQUJHUk9VUCxcbiAgdGVtcGxhdGVVcmw6ICcuL28tZm9ybS1sYXlvdXQtdGFiZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLWZvcm0tbGF5b3V0LXRhYmdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tZm9ybS1sYXlvdXQtdGFiZ3JvdXBdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT0Zvcm1MYXlvdXRUYWJHcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIE9Gb3JtTGF5b3V0TWFuYWdlck1vZGUsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGRhdGE6IEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhW10gPSBbXTtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBvcHRpb25zOiBhbnk7XG4gIHB1YmxpYyBzaG93TG9hZGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHN0cmV0Y2hUYWJzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFiR3JvdXAnKSB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG4gIEBWaWV3Q2hpbGRyZW4oT0Zvcm1MYXlvdXRNYW5hZ2VyQ29udGVudERpcmVjdGl2ZSkgdGFic0RpcmVjdGl2ZXM6IFF1ZXJ5TGlzdDxPRm9ybUxheW91dE1hbmFnZXJDb250ZW50RGlyZWN0aXZlPjtcblxuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xuXG4gIHB1YmxpYyBvbk1haW5UYWJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIG9uU2VsZWN0ZWRUYWJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBvbkNsb3NlVGFiOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByb3RlY3RlZCBwcmV2aW91c1NlbGVjdGVkSW5kZXg6IG51bWJlcjtcblxuICBwdWJsaWMgdXBkYXRlVGFiQ29tcG9uZW50c1N0YXRlID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICBwdWJsaWMgdGFic01vZGlmaWNhdGlvbnNDYWNoZTogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByb3RlY3RlZCBsb2NhdGlvbjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1MYXlvdXRNYW5hZ2VyQmFzZSkpIHB1YmxpYyBmb3JtTGF5b3V0TWFuYWdlcjogT0Zvcm1MYXlvdXRNYW5hZ2VyQmFzZVxuICApIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoRGlhbG9nU2VydmljZSk7XG4gICAgdGhpcy5yb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuICB9XG5cbiAgZ2V0IHN0YXRlKCk6IE9Gb3JtTGF5b3V0TWFuYWdlckNvbXBvbmVudFN0YXRlQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLnN0YXRlO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudFN0YXRlKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudGFic0RpcmVjdGl2ZXMuY2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICBpZiAodGhpcy50YWJzRGlyZWN0aXZlcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdGFiSXRlbSA9IHRoaXMudGFic0RpcmVjdGl2ZXMubGFzdDtcbiAgICAgICAgY29uc3QgdGFiRGF0YSA9IHRoaXMuZGF0YVt0YWJJdGVtLmluZGV4XTtcbiAgICAgICAgaWYgKHRhYkRhdGEgJiYgIXRhYkRhdGEucmVuZGVyZWQpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZVRhYkNvbXBvbmVudCh0YWJEYXRhLCB0YWJJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWFpblRhYlRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMudGl0bGUgfHwgdGhpcy50aXRsZSB8fCAnTEFZT1VUX01BTkFOR0VSLk1BSU5fVEFCX0xBQkVMJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVBbmltYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZGlzYWJsZUFuaW1hdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGVhZGVyUG9zaXRpb24oKSB7XG4gICAgbGV0IGhlYWRlclBvc2l0aW9uO1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmhlYWRlclBvc2l0aW9uKSB7XG4gICAgICBoZWFkZXJQb3NpdGlvbiA9IHRoaXMub3B0aW9ucy5oZWFkZXJQb3NpdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlclBvc2l0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICBsZXQgY29sb3I7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuY29sb3IpIHtcbiAgICAgIGNvbG9yID0gdGhpcy5vcHRpb25zLmNvbG9yO1xuICAgIH1cbiAgICByZXR1cm4gY29sb3I7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJhY2tncm91bmRDb2xvcigpIHtcbiAgICBsZXQgYmFja2dyb3VuZENvbG9yO1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcikge1xuICAgICAgYmFja2dyb3VuZENvbG9yID0gdGhpcy5vcHRpb25zLmJhY2tncm91bmRDb2xvcjtcbiAgICB9XG4gICAgcmV0dXJuIGJhY2tncm91bmRDb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGVtcGxhdGVNYXRUYWJMYWJlbCgpIHtcbiAgICBsZXQgdGVtcGxhdGVNYXRUYWJMYWJlbDtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy50ZW1wbGF0ZU1hdFRhYkxhYmVsKSB7XG4gICAgICB0ZW1wbGF0ZU1hdFRhYkxhYmVsID0gdGhpcy5vcHRpb25zLnRlbXBsYXRlTWF0VGFiTGFiZWw7XG4gICAgfVxuICAgIHJldHVybiB0ZW1wbGF0ZU1hdFRhYkxhYmVsO1xuICB9XG5cbiAgcHVibGljIGdldCBpY29uKCkge1xuICAgIGxldCBpY29uO1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmljb24pIHtcbiAgICAgIGljb24gPSB0aGlzLm9wdGlvbnMuaWNvbjtcbiAgICB9XG4gICAgcmV0dXJuIGljb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzSWNvblBvc2l0aW9uTGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JztcbiAgfVxuXG4gIGdldCBtYXhUYWJzKCk6IG51bWJlciB7XG4gICAgbGV0IG1heFRhYnM7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubWF4VGFicykge1xuICAgICAgbWF4VGFicyA9IHRoaXMub3B0aW9ucy5tYXhUYWJzO1xuICAgIH1cbiAgICByZXR1cm4gbWF4VGFicztcbiAgfVxuXG4gIGFkZFRhYihjb21wRGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEpIHtcbiAgICBsZXQgYWRkTmV3Q29tcCA9IHRydWU7XG4gICAgaWYgKGNvbXBEYXRhLmluc2VydGlvbk1vZGUpIHtcbiAgICAgIGNvbnN0IGFscmVhZHlFeGlzdGluZ0luc2VydGlvblRhYiA9IFV0aWwuaXNEZWZpbmVkKHRoaXMuZGF0YS5maW5kKGl0ZW0gPT4gaXRlbS5pbnNlcnRpb25Nb2RlKSk7XG4gICAgICBhZGROZXdDb21wID0gIWFscmVhZHlFeGlzdGluZ0luc2VydGlvblRhYjtcbiAgICB9XG4gICAgY29uc3QgbmV3Q29tcFBhcmFtcyA9IGNvbXBEYXRhLnBhcmFtcztcbiAgICBpZiAoYWRkTmV3Q29tcCkge1xuICAgICAgdGhpcy5kYXRhLmZvckVhY2goY29tcCA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJQYXJhbXMgPSBjb21wLnBhcmFtcyB8fCB7fTtcbiAgICAgICAgbGV0IHNvbWVEaWZmUGFyYW1zID0gdHJ1ZTtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGN1cnJQYXJhbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzb21lRGlmZlBhcmFtcyA9IE9iamVjdC5rZXlzKGN1cnJQYXJhbXMpLnNvbWUoa2V5ID0+IGN1cnJQYXJhbXNba2V5XSAhPSBuZXdDb21wUGFyYW1zW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIGFkZE5ld0NvbXAgPSBhZGROZXdDb21wICYmIHNvbWVEaWZmUGFyYW1zO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChhZGROZXdDb21wKSB7XG4gICAgICB0aGlzLmRhdGEucHVzaChjb21wRGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVsb2FkVGFiKGNvbXBEYXRhKTtcbiAgICB9XG4gIH1cblxuICByZWxvYWRUYWIoY29tcERhdGE6IEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhKSB7XG4gICAgbGV0IGNvbXBJbmRleCA9IC0xO1xuICAgIGNvbnN0IGNvbXBQYXJhbXMgPSBjb21wRGF0YS5wYXJhbXM7XG4gICAgdGhpcy5kYXRhLmZvckVhY2goKGNvbXAsIGkpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJQYXJhbXMgPSBjb21wLnBhcmFtcyB8fCB7fTtcbiAgICAgIGNvbnN0IHNhbWVQYXJhbXMgPSBVdGlsLmlzRXF1aXZhbGVudChjdXJyUGFyYW1zLCBjb21wUGFyYW1zKTtcbiAgICAgIGlmIChzYW1lUGFyYW1zKSB7XG4gICAgICAgIGNvbXBJbmRleCA9IGk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKGNvbXBJbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSAoY29tcEluZGV4ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgb25UYWJTZWxlY3RDaGFuZ2UoYXJnOiBNYXRUYWJDaGFuZ2VFdmVudCkge1xuICAgIGlmICh0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyICYmIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9PT0gMCkge1xuICAgICAgdGhpcy5mb3JtTGF5b3V0TWFuYWdlci51cGRhdGVJZk5lZWRlZCgpO1xuICAgICAgdGhpcy5vbk1haW5UYWJTZWxlY3RlZC5lbWl0KCk7XG4gICAgfVxuICAgIGNvbnN0IGlzTG9hZGluZyA9IHRoaXMuc2hvd0xvYWRpbmcuZ2V0VmFsdWUoKTtcbiAgICBpZiAoaXNMb2FkaW5nICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuc3RhdGUpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMuc3RhdGUudGFic0RhdGEpICYmXG4gICAgICBhcmcuaW5kZXggPT09IHRoaXMuc3RhdGUudGFic0RhdGEubGVuZ3RoIC0gMSkge1xuICAgICAgLy8gdGhpcyBpcyBvbmx5IHRyaWdnZXJlZCBvbmNlIHdoZW4gYWxsIHRhYnMgYXJlIGxvYWRlZFxuICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gdGhpcy5zdGF0ZS5zZWxlY3RlZEluZGV4O1xuICAgICAgdGhpcy5zaG93TG9hZGluZy5uZXh0KGZhbHNlKTtcbiAgICB9XG4gICAgaWYgKCFpc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMub25TZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0YTogdGhpcy5kYXRhW3RoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAtIDFdLFxuICAgICAgICBpbmRleDogdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4LFxuICAgICAgICBwcmV2aW91c0luZGV4OiB0aGlzLnByZXZpb3VzU2VsZWN0ZWRJbmRleFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNTZWxlY3RlZEluZGV4ID0gdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgY2xvc2VUYWIoaW5kZXg6IG51bWJlciwgb3B0aW9ucz86IEZvcm1MYXlvdXRDbG9zZURldGFpbE9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUxheW91dE1hbmFnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFiRGF0YSA9IHRoaXMuZGF0YVtpbmRleF07XG4gICAgY29uc3Qgb25DbG9zZVRhYkFjY2VwdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChvbkNsb3NlVGFiQWNjZXB0ZWQuYXNPYnNlcnZhYmxlKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHRoaXMuZGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB0aGlzLm9uQ2xvc2VUYWIuZW1pdCh7XG4gICAgICAgICAgZGF0YTogdGFiRGF0YSxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pKTtcblxuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0YWJEYXRhKSAmJiB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLmhhc1RvQ29uZmlybUV4aXQodGFiRGF0YSwgb3B0aW9ucykpIHtcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5jb25maXJtKCdDT05GSVJNJywgJ01FU1NBR0VTLkZPUk1fQ0hBTkdFU19XSUxMX0JFX0xPU1QnKS50aGVuKHJlcyA9PiB7XG4gICAgICAgIG9uQ2xvc2VUYWJBY2NlcHRlZC5lbWl0KHJlcyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb25DbG9zZVRhYkFjY2VwdGVkLmVtaXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlVGFiQ29tcG9uZW50KHRhYkRhdGE6IEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhLCBjb250ZW50OiBPRm9ybUxheW91dE1hbmFnZXJDb250ZW50RGlyZWN0aXZlKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gdGFiRGF0YS5jb21wb25lbnQ7XG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiA9IGNvbnRlbnQudmlld0NvbnRhaW5lclJlZjtcbiAgICB2aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgICB0YWJEYXRhLnJlbmRlcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIGdldEZvcm1DYWNoZURhdGEoKTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEge1xuICAgIHJldHVybiB0aGlzLmRhdGEubGVuZ3RoID4gMCA/IHRoaXMuZGF0YVt0aGlzLmRhdGEubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRSb3V0ZU9mQWN0aXZlSXRlbSgpOiBhbnlbXSB7XG4gICAgY29uc3Qgcm91dGUgPSBbXTtcbiAgICBpZiAodGhpcy5kYXRhLmxlbmd0aCAmJiB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPiAwKSB7XG4gICAgICBjb25zdCB1cmxTZWdtZW50cyA9IHRoaXMuZGF0YVt0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggLSAxXS51cmxTZWdtZW50cyB8fCBbXTtcbiAgICAgIHVybFNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQpID0+IHtcbiAgICAgICAgcm91dGUucHVzaChzZWdtZW50LnBhdGgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcm91dGU7XG4gICAgfVxuICAgIHJldHVybiByb3V0ZTtcbiAgfVxuXG4gIHNldE1vZGlmaWVkU3RhdGUoZm9ybUF0dHI6IHN0cmluZywgbW9kaWZpZWQ6IGJvb2xlYW4sIGNvbmZpcm1FeGl0OiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA+IDApIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRGF0YSA9IHRoaXMuZGF0YVt0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggLSAxXTtcbiAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChzZWxlY3RlZERhdGEpKSB7XG4gICAgICAgIHNlbGVjdGVkRGF0YS5pbm5lckZvcm1zSW5mb1tmb3JtQXR0cl0gPSB7XG4gICAgICAgICAgbW9kaWZpZWQ6IG1vZGlmaWVkLFxuICAgICAgICAgIGNvbmZpcm1PbkV4aXQ6IGNvbmZpcm1FeGl0XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTmF2aWdhdGlvbihkYXRhOiBhbnksIGtleXNWYWx1ZXM6IGFueSwgaW5zZXJ0aW9uTW9kZT86IGJvb2xlYW4pIHtcbiAgICBsZXQgaW5kZXg7XG4gICAgaWYgKGluc2VydGlvbk1vZGUpIHtcbiAgICAgIGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoaXRlbTogYW55KSA9PiBpdGVtLmluc2VydGlvbk1vZGUgIT09IGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KChpdGVtOiBhbnkpID0+IE9iamVjdC5rZXlzKGtleXNWYWx1ZXMpLmV2ZXJ5KGtleSA9PiBrZXlzVmFsdWVzW2tleV0gPT0gaXRlbS5wYXJhbXNba2V5XSkpO1xuICAgIH1cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgbGV0IGxhYmVsID0gdGhpcy5mb3JtTGF5b3V0TWFuYWdlci5nZXRMYWJlbEZyb21EYXRhKGRhdGEpO1xuICAgICAgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gKGluZGV4ICsgMSk7XG4gICAgICBsYWJlbCA9IGxhYmVsLmxlbmd0aCA/IGxhYmVsIDogdGhpcy5mb3JtTGF5b3V0TWFuYWdlci5nZXRMYWJlbEZyb21VcmxQYXJhbXModGhpcy5kYXRhW2luZGV4XS5wYXJhbXMpO1xuICAgICAgdGhpcy5kYXRhW2luZGV4XS5sYWJlbCA9IGxhYmVsO1xuICAgICAgdGhpcy5kYXRhW2luZGV4XS5pbnNlcnRpb25Nb2RlID0gaW5zZXJ0aW9uTW9kZTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhkYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuZGF0YVtpbmRleF0uZm9ybURhdGFCeUxhYmVsQ29sdW1ucyA9IHRoaXMuZm9ybUxheW91dE1hbmFnZXIuZ2V0Rm9ybURhdGFGcm9tTGFiZWxDb2x1bW5zKGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFjdGl2ZURhdGEoZGF0YTogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggLSAxO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZCh0aGlzLmRhdGFbaW5kZXhdKSkge1xuICAgICAgdGhpcy5kYXRhW2luZGV4XSA9IE9iamVjdC5hc3NpZ24odGhpcy5kYXRhW2luZGV4XSwgZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGF0YVRvU3RvcmUoKTogYW55IHtcbiAgICAvLyBJc3N1ZSAjODg0IGF2b2lkIHN0b3JpbmcgaW5zZXJ0aW9uTW9kZSB0YWJzXG4gICAgY29uc3QgdGFic0RhdGEgPSB0aGlzLmRhdGFcbiAgICAgIC5maWx0ZXIoKGRhdGE6IEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhKSA9PiAhZGF0YS5pbnNlcnRpb25Nb2RlKVxuICAgICAgLm1hcCgoZGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEpID0+ICh7XG4gICAgICAgIHBhcmFtczogZGF0YS5wYXJhbXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBkYXRhLnF1ZXJ5UGFyYW1zLFxuICAgICAgICB1cmxTZWdtZW50czogZGF0YS51cmxTZWdtZW50cyxcbiAgICAgICAgdXJsOiBkYXRhLnVybCxcbiAgICAgICAgbGFiZWw6IGRhdGEubGFiZWwsXG4gICAgICAgIGluc2VydGlvbk1vZGU6IGRhdGEuaW5zZXJ0aW9uTW9kZVxuICAgICAgfSkpO1xuICAgIHJldHVybiB7XG4gICAgICB0YWJzRGF0YTogdGFic0RhdGEsXG4gICAgICBzZWxlY3RlZEluZGV4OiB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXhcbiAgICB9O1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvbXBvbmVudFN0YXRlKCkge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5zdGF0ZSkgfHwgIVV0aWwuaXNEZWZpbmVkKHRoaXMuc3RhdGUudGFic0RhdGEpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgIzg4NCBlbnN1cmluZyB0aGF0IGEgaW5zZXJ0aW9uIG1vZGUgdGFiIHRoYXQgbWlnaHQgYmUgcHJldmlvdXNseSBzdG9yZWQgd29udCBiZSBjcmVhdGVkXG4gICAgdGhpcy5zdGF0ZS50YWJzRGF0YSA9IHRoaXMuc3RhdGUudGFic0RhdGEuZmlsdGVyKHRhYkRhdGEgPT4gIXRhYkRhdGEuaW5zZXJ0aW9uTW9kZSlcblxuICAgIGlmICh0aGlzLnN0YXRlLnRhYnNEYXRhLmxlbmd0aCA+PSAxICYmICh0aGlzLnN0YXRlLnRhYnNEYXRhWzBdLnVybCB8fCAnJykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zaG93TG9hZGluZy5uZXh0KHRydWUpO1xuICAgICAgY29uc3QgZXh0cmFzID0ge307XG4gICAgICBleHRyYXNbQ29kZXMuUVVFUllfUEFSQU1TXSA9IHRoaXMuc3RhdGUudGFic0RhdGFbMF0ucXVlcnlQYXJhbXM7XG4gICAgICBleHRyYXNbQ29kZXMuUVVFUllfUEFSQU1TXVtDb2Rlcy5JTlNFUlRJT05fTU9ERV0gPSBgJHt0aGlzLnN0YXRlLnRhYnNEYXRhWzBdLmluc2VydGlvbk1vZGV9YFxuICAgICAgaWYgKHRoaXMuZm9ybUxheW91dE1hbmFnZXIpIHtcbiAgICAgICAgdGhpcy5mb3JtTGF5b3V0TWFuYWdlci5zZXRBc0FjdGl2ZUZvcm1MYXlvdXRNYW5hZ2VyKCk7XG4gICAgICB9XG4gICAgICAvLyBUcmlnZ2VyaW5nIGZpcnN0IHRhYiBuYXZpZ2F0aW9uXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5zdGF0ZS50YWJzRGF0YVswXS51cmxdLCBleHRyYXMpLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhWzBdICYmIHRoaXMuZGF0YVswXS5jb21wb25lbnQgJiYgdGhpcy5zdGF0ZS50YWJzRGF0YS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgLy8gVHJpZ2dlcmluZyByZXN0IG9mIHRoZSB0YWJzIGNyZWF0aW9uXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRhYnNGcm9tU3RhdGUoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNob3dMb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlVGFic0Zyb21TdGF0ZSgpIHtcbiAgICBjb25zdCB0YWJDb21wb25lbnQgPSB0aGlzLmRhdGFbMF0uY29tcG9uZW50O1xuICAgIC8vIHNraXBwaW5nIGZpcnN0IGVsZW1lbnQgKGNyZWF0ZWQgaW4gaW5pdGlhbGl6ZUNvbXBvbmVudFN0YXRlKVxuICAgIGNvbnN0IHN0YXRlVGFic0RhdGEgPSB0aGlzLnN0YXRlLnRhYnNEYXRhLnNsaWNlKDEpO1xuICAgIGlmIChzdGF0ZVRhYnNEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHN0YXRlVGFic0RhdGEuZm9yRWFjaCgodGFiRGF0YTogYW55KSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0RldGFpbERhdGEgPSB0aGlzLmNyZWF0ZURldGFpbENvbXBvbmVudCh0YWJDb21wb25lbnQsIHRhYkRhdGEpO1xuICAgICAgICAgIHRoaXMuZGF0YS5wdXNoKG5ld0RldGFpbERhdGEpO1xuICAgICAgICB9LCAwKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVEZXRhaWxDb21wb25lbnQoY29tcG9uZW50OiBhbnksIHBhcmFtc09iajogYW55KSB7XG4gICAgY29uc3QgbmV3RGV0YWlsQ29tcDogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEgPSB7XG4gICAgICBwYXJhbXM6IHBhcmFtc09iai5wYXJhbXMsXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zT2JqLnF1ZXJ5UGFyYW1zLFxuICAgICAgdXJsU2VnbWVudHM6IHBhcmFtc09iai51cmxTZWdtZW50cyxcbiAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgdXJsOiBwYXJhbXNPYmoudXJsLFxuICAgICAgaWQ6IFV0aWwucmFuZG9tTnVtYmVyKCkudG9TdHJpbmcoKSxcbiAgICAgIGxhYmVsOiBwYXJhbXNPYmoubGFiZWwsXG4gICAgICBpbm5lckZvcm1zSW5mbzoge31cbiAgICB9O1xuICAgIHJldHVybiBuZXdEZXRhaWxDb21wO1xuICB9XG5cbiAgZ2V0UGFyYW1zKCk6IGFueSB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuZGF0YVswXSkgPyB0aGlzLmRhdGFbMF0ucGFyYW1zIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgaXNNYWluQ29tcG9uZW50KGNvbXA6IElMYXlvdXRNYW5hZ2VyQ29tcG9uZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmlyc3RUYWIgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbWF0LXRhYi1ib2R5JylbMF07XG4gICAgcmV0dXJuIGZpcnN0VGFiICYmIGNvbXAuZWxlbWVudFJlZiAmJiBmaXJzdFRhYi5jb250YWlucyhjb21wLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBvcGVuRGV0YWlsKGRldGFpbDogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEpIHtcbiAgICB0aGlzLmFkZFRhYihkZXRhaWwpO1xuICB9XG5cbiAgY2xvc2VEZXRhaWwob3B0aW9ucz86IEZvcm1MYXlvdXRDbG9zZURldGFpbE9wdGlvbnMpIHtcbiAgICB0aGlzLmNsb3NlVGFiKHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAtIDEsIG9wdGlvbnMpO1xuICB9XG5cbiAgY2FuQWRkRGV0YWlsQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgIC8vIFRoZSBtYXggdGFicyBudW1iZXIgaW5jbHVkZXMgdGhlIG1haW4gdGFiXG4gICAgY29uc3QgbWF4UmVhY2hlZCA9ICh0aGlzLmRhdGEubGVuZ3RoICsgMSkgPj0gdGhpcy5tYXhUYWJzO1xuICAgIGlmIChtYXhSZWFjaGVkKSB7XG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuaW5mbygnSU5GTycsICdMQVlPVVRfTUFOQU5HRVIuTUFYX1RBQlNfTlVNQkVSX1JFQUNIRUQnKVxuICAgIH1cbiAgICByZXR1cm4gIW1heFJlYWNoZWQ7XG4gIH1cblxuICBpc1RhYkRhdGFNb2RpZmllZCh0YWJEYXRhOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0YWJEYXRhLmlubmVyRm9ybXNJbmZvKS5zb21lKGZvcm1BdHRyID0+IHRhYkRhdGEuaW5uZXJGb3Jtc0luZm9bZm9ybUF0dHJdLm1vZGlmaWVkKTtcbiAgfVxuXG4gIGNsb3NlRGV0YWlscyhkZXRhaWxzS2V5c0RhdGE6IGFueVtdID0gW10sIG9wdGlvbnM/OiBGb3JtTGF5b3V0Q2xvc2VEZXRhaWxPcHRpb25zKSB7XG4gICAgZGV0YWlsc0tleXNEYXRhLmZvckVhY2goKGRldGFpbERhdGEpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLmZpbmRJbmRleCgoaXRlbSkgPT4gVXRpbC5pc0VxdWl2YWxlbnQoZGV0YWlsRGF0YSwgaXRlbS5wYXJhbXMgfHwge30pKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5jbG9zZVRhYihpbmRleCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRJZE9mQWN0aXZlSXRlbSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGFbdGhpcy5kYXRhLmxlbmd0aCAtIDFdID8gdGhpcy5kYXRhW3RoaXMuZGF0YS5sZW5ndGggLSAxXS5pZCA6IHRoaXMuZGF0YS5sZW5ndGgudG9TdHJpbmcoKTtcbiAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXAgI3RhYkdyb3VwIG9UYWJHcm91cD1cIm9udGltaXplXCIgZnhGaWxsIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJvblRhYlNlbGVjdENoYW5nZSgkZXZlbnQpXCIgW2NvbG9yXT1cImNvbG9yXCJcbiAgW2JhY2tncm91bmRDb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIiBbaGVhZGVyUG9zaXRpb25dPVwiaGVhZGVyUG9zaXRpb25cIiBbQC5kaXNhYmxlZF09XCJkaXNhYmxlQW5pbWF0aW9uXCIgW21hdC1zdHJldGNoLXRhYnNdPVwic3RyZXRjaFRhYnNcIj5cbiAgPG1hdC10YWIgbGFiZWw9XCJ7eyBtYWluVGFiVGl0bGUgfCBvVHJhbnNsYXRlIH19XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L21hdC10YWI+XG4gIDxtYXQtdGFiICpuZ0Zvcj1cImxldCB0YWJEYXRhIG9mIGRhdGE7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8bmctdGVtcGxhdGUgbWF0LXRhYi1sYWJlbD5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGFiLWxhYmVsXCIgW2NsYXNzLm1vZGlmaWVkXT1cImlzVGFiRGF0YU1vZGlmaWVkKHRhYkRhdGEpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uICYmIGlzSWNvblBvc2l0aW9uTGVmdFwiPlxuICAgICAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZU1hdFRhYkxhYmVsICYmIHRhYkRhdGEuZm9ybURhdGFCeUxhYmVsQ29sdW1ucyAmJiAhdGFiRGF0YS5pbnNlcnRpb25Nb2RlIFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU1hdFRhYkxhYmVsO2NvbnRleHQ6eyRpbXBsaWNpdDp0YWJEYXRhLmZvcm1EYXRhQnlMYWJlbENvbHVtbnN9XCI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRlbXBsYXRlTWF0VGFiTGFiZWwgfHwgdGFiRGF0YS5pbnNlcnRpb25Nb2RlXCI+XG4gICAgICAgICAge3sgdGFiRGF0YS5sYWJlbCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb24gJiYgIWlzSWNvblBvc2l0aW9uTGVmdFwiPlxuICAgICAgICAgIDxtYXQtaWNvbj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JhZGllbnQtbGF5ZXJcIj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8bWF0LWljb24gKGNsaWNrKT1cImNsb3NlVGFiKGkpXCIgc3ZnSWNvbj1cIm9udGltaXplOmNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBvLWZvcm0tbGF5b3V0LW1hbmFnZXItY29udGVudCBbaW5kZXhdPVwiaVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbjxkaXYgKm5nSWY9XCJzaG93TG9hZGluZyB8IGFzeW5jXCIgY2xhc3M9XCJzcGlubmVyLWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgPG1hdC1wcm9ncmVzcy1zcGlubmVyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgc3Ryb2tlV2lkdGg9XCIzXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbjwvZGl2PlxuIl19
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWxheW91dC10YWJncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvbGF5b3V0cy9mb3JtLWxheW91dC90YWJncm91cC9vLWZvcm0tbGF5b3V0LXRhYmdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9sYXlvdXRzL2Zvcm0tbGF5b3V0L3RhYmdyb3VwL28tZm9ybS1sYXlvdXQtdGFiZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFFUixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUc1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FB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SUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1RyxDQUFDOzswSEF2WVUsNEJBQTRCLG9HQTZCN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDOzhHQTdCdkMsNEJBQTRCLG1kQVV6QixrQ0FBa0MsZ0RDaEVsRCxtckRBK0JBO0FENkJFO0lBQUMscUJBQXFCLEVBQUU7O2lFQUNZOzRGQVB6Qiw0QkFBNEI7a0JBWHhDLFNBQVM7K0JBQ0Usd0JBQXdCLFVBQzFCLHFDQUFxQyxXQUNwQyxzQ0FBc0MsaUJBR2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osZ0NBQWdDLEVBQUUsTUFBTTtxQkFDekM7OzBCQStCRSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs0Q0F0QjNDLFdBQVcsTUFFSyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQzZCLGNBQWM7c0JBQS9ELFlBQVk7dUJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJDaGFuZ2VFdmVudCwgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBJTGF5b3V0TWFuYWdlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbGF5b3V0LW1hbmFnZXItY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPRm9ybUxheW91dE1hbmFnZXJNb2RlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9vLWZvcm0tbGF5b3V0LW1hbmFnZXItbW9kZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9Gb3JtTGF5b3V0TWFuYWdlckNvbXBvbmVudFN0YXRlQ2xhc3MgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zdGF0ZS9vLWZvcm0tbGF5b3V0LW1hbmFnZXItY29tcG9uZW50LXN0YXRlLmNsYXNzJztcbmltcG9ydCB7IEZvcm1MYXlvdXRDbG9zZURldGFpbE9wdGlvbnMsIEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvZm9ybS1sYXlvdXQtZGV0YWlsLWNvbXBvbmVudC1kYXRhLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0Zvcm1MYXlvdXRNYW5hZ2VyQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvby1mb3JtLWxheW91dC1tYW5hZ2VyLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9Gb3JtTGF5b3V0TWFuYWdlckJhc2UgfSBmcm9tICcuLi9vLWZvcm0tbGF5b3V0LW1hbmFnZXItYmFzZS5jbGFzcyc7XG5pbXBvcnQgeyBPRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvby1mb3JtLWxheW91dC1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19GT1JNX0xBWU9VVF9UQUJHUk9VUCA9IFtcbiAgJ3RpdGxlJyxcbiAgJ29wdGlvbnMnLFxuICAnc3RyZXRjaFRhYnM6IHN0cmV0Y2gtdGFicydcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19GT1JNX0xBWU9VVF9UQUJHUk9VUCA9IFtcbiAgJ29uTWFpblRhYlNlbGVjdGVkJyxcbiAgJ29uU2VsZWN0ZWRUYWJDaGFuZ2UnLFxuICAnb25DbG9zZVRhYidcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tZm9ybS1sYXlvdXQtdGFiZ3JvdXAnLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fRk9STV9MQVlPVVRfVEFCR1JPVVAsXG4gIG91dHB1dHM6IERFRkFVTFRfT1VUUFVUU19PX0ZPUk1fTEFZT1VUX1RBQkdST1VQLFxuICB0ZW1wbGF0ZVVybDogJy4vby1mb3JtLWxheW91dC10YWJncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL28tZm9ybS1sYXlvdXQtdGFiZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muby1mb3JtLWxheW91dC10YWJncm91cF0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPRm9ybUxheW91dFRhYkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT0Zvcm1MYXlvdXRNYW5hZ2VyTW9kZSwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgZGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGFbXSA9IFtdO1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgcHVibGljIG9wdGlvbnM6IGFueTtcbiAgcHVibGljIHNob3dMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgc3RyZXRjaFRhYnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd0YWJHcm91cCcpIHRhYkdyb3VwOiBNYXRUYWJHcm91cDtcbiAgQFZpZXdDaGlsZHJlbihPRm9ybUxheW91dE1hbmFnZXJDb250ZW50RGlyZWN0aXZlKSB0YWJzRGlyZWN0aXZlczogUXVlcnlMaXN0PE9Gb3JtTGF5b3V0TWFuYWdlckNvbnRlbnREaXJlY3RpdmU+O1xuXG4gIHByb3RlY3RlZCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcjtcbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG5cbiAgcHVibGljIG9uTWFpblRhYlNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwdWJsaWMgb25TZWxlY3RlZFRhYkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIG9uQ2xvc2VUYWI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzU2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuXG4gIHB1YmxpYyB1cGRhdGVUYWJDb21wb25lbnRzU3RhdGUgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHB1YmxpYyB0YWJzTW9kaWZpY2F0aW9uc0NhY2hlOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGxvY2F0aW9uOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUxheW91dE1hbmFnZXJCYXNlKSkgcHVibGljIGZvcm1MYXlvdXRNYW5hZ2VyOiBPRm9ybUxheW91dE1hbmFnZXJCYXNlXG4gICkge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IGluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcbiAgICB0aGlzLnJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gIH1cblxuICBnZXQgc3RhdGUoKTogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50U3RhdGVDbGFzcyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUxheW91dE1hbmFnZXIuc3RhdGU7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50U3RhdGUoKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50YWJzRGlyZWN0aXZlcy5jaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIGlmICh0aGlzLnRhYnNEaXJlY3RpdmVzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCB0YWJJdGVtID0gdGhpcy50YWJzRGlyZWN0aXZlcy5sYXN0O1xuICAgICAgICBjb25zdCB0YWJEYXRhID0gdGhpcy5kYXRhW3RhYkl0ZW0uaW5kZXhdO1xuICAgICAgICBpZiAodGFiRGF0YSAmJiAhdGFiRGF0YS5yZW5kZXJlZCkge1xuICAgICAgICAgIHRoaXMuY3JlYXRlVGFiQ29tcG9uZW50KHRhYkRhdGEsIHRhYkl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtYWluVGFiVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucy50aXRsZSB8fCB0aGlzLnRpdGxlIHx8ICdMQVlPVVRfTUFOQU5HRVIuTUFJTl9UQUJfTEFCRUwnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZUFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5kaXNhYmxlQW5pbWF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBoZWFkZXJQb3NpdGlvbigpIHtcbiAgICBsZXQgaGVhZGVyUG9zaXRpb247XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuaGVhZGVyUG9zaXRpb24pIHtcbiAgICAgIGhlYWRlclBvc2l0aW9uID0gdGhpcy5vcHRpb25zLmhlYWRlclBvc2l0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyUG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbG9yKCkge1xuICAgIGxldCBjb2xvcjtcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5jb2xvcikge1xuICAgICAgY29sb3IgPSB0aGlzLm9wdGlvbnMuY29sb3I7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmFja2dyb3VuZENvbG9yKCkge1xuICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZENvbG9yO1xuICAgIH1cbiAgICByZXR1cm4gYmFja2dyb3VuZENvbG9yO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZW1wbGF0ZU1hdFRhYkxhYmVsKCkge1xuICAgIGxldCB0ZW1wbGF0ZU1hdFRhYkxhYmVsO1xuICAgIGlmICh0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnRlbXBsYXRlTWF0VGFiTGFiZWwpIHtcbiAgICAgIHRlbXBsYXRlTWF0VGFiTGFiZWwgPSB0aGlzLm9wdGlvbnMudGVtcGxhdGVNYXRUYWJMYWJlbDtcbiAgICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlTWF0VGFiTGFiZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGljb24oKSB7XG4gICAgbGV0IGljb247XG4gICAgaWYgKHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuaWNvbikge1xuICAgICAgaWNvbiA9IHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNJY29uUG9zaXRpb25MZWZ0KCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnO1xuICB9XG5cbiAgZ2V0IG1heFRhYnMoKTogbnVtYmVyIHtcbiAgICBsZXQgbWF4VGFicztcbiAgICBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5tYXhUYWJzKSB7XG4gICAgICBtYXhUYWJzID0gdGhpcy5vcHRpb25zLm1heFRhYnM7XG4gICAgfVxuICAgIHJldHVybiBtYXhUYWJzO1xuICB9XG5cbiAgYWRkVGFiKGNvbXBEYXRhOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSkge1xuICAgIGxldCBhZGROZXdDb21wID0gdHJ1ZTtcbiAgICBpZiAoY29tcERhdGEuaW5zZXJ0aW9uTW9kZSkge1xuICAgICAgY29uc3QgYWxyZWFkeUV4aXN0aW5nSW5zZXJ0aW9uVGFiID0gVXRpbC5pc0RlZmluZWQodGhpcy5kYXRhLmZpbmQoaXRlbSA9PiBpdGVtLmluc2VydGlvbk1vZGUpKTtcbiAgICAgIGFkZE5ld0NvbXAgPSAhYWxyZWFkeUV4aXN0aW5nSW5zZXJ0aW9uVGFiO1xuICAgIH1cbiAgICBjb25zdCBuZXdDb21wUGFyYW1zID0gY29tcERhdGEucGFyYW1zO1xuICAgIGlmIChhZGROZXdDb21wKSB7XG4gICAgICB0aGlzLmRhdGEuZm9yRWFjaChjb21wID0+IHtcbiAgICAgICAgY29uc3QgY3VyclBhcmFtcyA9IGNvbXAucGFyYW1zIHx8IHt9O1xuICAgICAgICBsZXQgc29tZURpZmZQYXJhbXMgPSB0cnVlO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoY3VyclBhcmFtcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNvbWVEaWZmUGFyYW1zID0gT2JqZWN0LmtleXMoY3VyclBhcmFtcykuc29tZShrZXkgPT4gY3VyclBhcmFtc1trZXldICE9IG5ld0NvbXBQYXJhbXNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgYWRkTmV3Q29tcCA9IGFkZE5ld0NvbXAgJiYgc29tZURpZmZQYXJhbXM7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGFkZE5ld0NvbXApIHtcbiAgICAgIHRoaXMuZGF0YS5wdXNoKGNvbXBEYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWxvYWRUYWIoY29tcERhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZFRhYihjb21wRGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEpIHtcbiAgICBsZXQgY29tcEluZGV4ID0gLTE7XG4gICAgY29uc3QgY29tcFBhcmFtcyA9IGNvbXBEYXRhLnBhcmFtcztcbiAgICB0aGlzLmRhdGEuZm9yRWFjaCgoY29tcCwgaSkgPT4ge1xuICAgICAgY29uc3QgY3VyclBhcmFtcyA9IGNvbXAucGFyYW1zIHx8IHt9O1xuICAgICAgY29uc3Qgc2FtZVBhcmFtcyA9IFV0aWwuaXNFcXVpdmFsZW50KGN1cnJQYXJhbXMsIGNvbXBQYXJhbXMpO1xuICAgICAgaWYgKHNhbWVQYXJhbXMpIHtcbiAgICAgICAgY29tcEluZGV4ID0gaTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoY29tcEluZGV4ID49IDApIHtcbiAgICAgIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IChjb21wSW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBvblRhYlNlbGVjdENoYW5nZShhcmc6IE1hdFRhYkNoYW5nZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZm9ybUxheW91dE1hbmFnZXIgJiYgdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID09PSAwKSB7XG4gICAgICB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLnVwZGF0ZUlmTmVlZGVkKCk7XG4gICAgICB0aGlzLm9uTWFpblRhYlNlbGVjdGVkLmVtaXQoKTtcbiAgICB9XG4gICAgY29uc3QgaXNMb2FkaW5nID0gdGhpcy5zaG93TG9hZGluZy5nZXRWYWx1ZSgpO1xuICAgIGlmIChpc0xvYWRpbmcgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5zdGF0ZSkgJiYgVXRpbC5pc0RlZmluZWQodGhpcy5zdGF0ZS50YWJzRGF0YSkgJiZcbiAgICAgIGFyZy5pbmRleCA9PT0gdGhpcy5zdGF0ZS50YWJzRGF0YS5sZW5ndGggLSAxKSB7XG4gICAgICAvLyB0aGlzIGlzIG9ubHkgdHJpZ2dlcmVkIG9uY2Ugd2hlbiBhbGwgdGFicyBhcmUgbG9hZGVkXG4gICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSB0aGlzLnN0YXRlLnNlbGVjdGVkSW5kZXg7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgICBpZiAoIWlzTG9hZGluZykge1xuICAgICAgdGhpcy5vblNlbGVjdGVkVGFiQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB0aGlzLmRhdGFbdGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4IC0gMV0sXG4gICAgICAgIGluZGV4OiB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXgsXG4gICAgICAgIHByZXZpb3VzSW5kZXg6IHRoaXMucHJldmlvdXNTZWxlY3RlZEluZGV4XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c1NlbGVjdGVkSW5kZXggPSB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICBjbG9zZVRhYihpbmRleDogbnVtYmVyLCBvcHRpb25zPzogRm9ybUxheW91dENsb3NlRGV0YWlsT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5mb3JtTGF5b3V0TWFuYWdlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0YWJEYXRhID0gdGhpcy5kYXRhW2luZGV4XTtcbiAgICBjb25zdCBvbkNsb3NlVGFiQWNjZXB0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKG9uQ2xvc2VUYWJBY2NlcHRlZC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgdGhpcy5kYXRhLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMub25DbG9zZVRhYi5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB0YWJEYXRhLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDFcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRhYkRhdGEpICYmIHRoaXMuZm9ybUxheW91dE1hbmFnZXIuaGFzVG9Db25maXJtRXhpdCh0YWJEYXRhLCBvcHRpb25zKSkge1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCAnTUVTU0FHRVMuRk9STV9DSEFOR0VTX1dJTExfQkVfTE9TVCcpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgb25DbG9zZVRhYkFjY2VwdGVkLmVtaXQocmVzKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbkNsb3NlVGFiQWNjZXB0ZWQuZW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVUYWJDb21wb25lbnQodGFiRGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEsIGNvbnRlbnQ6IE9Gb3JtTGF5b3V0TWFuYWdlckNvbnRlbnREaXJlY3RpdmUpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0YWJEYXRhLmNvbXBvbmVudDtcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gY29udGVudC52aWV3Q29udGFpbmVyUmVmO1xuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xuICAgIHRhYkRhdGEucmVuZGVyZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0Rm9ybUNhY2hlRGF0YSgpOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGggPiAwID8gdGhpcy5kYXRhW3RoaXMuZGF0YS5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFJvdXRlT2ZBY3RpdmVJdGVtKCk6IGFueVtdIHtcbiAgICBjb25zdCByb3V0ZSA9IFtdO1xuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoICYmIHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA+IDApIHtcbiAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gdGhpcy5kYXRhW3RoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAtIDFdLnVybFNlZ21lbnRzIHx8IFtdO1xuICAgICAgdXJsU2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCkgPT4ge1xuICAgICAgICByb3V0ZS5wdXNoKHNlZ21lbnQucGF0aCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByb3V0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdXRlO1xuICB9XG5cbiAgc2V0TW9kaWZpZWRTdGF0ZShmb3JtQXR0cjogc3RyaW5nLCBtb2RpZmllZDogYm9vbGVhbiwgY29uZmlybUV4aXQ6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4ID4gMCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWREYXRhID0gdGhpcy5kYXRhW3RoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAtIDFdO1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlbGVjdGVkRGF0YSkpIHtcbiAgICAgICAgc2VsZWN0ZWREYXRhLmlubmVyRm9ybXNJbmZvW2Zvcm1BdHRyXSA9IHtcbiAgICAgICAgICBtb2RpZmllZDogbW9kaWZpZWQsXG4gICAgICAgICAgY29uZmlybU9uRXhpdDogY29uZmlybUV4aXRcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVOYXZpZ2F0aW9uKGRhdGE6IGFueSwga2V5c1ZhbHVlczogYW55LCBpbnNlcnRpb25Nb2RlPzogYm9vbGVhbikge1xuICAgIGxldCBpbmRleDtcbiAgICBpZiAoaW5zZXJ0aW9uTW9kZSkge1xuICAgICAgaW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KChpdGVtOiBhbnkpID0+IGl0ZW0uaW5zZXJ0aW9uTW9kZSAhPT0gZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoKGl0ZW06IGFueSkgPT4gT2JqZWN0LmtleXMoa2V5c1ZhbHVlcykuZXZlcnkoa2V5ID0+IGtleXNWYWx1ZXNba2V5XSA9PSBpdGVtLnBhcmFtc1trZXldKSk7XG4gICAgfVxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICBjb25zdCBvRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT0Zvcm1MYXlvdXRNYW5hZ2VyU2VydmljZSk7XG4gICAgICAvKiogSW4gY2FzZSBvZiB0aGUgdHJlZSwgdGhlIGxhYmVsIHNob3duIGluIHRoZSBkaWFsb2cgb3IgaW4gdGhlIHRhYiBpcyB0aGUgbGFiZWwgb2YgdGhlIG5vZGUgdGhhdFxuICAgICAgICogIGlzIHN0b3JlZCBpbiBvRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlLmNvbnRleHQgKi9cbiAgICAgIGNvbnN0IGNvbnRleHQgPSBvRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlLmNvbnRleHQ7XG4gICAgICBsZXQgbGFiZWwgPSBjb250ZXh0Py5sYWJlbCB8fCB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLmdldExhYmVsRnJvbURhdGEoZGF0YSk7XG4gICAgICB0aGlzLnRhYkdyb3VwLnNlbGVjdGVkSW5kZXggPSAoaW5kZXggKyAxKTtcbiAgICAgIGxhYmVsID0gbGFiZWwubGVuZ3RoID8gbGFiZWwgOiB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLmdldExhYmVsRnJvbVVybFBhcmFtcyh0aGlzLmRhdGFbaW5kZXhdLnBhcmFtcyk7XG4gICAgICB0aGlzLmRhdGFbaW5kZXhdLmxhYmVsID0gbGFiZWw7XG4gICAgICB0aGlzLmRhdGFbaW5kZXhdLmluc2VydGlvbk1vZGUgPSBpbnNlcnRpb25Nb2RlO1xuICAgICAgaWYgKE9iamVjdC5rZXlzKGRhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5kYXRhW2luZGV4XS5mb3JtRGF0YUJ5TGFiZWxDb2x1bW5zID0gdGhpcy5mb3JtTGF5b3V0TWFuYWdlci5nZXRGb3JtRGF0YUZyb21MYWJlbENvbHVtbnMoZGF0YSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlQWN0aXZlRGF0YShkYXRhOiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleCAtIDE7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuZGF0YVtpbmRleF0pKSB7XG4gICAgICB0aGlzLmRhdGFbaW5kZXhdID0gT2JqZWN0LmFzc2lnbih0aGlzLmRhdGFbaW5kZXhdLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBnZXREYXRhVG9TdG9yZSgpOiBhbnkge1xuICAgIC8vIElzc3VlICM4ODQgYXZvaWQgc3RvcmluZyBpbnNlcnRpb25Nb2RlIHRhYnNcbiAgICBjb25zdCB0YWJzRGF0YSA9IHRoaXMuZGF0YVxuICAgICAgLmZpbHRlcigoZGF0YTogRm9ybUxheW91dERldGFpbENvbXBvbmVudERhdGEpID0+ICFkYXRhLmluc2VydGlvbk1vZGUpXG4gICAgICAubWFwKChkYXRhOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSkgPT4gKHtcbiAgICAgICAgcGFyYW1zOiBkYXRhLnBhcmFtcyxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGRhdGEucXVlcnlQYXJhbXMsXG4gICAgICAgIHVybFNlZ21lbnRzOiBkYXRhLnVybFNlZ21lbnRzLFxuICAgICAgICB1cmw6IGRhdGEudXJsLFxuICAgICAgICBsYWJlbDogZGF0YS5sYWJlbCxcbiAgICAgICAgaW5zZXJ0aW9uTW9kZTogZGF0YS5pbnNlcnRpb25Nb2RlXG4gICAgICB9KSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhYnNEYXRhOiB0YWJzRGF0YSxcbiAgICAgIHNlbGVjdGVkSW5kZXg6IHRoaXMudGFiR3JvdXAuc2VsZWN0ZWRJbmRleFxuICAgIH07XG4gIH1cblxuICBpbml0aWFsaXplQ29tcG9uZW50U3RhdGUoKSB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLnN0YXRlKSB8fCAhVXRpbC5pc0RlZmluZWQodGhpcy5zdGF0ZS50YWJzRGF0YSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJc3N1ZSAjODg0IGVuc3VyaW5nIHRoYXQgYSBpbnNlcnRpb24gbW9kZSB0YWIgdGhhdCBtaWdodCBiZSBwcmV2aW91c2x5IHN0b3JlZCB3b250IGJlIGNyZWF0ZWRcbiAgICB0aGlzLnN0YXRlLnRhYnNEYXRhID0gdGhpcy5zdGF0ZS50YWJzRGF0YS5maWx0ZXIodGFiRGF0YSA9PiAhdGFiRGF0YS5pbnNlcnRpb25Nb2RlKVxuXG4gICAgaWYgKHRoaXMuc3RhdGUudGFic0RhdGEubGVuZ3RoID49IDEgJiYgKHRoaXMuc3RhdGUudGFic0RhdGFbMF0udXJsIHx8ICcnKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgICBjb25zdCBleHRyYXMgPSB7fTtcbiAgICAgIGV4dHJhc1tDb2Rlcy5RVUVSWV9QQVJBTVNdID0gdGhpcy5zdGF0ZS50YWJzRGF0YVswXS5xdWVyeVBhcmFtcztcbiAgICAgIGV4dHJhc1tDb2Rlcy5RVUVSWV9QQVJBTVNdW0NvZGVzLklOU0VSVElPTl9NT0RFXSA9IGAke3RoaXMuc3RhdGUudGFic0RhdGFbMF0uaW5zZXJ0aW9uTW9kZX1gXG4gICAgICBpZiAodGhpcy5mb3JtTGF5b3V0TWFuYWdlcikge1xuICAgICAgICB0aGlzLmZvcm1MYXlvdXRNYW5hZ2VyLnNldEFzQWN0aXZlRm9ybUxheW91dE1hbmFnZXIoKTtcbiAgICAgIH1cbiAgICAgIC8vIFRyaWdnZXJpbmcgZmlyc3QgdGFiIG5hdmlnYXRpb25cbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnN0YXRlLnRhYnNEYXRhWzBdLnVybF0sIGV4dHJhcykudGhlbigoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFbMF0gJiYgdGhpcy5kYXRhWzBdLmNvbXBvbmVudCAmJiB0aGlzLnN0YXRlLnRhYnNEYXRhLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAvLyBUcmlnZ2VyaW5nIHJlc3Qgb2YgdGhlIHRhYnMgY3JlYXRpb25cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGFic0Zyb21TdGF0ZSgpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRpbmcubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVUYWJzRnJvbVN0YXRlKCkge1xuICAgIGNvbnN0IHRhYkNvbXBvbmVudCA9IHRoaXMuZGF0YVswXS5jb21wb25lbnQ7XG4gICAgLy8gc2tpcHBpbmcgZmlyc3QgZWxlbWVudCAoY3JlYXRlZCBpbiBpbml0aWFsaXplQ29tcG9uZW50U3RhdGUpXG4gICAgY29uc3Qgc3RhdGVUYWJzRGF0YSA9IHRoaXMuc3RhdGUudGFic0RhdGEuc2xpY2UoMSk7XG4gICAgaWYgKHN0YXRlVGFic0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgc3RhdGVUYWJzRGF0YS5mb3JFYWNoKCh0YWJEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV3RGV0YWlsRGF0YSA9IHRoaXMuY3JlYXRlRGV0YWlsQ29tcG9uZW50KHRhYkNvbXBvbmVudCwgdGFiRGF0YSk7XG4gICAgICAgICAgdGhpcy5kYXRhLnB1c2gobmV3RGV0YWlsRGF0YSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0xvYWRpbmcubmV4dChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZURldGFpbENvbXBvbmVudChjb21wb25lbnQ6IGFueSwgcGFyYW1zT2JqOiBhbnkpIHtcbiAgICBjb25zdCBuZXdEZXRhaWxDb21wOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSA9IHtcbiAgICAgIHBhcmFtczogcGFyYW1zT2JqLnBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiBwYXJhbXNPYmoucXVlcnlQYXJhbXMsXG4gICAgICB1cmxTZWdtZW50czogcGFyYW1zT2JqLnVybFNlZ21lbnRzLFxuICAgICAgY29tcG9uZW50OiBjb21wb25lbnQsXG4gICAgICB1cmw6IHBhcmFtc09iai51cmwsXG4gICAgICBpZDogVXRpbC5yYW5kb21OdW1iZXIoKS50b1N0cmluZygpLFxuICAgICAgbGFiZWw6IHBhcmFtc09iai5sYWJlbCxcbiAgICAgIGlubmVyRm9ybXNJbmZvOiB7fVxuICAgIH07XG4gICAgcmV0dXJuIG5ld0RldGFpbENvbXA7XG4gIH1cblxuICBnZXRQYXJhbXMoKTogYW55IHtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQodGhpcy5kYXRhWzBdKSA/IHRoaXMuZGF0YVswXS5wYXJhbXMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBpc01haW5Db21wb25lbnQoY29tcDogSUxheW91dE1hbmFnZXJDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaXJzdFRhYiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtYXQtdGFiLWJvZHknKVswXTtcbiAgICByZXR1cm4gZmlyc3RUYWIgJiYgY29tcC5lbGVtZW50UmVmICYmIGZpcnN0VGFiLmNvbnRhaW5zKGNvbXAuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG9wZW5EZXRhaWwoZGV0YWlsOiBGb3JtTGF5b3V0RGV0YWlsQ29tcG9uZW50RGF0YSkge1xuICAgIHRoaXMuYWRkVGFiKGRldGFpbCk7XG4gIH1cblxuICBjbG9zZURldGFpbChvcHRpb25zPzogRm9ybUxheW91dENsb3NlRGV0YWlsT3B0aW9ucykge1xuICAgIHRoaXMuY2xvc2VUYWIodGhpcy50YWJHcm91cC5zZWxlY3RlZEluZGV4IC0gMSwgb3B0aW9ucyk7XG4gIH1cblxuICBjYW5BZGREZXRhaWxDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgLy8gVGhlIG1heCB0YWJzIG51bWJlciBpbmNsdWRlcyB0aGUgbWFpbiB0YWJcbiAgICBjb25zdCBtYXhSZWFjaGVkID0gKHRoaXMuZGF0YS5sZW5ndGggKyAxKSA+PSB0aGlzLm1heFRhYnM7XG4gICAgaWYgKG1heFJlYWNoZWQpIHtcbiAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5pbmZvKCdJTkZPJywgJ0xBWU9VVF9NQU5BTkdFUi5NQVhfVEFCU19OVU1CRVJfUkVBQ0hFRCcpXG4gICAgfVxuICAgIHJldHVybiAhbWF4UmVhY2hlZDtcbiAgfVxuXG4gIGlzVGFiRGF0YU1vZGlmaWVkKHRhYkRhdGE6IEZvcm1MYXlvdXREZXRhaWxDb21wb25lbnREYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRhYkRhdGEuaW5uZXJGb3Jtc0luZm8pLnNvbWUoZm9ybUF0dHIgPT4gdGFiRGF0YS5pbm5lckZvcm1zSW5mb1tmb3JtQXR0cl0ubW9kaWZpZWQpO1xuICB9XG5cbiAgY2xvc2VEZXRhaWxzKGRldGFpbHNLZXlzRGF0YTogYW55W10gPSBbXSwgb3B0aW9ucz86IEZvcm1MYXlvdXRDbG9zZURldGFpbE9wdGlvbnMpIHtcbiAgICBkZXRhaWxzS2V5c0RhdGEuZm9yRWFjaCgoZGV0YWlsRGF0YSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KChpdGVtKSA9PiBVdGlsLmlzRXF1aXZhbGVudChkZXRhaWxEYXRhLCBpdGVtLnBhcmFtcyB8fCB7fSkpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLmNsb3NlVGFiKGluZGV4LCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldElkT2ZBY3RpdmVJdGVtKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVt0aGlzLmRhdGEubGVuZ3RoIC0gMV0gPyB0aGlzLmRhdGFbdGhpcy5kYXRhLmxlbmd0aCAtIDFdLmlkIDogdGhpcy5kYXRhLmxlbmd0aC50b1N0cmluZygpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCAjdGFiR3JvdXAgb1RhYkdyb3VwPVwib250aW1pemVcIiBmeEZpbGwgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIm9uVGFiU2VsZWN0Q2hhbmdlKCRldmVudClcIiBbY29sb3JdPVwiY29sb3JcIlxuICBbYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiIFtoZWFkZXJQb3NpdGlvbl09XCJoZWFkZXJQb3NpdGlvblwiIFtALmRpc2FibGVkXT1cImRpc2FibGVBbmltYXRpb25cIiBbbWF0LXN0cmV0Y2gtdGFic109XCJzdHJldGNoVGFic1wiPlxuICA8bWF0LXRhYiBsYWJlbD1cInt7IG1haW5UYWJUaXRsZSB8IG9UcmFuc2xhdGUgfX1cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWIgKm5nRm9yPVwibGV0IHRhYkRhdGEgb2YgZGF0YTsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItbGFiZWxcIiBbY2xhc3MubW9kaWZpZWRdPVwiaXNUYWJEYXRhTW9kaWZpZWQodGFiRGF0YSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb24gJiYgaXNJY29uUG9zaXRpb25MZWZ0XCI+XG4gICAgICAgICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlTWF0VGFiTGFiZWwgJiYgdGFiRGF0YS5mb3JtRGF0YUJ5TGFiZWxDb2x1bW5zICYmICF0YWJEYXRhLmluc2VydGlvbk1vZGUgXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlTWF0VGFiTGFiZWw7Y29udGV4dDp7JGltcGxpY2l0OnRhYkRhdGEuZm9ybURhdGFCeUxhYmVsQ29sdW1uc31cIj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGVNYXRUYWJMYWJlbCB8fCB0YWJEYXRhLmluc2VydGlvbk1vZGVcIj5cbiAgICAgICAgICB7eyB0YWJEYXRhLmxhYmVsIH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvbiAmJiAhaXNJY29uUG9zaXRpb25MZWZ0XCI+XG4gICAgICAgICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJncmFkaWVudC1sYXllclwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiY2xvc2VUYWIoaSlcIiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIG8tZm9ybS1sYXlvdXQtbWFuYWdlci1jb250ZW50IFtpbmRleF09XCJpXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuPGRpdiAqbmdJZj1cInNob3dMb2FkaW5nIHwgYXN5bmNcIiBjbGFzcz1cInNwaW5uZXItY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBzdHJva2VXaWR0aD1cIjNcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -17,6 +17,12 @@ export class OFormLayoutManagerService {
|
|
|
17
17
|
set activeFormLayoutManager(arg) {
|
|
18
18
|
this._activeFormLayoutManager = arg;
|
|
19
19
|
}
|
|
20
|
+
set context(value) {
|
|
21
|
+
this._context = value;
|
|
22
|
+
}
|
|
23
|
+
get context() {
|
|
24
|
+
return this._context;
|
|
25
|
+
}
|
|
20
26
|
}
|
|
21
27
|
OFormLayoutManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFormLayoutManagerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
28
|
OFormLayoutManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OFormLayoutManagerService, providedIn: 'root' });
|
|
@@ -26,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
26
32
|
providedIn: 'root'
|
|
27
33
|
}]
|
|
28
34
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWxheW91dC1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2VydmljZXMvby1mb3JtLWxheW91dC1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUXJELE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFBc0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUo5QixpQ0FBNEIsR0FBRyxFQUFFLENBQUM7SUFJQSxDQUFDO0lBRTdDLHlCQUF5QixDQUFDLElBQWlDO1FBQ3pELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDaEUsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQWlDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSx1QkFBdUIsQ0FBQyxHQUFnQztRQUMxRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFnQztRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7O3VIQTdCVSx5QkFBeUI7MkhBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzRGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IE9Gb3JtTGF5b3V0TWFuYWdlckNvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dHMvZm9ybS1sYXlvdXQvby1mb3JtLWxheW91dC1tYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPRm9ybUxheW91dE1hbmFnZXJDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvZm9ybS1sYXlvdXQtbWFuYWdlci1jb250ZXh0LnR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPRm9ybUxheW91dE1hbmFnZXJTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIHJlZ2lzdGVyZWRGb3JtTGF5b3V0TWFuYWdlcnMgPSB7fTtcbiAgcHJvdGVjdGVkIF9hY3RpdmVGb3JtTGF5b3V0TWFuYWdlcjogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50O1xuICBwcml2YXRlIF9jb250ZXh0OiBPRm9ybUxheW91dE1hbmFnZXJDb250ZXh0O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxuXG4gIHJlZ2lzdGVyRm9ybUxheW91dE1hbmFnZXIoY29tcDogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5yZWdpc3RlcmVkRm9ybUxheW91dE1hbmFnZXJzW2NvbXAuZ2V0QXR0cmlidXRlKCldID0gY29tcDtcbiAgfVxuXG4gIHJlbW92ZUZvcm1MYXlvdXRNYW5hZ2VyKGNvbXA6IE9Gb3JtTGF5b3V0TWFuYWdlckNvbXBvbmVudCkge1xuICAgIGRlbGV0ZSB0aGlzLnJlZ2lzdGVyZWRGb3JtTGF5b3V0TWFuYWdlcnNbY29tcC5nZXRBdHRyaWJ1dGUoKV07XG4gIH1cblxuICBnZXQgYWN0aXZlRm9ybUxheW91dE1hbmFnZXIoKTogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRm9ybUxheW91dE1hbmFnZXI7XG4gIH1cblxuICBzZXQgYWN0aXZlRm9ybUxheW91dE1hbmFnZXIoYXJnOiBPRm9ybUxheW91dE1hbmFnZXJDb21wb25lbnQpIHtcbiAgICB0aGlzLl9hY3RpdmVGb3JtTGF5b3V0TWFuYWdlciA9IGFyZztcbiAgfVxuXG4gIHNldCBjb250ZXh0KHZhbHVlOiBPRm9ybUxheW91dE1hbmFnZXJDb250ZXh0KSB7XG4gICAgdGhpcy5fY29udGV4dCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGNvbnRleHQoKTogT0Zvcm1MYXlvdXRNYW5hZ2VyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,7 +26,7 @@ export class OntimizeExportService3X extends OntimizeBaseService {
|
|
|
26
26
|
}
|
|
27
27
|
return headers;
|
|
28
28
|
}
|
|
29
|
-
exportData(format) {
|
|
29
|
+
exportData(format, columns, landscape, filename) {
|
|
30
30
|
const url = `${this.urlBase}${this.exportPath}/${format}`;
|
|
31
31
|
const options = {
|
|
32
32
|
headers: this.buildHeaders().append('Content-Type', 'application/json;charset=UTF-8'),
|
|
@@ -35,7 +35,9 @@ export class OntimizeExportService3X extends OntimizeBaseService {
|
|
|
35
35
|
};
|
|
36
36
|
let paramExport = {
|
|
37
37
|
format: format,
|
|
38
|
-
path: this.servicePath
|
|
38
|
+
path: this.servicePath,
|
|
39
|
+
columns: columns,
|
|
40
|
+
landscape: landscape
|
|
39
41
|
};
|
|
40
42
|
let exportData = this.exportDataProvider.getExportConfiguration(paramExport);
|
|
41
43
|
const body = JSON.stringify(exportData);
|
|
@@ -43,10 +45,10 @@ export class OntimizeExportService3X extends OntimizeBaseService {
|
|
|
43
45
|
this.httpClient.post(url, body, options).subscribe((resp) => {
|
|
44
46
|
const fileData = resp.body;
|
|
45
47
|
const contentDisposition = resp.headers.get('content-disposition');
|
|
46
|
-
let fileName = 'file.' + format;
|
|
48
|
+
let fileName = filename && filename.trim() !== '' ? filename + '.' + format : 'file.' + format;
|
|
47
49
|
const fileNameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
|
|
48
50
|
const matches = fileNameRegex.exec(contentDisposition);
|
|
49
|
-
if (
|
|
51
|
+
if (!filename && matches?.[1]) {
|
|
50
52
|
fileName = matches[1].replace(/['"]/g, '');
|
|
51
53
|
}
|
|
52
54
|
const fileURL = URL.createObjectURL(fileData);
|
|
@@ -68,4 +70,4 @@ OntimizeExportService3X.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
68
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportService3X, decorators: [{
|
|
69
71
|
type: Injectable
|
|
70
72
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LTN4eC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplL29udGltaXplLWV4cG9ydC0zeHguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJdkMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG1CQUFtQjtJQU05RCxZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRXRDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVksU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFXO1FBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMs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QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxFQUNELEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDOUIsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUMxQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztxSEE1RVUsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL2FwcC1jb25maWcnO1xuaW1wb3J0IHsgSUV4cG9ydERhdGFQcm92aWRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZXhwb3J0LWRhdGEtcHJvdmlkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IElFeHBvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9leHBvcnQtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT250aW1pemVFeHBvcnREYXRhUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vb250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1iYXNlLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9odHRwLXJlcXVlc3Qtb3B0aW9ucy50eXBlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplRXhwb3J0U2VydmljZTNYIGV4dGVuZHMgT250aW1pemVCYXNlU2VydmljZSBpbXBsZW1lbnRzIElFeHBvcnRTZXJ2aWNlIHtcblxuICBwdWJsaWMgZXhwb3J0UGF0aDogc3RyaW5nO1xuICBwdWJsaWMgc2VydmljZVBhdGg6IHN0cmluZztcbiAgcHJvdGVjdGVkIGV4cG9ydERhdGFQcm92aWRlcjogSUV4cG9ydERhdGFQcm92aWRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuZXhwb3J0UGF0aCA9IHRoaXMuaW5qZWN0b3IuZ2V0PEFwcENvbmZpZz4oQXBwQ29uZmlnKS5nZXRFeHBvcnRQYXRoKCk7XG4gICAgdGhpcy5leHBvcnREYXRhUHJvdmlkZXIgPSB0aGlzLmluamVjdG9yLmdldDxPbnRpbWl6ZUV4cG9ydERhdGFQcm92aWRlclNlcnZpY2U+KE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlU2VydmljZShjb25maWc6IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLmNvbmZpZ3VyZVNlcnZpY2UoY29uZmlnKTtcbiAgICB0aGlzLnNlcnZpY2VQYXRoID0gY29uZmlnLnBhdGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRIZWFkZXJzKCk6IEh0dHBIZWFkZXJzIHtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7ICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nOiAnKicsICdBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzJzogJ1gtUmVxdWVzdGVkLVdpdGgsY29udGVudC10eXBlJyB9KTtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFNlc3Npb25JbmZvKCkuaWQ7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlc3Npb25JZCkpIHtcbiAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHNlc3Npb25JZCk7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbiAgcHVibGljIGV4cG9ydERhdGEoZm9ybWF0OiBzdHJpbmcsIGNvbHVtbnM/OiBzdHJpbmdbXSwgbGFuZHNjYXBlPzogYm9vbGVhbiwgZmlsZW5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy51cmxCYXNlfSR7dGhpcy5leHBvcnRQYXRofS8ke2Zvcm1hdH1gO1xuXG4gICAgY29uc3Qgb3B0aW9uczogSHR0cFJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgaGVhZGVyczogdGhpcy5idWlsZEhlYWRlcnMoKS5hcHBlbmQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgnKSxcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH07XG5cbiAgICBsZXQgcGFyYW1FeHBvcnQgPSB7XG4gICAgICBmb3JtYXQ6IGZvcm1hdCxcbiAgICAgIHBhdGg6IHRoaXMuc2VydmljZVBhdGgsXG4gICAgICBjb2x1bW5zOiBjb2x1bW5zLFxuICAgICAgbGFuZHNjYXBlOiBsYW5kc2NhcGVcbiAgICB9O1xuXG4gICAgbGV0IGV4cG9ydERhdGE6IGFueSA9IHRoaXMuZXhwb3J0RGF0YVByb3ZpZGVyLmdldEV4cG9ydENvbmZpZ3VyYXRpb24ocGFyYW1FeHBvcnQpO1xuXG4gICAgY29uc3QgYm9keSA9IEpTT04uc3RyaW5naWZ5KGV4cG9ydERhdGEpO1xuXG4gICAgY29uc3QgZGF0YU9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHksIG9wdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZpbGVEYXRhID0gcmVzcC5ib2R5O1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnREaXNwb3NpdGlvbiA9IHJlc3AuaGVhZGVycy5nZXQoJ2NvbnRlbnQtZGlzcG9zaXRpb24nKTtcbiAgICAgICAgICBsZXQgZmlsZU5hbWUgPSBmaWxlbmFtZSAmJiBmaWxlbmFtZS50cmltKCkgIT09ICcnID8gZmlsZW5hbWUgKyAnLicgKyBmb3JtYXQgOiAnZmlsZS4nICsgZm9ybWF0O1xuXG4gICAgICAgICAgY29uc3QgZmlsZU5hbWVSZWdleCA9IC9maWxlbmFtZVteOz1cXG5dKj0oKFsnXCJdKS4qP1xcMnxbXjtcXG5dKikvO1xuICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSBmaWxlTmFtZVJlZ2V4LmV4ZWMoY29udGVudERpc3Bvc2l0aW9uKTtcbiAgICAgICAgICBpZiAoIWZpbGVuYW1lICYmIG1hdGNoZXM/LlsxXSkge1xuICAgICAgICAgICAgZmlsZU5hbWUgPSBtYXRjaGVzWzFdLnJlcGxhY2UoL1snXCJdL2csICcnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBmaWxlVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlRGF0YSk7XG4gICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xuICAgICAgICAgIGEuaHJlZiA9IGZpbGVVUkw7XG4gICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xuICAgICAgICAgIGEuY2xpY2soKTtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGEpO1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoZmlsZURhdGEpO1xuICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcbiAgICAgICAgKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhT2JzZXJ2YWJsZS5waXBlKHNoYXJlKCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -15,7 +15,7 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
|
|
|
15
15
|
let exportData = {
|
|
16
16
|
type: param.format,
|
|
17
17
|
queryParam: {
|
|
18
|
-
columns:
|
|
18
|
+
columns: param.columns,
|
|
19
19
|
sqltypes: this.sqlTypes,
|
|
20
20
|
offset: this.table.pageable ? currentPage * this.table.queryRows : -1,
|
|
21
21
|
pageSize: this.table.queryRows,
|
|
@@ -27,7 +27,7 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
|
|
|
27
27
|
dao: this.entity
|
|
28
28
|
};
|
|
29
29
|
if (param.format === 'xlsx' || 'pdf') {
|
|
30
|
-
exportData.columns = this.parseColumns(
|
|
30
|
+
exportData.columns = this.parseColumns(param.columns);
|
|
31
31
|
exportData.columnTitles = this.columnNames;
|
|
32
32
|
exportData.styles = {};
|
|
33
33
|
exportData.rowStyles = {};
|
|
@@ -35,6 +35,9 @@ export class OntimizeExportDataProviderService3X extends OntimizeExportDataBaseP
|
|
|
35
35
|
exportData.columnTypes = {};
|
|
36
36
|
exportData.cellStyles = {};
|
|
37
37
|
}
|
|
38
|
+
if (param.format === 'pdf') {
|
|
39
|
+
exportData.landscape = param.landscape;
|
|
40
|
+
}
|
|
38
41
|
return exportData;
|
|
39
42
|
}
|
|
40
43
|
parseColumns(columns) {
|
|
@@ -50,4 +53,4 @@ OntimizeExportDataProviderService3X.ɵprov = i0.ɵɵngDeclareInjectable({ minVer
|
|
|
50
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportDataProviderService3X, decorators: [{
|
|
51
54
|
type: Injectable
|
|
52
55
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXItM3guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9vbnRpbWl6ZS1leHBvcnQtZGF0YS1wcm92aWRlci0zeC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBR3JHLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSxxQ0FBcUM7SUFFNUYsWUFBc0IsUUFBa0I7UUFDdEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREksYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV4QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUcvQixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakUsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxVQUFVLEdBQVE7WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ2xCLFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2FBRWpDO1lBQ0QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDakIsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksS0FBSyxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzNDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQzFCLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUMxQixVQUFVLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7U0FDeEM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUdwQixDQUFDO0lBRU8sWUFBWSxDQUFDLE9BQWM7UUFDakMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ2pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUM7O2lJQXJEVSxtQ0FBbUM7cUlBQW5DLG1DQUFtQzs0RkFBbkMsbUNBQW1DO2tCQUQvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBJRXhwb3J0RGF0YVByb3ZpZGVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZXhwb3J0LWRhdGEtcHJvdmlkZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSBcIi4uL3V0aWwvdXRpbFwiO1xuaW1wb3J0IHsgT250aW1pemVFeHBvcnREYXRhQmFzZVByb3ZpZGVyU2VydmljZSB9IGZyb20gXCIuL29udGltaXplLWV4cG9ydC1kYXRhLWJhc2UtcHJvdmlkZXIuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT250aW1pemVFeHBvcnREYXRhUHJvdmlkZXJTZXJ2aWNlM1ggZXh0ZW5kcyBPbnRpbWl6ZUV4cG9ydERhdGFCYXNlUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgSUV4cG9ydERhdGFQcm92aWRlciB7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yKTtcbiAgfVxuXG4gIGdldEV4cG9ydENvbmZpZ3VyYXRpb24ocGFyYW06IGFueSk6IGFueSB7XG5cbiAgICAvLyBUYWJsZSBkYXRhL2ZpbHRlcnMvcXVlcnlQYXJhbVxuICAgIGxldCBjdXJyZW50UGFnZSA9IDA7XG4gICAgaWYgKHRoaXMudGFibGUucGFnZWFibGUgJiYgVXRpbC5pc0RlZmluZWQodGhpcy50YWJsZS5jdXJyZW50UGFnZSkpIHtcbiAgICAgIGN1cnJlbnRQYWdlID0gdGhpcy50YWJsZS5jdXJyZW50UGFnZTtcbiAgICB9XG4gICAgbGV0IGV4cG9ydERhdGE6IGFueSA9IHtcbiAgICAgIHR5cGU6IHBhcmFtLmZvcm1hdCxcbiAgICAgIHF1ZXJ5UGFyYW06IHtcbiAgICAgICAgY29sdW1uczogcGFyYW0uY29sdW1ucyxcbiAgICAgICAgc3FsdHlwZXM6IHRoaXMuc3FsVHlwZXMsXG4gICAgICAgIG9mZnNldDogdGhpcy50YWJsZS5wYWdlYWJsZSA/IGN1cnJlbnRQYWdlICogdGhpcy50YWJsZS5xdWVyeVJvd3MgOiAtMSxcbiAgICAgICAgcGFnZVNpemU6IHRoaXMudGFibGUucXVlcnlSb3dzLFxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyLFxuICAgICAgICBvcmRlckJ5OiB0aGlzLnRhYmxlLnNvcnRDb2xBcnJheVxuXG4gICAgICB9LFxuICAgICAgYWR2UXVlcnk6ICh0aGlzLnRhYmxlLnBhZ2VhYmxlID8gdHJ1ZSA6IGZhbHNlKSxcbiAgICAgIHBhdGg6IHBhcmFtLnBhdGgsXG4gICAgICBkYW86IHRoaXMuZW50aXR5XG4gICAgfTtcblxuICAgIGlmIChwYXJhbS5mb3JtYXQgPT09ICd4bHN4JyB8fCAncGRmJykge1xuICAgICAgZXhwb3J0RGF0YS5jb2x1bW5zID0gdGhpcy5wYXJzZUNvbHVtbnMocGFyYW0uY29sdW1ucyk7XG4gICAgICBleHBvcnREYXRhLmNvbHVtblRpdGxlcyA9IHRoaXMuY29sdW1uTmFtZXM7XG4gICAgICBleHBvcnREYXRhLnN0eWxlcyA9IHt9O1xuICAgICAgZXhwb3J0RGF0YS5yb3dTdHlsZXMgPSB7fTtcbiAgICAgIGV4cG9ydERhdGEuY29sdW1uU3R5bGVzID0ge307XG4gICAgICBleHBvcnREYXRhLmNvbHVtblR5cGVzID0ge307XG4gICAgICBleHBvcnREYXRhLmNlbGxTdHlsZXMgPSB7fTtcbiAgICB9XG4gICAgaWYgKHBhcmFtLmZvcm1hdCA9PT0gJ3BkZicpIHtcbiAgICAgIGV4cG9ydERhdGEubGFuZHNjYXBlID0gcGFyYW0ubGFuZHNjYXBlO1xuICAgIH1cblxuICAgIHJldHVybiBleHBvcnREYXRhO1xuXG5cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VDb2x1bW5zKGNvbHVtbnM6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgbGV0IG9iaiA9IHt9O1xuICAgIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBzdHJpbmcpID0+IHtcbiAgICAgIG9ialtjb2x1bW5dID0ge307XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ialxuICB9XG5cblxuXG59Il19
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
42
42
|
providedIn: 'root'
|
|
43
43
|
}]
|
|
44
44
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQXFDLE1BQU0sNkJBQTZCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sb0RBQW9ELENBQUM7O0FBS3pHLE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1ksUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUU1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZSxFQUFFLE1BQXdCO1FBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLFVBQVUsR0FBb0IsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxnQkFBZ0IsR0FBYSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzdFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQzdCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7WUFFRCxNQUFNLFNBQVMsR0FBc0I7Z0JBQ25DLFFBQVEsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGdCQUFnQjtnQkFDaEcsVUFBVSxFQUFFLGdCQUFnQjthQUM3QixDQUFDO1lBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRXJGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMvQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O0FBdkNnQixnQ0FBZ0IsR0FBVyxJQUFJLENBQUM7QUFDaEMsdUNBQXVCLEdBQVcsc0JBQXNCLENBQUM7NkdBSC9ELGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyQ29uZmlnLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9TbmFja0JhckNvbXBvbmVudCwgT1NuYWNrQmFyQ29uZmlnIH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvc25hY2tiYXIvby1zbmFja2Jhci5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTbmFja0JhclNlcnZpY2Uge1xuXG4gIHByb3RlY3RlZCBzdGF0aWMgREVGQVVMVF9EVVJBVElPTjogbnVtYmVyID0gMjAwMDtcbiAgcHJvdGVjdGVkIHN0YXRpYyBERUZBVUxUX0NPTlRBSU5FUl9DTEFTUzogc3RyaW5nID0gJ28tc25hY2tiYXItY29udGFpbmVyJztcblxuICBwcm90ZWN0ZWQgbWF0U25hY2tCYXI6IE1hdFNuYWNrQmFyO1xuICBwcm90ZWN0ZWQgc25hY2tCYXJSZWY6IE1hdFNuYWNrQmFyUmVmPE9TbmFja0JhckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgdGhpcy5tYXRTbmFja0JhciA9IHRoaXMuaW5qZWN0b3IuZ2V0KE1hdFNuYWNrQmFyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogT1NuYWNrQmFyQ29uZmlnKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtTbmFja0JhclNlcnZpY2UuREVGQVVMVF9DT05UQUlORVJfQ0xBU1NdO1xuICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuY3NzQ2xhc3MpIHtcbiAgICAgICAgY29udGFpbmVyQ2xhc3Nlcy5wdXNoKGNvbmZpZy5jc3NDbGFzcyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hdENvbmZpZzogTWF0U25hY2tCYXJDb25maWcgPSB7XG4gICAgICAgIGR1cmF0aW9uOiBjb25maWcgJiYgY29uZmlnLm1pbGxpc2Vjb25kcyA/IGNvbmZpZy5taWxsaXNlY29uZHMgOiBTbmFja0JhclNlcnZpY2UuREVGQVVMVF9EVVJBVElPTixcbiAgICAgICAgcGFuZWxDbGFzczogY29udGFpbmVyQ2xhc3Nlc1xuICAgICAgfTtcblxuICAgICAgc2VsZi5zbmFja0JhclJlZiA9IHNlbGYubWF0U25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoT1NuYWNrQmFyQ29tcG9uZW50LCBtYXRDb25maWcpO1xuXG4gICAgICBzZWxmLnNuYWNrQmFyUmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKGFyZyA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoYXJnKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxmLnNuYWNrQmFyUmVmLmFmdGVyRGlzbWlzc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgc2VsZi5zbmFja0JhclJlZiA9IG51bGw7XG4gICAgICB9KTtcblxuICAgICAgc2VsZi5zbmFja0JhclJlZi5pbnN0YW5jZS5vcGVuKG1lc3NhZ2UsIGNvbmZpZyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGUudG9Qcm9taXNlKCk7XG4gIH1cblxuXG5cbn1cbiJdfQ==
|
|
@@ -32,6 +32,7 @@ import * as i6 from "../directives/o-mat-error.directive";
|
|
|
32
32
|
import * as i7 from "../directives/o-file-drag-and-drop.directive";
|
|
33
33
|
import * as i8 from "../directives/o-mat-prefix.directive";
|
|
34
34
|
import * as i9 from "../directives/o-mat-suffix.directive";
|
|
35
|
+
import * as i10 from "../directives/input-regulate.directive";
|
|
35
36
|
export class OSharedModule {
|
|
36
37
|
}
|
|
37
38
|
OSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -43,7 +44,7 @@ OSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
43
44
|
OCurrencyPipe,
|
|
44
45
|
OPercentPipe,
|
|
45
46
|
OIconPipe,
|
|
46
|
-
OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, Error403Component,
|
|
47
|
+
OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, i10.InputRegulateDirective, Error403Component,
|
|
47
48
|
ODialogComponent,
|
|
48
49
|
ODialogInternalComponent,
|
|
49
50
|
OErrorComponent,
|
|
@@ -67,7 +68,7 @@ OSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
67
68
|
OCurrencyPipe,
|
|
68
69
|
OPercentPipe,
|
|
69
70
|
OIconPipe,
|
|
70
|
-
OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, OCustomMaterialModule,
|
|
71
|
+
OSafePipe, i1.OKeyboardListenerDirective, i2.OListItemDirective, i3.OTabGroupDirective, i4.OLockerDirective, i5.OHiddenDirective, i6.OMatErrorDirective, i7.OFileDragAndDropDirective, i8.OMatPrefix, i9.OMatSuffix, i10.InputRegulateDirective, OCustomMaterialModule,
|
|
71
72
|
Error403Component,
|
|
72
73
|
OErrorComponent,
|
|
73
74
|
OValidatorComponent,
|
|
@@ -140,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
140
141
|
]
|
|
141
142
|
}]
|
|
142
143
|
}] });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zaGFyZWQvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7Ozs7OztBQXVEM0YsTUFBTSxPQUFPLGFBQWE7OzJHQUFiLGFBQWE7NEdBQWIsYUFBYSxpQkEzQ3RCLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixTQUFTO1FBQ1QsU0FBUyx3T0FFVCxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLHdCQUF3QjtRQUN4QixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsMkJBQTJCLGFBekIzQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsV0FBVztRQUNYLG1CQUFtQixhQXVCbkIsZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxXQUFXO1FBQ1gsYUFBYTtRQUNiLFlBQVk7UUFDWixTQUFTO1FBQ1QsU0FBUyx3T0FFVCxxQkFBcUI7UUFDckIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQiwyQkFBMkI7NEdBR2xCLGFBQWEsWUFuRHRCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsbUJBQW1CLEVBdUJuQixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFXaEIscUJBQXFCOzRGQVNaLGFBQWE7a0JBckR6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osU0FBUzt3QkFDVCxXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixTQUFTO3dCQUNULFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9OVElNSVpFX0RJUkVDVElWRVMgfSBmcm9tICcuLi9jb25maWcvby1kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbHVtbnNGaWx0ZXJQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY29sdW1ucy1maWx0ZXIucGlwZSc7XG5pbXBvcnQgeyBPQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1jdXJyZW5jeS5waXBlJztcbmltcG9ydCB7IE9JY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL28taWNvbi5waXBlJztcbmltcG9ydCB7IE9JbnRlZ2VyUGlwZSB9IGZyb20gJy4uL3BpcGVzL28taW50ZWdlci5waXBlJztcbmltcG9ydCB7IE9Nb21lbnRQaXBlIH0gZnJvbSAnLi4vcGlwZXMvby1tb21lbnQucGlwZSc7XG5pbXBvcnQgeyBPUGVyY2VudFBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXBlcmNlbnRhZ2UucGlwZSc7XG5pbXBvcnQgeyBPUmVhbFBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXJlYWwucGlwZSc7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXNhZmUucGlwZSc7XG5pbXBvcnQgeyBPVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi4vcGlwZXMvby10cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBPcmRlckJ5UGlwZSB9IGZyb20gJy4uL3BpcGVzL29yZGVyLWJ5LnBpcGUnO1xuaW1wb3J0IHsgT0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yNDAzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yNDAzL28tZXJyb3ItNDAzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvbG9hZC1maWx0ZXIvby1sb2FkLWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE9TdG9yZUZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXIvc3RvcmUtZmlsdGVyL28tc3RvcmUtZmlsdGVyLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT1NuYWNrQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL28tc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9FcnJvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92YWxpZGF0aW9uL28tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IE9WYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdmFsaWRhdGlvbi9vLXZhbGlkYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0N1c3RvbU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbC9jdXN0b20ubWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IE9EaWFsb2dJbnRlcm5hbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvby1kaWFsb2ctaW50ZXJuYWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBPVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgT0N1c3RvbU1hdGVyaWFsTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29sdW1uc0ZpbHRlclBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgT0ludGVnZXJQaXBlLFxuICAgIE9SZWFsUGlwZSxcbiAgICBPTW9tZW50UGlwZSxcbiAgICBPQ3VycmVuY3lQaXBlLFxuICAgIE9QZXJjZW50UGlwZSxcbiAgICBPSWNvblBpcGUsXG4gICAgT1NhZmVQaXBlLFxuICAgIE9OVElNSVpFX0RJUkVDVElWRVMsXG4gICAgRXJyb3I0MDNDb21wb25lbnQsXG4gICAgT0RpYWxvZ0NvbXBvbmVudCxcbiAgICBPRGlhbG9nSW50ZXJuYWxDb21wb25lbnQsXG4gICAgT0Vycm9yQ29tcG9uZW50LFxuICAgIE9WYWxpZGF0b3JDb21wb25lbnQsXG4gICAgT1NuYWNrQmFyQ29tcG9uZW50LFxuICAgIE9Mb2FkRmlsdGVyRGlhbG9nQ29tcG9uZW50LFxuICAgIE9TdG9yZUZpbHRlckRpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE9UcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29sdW1uc0ZpbHRlclBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgT0ludGVnZXJQaXBlLFxuICAgIE9SZWFsUGlwZSxcbiAgICBPTW9tZW50UGlwZSxcbiAgICBPQ3VycmVuY3lQaXBlLFxuICAgIE9QZXJjZW50UGlwZSxcbiAgICBPSWNvblBpcGUsXG4gICAgT1NhZmVQaXBlLFxuICAgIE9OVElNSVpFX0RJUkVDVElWRVMsXG4gICAgT0N1c3RvbU1hdGVyaWFsTW9kdWxlLFxuICAgIEVycm9yNDAzQ29tcG9uZW50LFxuICAgIE9FcnJvckNvbXBvbmVudCxcbiAgICBPVmFsaWRhdG9yQ29tcG9uZW50LFxuICAgIE9TbmFja0JhckNvbXBvbmVudCxcbiAgICBPTG9hZEZpbHRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICBPU3RvcmVGaWx0ZXJEaWFsb2dDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPU2hhcmVkTW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYXlvdXQtbWFuYWdlci1jb250ZXh0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvZm9ybS1sYXlvdXQtbWFuYWdlci1jb250ZXh0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE9Gb3JtTGF5b3V0TWFuYWdlckNvbnRleHQgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1nbG9iYWwtY29uZmlnLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvdGFibGUvby10YWJsZS1nbG9iYWwtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9Sb3dIZWlnaHQsIE9UYWJsZURldGFpbE1vZGUsIE9UYWJsZUVkaXRpb25Nb2RlIH0gZnJvbSAnLi8uLi8uLi91dGlsL2NvZGVzJztcblxuZXhwb3J0IHR5cGUgT1RhYmxlR2xvYmFsQ29uZmlnID0ge1xuICBhdXRvQWRqdXN0OiBib29sZWFuO1xuICBhdXRvQWxpZ25UaXRsZXM6IGJvb2xlYW47XG4gIGZpbHRlckNvbHVtbkFjdGl2ZUJ5RGVmYXVsdDogYm9vbGVhbjtcbiAgZWRpdGlvbk1vZGU6IE9UYWJsZUVkaXRpb25Nb2RlO1xuICBkZXRhaWxNb2RlOiBPVGFibGVEZXRhaWxNb2RlO1xuICByb3dIZWlnaHQ6IE9Sb3dIZWlnaHQsXG4gIHNob3dDaGFydHNPbkRlbWFuZE9wdGlvbjogYm9vbGVhbjtcbiAgc2hvd1JlcG9ydE9uRGVtYW5kT3B0aW9uOiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1mbGF0LW5vZGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi90eXBlcy90cmVlLWZsYXQtbm9kZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPVHJlZUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RyZWUvby10cmVlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT1RyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvdHJlZS90cmVlLW5vZGUvdHJlZS1ub2RlLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgdHlwZSBPVHJlZUZsYXROb2RlID0ge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICBsYWJlbDogc3RyaW5nO1xuICBsZXZlbDogbnVtYmVyLFxuICByb290Tm9kZT86IGJvb2xlYW4sXG4gIGV4cGFuZGFibGU6IGJvb2xlYW4sXG4gIG5vZGU/OiBPVHJlZUNvbXBvbmVudCB8IE9UcmVlTm9kZUNvbXBvbmVudCxcbiAgdHJlZU5vZGU/OiBPVHJlZU5vZGVDb21wb25lbnQsXG4gIGRhdGE6IGFueTtcbiAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgcm91dGU/OiBzdHJpbmc7XG59XG4iXX0=
|