ontimize-web-ngx 15.0.3 → 15.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +3 -3
- package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +3 -3
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +15 -13
- package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +3 -3
- package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +10 -1
- package/esm2020/lib/components/button/o-button.component.mjs +27 -11
- package/esm2020/lib/components/form/index.mjs +2 -1
- package/esm2020/lib/components/form/o-form-tokens.mjs +3 -0
- package/esm2020/lib/components/form/o-form.component.mjs +43 -16
- package/esm2020/lib/components/grid/o-grid.component.mjs +7 -12
- package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -1
- package/esm2020/lib/components/input/combo/o-combo.component.mjs +10 -3
- package/esm2020/lib/components/input/date-range/o-daterange-picker.component.mjs +6 -5
- package/esm2020/lib/components/list/o-list.component.mjs +8 -13
- package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +13 -4
- package/esm2020/lib/components/o-service-base-component.class.mjs +12 -6
- package/esm2020/lib/components/o-service-component.class.mjs +64 -1
- package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +2 -2
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +2 -4
- package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +18 -10
- package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +8 -7
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +2 -4
- package/esm2020/lib/components/table/o-table.component.mjs +28 -11
- package/esm2020/lib/components/tree/o-tree.component.mjs +22 -13
- package/esm2020/lib/interfaces/app-menu.interface.mjs +1 -1
- package/esm2020/lib/interfaces/service-data-component.interface.mjs +1 -1
- package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +1 -1
- package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +32 -16
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +17 -1
- package/esm2020/lib/services/app-menu.service.mjs +36 -2
- package/esm2020/lib/services/o-auth.service.mjs +7 -1
- package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +34 -2
- package/esm2020/lib/services/permissions/permissions.service.mjs +40 -6
- package/esm2020/lib/types/form/index.mjs +2 -0
- package/esm2020/lib/types/form/o-form-global-config.type.mjs +2 -0
- package/esm2020/lib/types/index.mjs +3 -1
- package/esm2020/lib/types/o-component-permissions-by-route.type.mjs +2 -0
- package/esm2020/lib/types/o-form-permissions.type.mjs +1 -1
- package/esm2020/lib/types/o-global-config.type.mjs +3 -0
- package/esm2020/lib/types/o-grid-permissions.type.mjs +2 -0
- package/esm2020/lib/types/o-list-permissions.type.mjs +2 -0
- package/esm2020/lib/types/o-service-base-permissions.type.mjs +2 -0
- package/esm2020/lib/types/o-tree-permissions.type.mjs +2 -0
- package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
- package/esm2020/lib/types/table/o-table-permissions.type.mjs +1 -1
- package/esm2020/lib/util/codes.mjs +9 -1
- package/esm2020/lib/util/util.mjs +16 -1
- package/fesm2015/ontimize-web-ngx.mjs +1835 -1522
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +1834 -1522
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +4 -4
- package/lib/components/bar-menu/o-bar-menu.component.d.ts +4 -0
- package/lib/components/button/o-button.component.d.ts +11 -2
- package/lib/components/form/index.d.ts +1 -0
- package/lib/components/form/o-form-tokens.d.ts +3 -0
- package/lib/components/form/o-form.component.d.ts +11 -4
- package/lib/components/grid/o-grid.component.d.ts +5 -4
- package/lib/components/input/combo/combo-search/o-combo-search.component.d.ts +1 -0
- package/lib/components/input/combo/o-combo.component.d.ts +2 -0
- package/lib/components/input/date-range/o-daterange-picker.component.d.ts +1 -0
- package/lib/components/list/o-list.component.d.ts +5 -4
- package/lib/components/list/renderers/o-list-item-text-renderer.class.d.ts +4 -1
- package/lib/components/o-service-base-component.class.d.ts +2 -0
- package/lib/components/o-service-component.class.d.ts +11 -0
- package/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.d.ts +3 -3
- package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -1
- package/lib/components/table/o-table.component.d.ts +3 -3
- package/lib/components/tree/o-tree.component.d.ts +6 -0
- package/lib/interfaces/app-menu.interface.d.ts +2 -0
- package/lib/interfaces/service-data-component.interface.d.ts +1 -0
- package/lib/layouts/card-menu-layout/o-card-menu-layout.component.d.ts +10 -2
- package/lib/layouts/form-layout/o-form-layout-manager.component.d.ts +1 -0
- package/lib/services/app-menu.service.d.ts +7 -1
- package/lib/services/o-auth.service.d.ts +1 -0
- package/lib/services/ontimize-export-data-base-provider.service.d.ts +1 -0
- package/lib/services/permissions/permissions.service.d.ts +14 -3
- package/lib/types/form/index.d.ts +1 -0
- package/lib/types/form/o-form-global-config.type.d.ts +3 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/o-component-permissions-by-route.type.d.ts +5 -0
- package/lib/types/o-form-permissions.type.d.ts +2 -7
- package/lib/types/o-global-config.type.d.ts +5 -0
- package/lib/types/o-grid-permissions.type.d.ts +2 -0
- package/lib/types/o-list-permissions.type.d.ts +2 -0
- package/lib/types/o-service-base-permissions.type.d.ts +7 -0
- package/lib/types/o-tree-permissions.type.d.ts +2 -0
- package/lib/types/table/o-table-global-config.type.d.ts +5 -0
- package/lib/types/table/o-table-permissions.type.d.ts +2 -4
- package/lib/util/codes.d.ts +8 -1
- package/lib/util/util.d.ts +2 -0
- package/ontimize.scss +35 -34
- package/package.json +1 -1
- package/theme.scss +106 -73
- package/theming/ontimize-style.scss +19 -37
|
@@ -101,12 +101,14 @@ export class OntimizeAuthService extends AuthService {
|
|
|
101
101
|
onLogoutSuccess(sessionId) {
|
|
102
102
|
if (sessionId === 0) {
|
|
103
103
|
this.clearSessionData();
|
|
104
|
+
this.restartPermission();
|
|
104
105
|
this.redirectLogin(false);
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
108
|
onLogoutError(error) {
|
|
108
109
|
console.error('Error on logout');
|
|
109
110
|
this.clearSessionData();
|
|
111
|
+
this.restartPermission();
|
|
110
112
|
this.redirectLogin(false);
|
|
111
113
|
}
|
|
112
114
|
clearSessionData() {
|
|
@@ -128,10 +130,14 @@ export class OntimizeAuthService extends AuthService {
|
|
|
128
130
|
extras[Codes.QUERY_PARAMS] = arg;
|
|
129
131
|
this.router.navigate([Codes.LOGIN_ROUTE], extras);
|
|
130
132
|
}
|
|
133
|
+
restartPermission() {
|
|
134
|
+
const permissionsService = this.injector.get(PermissionsService);
|
|
135
|
+
permissionsService.restart();
|
|
136
|
+
}
|
|
131
137
|
}
|
|
132
138
|
OntimizeAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeAuthService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
133
139
|
OntimizeAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeAuthService });
|
|
134
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeAuthService, decorators: [{
|
|
135
141
|
type: Injectable
|
|
136
142
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hdXRoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2VydmljZXMvby1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUd0RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQVFsRCxZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM5RCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNuRCxDQUFDO0lBRU0sNEJBQTRCLENBQUMsTUFBYztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLE9BQU8sQ0FBZSxPQUFPLENBQUMsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE1BQU0sY0FBYyxHQUFvQixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3hDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDMUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUNqRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7b0JBQzNFLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUM7b0JBQ3BFLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztvQkFDcEQsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDaEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUN0QixDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDekIsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxTQUEwQjtRQUU5QyxNQUFNLE9BQU8sR0FBRztZQUNkLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztZQUNoQixFQUFFLEVBQUUsU0FBUztTQUNkLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDOUQsTUFBTSxjQUFjLEdBQW9CLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3BFLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztvQkFDM0UsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTt3QkFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDM0IsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNyQixhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzNCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMxQixhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlCO1FBQ3RDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQWlCO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLGlCQUEwQixLQUFLO1FBQzNDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxjQUFjLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7O2lIQTNJVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IElBdXRoU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi90eXBlcy9jb25maWcudHlwZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3R5cGVzL3Nlc3Npb24taW5mby50eXBlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvZ2luLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9SZW1vdGVDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplQXV0aFNlcnZpY2UgZXh0ZW5kcyBBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfdXNlcjogc3RyaW5nO1xuICBwcml2YXRlIF9jb25maWc6IENvbmZpZztcbiAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcjtcbiAgcHJpdmF0ZSBvbnRTZXJ2aWNlOiBPbnRpbWl6ZVNlcnZpY2U7XG4gIHByaXZhdGUgbG9naW5TdG9yYWdlU2VydmljZTogTG9naW5TdG9yYWdlU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcENvbmZpZykuZ2V0Q29uZmlndXJhdGlvbigpO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChMb2dpblN0b3JhZ2VTZXJ2aWNlKTtcbiAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIGlmIChzZXNzaW9uSW5mbyAmJiBzZXNzaW9uSW5mby5pZCAmJiBzZXNzaW9uSW5mby51c2VyICYmIHNlc3Npb25JbmZvLnVzZXIubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXNlciA9IHNlc3Npb25JbmZvLnVzZXI7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvY2FsU3RvcmFnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UuX2xvY2FsU3RvcmFnZUtleTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVPbnRpbWl6ZUF1dGhTZXJ2aWNlKGNvbmZpZzogb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5vbnRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT250aW1pemVTZXJ2aWNlKTtcbiAgICBjb25zdCBzZXJ2Q29uZiA9IHt9O1xuICAgIHNlcnZDb25mW0NvZGVzLlNFU1NJT05fS0VZXSA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIHRoaXMub250U2VydmljZS5jb25maWd1cmVTZXJ2aWNlKHNlcnZDb25mKTtcbiAgfVxuXG4gIHB1YmxpYyByZXRyaWV2ZUF1dGhTZXJ2aWNlKCk6IFByb21pc2U8SUF1dGhTZXJ2aWNlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPElBdXRoU2VydmljZT4ocmVzb2x2ZSA9PiB7XG4gICAgICBpZiAodGhpcy5vbnRTZXJ2aWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLm9udFNlcnZpY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmVPbnRpbWl6ZUF1dGhTZXJ2aWNlKHRoaXMuX2NvbmZpZyk7XG4gICAgICAgIHJlc29sdmUodGhpcy5vbnRTZXJ2aWNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbih1c2VyOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuX3VzZXIgPSB1c2VyO1xuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICB0aGlzLnJldHJpZXZlQXV0aFNlcnZpY2UoKS50aGVuKHNlcnZpY2UgPT4ge1xuICAgICAgICBzZXJ2aWNlLnN0YXJ0c2Vzc2lvbih1c2VyLCBwYXNzd29yZCkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgIHRoaXMub25Mb2dpblN1Y2Nlc3MocmVzcCk7XG4gICAgICAgICAgY29uc3QgcGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGVybWlzc2lvbnNTZXJ2aWNlKTtcbiAgICAgICAgICBjb25zdCByZW1vdGVDb25maWdTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgICBjb25zdCBwZW5kaW5nQXJyYXkgPSBbXTtcbiAgICAgICAgICBwZW5kaW5nQXJyYXkucHVzaChwZXJtaXNzaW9uc1NlcnZpY2UuZ2V0VXNlclBlcm1pc3Npb25zQXNQcm9taXNlKCkpO1xuICAgICAgICAgIHBlbmRpbmdBcnJheS5wdXNoKHJlbW90ZUNvbmZpZ1NlcnZpY2UuaW5pdGlhbGl6ZSgpKTtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHBlbmRpbmdBcnJheSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKTtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLm9uTG9naW5FcnJvcihlcnJvcik7XG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBmcm9tKGRhdGFPYnNlcnZhYmxlLnRvUHJvbWlzZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkxvZ2luU3VjY2VzcyhzZXNzaW9uSWQ6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgIC8vIHNhdmUgdXNlciBhbmQgc2Vzc2lvbmlkIGludG8gbG9jYWwgc3RvcmFnZVxuICAgIGNvbnN0IHNlc3Npb24gPSB7XG4gICAgICB1c2VyOiB0aGlzLl91c2VyLFxuICAgICAgaWQ6IHNlc3Npb25JZFxuICAgIH07XG4gICAgdGhpcy5sb2dpblN0b3JhZ2VTZXJ2aWNlLnN0b3JlU2Vzc2lvbkluZm8oc2Vzc2lvbik7XG4gICAgdGhpcy5vbkxvZ2luLm5leHQoc2Vzc2lvbik7XG4gIH1cblxuICBwdWJsaWMgb25Mb2dpbkVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmFsZXJ0KCdFUlJPUicsICdNRVNTQUdFUy5FUlJPUl9MT0dJTicpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMub25Mb2dvdXQubmV4dChudWxsKTtcbiAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShpbm5lck9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMucmV0cmlldmVBdXRoU2VydmljZSgpLnRoZW4oc2VydmljZSA9PiB7XG4gICAgICAgIHNlcnZpY2UuZW5kc2Vzc2lvbihzZXNzaW9uSW5mby51c2VyLCBzZXNzaW9uSW5mby5pZCkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlbW90ZUNvbmZpZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPUmVtb3RlQ29uZmlndXJhdGlvblNlcnZpY2UpO1xuICAgICAgICAgIHJlbW90ZUNvbmZpZ1NlcnZpY2UuZmluYWxpemUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkxvZ291dFN1Y2Nlc3MocmVzcCk7XG4gICAgICAgICAgICBpbm5lck9ic2VydmVyLm5leHQoKTtcbiAgICAgICAgICAgIGlubmVyT2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMub25Mb2dvdXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgaW5uZXJPYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZyb20oZGF0YU9ic2VydmFibGUudG9Qcm9taXNlKCkpO1xuICB9XG5cbiAgcHVibGljIG9uTG9nb3V0U3VjY2VzcyhzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChzZXNzaW9uSWQgPT09IDApIHtcbiAgICAgIHRoaXMuY2xlYXJTZXNzaW9uRGF0YSgpO1xuICAgICAgdGhpcy5yZWRpcmVjdExvZ2luKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Mb2dvdXRFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3Igb24gbG9nb3V0Jyk7XG4gICAgdGhpcy5jbGVhclNlc3Npb25EYXRhKCk7XG4gICAgdGhpcy5yZWRpcmVjdExvZ2luKGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlc3Npb25EYXRhKCk6IHZvaWQge1xuICAgIHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5zZXNzaW9uRXhwaXJlZCgpO1xuICB9XG5cbiAgcHVibGljIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5pc0xvZ2dlZEluKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2Vzc2lvbkluZm8oKTogU2Vzc2lvbkluZm8ge1xuICAgIHJldHVybiB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvbkluZm8oKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9yZVNlc3Npb25JbmZvKGluZm86IFNlc3Npb25JbmZvKTogdm9pZCB7XG4gICAgdGhpcy5sb2dpblN0b3JhZ2VTZXJ2aWNlLnN0b3JlU2Vzc2lvbkluZm8oaW5mbyk7XG4gIH1cblxuICByZWRpcmVjdExvZ2luKHNlc3Npb25FeHBpcmVkOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBhcmcgPSB7fTtcbiAgICBhcmdbQ29kZXMuU0VTU0lPTl9FWFBJUkVEX0tFWV0gPSBzZXNzaW9uRXhwaXJlZDtcbiAgICBjb25zdCBleHRyYXMgPSB7fTtcbiAgICBleHRyYXNbQ29kZXMuUVVFUllfUEFSQU1TXSA9IGFyZztcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbQ29kZXMuTE9HSU5fUk9VVEVdLCBleHRyYXMpO1xuICB9XG5cbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1hdXRoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvc2VydmljZXMvby1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUd0RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQVFsRCxZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRXRDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElB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QztJQUVNLGdCQUFnQixDQUFDLElBQWlCO1FBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLGlCQUEwQixLQUFLO1FBQzNDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxjQUFjLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7O2lIQWxKVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IElBdXRoU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi90eXBlcy9jb25maWcudHlwZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3R5cGVzL3Nlc3Npb24taW5mby50eXBlJztcbmltcG9ydCB7IENvZGVzIH0gZnJvbSAnLi4vdXRpbC9jb2Rlcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvZ2luLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9SZW1vdGVDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vcmVtb3RlLWNvbmZpZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplQXV0aFNlcnZpY2UgZXh0ZW5kcyBBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfdXNlcjogc3RyaW5nO1xuICBwcml2YXRlIF9jb25maWc6IENvbmZpZztcbiAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcjtcbiAgcHJpdmF0ZSBvbnRTZXJ2aWNlOiBPbnRpbWl6ZVNlcnZpY2U7XG4gIHByaXZhdGUgbG9naW5TdG9yYWdlU2VydmljZTogTG9naW5TdG9yYWdlU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcENvbmZpZykuZ2V0Q29uZmlndXJhdGlvbigpO1xuICAgIHRoaXMucm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChMb2dpblN0b3JhZ2VTZXJ2aWNlKTtcbiAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIGlmIChzZXNzaW9uSW5mbyAmJiBzZXNzaW9uSW5mby5pZCAmJiBzZXNzaW9uSW5mby51c2VyICYmIHNlc3Npb25JbmZvLnVzZXIubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fdXNlciA9IHNlc3Npb25JbmZvLnVzZXI7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvY2FsU3RvcmFnZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UuX2xvY2FsU3RvcmFnZUtleTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVPbnRpbWl6ZUF1dGhTZXJ2aWNlKGNvbmZpZzogb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5vbnRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT250aW1pemVTZXJ2aWNlKTtcbiAgICBjb25zdCBzZXJ2Q29uZiA9IHt9O1xuICAgIHNlcnZDb25mW0NvZGVzLlNFU1NJT05fS0VZXSA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIHRoaXMub250U2VydmljZS5jb25maWd1cmVTZXJ2aWNlKHNlcnZDb25mKTtcbiAgfVxuXG4gIHB1YmxpYyByZXRyaWV2ZUF1dGhTZXJ2aWNlKCk6IFByb21pc2U8SUF1dGhTZXJ2aWNlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPElBdXRoU2VydmljZT4ocmVzb2x2ZSA9PiB7XG4gICAgICBpZiAodGhpcy5vbnRTZXJ2aWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLm9udFNlcnZpY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25maWd1cmVPbnRpbWl6ZUF1dGhTZXJ2aWNlKHRoaXMuX2NvbmZpZyk7XG4gICAgICAgIHJlc29sdmUodGhpcy5vbnRTZXJ2aWNlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbih1c2VyOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuX3VzZXIgPSB1c2VyO1xuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICB0aGlzLnJldHJpZXZlQXV0aFNlcnZpY2UoKS50aGVuKHNlcnZpY2UgPT4ge1xuICAgICAgICBzZXJ2aWNlLnN0YXJ0c2Vzc2lvbih1c2VyLCBwYXNzd29yZCkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgIHRoaXMub25Mb2dpblN1Y2Nlc3MocmVzcCk7XG4gICAgICAgICAgY29uc3QgcGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGVybWlzc2lvbnNTZXJ2aWNlKTtcbiAgICAgICAgICBjb25zdCByZW1vdGVDb25maWdTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoT1JlbW90ZUNvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgICBjb25zdCBwZW5kaW5nQXJyYXkgPSBbXTtcbiAgICAgICAgICBwZW5kaW5nQXJyYXkucHVzaChwZXJtaXNzaW9uc1NlcnZpY2UuZ2V0VXNlclBlcm1pc3Npb25zQXNQcm9taXNlKCkpO1xuICAgICAgICAgIHBlbmRpbmdBcnJheS5wdXNoKHJlbW90ZUNvbmZpZ1NlcnZpY2UuaW5pdGlhbGl6ZSgpKTtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHBlbmRpbmdBcnJheSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKTtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLm9uTG9naW5FcnJvcihlcnJvcik7XG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBmcm9tKGRhdGFPYnNlcnZhYmxlLnRvUHJvbWlzZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkxvZ2luU3VjY2VzcyhzZXNzaW9uSWQ6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgIC8vIHNhdmUgdXNlciBhbmQgc2Vzc2lvbmlkIGludG8gbG9jYWwgc3RvcmFnZVxuICAgIGNvbnN0IHNlc3Npb24gPSB7XG4gICAgICB1c2VyOiB0aGlzLl91c2VyLFxuICAgICAgaWQ6IHNlc3Npb25JZFxuICAgIH07XG4gICAgdGhpcy5sb2dpblN0b3JhZ2VTZXJ2aWNlLnN0b3JlU2Vzc2lvbkluZm8oc2Vzc2lvbik7XG4gICAgdGhpcy5vbkxvZ2luLm5leHQoc2Vzc2lvbik7XG4gIH1cblxuICBwdWJsaWMgb25Mb2dpbkVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmFsZXJ0KCdFUlJPUicsICdNRVNTQUdFUy5FUlJPUl9MT0dJTicpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMub25Mb2dvdXQubmV4dChudWxsKTtcbiAgICBjb25zdCBzZXNzaW9uSW5mbyA9IHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uSW5mbygpO1xuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShpbm5lck9ic2VydmVyID0+IHtcbiAgICAgIHRoaXMucmV0cmlldmVBdXRoU2VydmljZSgpLnRoZW4oc2VydmljZSA9PiB7XG4gICAgICAgIHNlcnZpY2UuZW5kc2Vzc2lvbihzZXNzaW9uSW5mby51c2VyLCBzZXNzaW9uSW5mby5pZCkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlbW90ZUNvbmZpZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChPUmVtb3RlQ29uZmlndXJhdGlvblNlcnZpY2UpO1xuICAgICAgICAgIHJlbW90ZUNvbmZpZ1NlcnZpY2UuZmluYWxpemUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkxvZ291dFN1Y2Nlc3MocmVzcCk7XG4gICAgICAgICAgICBpbm5lck9ic2VydmVyLm5leHQoKTtcbiAgICAgICAgICAgIGlubmVyT2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMub25Mb2dvdXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgaW5uZXJPYnNlcnZlci5lcnJvcihlcnJvcik7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZyb20oZGF0YU9ic2VydmFibGUudG9Qcm9taXNlKCkpO1xuICB9XG5cbiAgcHVibGljIG9uTG9nb3V0U3VjY2VzcyhzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChzZXNzaW9uSWQgPT09IDApIHtcbiAgICAgIHRoaXMuY2xlYXJTZXNzaW9uRGF0YSgpO1xuICAgICAgdGhpcy5yZXN0YXJ0UGVybWlzc2lvbigpO1xuICAgICAgdGhpcy5yZWRpcmVjdExvZ2luKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Mb2dvdXRFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3Igb24gbG9nb3V0Jyk7XG4gICAgdGhpcy5jbGVhclNlc3Npb25EYXRhKCk7XG4gICAgdGhpcy5yZXN0YXJ0UGVybWlzc2lvbigpO1xuICAgIHRoaXMucmVkaXJlY3RMb2dpbihmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZXNzaW9uRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2Uuc2Vzc2lvbkV4cGlyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2luU3RvcmFnZVNlcnZpY2UuaXNMb2dnZWRJbigpO1xuICB9XG5cbiAgcHVibGljIGdldFNlc3Npb25JbmZvKCk6IFNlc3Npb25JbmZvIHtcbiAgICByZXR1cm4gdGhpcy5sb2dpblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25JbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc3RvcmVTZXNzaW9uSW5mbyhpbmZvOiBTZXNzaW9uSW5mbyk6IHZvaWQge1xuICAgIHRoaXMubG9naW5TdG9yYWdlU2VydmljZS5zdG9yZVNlc3Npb25JbmZvKGluZm8pO1xuICB9XG5cbiAgcmVkaXJlY3RMb2dpbihzZXNzaW9uRXhwaXJlZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgYXJnID0ge307XG4gICAgYXJnW0NvZGVzLlNFU1NJT05fRVhQSVJFRF9LRVldID0gc2Vzc2lvbkV4cGlyZWQ7XG4gICAgY29uc3QgZXh0cmFzID0ge307XG4gICAgZXh0cmFzW0NvZGVzLlFVRVJZX1BBUkFNU10gPSBhcmc7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0NvZGVzLkxPR0lOX1JPVVRFXSwgZXh0cmFzKTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0YXJ0UGVybWlzc2lvbigpIHtcbiAgICBjb25zdCBwZXJtaXNzaW9uc1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChQZXJtaXNzaW9uc1NlcnZpY2UpO1xuICAgIHBlcm1pc3Npb25zU2VydmljZS5yZXN0YXJ0KCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Injectable, Injector } from "@angular/core";
|
|
2
|
+
import { FilterExpressionUtils } from "../util/filter-expression.utils";
|
|
3
|
+
import { Util } from "../util/util";
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
5
|
export class OntimizeExportDataBaseProviderService {
|
|
4
6
|
constructor(injector) {
|
|
@@ -14,7 +16,37 @@ export class OntimizeExportDataBaseProviderService {
|
|
|
14
16
|
this.sqlTypes = this.table.getSqlTypes();
|
|
15
17
|
this.entity = this.table.entity;
|
|
16
18
|
this.service = this.table.service;
|
|
17
|
-
this.filter = this.
|
|
19
|
+
this.filter = this.getFilterWithBasicExpression();
|
|
20
|
+
}
|
|
21
|
+
getFilterWithBasicExpression() {
|
|
22
|
+
let filter = this.table.getComponentFilter();
|
|
23
|
+
if (Object.keys(filter).length > 0) {
|
|
24
|
+
const parentItemExpr = FilterExpressionUtils.buildExpressionFromObject(filter);
|
|
25
|
+
filter = {};
|
|
26
|
+
filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] = parentItemExpr;
|
|
27
|
+
}
|
|
28
|
+
const beColFilter = this.table.getColumnFiltersExpression();
|
|
29
|
+
if (beColFilter && !Util.isDefined(filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY])) {
|
|
30
|
+
filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] = beColFilter;
|
|
31
|
+
}
|
|
32
|
+
else if (beColFilter) {
|
|
33
|
+
filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] =
|
|
34
|
+
FilterExpressionUtils.buildComplexExpression(filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY], beColFilter, FilterExpressionUtils.OP_AND);
|
|
35
|
+
}
|
|
36
|
+
const quickFilterExpr = Util.isDefined(this.table.oTableQuickFilterComponent) ? this.table.oTableQuickFilterComponent.filterExpression : undefined;
|
|
37
|
+
const filterBuilderExpr = Util.isDefined(this.table.filterBuilder) ? this.table.filterBuilder.getExpression() : undefined;
|
|
38
|
+
let complexExpr = quickFilterExpr || filterBuilderExpr;
|
|
39
|
+
if (quickFilterExpr && filterBuilderExpr) {
|
|
40
|
+
complexExpr = FilterExpressionUtils.buildComplexExpression(quickFilterExpr, filterBuilderExpr, FilterExpressionUtils.OP_AND);
|
|
41
|
+
}
|
|
42
|
+
if (complexExpr && !Util.isDefined(filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY])) {
|
|
43
|
+
filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] = complexExpr;
|
|
44
|
+
}
|
|
45
|
+
else if (complexExpr) {
|
|
46
|
+
filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] =
|
|
47
|
+
FilterExpressionUtils.buildComplexExpression(filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY], complexExpr, FilterExpressionUtils.OP_AND);
|
|
48
|
+
}
|
|
49
|
+
return filter;
|
|
18
50
|
}
|
|
19
51
|
}
|
|
20
52
|
OntimizeExportDataBaseProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportDataBaseProviderService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -22,4 +54,4 @@ OntimizeExportDataBaseProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minV
|
|
|
22
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportDataBaseProviderService, decorators: [{
|
|
23
55
|
type: Injectable
|
|
24
56
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtYmFzZS1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplLWV4cG9ydC1kYXRhLWJhc2UtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUlwQyxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRzdDLGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRy9GLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUks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Q0FBcUM7dUlBQXJDLHFDQUFxQzs0RkFBckMscUNBQXFDO2tCQURqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT1RhYmxlQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL28tdGFibGUtYmFzZS5jbGFzc1wiO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvblV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvZmlsdGVyLWV4cHJlc3Npb24udXRpbHNcIjtcbmltcG9ydCB7IFV0aWwgfSBmcm9tIFwiLi4vdXRpbC91dGlsXCI7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplRXhwb3J0RGF0YUJhc2VQcm92aWRlclNlcnZpY2Uge1xuXG4gIHRhYmxlOiBPVGFibGVCYXNlO1xuICBjb2x1bW5zOiBhbnk7XG4gIGNvbHNOb3RJbmNsdWRlZDogc3RyaW5nW11cbiAgY29sdW1uTmFtZXM6IGFueTtcbiAgc3FsVHlwZXM6IGFueTtcbiAgZW50aXR5OiBzdHJpbmc7XG4gIHNlcnZpY2U6IHN0cmluZztcbiAgZmlsdGVyOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcikgeyB9XG5cblxuICBpbml0aWFsaXplUHJvdmlkZXIodGFibGU6IE9UYWJsZUJhc2UpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gICAgLy8gVGFibGUgY29sdW1uc1xuICAgIGNvbnN0IHRhYmxlT3B0aW9ucyA9IHRoaXMudGFibGUub1RhYmxlT3B0aW9ucztcbiAgICB0aGlzLmNvbHNOb3RJbmNsdWRlZCA9IHRoaXMudGFibGUuZ2V0Q29sdW1uc05vdEluY2x1ZGVkKClcbiAgICB0aGlzLmNvbHVtbnMgPSB0YWJsZU9wdGlvbnMudmlzaWJsZUNvbHVtbnMuZmlsdGVyKGMgPT4gdGhpcy5jb2xzTm90SW5jbHVkZWQuaW5kZXhPZihjKSA9PT0gLTEpO1xuXG4gICAgLy8gVGFibGUgY29sdW1uIG5hbWVzXG4gICAgY29uc3QgdGFibGVDb2x1bW5OYW1lcyA9IHRhYmxlT3B0aW9ucy52aXNpYmxlQ29sdW1ucy5maWx0ZXIoYyA9PiB0aGlzLmNvbHNOb3RJbmNsdWRlZC5pbmRleE9mKGMpID09PSAtMSk7XG4gICAgdGhpcy5jb2x1bW5OYW1lcyA9IHRoaXMudGFibGUuZ2V0Q29sdW1uTmFtZXModGFibGVDb2x1bW5OYW1lcyk7XG5cbiAgICAvLyBUYWJsZSBjb2x1bW4gc3FsVHlwZXNcbiAgICB0aGlzLnNxbFR5cGVzID0gdGhpcy50YWJsZS5nZXRTcWxUeXBlcygpO1xuXG4gICAgLy8gVGFibGUgZW50aXR5XG4gICAgdGhpcy5lbnRpdHkgPSB0aGlzLnRhYmxlLmVudGl0eTtcblxuICAgIC8vIFRhYmxlIHNlcnZpY2VcbiAgICB0aGlzLnNlcnZpY2UgPSB0aGlzLnRhYmxlLnNlcnZpY2U7XG5cbiAgICAvLyBUYWJsZSBmaWx0ZXJcbiAgICB0aGlzLmZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyV2l0aEJhc2ljRXhwcmVzc2lvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcldpdGhCYXNpY0V4cHJlc3Npb24oKTogYW55IHtcbiAgICBsZXQgZmlsdGVyID0gdGhpcy50YWJsZS5nZXRDb21wb25lbnRGaWx0ZXIoKTtcblxuICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXIpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmVudEl0ZW1FeHByID0gRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkRXhwcmVzc2lvbkZyb21PYmplY3QoZmlsdGVyKTtcbiAgICAgIGZpbHRlciA9IHt9O1xuICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5GSUxURVJfRVhQUkVTU0lPTl9LRVldID0gcGFyZW50SXRlbUV4cHI7XG4gICAgfVxuICAgIGNvbnN0IGJlQ29sRmlsdGVyID0gdGhpcy50YWJsZS5nZXRDb2x1bW5GaWx0ZXJzRXhwcmVzc2lvbigpO1xuICAgIC8vIEFkZCBjb2x1bW4gZmlsdGVycyBiYXNpYyBleHByZXNzaW9uIHRvIGN1cnJlbnQgZmlsdGVyXG4gICAgaWYgKGJlQ29sRmlsdGVyICYmICFVdGlsLmlzRGVmaW5lZChmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0pKSB7XG4gICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0gPSBiZUNvbEZpbHRlcjtcbiAgICB9IGVsc2UgaWYgKGJlQ29sRmlsdGVyKSB7XG4gICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0gPVxuICAgICAgICBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuYnVpbGRDb21wbGV4RXhwcmVzc2lvbihmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0sIGJlQ29sRmlsdGVyLCBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuT1BfQU5EKTtcblxuICAgIH1cbiAgICBjb25zdCBxdWlja0ZpbHRlckV4cHIgPSBVdGlsLmlzRGVmaW5lZCh0aGlzLnRhYmxlLm9UYWJsZVF1aWNrRmlsdGVyQ29tcG9uZW50KSA/IHRoaXMudGFibGUub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQuZmlsdGVyRXhwcmVzc2lvbiA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGZpbHRlckJ1aWxkZXJFeHByID0gVXRpbC5pc0RlZmluZWQodGhpcy50YWJsZS5maWx0ZXJCdWlsZGVyKSA/IHRoaXMudGFibGUuZmlsdGVyQnVpbGRlci5nZXRFeHByZXNzaW9uKCkgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGNvbXBsZXhFeHByID0gcXVpY2tGaWx0ZXJFeHByIHx8IGZpbHRlckJ1aWxkZXJFeHByO1xuICAgIGlmIChxdWlja0ZpbHRlckV4cHIgJiYgZmlsdGVyQnVpbGRlckV4cHIpIHtcbiAgICAgIGNvbXBsZXhFeHByID0gRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkQ29tcGxleEV4cHJlc3Npb24ocXVpY2tGaWx0ZXJFeHByLCBmaWx0ZXJCdWlsZGVyRXhwciwgRmlsdGVyRXhwcmVzc2lvblV0aWxzLk9QX0FORCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBsZXhFeHByICYmICFVdGlsLmlzRGVmaW5lZChmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXSkpIHtcbiAgICAgIGZpbHRlcltGaWx0ZXJFeHByZXNzaW9uVXRpbHMuQkFTSUNfRVhQUkVTU0lPTl9LRVldID0gY29tcGxleEV4cHI7XG4gICAgfSBlbHNlIGlmIChjb21wbGV4RXhwcikge1xuICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5CQVNJQ19FWFBSRVNTSU9OX0tFWV0gPVxuICAgICAgICBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuYnVpbGRDb21wbGV4RXhwcmVzc2lvbihmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXSwgY29tcGxleEV4cHIsIEZpbHRlckV4cHJlc3Npb25VdGlscy5PUF9BTkQpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cbn0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
2
|
+
import { Observable, Subject } from 'rxjs';
|
|
3
3
|
import { share } from 'rxjs/operators';
|
|
4
4
|
import { AppConfig } from '../../config/app-config';
|
|
5
5
|
import { Util } from '../../util/util';
|
|
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
export class PermissionsService {
|
|
10
10
|
constructor(injector) {
|
|
11
11
|
this.injector = injector;
|
|
12
|
+
this.onChangePermissions = new Subject();
|
|
12
13
|
const appConfig = this.injector.get(AppConfig).getConfiguration();
|
|
13
14
|
if (Util.isDefined(appConfig.permissionsConfiguration)) {
|
|
14
15
|
this.ontimizePermissionsConfig = appConfig.permissionsConfiguration;
|
|
@@ -33,6 +34,7 @@ export class PermissionsService {
|
|
|
33
34
|
}
|
|
34
35
|
restart() {
|
|
35
36
|
this.permissions = undefined;
|
|
37
|
+
this.onChangePermissions.next(this.permissions);
|
|
36
38
|
}
|
|
37
39
|
hasPermissions() {
|
|
38
40
|
return this.permissions !== undefined;
|
|
@@ -66,6 +68,7 @@ export class PermissionsService {
|
|
|
66
68
|
const dataObservable = new Observable(innerObserver => {
|
|
67
69
|
self.permissionsService.loadPermissions().subscribe((res) => {
|
|
68
70
|
self.permissions = res;
|
|
71
|
+
self.onChangePermissions.next(self.permissions);
|
|
69
72
|
innerObserver.next(res);
|
|
70
73
|
}, (err) => {
|
|
71
74
|
console.error('[Permissions.queryPermissions]: error', err);
|
|
@@ -77,6 +80,9 @@ export class PermissionsService {
|
|
|
77
80
|
return dataObservable.pipe(share());
|
|
78
81
|
}
|
|
79
82
|
getPermissionIdFromActRoute(actRoute) {
|
|
83
|
+
if (!Util.isDefined(actRoute)) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
80
86
|
let result;
|
|
81
87
|
let snapshot = actRoute.snapshot;
|
|
82
88
|
result = ((snapshot.data || {})['oPermission'] || {})['permissionId'];
|
|
@@ -111,10 +117,11 @@ export class PermissionsService {
|
|
|
111
117
|
if (attrPermissions && attrPermissions.selector === selector) {
|
|
112
118
|
compPermissions = attrPermissions;
|
|
113
119
|
}
|
|
114
|
-
|
|
120
|
+
const permissions = {
|
|
115
121
|
route: routePermissions,
|
|
116
122
|
component: compPermissions
|
|
117
123
|
};
|
|
124
|
+
return permissions;
|
|
118
125
|
}
|
|
119
126
|
getTablePermissions(attr, actRoute) {
|
|
120
127
|
if (!Util.isDefined(this.permissions)) {
|
|
@@ -136,24 +143,36 @@ export class PermissionsService {
|
|
|
136
143
|
};
|
|
137
144
|
return permissions;
|
|
138
145
|
}
|
|
139
|
-
|
|
146
|
+
getServiceBasePermissions(attr, actRoute, selector) {
|
|
140
147
|
if (!Util.isDefined(this.permissions)) {
|
|
141
148
|
return undefined;
|
|
142
149
|
}
|
|
143
|
-
const perm = this.getOComponentPermissions(attr, actRoute,
|
|
150
|
+
const perm = this.getOComponentPermissions(attr, actRoute, selector);
|
|
144
151
|
const routePerm = perm.route;
|
|
145
152
|
const compPerm = perm.component;
|
|
146
153
|
if (!Util.isDefined(routePerm) || !Util.isDefined(compPerm)) {
|
|
147
154
|
return compPerm || routePerm;
|
|
148
155
|
}
|
|
149
156
|
const permissions = {
|
|
150
|
-
selector:
|
|
157
|
+
selector: selector,
|
|
151
158
|
attr: routePerm.attr,
|
|
152
159
|
components: this.mergeOPermissionsArrays(compPerm.components, routePerm.components),
|
|
153
160
|
actions: this.mergeOPermissionsArrays(compPerm.actions, routePerm.actions)
|
|
154
161
|
};
|
|
155
162
|
return permissions;
|
|
156
163
|
}
|
|
164
|
+
getFormPermissions(attr, actRoute) {
|
|
165
|
+
return this.getServiceBasePermissions(attr, actRoute, 'o-form');
|
|
166
|
+
}
|
|
167
|
+
getListPermissions(attr, actRoute) {
|
|
168
|
+
return this.getServiceBasePermissions(attr, actRoute, 'o-list');
|
|
169
|
+
}
|
|
170
|
+
getGridPermissions(attr, actRoute) {
|
|
171
|
+
return this.getServiceBasePermissions(attr, actRoute, 'o-grid');
|
|
172
|
+
}
|
|
173
|
+
getTreePermissions(attr, actRoute) {
|
|
174
|
+
return this.getServiceBasePermissions(attr, actRoute, 'o-tree');
|
|
175
|
+
}
|
|
157
176
|
getMenuPermissions(attr) {
|
|
158
177
|
let permissions;
|
|
159
178
|
if (!Util.isDefined(this.permissions)) {
|
|
@@ -163,6 +182,21 @@ export class PermissionsService {
|
|
|
163
182
|
permissions = allMenu.find(comp => comp.attr === attr);
|
|
164
183
|
return permissions;
|
|
165
184
|
}
|
|
185
|
+
getAllMenuPermissions() {
|
|
186
|
+
if (!Util.isDefined(this.permissions)) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
const permissions = this.permissions.menu || [];
|
|
190
|
+
return permissions;
|
|
191
|
+
}
|
|
192
|
+
getOButtonPermissions(attr, actRoute) {
|
|
193
|
+
let permissions;
|
|
194
|
+
if (!Util.isDefined(this.permissions)) {
|
|
195
|
+
return undefined;
|
|
196
|
+
}
|
|
197
|
+
permissions = this.getOComponentPermissions(attr, actRoute, 'o-button');
|
|
198
|
+
return permissions.component;
|
|
199
|
+
}
|
|
166
200
|
mergeOPermissionsArrays(permissionsA, permissionsB) {
|
|
167
201
|
if (!Util.isDefined(permissionsA) || !Util.isDefined(permissionsB)) {
|
|
168
202
|
return permissionsA || permissionsB;
|
|
@@ -204,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
204
238
|
providedIn: 'root'
|
|
205
239
|
}]
|
|
206
240
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVFwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBSzVFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFBc0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUN0QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRWxFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMseUJBQXlCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLGNBQWMsR0FBUSwwQkFBMEIsQ0FBQztRQUN2RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxD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QUFPLEtBQUssS0FBSyxDQUFDO0lBQ2xFLENBQUM7O2dIQS9NVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IE9Db21wb25lbnRQZXJtaXNzaW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzL28tY29tcG9uZW50LXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT0Zvcm1QZXJtaXNzaW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzL28tZm9ybS1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IE9QZXJtaXNzaW9uc0RlZmluaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9vLXBlcm1pc3Npb25zLWRlZmluaXRpb24udHlwZSc7XG5pbXBvcnQgeyBPUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1JvdXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLXJvdXRlLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlTWVudVBlcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1tZW51LXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1lZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNTZXJ2aWNlIHtcblxuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlOiBhbnk7XG4gIHByb3RlY3RlZCBvbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnOiBhbnk7XG5cbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zOiBPUGVybWlzc2lvbnNEZWZpbml0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBhcHBDb25maWcgPSB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWcpLmdldENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmIChVdGlsLmlzRGVmaW5lZChhcHBDb25maWcucGVybWlzc2lvbnNDb25maWd1cmF0aW9uKSkge1xuICAgICAgdGhpcy5vbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnID0gYXBwQ29uZmlnLnBlcm1pc3Npb25zQ29uZmlndXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlU2VydmljZSgpIHtcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZTogYW55ID0gT250aW1pemVQZXJtaXNzaW9uc1NlcnZpY2U7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQobG9hZGluZ1NlcnZpY2UpO1xuICAgICAgaWYgKFV0aWwuaXNQZXJtaXNzaW9uc1NlcnZpY2UodGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UpKSB7XG4gICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zU2VydmljZSBpbnN0YW5jZW9mIE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlKSB7XG4gICAgICAgICAgKHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlIGFzIE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlKS5jb25maWd1cmVTZXJ2aWNlKHRoaXMub250aW1pemVQZXJtaXNzaW9uc0NvbmZpZyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UgaW5zdGFuY2VvZiBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlKSB7XG4gICAgICAgICAgKHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlIGFzIE9udGltaXplRUVQZXJtaXNzaW9uc1NlcnZpY2UpLmNvbmZpZ3VyZVNlcnZpY2UodGhpcy5vbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgcmVzdGFydCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgaGFzUGVybWlzc2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFVzZXJQZXJtaXNzaW9uc0FzUHJvbWlzZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCkgPT4ge1xuICAgICAgc2VsZi5wZXJtaXNzaW9ucyA9IHt9O1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlbGYub250aW1pemVQZXJtaXNzaW9uc0NvbmZpZykpIHtcbiAgICAgICAgc2VsZi5jb25maWd1cmVTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHNlbGYucXVlcnlQZXJtaXNzaW9ucygpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgcXVlcnlQZXJtaXNzaW9ucygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGNvbnN0IGRhdGFPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShpbm5lck9ic2VydmVyID0+IHtcbiAgICAgIHNlbGYucGVybWlzc2lvbnNTZXJ2aWNlLmxvYWRQZXJtaXNzaW9ucygpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZi5wZXJtaXNzaW9ucyA9IHJlcztcbiAgICAgICAgaW5uZXJPYnNlcnZlci5uZXh0KHJlcyk7XG4gICAgICB9LCAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignW1Blcm1pc3Npb25zLnF1ZXJ5UGVybWlzc2lvbnNdOiBlcnJvcicsIGVycik7XG4gICAgICAgIGlubmVyT2JzZXJ2ZXIuZXJyb3IoZXJyKTtcbiAgICAgIH0sICgpID0+IHtcbiAgICAgICAgaW5uZXJPYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFPYnNlcnZhYmxlLnBpcGUoc2hhcmUoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UGVybWlzc2lvbklkRnJvbUFjdFJvdXRlKGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGxldCBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IGFjdFJvdXRlLnNuYXBzaG90O1xuICAgIHJlc3VsdCA9ICgoc25hcHNob3QuZGF0YSB8fCB7fSlbJ29QZXJtaXNzaW9uJ10gfHwge30pWydwZXJtaXNzaW9uSWQnXTtcbiAgICB3aGlsZSAoVXRpbC5pc0RlZmluZWQoc25hcHNob3QuZmlyc3RDaGlsZCkgJiYgIVV0aWwuaXNEZWZpbmVkKHJlc3VsdCkpIHtcbiAgICAgIHNuYXBzaG90ID0gc25hcHNob3QuZmlyc3RDaGlsZDtcbiAgICAgIHJlc3VsdCA9ICgoc25hcHNob3QuZGF0YSB8fCB7fSlbJ29QZXJtaXNzaW9uJ10gfHwge30pWydwZXJtaXNzaW9uSWQnXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb21wb25lbnRQZXJtaXNzaW9uc1VzaW5nUm91dGUoYXR0cjogc3RyaW5nLCBhY3RSb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBPQ29tcG9uZW50UGVybWlzc2lvbnMge1xuICAgIGxldCByZXN1bHQ6IE9Db21wb25lbnRQZXJtaXNzaW9ucztcbiAgICBjb25zdCBwZXJtaXNzaW9uSWQgPSB0aGlzLmdldFBlcm1pc3Npb25JZEZyb21BY3RSb3V0ZShhY3RSb3V0ZSk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHBlcm1pc3Npb25JZCkpIHtcbiAgICAgIGNvbnN0IHJvdXRlUGVybWlzc2lvbnM6IE9Sb3V0ZVBlcm1pc3Npb25zID0gKHRoaXMucGVybWlzc2lvbnMucm91dGVzIHx8IFtdKS5maW5kKHJvdXRlID0+IHJvdXRlLnBlcm1pc3Npb25JZCA9PT0gcGVybWlzc2lvbklkKTtcbiAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChyb3V0ZVBlcm1pc3Npb25zKSkge1xuICAgICAgICByZXN1bHQgPSAocm91dGVQZXJtaXNzaW9ucy5jb21wb25lbnRzIHx8IFtdKS5maW5kKGNvbXAgPT4gY29tcC5hdHRyID09PSBhdHRyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRPQ29tcG9uZW50UGVybWlzc2lvbnMoYXR0cjogc3RyaW5nLCBhY3RSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHNlbGVjdG9yOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxldCByb3V0ZVBlcm1pc3Npb25zOiBhbnk7XG4gICAgY29uc3QgZ2VuZXJpY1JvdXRlUGVybTogT0NvbXBvbmVudFBlcm1pc3Npb25zID0gdGhpcy5nZXRDb21wb25lbnRQZXJtaXNzaW9uc1VzaW5nUm91dGUoYXR0ciwgYWN0Um91dGUpO1xuICAgIGlmIChnZW5lcmljUm91dGVQZXJtICYmIGdlbmVyaWNSb3V0ZVBlcm0uc2VsZWN0b3IgPT09IHNlbGVjdG9yKSB7XG4gICAgICByb3V0ZVBlcm1pc3Npb25zID0gZ2VuZXJpY1JvdXRlUGVybTtcbiAgICB9XG4gICAgbGV0IGNvbXBQZXJtaXNzaW9uczogYW55O1xuICAgIGNvbnN0IGF0dHJQZXJtaXNzaW9ucyA9ICh0aGlzLnBlcm1pc3Npb25zLmNvbXBvbmVudHMgfHwgW10pLmZpbmQoY29tcCA9PiBjb21wLmF0dHIgPT09IGF0dHIpO1xuICAgIGlmIChhdHRyUGVybWlzc2lvbnMgJiYgYXR0clBlcm1pc3Npb25zLnNlbGVjdG9yID09PSBzZWxlY3Rvcikge1xuICAgICAgY29tcFBlcm1pc3Npb25zID0gYXR0clBlcm1pc3Npb25zO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcm91dGU6IHJvdXRlUGVybWlzc2lvbnMsXG4gICAgICBjb21wb25lbnQ6IGNvbXBQZXJtaXNzaW9uc1xuICAgIH07XG4gIH1cblxuICBnZXRUYWJsZVBlcm1pc3Npb25zKGF0dHI6IHN0cmluZywgYWN0Um91dGU6IEFjdGl2YXRlZFJvdXRlKTogT1RhYmxlUGVybWlzc2lvbnMge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IHBlcm0gPSB0aGlzLmdldE9Db21wb25lbnRQZXJtaXNzaW9ucyhhdHRyLCBhY3RSb3V0ZSwgJ28tdGFibGUnKTtcbiAgICBjb25zdCByb3V0ZVBlcm06IE9UYWJsZVBlcm1pc3Npb25zID0gPE9UYWJsZVBlcm1pc3Npb25zPnBlcm0ucm91dGU7XG4gICAgY29uc3QgY29tcFBlcm06IE9UYWJsZVBlcm1pc3Npb25zID0gPE9UYWJsZVBlcm1pc3Npb25zPnBlcm0uY29tcG9uZW50O1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQocm91dGVQZXJtKSB8fCAhVXRpbC5pc0RlZmluZWQoY29tcFBlcm0pKSB7XG4gICAgICByZXR1cm4gY29tcFBlcm0gfHwgcm91dGVQZXJtO1xuICAgIH1cbiAgICBjb25zdCBwZXJtaXNzaW9uczogT1RhYmxlUGVybWlzc2lvbnMgPSB7XG4gICAgICBzZWxlY3RvcjogJ28tdGFibGUnLFxuICAgICAgYXR0cjogcm91dGVQZXJtLmF0dHIsXG4gICAgICBtZW51OiB0aGlzLm1lcmdlT1RhYmxlTWVudVBlcm1pc3Npb25zKGNvbXBQZXJtLm1lbnUsIHJvdXRlUGVybS5tZW51KSxcbiAgICAgIGNvbHVtbnM6IHRoaXMubWVyZ2VPUGVybWlzc2lvbnNBcnJheXMoY29tcFBlcm0uY29sdW1ucywgcm91dGVQZXJtLmNvbHVtbnMpLFxuICAgICAgYWN0aW9uczogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5hY3Rpb25zLCByb3V0ZVBlcm0uYWN0aW9ucyksXG4gICAgICBjb250ZXh0TWVudTogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5jb250ZXh0TWVudSwgcm91dGVQZXJtLmNvbnRleHRNZW51KVxuICAgIH07XG4gICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICB9XG5cbiAgZ2V0Rm9ybVBlcm1pc3Npb25zKGF0dHI6IHN0cmluZywgYWN0Um91dGU6IEFjdGl2YXRlZFJvdXRlKTogT0Zvcm1QZXJtaXNzaW9ucyB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLnBlcm1pc3Npb25zKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcGVybSA9IHRoaXMuZ2V0T0NvbXBvbmVudFBlcm1pc3Npb25zKGF0dHIsIGFjdFJvdXRlLCAnby1mb3JtJyk7XG4gICAgY29uc3Qgcm91dGVQZXJtOiBPRm9ybVBlcm1pc3Npb25zID0gPE9Gb3JtUGVybWlzc2lvbnM+cGVybS5yb3V0ZTtcbiAgICBjb25zdCBjb21wUGVybTogT0Zvcm1QZXJtaXNzaW9ucyA9IDxPRm9ybVBlcm1pc3Npb25zPnBlcm0uY29tcG9uZW50O1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQocm91dGVQZXJtKSB8fCAhVXRpbC5pc0RlZmluZWQoY29tcFBlcm0pKSB7XG4gICAgICByZXR1cm4gY29tcFBlcm0gfHwgcm91dGVQZXJtO1xuICAgIH1cbiAgICBjb25zdCBwZXJtaXNzaW9uczogT0Zvcm1QZXJtaXNzaW9ucyA9IHtcbiAgICAgIHNlbGVjdG9yOiAnby1mb3JtJyxcbiAgICAgIGF0dHI6IHJvdXRlUGVybS5hdHRyLFxuICAgICAgY29tcG9uZW50czogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5jb21wb25lbnRzLCByb3V0ZVBlcm0uY29tcG9uZW50cyksXG4gICAgICBhY3Rpb25zOiB0aGlzLm1lcmdlT1Blcm1pc3Npb25zQXJyYXlzKGNvbXBQZXJtLmFjdGlvbnMsIHJvdXRlUGVybS5hY3Rpb25zKVxuICAgIH07XG4gICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICB9XG5cbiAgZ2V0TWVudVBlcm1pc3Npb25zKGF0dHI6IHN0cmluZyk6IE9QZXJtaXNzaW9ucyB7XG4gICAgbGV0IHBlcm1pc3Npb25zO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGFsbE1lbnU6IE9QZXJtaXNzaW9uc1tdID0gdGhpcy5wZXJtaXNzaW9ucy5tZW51IHx8IFtdO1xuXG4gICAgcGVybWlzc2lvbnMgPSBhbGxNZW51LmZpbmQoY29tcCA9PiBjb21wLmF0dHIgPT09IGF0dHIpO1xuXG4gICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1lcmdlT1Blcm1pc3Npb25zQXJyYXlzKHBlcm1pc3Npb25zQTogT1Blcm1pc3Npb25zW10sIHBlcm1pc3Npb25zQjogT1Blcm1pc3Npb25zW10pOiBPUGVybWlzc2lvbnNbXSB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uc0EpIHx8ICFVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uc0IpKSB7XG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNBIHx8IHBlcm1pc3Npb25zQjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmFzc2lnbihbXSwgcGVybWlzc2lvbnNBKTtcbiAgICBwZXJtaXNzaW9uc0IuZm9yRWFjaCgocGVybTogT1Blcm1pc3Npb25zKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IHJlc3VsdC5maW5kKHIgPT4gci5hdHRyID09PSBwZXJtLmF0dHIpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIGZvdW5kLnZpc2libGUgPSBwZXJtLnZpc2libGU7XG4gICAgICAgIGZvdW5kLmVuYWJsZWQgPSBwZXJtLmVuYWJsZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQucHVzaChwZXJtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIG1lcmdlT1RhYmxlTWVudVBlcm1pc3Npb25zKHBlcm1pc3Npb25zQTogT1RhYmxlTWVudVBlcm1pc3Npb25zLCBwZXJtaXNzaW9uc0I6IE9UYWJsZU1lbnVQZXJtaXNzaW9ucyk6IE9UYWJsZU1lbnVQZXJtaXNzaW9ucyB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uc0EpIHx8ICFVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uc0IpKSB7XG4gICAgICByZXR1cm4gcGVybWlzc2lvbnNBIHx8IHBlcm1pc3Npb25zQjtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgdmlzaWJsZTogcGVybWlzc2lvbnNCLnZpc2libGUsXG4gICAgICBlbmFibGVkOiBwZXJtaXNzaW9uc0IuZW5hYmxlZCxcbiAgICAgIGl0ZW1zOiB0aGlzLm1lcmdlT1Blcm1pc3Npb25zQXJyYXlzKHBlcm1pc3Npb25zQS5pdGVtcywgcGVybWlzc2lvbnNCLml0ZW1zKVxuICAgIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGlzUGVybWlzc2lvbklkUm91dGVSZXN0cmljdGVkKHBlcm1pc3Npb25JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgcm91dGVEYXRhID0gKHRoaXMucGVybWlzc2lvbnMucm91dGVzIHx8IFtdKS5maW5kKHJvdXRlID0+IHJvdXRlLnBlcm1pc3Npb25JZCA9PT0gcGVybWlzc2lvbklkKTtcbiAgICByZXR1cm4gVXRpbC5pc0RlZmluZWQocm91dGVEYXRhKSAmJiByb3V0ZURhdGEuZW5hYmxlZCA9PT0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFXcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQU01RSxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQakMsd0JBQW1CLEdBQWlCLElBQUksT0FBTyxFQUFNLENBQUM7UUFRM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVsRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsTUFBTSxjQUFjLEdBQVEsMEJBQTBCLENBQUM7UUFDdkQsSUFBSTtZQUNGLElBQUksQ0FBQyxrQkFB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WUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDO1NBQzVFLENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsNkJBQTZCLENBQUMsWUFBb0I7UUFDaEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztJQUNsRSxDQUFDOztnSEEzUFUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcHBDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvYXBwLWNvbmZpZyc7XG5pbXBvcnQgeyBPQ29tcG9uZW50UGVybWlzc2lvbnNCeVJvdXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMvby1jb21wb25lbnQtcGVybWlzc2lvbnMtYnktcm91dGUudHlwZSc7XG5pbXBvcnQgeyBPQ29tcG9uZW50UGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLWNvbXBvbmVudC1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IE9Gb3JtUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLWZvcm0tcGVybWlzc2lvbnMudHlwZSc7XG5pbXBvcnQgeyBPR3JpZFBlcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMvby1ncmlkLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT0xpc3RQZXJtaXNzaW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzL28tbGlzdC1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IE9QZXJtaXNzaW9uc0RlZmluaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9vLXBlcm1pc3Npb25zLWRlZmluaXRpb24udHlwZSc7XG5pbXBvcnQgeyBPUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1JvdXRlUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLXJvdXRlLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlTWVudVBlcm1pc3Npb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMvdGFibGUvby10YWJsZS1tZW51LXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgT1RhYmxlUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLXBlcm1pc3Npb25zLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1lZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vbnRpbWl6ZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmVlUGVybWlzc2lvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9vLXRyZWUtcGVybWlzc2lvbnMudHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zU2VydmljZSB7XG4gIHB1YmxpYyBvbkNoYW5nZVBlcm1pc3Npb25zOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxbXT4oKTtcblxuICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlOiBhbnk7XG4gIHByb3RlY3RlZCBvbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnOiBhbnk7XG5cbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zOiBPUGVybWlzc2lvbnNEZWZpbml0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBhcHBDb25maWcgPSB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWcpLmdldENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGlmIChVdGlsLmlzRGVmaW5lZChhcHBDb25maWcucGVybWlzc2lvbnNDb25maWd1cmF0aW9uKSkge1xuICAgICAgdGhpcy5vbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnID0gYXBwQ29uZmlnLnBlcm1pc3Npb25zQ29uZmlndXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlU2VydmljZSgpIHtcbiAgICBjb25zdCBsb2FkaW5nU2VydmljZTogYW55ID0gT250aW1pemVQZXJtaXNzaW9uc1NlcnZpY2U7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQobG9hZGluZ1NlcnZpY2UpO1xuICAgICAgaWYgKFV0aWwuaXNQZXJtaXNzaW9uc1NlcnZpY2UodGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UpKSB7XG4gICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zU2VydmljZSBpbnN0YW5jZW9mIE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlKSB7XG4gICAgICAgICAgKHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlIGFzIE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlKS5jb25maWd1cmVTZXJ2aWNlKHRoaXMub250aW1pemVQZXJtaXNzaW9uc0NvbmZpZyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UgaW5zdGFuY2VvZiBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlKSB7XG4gICAgICAgICAgKHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlIGFzIE9udGltaXplRUVQZXJtaXNzaW9uc1NlcnZpY2UpLmNvbmZpZ3VyZVNlcnZpY2UodGhpcy5vbnRpbWl6ZVBlcm1pc3Npb25zQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgcmVzdGFydCgpIHtcbiAgICB0aGlzLnBlcm1pc3Npb25zID0gdW5kZWZpbmVkO1xuICAgIHRoaXMub25DaGFuZ2VQZXJtaXNzaW9ucy5uZXh0KHRoaXMucGVybWlzc2lvbnMpO1xuICB9XG5cbiAgaGFzUGVybWlzc2lvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldFVzZXJQZXJtaXNzaW9uc0FzUHJvbWlzZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCkgPT4ge1xuICAgICAgc2VsZi5wZXJtaXNzaW9ucyA9IHt9O1xuICAgICAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlbGYub250aW1pemVQZXJtaXNzaW9uc0NvbmZpZykpIHtcbiAgICAgICAgc2VsZi5jb25maWd1cmVTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHNlbGYucXVlcnlQZXJtaXNzaW9ucygpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHF1ZXJ5UGVybWlzc2lvbnMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBkYXRhT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+ID0gbmV3IE9ic2VydmFibGUoaW5uZXJPYnNlcnZlciA9PiB7XG4gICAgICBzZWxmLnBlcm1pc3Npb25zU2VydmljZS5sb2FkUGVybWlzc2lvbnMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHNlbGYucGVybWlzc2lvbnMgPSByZXM7XG4gICAgICAgIHNlbGYub25DaGFuZ2VQZXJtaXNzaW9ucy5uZXh0KHNlbGYucGVybWlzc2lvbnMpO1xuICAgICAgICBpbm5lck9ic2VydmVyLm5leHQocmVzKTtcbiAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdbUGVybWlzc2lvbnMucXVlcnlQZXJtaXNzaW9uc106IGVycm9yJywgZXJyKTtcbiAgICAgICAgaW5uZXJPYnNlcnZlci5lcnJvcihlcnIpO1xuICAgICAgfSwgKCkgPT4ge1xuICAgICAgICBpbm5lck9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YU9ic2VydmFibGUucGlwZShzaGFyZSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRQZXJtaXNzaW9uSWRGcm9tQWN0Um91dGUoYWN0Um91dGU6IEFjdGl2YXRlZFJvdXRlKTogc3RyaW5nIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGFjdFJvdXRlKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGxldCBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IGFjdFJvdXRlLnNuYXBzaG90O1xuICAgIHJlc3VsdCA9ICgoc25hcHNob3QuZGF0YSB8fCB7fSlbJ29QZXJtaXNzaW9uJ10gfHwge30pWydwZXJtaXNzaW9uSWQnXTtcbiAgICB3aGlsZSAoVXRpbC5pc0RlZmluZWQoc25hcHNob3QuZmlyc3RDaGlsZCkgJiYgIVV0aWwuaXNEZWZpbmVkKHJlc3VsdCkpIHtcbiAgICAgIHNuYXBzaG90ID0gc25hcHNob3QuZmlyc3RDaGlsZDtcbiAgICAgIHJlc3VsdCA9ICgoc25hcHNob3QuZGF0YSB8fCB7fSlbJ29QZXJtaXNzaW9uJ10gfHwge30pWydwZXJtaXNzaW9uSWQnXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDb21wb25lbnRQZXJtaXNzaW9uc1VzaW5nUm91dGUoYXR0cjogc3RyaW5nLCBhY3RSb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBPQ29tcG9uZW50UGVybWlzc2lvbnMge1xuICAgIGxldCByZXN1bHQ6IE9Db21wb25lbnRQZXJtaXNzaW9ucztcbiAgICBjb25zdCBwZXJtaXNzaW9uSWQgPSB0aGlzLmdldFBlcm1pc3Npb25JZEZyb21BY3RSb3V0ZShhY3RSb3V0ZSk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHBlcm1pc3Npb25JZCkpIHtcbiAgICAgIGNvbnN0IHJvdXRlUGVybWlzc2lvbnM6IE9Sb3V0ZVBlcm1pc3Npb25zID0gKHRoaXMucGVybWlzc2lvbnMucm91dGVzIHx8IFtdKS5maW5kKHJvdXRlID0+IHJvdXRlLnBlcm1pc3Npb25JZCA9PT0gcGVybWlzc2lvbklkKTtcbiAgICAgIGlmIChVdGlsLmlzRGVmaW5lZChyb3V0ZVBlcm1pc3Npb25zKSkge1xuICAgICAgICByZXN1bHQgPSAocm91dGVQZXJtaXNzaW9ucy5jb21wb25lbnRzIHx8IFtdKS5maW5kKGNvbXAgPT4gY29tcC5hdHRyID09PSBhdHRyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPQ29tcG9uZW50UGVybWlzc2lvbnMoYXR0cjogc3RyaW5nLCBhY3RSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHNlbGVjdG9yOiBzdHJpbmcpOiBPQ29tcG9uZW50UGVybWlzc2lvbnNCeVJvdXRlIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMucGVybWlzc2lvbnMpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBsZXQgcm91dGVQZXJtaXNzaW9uczogYW55O1xuICAgIGNvbnN0IGdlbmVyaWNSb3V0ZVBlcm06IE9Db21wb25lbnRQZXJtaXNzaW9ucyA9IHRoaXMuZ2V0Q29tcG9uZW50UGVybWlzc2lvbnNVc2luZ1JvdXRlKGF0dHIsIGFjdFJvdXRlKTtcbiAgICBpZiAoZ2VuZXJpY1JvdXRlUGVybSAmJiBnZW5lcmljUm91dGVQZXJtLnNlbGVjdG9yID09PSBzZWxlY3Rvcikge1xuICAgICAgcm91dGVQZXJtaXNzaW9ucyA9IGdlbmVyaWNSb3V0ZVBlcm07XG4gICAgfVxuICAgIGxldCBjb21wUGVybWlzc2lvbnM6IGFueTtcbiAgICBjb25zdCBhdHRyUGVybWlzc2lvbnMgPSAodGhpcy5wZXJtaXNzaW9ucy5jb21wb25lbnRzIHx8IFtdKS5maW5kKGNvbXAgPT4gY29tcC5hdHRyID09PSBhdHRyKTtcbiAgICBpZiAoYXR0clBlcm1pc3Npb25zICYmIGF0dHJQZXJtaXNzaW9ucy5zZWxlY3RvciA9PT0gc2VsZWN0b3IpIHtcbiAgICAgIGNvbXBQZXJtaXNzaW9ucyA9IGF0dHJQZXJtaXNzaW9ucztcbiAgICB9XG4gICAgY29uc3QgcGVybWlzc2lvbnM6IE9Db21wb25lbnRQZXJtaXNzaW9uc0J5Um91dGUgPSB7XG4gICAgICByb3V0ZTogcm91dGVQZXJtaXNzaW9ucyxcbiAgICAgIGNvbXBvbmVudDogY29tcFBlcm1pc3Npb25zXG4gICAgfTtcbiAgICByZXR1cm4gcGVybWlzc2lvbnM7XG4gIH1cblxuICBnZXRUYWJsZVBlcm1pc3Npb25zKGF0dHI6IHN0cmluZywgYWN0Um91dGU6IEFjdGl2YXRlZFJvdXRlKTogT1RhYmxlUGVybWlzc2lvbnMge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IHBlcm0gPSB0aGlzLmdldE9Db21wb25lbnRQZXJtaXNzaW9ucyhhdHRyLCBhY3RSb3V0ZSwgJ28tdGFibGUnKTtcbiAgICBjb25zdCByb3V0ZVBlcm06IE9UYWJsZVBlcm1pc3Npb25zID0gPE9UYWJsZVBlcm1pc3Npb25zPnBlcm0ucm91dGU7XG4gICAgY29uc3QgY29tcFBlcm06IE9UYWJsZVBlcm1pc3Npb25zID0gPE9UYWJsZVBlcm1pc3Npb25zPnBlcm0uY29tcG9uZW50O1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQocm91dGVQZXJtKSB8fCAhVXRpbC5pc0RlZmluZWQoY29tcFBlcm0pKSB7XG4gICAgICByZXR1cm4gY29tcFBlcm0gfHwgcm91dGVQZXJtO1xuICAgIH1cbiAgICBjb25zdCBwZXJtaXNzaW9uczogT1RhYmxlUGVybWlzc2lvbnMgPSB7XG4gICAgICBzZWxlY3RvcjogJ28tdGFibGUnLFxuICAgICAgYXR0cjogcm91dGVQZXJtLmF0dHIsXG4gICAgICBtZW51OiB0aGlzLm1lcmdlT1RhYmxlTWVudVBlcm1pc3Npb25zKGNvbXBQZXJtLm1lbnUsIHJvdXRlUGVybS5tZW51KSxcbiAgICAgIGNvbHVtbnM6IHRoaXMubWVyZ2VPUGVybWlzc2lvbnNBcnJheXMoY29tcFBlcm0uY29sdW1ucywgcm91dGVQZXJtLmNvbHVtbnMpLFxuICAgICAgYWN0aW9uczogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5hY3Rpb25zLCByb3V0ZVBlcm0uYWN0aW9ucyksXG4gICAgICBjb250ZXh0TWVudTogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5jb250ZXh0TWVudSwgcm91dGVQZXJtLmNvbnRleHRNZW51KVxuICAgIH07XG4gICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICB9XG4gIHByaXZhdGUgZ2V0U2VydmljZUJhc2VQZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgc2VsZWN0b3I6IHN0cmluZyk6IE9Db21wb25lbnRQZXJtaXNzaW9ucyB7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLnBlcm1pc3Npb25zKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcGVybSA9IHRoaXMuZ2V0T0NvbXBvbmVudFBlcm1pc3Npb25zKGF0dHIsIGFjdFJvdXRlLCBzZWxlY3Rvcik7XG4gICAgY29uc3Qgcm91dGVQZXJtOiBPQ29tcG9uZW50UGVybWlzc2lvbnMgPSBwZXJtLnJvdXRlO1xuICAgIGNvbnN0IGNvbXBQZXJtOiBPQ29tcG9uZW50UGVybWlzc2lvbnMgPSBwZXJtLmNvbXBvbmVudDtcblxuICAgIGlmICghVXRpbC5pc0RlZmluZWQocm91dGVQZXJtKSB8fCAhVXRpbC5pc0RlZmluZWQoY29tcFBlcm0pKSB7XG4gICAgICByZXR1cm4gY29tcFBlcm0gfHwgcm91dGVQZXJtO1xuICAgIH1cblxuICAgIGNvbnN0IHBlcm1pc3Npb25zOiBPQ29tcG9uZW50UGVybWlzc2lvbnMgPSB7XG4gICAgICBzZWxlY3Rvcjogc2VsZWN0b3IsXG4gICAgICBhdHRyOiByb3V0ZVBlcm0uYXR0cixcbiAgICAgIGNvbXBvbmVudHM6IHRoaXMubWVyZ2VPUGVybWlzc2lvbnNBcnJheXMoY29tcFBlcm0uY29tcG9uZW50cywgcm91dGVQZXJtLmNvbXBvbmVudHMpLFxuICAgICAgYWN0aW9uczogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhjb21wUGVybS5hY3Rpb25zLCByb3V0ZVBlcm0uYWN0aW9ucylcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBlcm1pc3Npb25zO1xuICB9XG4gIGdldEZvcm1QZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IE9Gb3JtUGVybWlzc2lvbnMge1xuICAgIHJldHVybiA8T0Zvcm1QZXJtaXNzaW9ucz50aGlzLmdldFNlcnZpY2VCYXNlUGVybWlzc2lvbnMoYXR0ciwgYWN0Um91dGUsICdvLWZvcm0nKTtcbiAgfVxuXG4gIGdldExpc3RQZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IE9MaXN0UGVybWlzc2lvbnMge1xuICAgIHJldHVybiA8T0xpc3RQZXJtaXNzaW9ucz50aGlzLmdldFNlcnZpY2VCYXNlUGVybWlzc2lvbnMoYXR0ciwgYWN0Um91dGUsICdvLWxpc3QnKTtcbiAgfVxuXG4gIGdldEdyaWRQZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IE9HcmlkUGVybWlzc2lvbnMge1xuICAgIHJldHVybiA8T0dyaWRQZXJtaXNzaW9ucz50aGlzLmdldFNlcnZpY2VCYXNlUGVybWlzc2lvbnMoYXR0ciwgYWN0Um91dGUsICdvLWdyaWQnKTtcbiAgfVxuXG4gIGdldFRyZWVQZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IE9UcmVlUGVybWlzc2lvbnMge1xuICAgIHJldHVybiA8T1RyZWVQZXJtaXNzaW9ucz50aGlzLmdldFNlcnZpY2VCYXNlUGVybWlzc2lvbnMoYXR0ciwgYWN0Um91dGUsICdvLXRyZWUnKTtcbiAgfVxuXG4gIGdldE1lbnVQZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcpOiBPUGVybWlzc2lvbnMge1xuICAgIGxldCBwZXJtaXNzaW9ucztcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMucGVybWlzc2lvbnMpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBhbGxNZW51OiBPUGVybWlzc2lvbnNbXSA9IHRoaXMucGVybWlzc2lvbnMubWVudSB8fCBbXTtcblxuICAgIHBlcm1pc3Npb25zID0gYWxsTWVudS5maW5kKGNvbXAgPT4gY29tcC5hdHRyID09PSBhdHRyKTtcblxuICAgIHJldHVybiBwZXJtaXNzaW9ucztcbiAgfVxuXG4gIGdldEFsbE1lbnVQZXJtaXNzaW9ucygpOiBPUGVybWlzc2lvbnNbXSB7XG5cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHRoaXMucGVybWlzc2lvbnMpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBwZXJtaXNzaW9uczogT1Blcm1pc3Npb25zW10gPSB0aGlzLnBlcm1pc3Npb25zLm1lbnUgfHwgW107XG5cbiAgICByZXR1cm4gcGVybWlzc2lvbnM7XG4gIH1cblxuXG4gIGdldE9CdXR0b25QZXJtaXNzaW9ucyhhdHRyOiBzdHJpbmcsIGFjdFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IE9QZXJtaXNzaW9ucyB7XG4gICAgbGV0IHBlcm1pc3Npb25zO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5wZXJtaXNzaW9ucykpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHBlcm1pc3Npb25zID0gdGhpcy5nZXRPQ29tcG9uZW50UGVybWlzc2lvbnMoYXR0ciwgYWN0Um91dGUsICdvLWJ1dHRvbicpO1xuXG4gICAgcmV0dXJuIHBlcm1pc3Npb25zLmNvbXBvbmVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBtZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhwZXJtaXNzaW9uc0E6IE9QZXJtaXNzaW9uc1tdLCBwZXJtaXNzaW9uc0I6IE9QZXJtaXNzaW9uc1tdKTogT1Blcm1pc3Npb25zW10ge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQocGVybWlzc2lvbnNBKSB8fCAhVXRpbC5pc0RlZmluZWQocGVybWlzc2lvbnNCKSkge1xuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zQSB8fCBwZXJtaXNzaW9uc0I7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IE9iamVjdC5hc3NpZ24oW10sIHBlcm1pc3Npb25zQSk7XG4gICAgcGVybWlzc2lvbnNCLmZvckVhY2goKHBlcm06IE9QZXJtaXNzaW9ucykgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSByZXN1bHQuZmluZChyID0+IHIuYXR0ciA9PT0gcGVybS5hdHRyKTtcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBmb3VuZC52aXNpYmxlID0gcGVybS52aXNpYmxlO1xuICAgICAgICBmb3VuZC5lbmFibGVkID0gcGVybS5lbmFibGVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0LnB1c2gocGVybSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBtZXJnZU9UYWJsZU1lbnVQZXJtaXNzaW9ucyhwZXJtaXNzaW9uc0E6IE9UYWJsZU1lbnVQZXJtaXNzaW9ucywgcGVybWlzc2lvbnNCOiBPVGFibGVNZW51UGVybWlzc2lvbnMpOiBPVGFibGVNZW51UGVybWlzc2lvbnMge1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQocGVybWlzc2lvbnNBKSB8fCAhVXRpbC5pc0RlZmluZWQocGVybWlzc2lvbnNCKSkge1xuICAgICAgcmV0dXJuIHBlcm1pc3Npb25zQSB8fCBwZXJtaXNzaW9uc0I7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgIHZpc2libGU6IHBlcm1pc3Npb25zQi52aXNpYmxlLFxuICAgICAgZW5hYmxlZDogcGVybWlzc2lvbnNCLmVuYWJsZWQsXG4gICAgICBpdGVtczogdGhpcy5tZXJnZU9QZXJtaXNzaW9uc0FycmF5cyhwZXJtaXNzaW9uc0EuaXRlbXMsIHBlcm1pc3Npb25zQi5pdGVtcylcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBpc1Blcm1pc3Npb25JZFJvdXRlUmVzdHJpY3RlZChwZXJtaXNzaW9uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJvdXRlRGF0YSA9ICh0aGlzLnBlcm1pc3Npb25zLnJvdXRlcyB8fCBbXSkuZmluZChyb3V0ZSA9PiByb3V0ZS5wZXJtaXNzaW9uSWQgPT09IHBlcm1pc3Npb25JZCk7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHJvdXRlRGF0YSkgJiYgcm91dGVEYXRhLmVuYWJsZWQgPT09IGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './o-form-global-config.type';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vLWZvcm0tZ2xvYmFsLWNvbmZpZy50eXBlJzsiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLWdsb2JhbC1jb25maWcudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi90eXBlcy9mb3JtL28tZm9ybS1nbG9iYWwtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE9Gb3JtR2xvYmFsQ29uZmlnID0ge1xuICBoZWFkZXJBY3Rpb25zOiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -37,4 +37,6 @@ export * from './session-info.type';
|
|
|
37
37
|
export * from './sql-order.type';
|
|
38
38
|
export * from './o-grouped-column-types.type';
|
|
39
39
|
export * from './o-filter-definition.type';
|
|
40
|
-
|
|
40
|
+
export * from './form/index';
|
|
41
|
+
export * from './o-global-config.type';
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWJsZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2FnZ3JlZ2F0ZS1mdW5jdGlvbi50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzaWMtZXhwcmVzc2lvbi50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmUtbWVzc2FnZS1zZXJ2aWNlLWFyZ3MudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJlLXNlcnZpY2UtYXJncy50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWN1c3RvbS1jbGFzcy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1maWx0ZXItZnVuY3Rpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLWRhdGEudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2V4cHJlc3Npb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1leHByZXNzaW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWxheW91dC1kZXRhaWwtY29tcG9uZW50LWRhdGEudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdmFsdWUtb3B0aW9ucy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1yZXF1ZXN0LW9wdGlvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtcm9vdC1pdGVtLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWJyZWFkY3J1bWItaXRlbS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1jb21wb25lbnQtcGVybWlzc2lvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tZGF0ZS12YWx1ZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1maWx0ZXItYnVpbGRlci12YWx1ZXMudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vby1mb3JtLWluaXRpYWxpemF0aW9uLW9wdGlvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tZm9ybS1wZXJtaXNzaW9ucy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1pbnB1dHMtb3B0aW9ucy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vby1saXN0LWluaXRpYWxpemF0aW9uLW9wdGlvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tbWF0LWVycm9yLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vLXBlcm1pc3Npb25zLWRlZmluaXRpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tcGVybWlzc2lvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tcm91dGUtcGVybWlzc2lvbnMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL29udGltaXplLWVlLXBlcm1pc3Npb25zLWNvbmZpZy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vb250aW1pemUtcGVybWlzc2lvbnMtY29uZmlnLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vbnRpbWl6ZS1zZXJ2aWNlLWNvbmZpZy50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0aW9uLWZ1bmN0aW9uLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1kYXRhLWFyZ3MudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1aWNrLWZpbHRlci1mdW5jdGlvbi50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3RlLWNvbmZpZ3VyYXRpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UtcmVxdWVzdC1wYXJhbS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Vzc2lvbi1pbmZvLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcWwtb3JkZXIudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tZ3JvdXBlZC1jb2x1bW4tdHlwZXMudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL28tZmlsdGVyLWRlZmluaXRpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9vLWdsb2JhbC1jb25maWcudHlwZSc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1jb21wb25lbnQtcGVybWlzc2lvbnMtYnktcm91dGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi90eXBlcy9vLWNvbXBvbmVudC1wZXJtaXNzaW9ucy1ieS1yb3V0ZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPQ29tcG9uZW50UGVybWlzc2lvbnMgfSBmcm9tIFwiLi9vLWNvbXBvbmVudC1wZXJtaXNzaW9ucy50eXBlXCJcblxuZXhwb3J0IHR5cGUgT0NvbXBvbmVudFBlcm1pc3Npb25zQnlSb3V0ZSA9IHtcbiAgcm91dGU/OiBPQ29tcG9uZW50UGVybWlzc2lvbnMsXG4gIGNvbXBvbmVudD86IE9Db21wb25lbnRQZXJtaXNzaW9uc1xufSJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1mb3JtLXBlcm1pc3Npb25zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvby1mb3JtLXBlcm1pc3Npb25zLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zIH0gZnJvbSAnLi9vLXNlcnZpY2UtYmFzZS1wZXJtaXNzaW9ucy50eXBlJztcblxuZXhwb3J0IHR5cGUgT0Zvcm1QZXJtaXNzaW9ucyA9IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const O_GLOBAL_CONFIG = new InjectionToken('o-global-config');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1nbG9iYWwtY29uZmlnLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvby1nbG9iYWwtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIE9HbG9iYWxDb25maWcgPSB7XG4gIHN0b3JlU3RhdGU6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgT19HTE9CQUxfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPE9HbG9iYWxDb25maWc+KCdvLWdsb2JhbC1jb25maWcnKTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1ncmlkLXBlcm1pc3Npb25zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvby1ncmlkLXBlcm1pc3Npb25zLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zIH0gZnJvbSAnLi9vLXNlcnZpY2UtYmFzZS1wZXJtaXNzaW9ucy50eXBlJztcblxuZXhwb3J0IHR5cGUgT0dyaWRQZXJtaXNzaW9ucyA9IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1saXN0LXBlcm1pc3Npb25zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvby1saXN0LXBlcm1pc3Npb25zLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zIH0gZnJvbSAnLi9vLXNlcnZpY2UtYmFzZS1wZXJtaXNzaW9ucy50eXBlJztcblxuZXhwb3J0IHR5cGUgT0xpc3RQZXJtaXNzaW9ucyA9IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1zZXJ2aWNlLWJhc2UtcGVybWlzc2lvbnMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi90eXBlcy9vLXNlcnZpY2UtYmFzZS1wZXJtaXNzaW9ucy50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPUGVybWlzc2lvbnMgfSBmcm9tICcuL28tcGVybWlzc2lvbnMudHlwZSc7XG5cbmV4cG9ydCB0eXBlIE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zID0ge1xuICBhdHRyOiBzdHJpbmc7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIGNvbXBvbmVudHM/OiBPUGVybWlzc2lvbnNbXTtcbiAgYWN0aW9ucz86IE9QZXJtaXNzaW9uc1tdO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmVlLXBlcm1pc3Npb25zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvby10cmVlLXBlcm1pc3Npb25zLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zIH0gZnJvbSAnLi9vLXNlcnZpY2UtYmFzZS1wZXJtaXNzaW9ucy50eXBlJztcblxuZXhwb3J0IHR5cGUgT1RyZWVQZXJtaXNzaW9ucyA9IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1nbG9iYWwtY29uZmlnLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdHlwZXMvdGFibGUvby10YWJsZS1nbG9iYWwtY29uZmlnLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9Sb3dIZWlnaHQsIE9UYWJsZURldGFpbE1vZGUsIE9UYWJsZUVkaXRpb25Nb2RlIH0gZnJvbSAnLi8uLi8uLi91dGlsL2NvZGVzJztcblxuZXhwb3J0IHR5cGUgT1RhYmxlR2xvYmFsQ29uZmlnID0ge1xuICBhdXRvQWRqdXN0OiBib29sZWFuO1xuICBhdXRvQWxpZ25UaXRsZXM6IGJvb2xlYW47XG4gIGZpbHRlckNvbHVtbkFjdGl2ZUJ5RGVmYXVsdDogYm9vbGVhbjtcbiAgZWRpdGlvbk1vZGU6IE9UYWJsZUVkaXRpb25Nb2RlO1xuICBkZXRhaWxNb2RlOiBPVGFibGVEZXRhaWxNb2RlO1xuICByb3dIZWlnaHQ6IE9Sb3dIZWlnaHRcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1wZXJtaXNzaW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3R5cGVzL3RhYmxlL28tdGFibGUtcGVybWlzc2lvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT1Blcm1pc3Npb25zIH0gZnJvbSAnLi4vby1wZXJtaXNzaW9ucy50eXBlJztcbmltcG9ydCB7IE9TZXJ2aWNlQmFzZVBlcm1pc3Npb25zIH0gZnJvbSAnLi4vby1zZXJ2aWNlLWJhc2UtcGVybWlzc2lvbnMudHlwZSc7XG5pbXBvcnQgeyBPVGFibGVNZW51UGVybWlzc2lvbnMgfSBmcm9tICcuL28tdGFibGUtbWVudS1wZXJtaXNzaW9ucy50eXBlJztcblxuZXhwb3J0IHR5cGUgT1RhYmxlUGVybWlzc2lvbnMgPSBPU2VydmljZUJhc2VQZXJtaXNzaW9ucyAmIHtcbiAgbWVudT86IE9UYWJsZU1lbnVQZXJtaXNzaW9ucztcbiAgY29sdW1ucz86IE9QZXJtaXNzaW9uc1tdO1xuICBjb250ZXh0TWVudT86IE9QZXJtaXNzaW9uc1tdO1xufTsiXX0=
|
|
@@ -24,6 +24,12 @@ export class Codes {
|
|
|
24
24
|
}
|
|
25
25
|
return !((e.keyCode < 48 || e.keyCode > 57) && (e.keyCode < 96 || e.keyCode > 105));
|
|
26
26
|
}
|
|
27
|
+
static isValidEditionMode(editionMode) {
|
|
28
|
+
return Codes.AVAILABLE_MODES.indexOf(editionMode) !== -1;
|
|
29
|
+
}
|
|
30
|
+
static isValidDetailMode(detailMode) {
|
|
31
|
+
return Codes.AVAILABLE_DETAIL_MODES.indexOf(detailMode) !== -1;
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
34
|
Codes.PAGINATED_QUERY_METHOD = 'advancedQuery';
|
|
29
35
|
Codes.DELETE_METHOD = 'delete';
|
|
@@ -39,9 +45,11 @@ Codes.AVAILABLE_ROW_HEIGHTS_VALUES = ['small', 'medium', 'large'];
|
|
|
39
45
|
Codes.DETAIL_MODE_NONE = 'none';
|
|
40
46
|
Codes.DETAIL_MODE_CLICK = 'click';
|
|
41
47
|
Codes.DETAIL_MODE_DBLCLICK_VALUES = ['dblclick', 'doubleclick'];
|
|
48
|
+
Codes.AVAILABLE_DETAIL_MODES = [Codes.DETAIL_MODE_NONE, Codes.DETAIL_MODE_CLICK, ...Codes.DETAIL_MODE_DBLCLICK_VALUES];
|
|
42
49
|
Codes.EDITION_MODE_NONE = 'none';
|
|
43
50
|
Codes.EDITION_MODE_CLICK = 'click';
|
|
44
51
|
Codes.EDITION_MODE_DBLCLICK_VALUES = ['dblclick', 'doubleclick'];
|
|
52
|
+
Codes.AVAILABLE_MODES = [Codes.EDITION_MODE_NONE, Codes.EDITION_MODE_CLICK, ...Codes.EDITION_MODE_DBLCLICK_VALUES];
|
|
45
53
|
Codes.SELECTION_MODE_NONE = 'none';
|
|
46
54
|
Codes.SELECTION_MODE_SINGLE = 'single';
|
|
47
55
|
Codes.SELECTION_MODE_MULTIPLE = 'multiple';
|
|
@@ -115,4 +123,4 @@ Codes.VISIBLE_EXPORT_BUTTONS = ['xlsx', 'pdf', 'html'];
|
|
|
115
123
|
Codes.VISIBLE_EXPORT_BUTTONS3X = ['xlsx', 'pdf', 'csv'];
|
|
116
124
|
Codes.DEFAULT_CHANGE_EVENT = 'onValueChange';
|
|
117
125
|
Codes.TYPES_DATE_GROUPS = ["YEAR", "MONTH", "YEAR_MONTH", "YEAR_MONTH_DAY"];
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9jb2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sS0FBSztJQTBIaEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUNuQyxPQUFPLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQWdCO1FBRXhDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFL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LFFBQVEsQ0FBQztBQUNqQyxzQkFBZ0IsR0FBVyxXQUFXLENBQUM7QUFDdkMsbUJBQWEsR0FBVyxRQUFRLENBQUM7QUFDakMsNkJBQXVCLEdBQVcsa0JBQWtCLENBQUM7QUFHckQsOEJBQXdCLEdBQUcsRUFBRSxDQUFDO0FBQzlCLHdCQUFrQixHQUFHLFFBQVEsQ0FBQztBQUM5Qiw0QkFBc0IsR0FBRyxZQUFZLENBQUM7QUFDdEMsOEJBQXdCLEdBQUcsYUFBYSxDQUFDO0FBQ3pDLHlCQUFtQixHQUFHLEVBQUUsQ0FBQztBQUV6Qiw2QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFDN0IsNkJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRTdCLHFCQUFlLEdBQXFCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzFELG1CQUFhLEdBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUV6RCxvQkFBYyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZDLGtCQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLDZCQUF1QixHQUFtQixTQUFTLENBQUM7QUFDcEQsNEJBQXNCLEdBQW1CLFFBQVEsQ0FBQztBQUNsRCw0QkFBc0IsR0FBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsOEJBQXdCLEdBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTVELDBCQUFvQixHQUFrQixlQUFlLENBQUM7QUFDdEQsdUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT0FwcExheW91dE1vZGUgPSAnbW9iaWxlJyB8ICdkZXNrdG9wJztcbmV4cG9ydCB0eXBlIE9TaWRlbmF2TW9kZSA9ICdvdmVyJyB8ICdwdXNoJyB8ICdzaWRlJztcbmV4cG9ydCB0eXBlIENIQU5HRV9FVkVOVFMgPSAnb25WYWx1ZUNoYW5nZScgfCAnb25DaGFuZ2UnO1xuXG5leHBvcnQgY2xhc3MgQ29kZXMge1xuXG4gIHB1YmxpYyBzdGF0aWMgUEFHSU5BVEVEX1FVRVJZX01FVEhPRCA9ICdhZHZhbmNlZFF1ZXJ5JztcbiAgcHVibGljIHN0YXRpYyBERUxFVEVfTUVUSE9EID0gJ2RlbGV0ZSc7XG4gIHB1YmxpYyBzdGF0aWMgSU5TRVJUX01FVEhPRCA9ICdpbnNlcnQnO1xuICBwdWJsaWMgc3RhdGljIFVQREFURV9NRVRIT0QgPSAndXBkYXRlJztcbiAgcHVibGljIHN0YXRpYyBRVUVSWV9NRVRIT0QgPSAncXVlcnknO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9RVUVSWV9ST1dTID0gMTA7XG4gIHB1YmxpYyBzdGF0aWMgUEFHRV9TSVpFX09QVElPTlMgPSBbMTAsIDI1LCA1MCwgMTAwXTtcblxuICBwdWJsaWMgc3RhdGljIERFVEFJTF9JQ09OID0gJ2NoZXZyb25fcmlnaHQnO1xuICBwdWJsaWMgc3RhdGljIEVESVRfSUNPTiA9ICdtb2RlX2VkaXQnO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9ST1dfSEVJR0hUID0gJ21lZGl1bSc7XG4gIHB1YmxpYyBzdGF0aWMgQVZBSUxBQkxFX1JPV19IRUlHSFRTX1ZBTFVFUyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ107XG5cbiAgcHVibGljIHN0YXRpYyBERVRBSUxfTU9ERV9OT05FID0gJ25vbmUnO1xuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX0NMSUNLID0gJ2NsaWNrJztcbiAgcHVibGljIHN0YXRpYyBERVRBSUxfTU9ERV9EQkxDTElDS19WQUxVRVMgPSBbJ2RibGNsaWNrJywgJ2RvdWJsZWNsaWNrJ107XG5cbiAgcHVibGljIHN0YXRpYyBFRElUSU9OX01PREVfTk9ORSA9ICdub25lJztcbiAgcHVibGljIHN0YXRpYyBFRElUSU9OX01PREVfQ0xJQ0sgPSAnY2xpY2snO1xuICBwdWJsaWMgc3RhdGljIEVESVRJT05fTU9ERV9EQkxDTElDS19WQUxVRVMgPSBbJ2RibGNsaWNrJywgJ2RvdWJsZWNsaWNrJ107XG5cbiAgcHVibGljIHN0YXRpYyBTRUxFQ1RJT05fTU9ERV9OT05FID0gJ25vbmUnO1xuICBwdWJsaWMgc3RhdGljIFNFTEVDVElPTl9NT0RFX1NJTkdMRSA9ICdzaW5nbGUnO1xuICBwdWJsaWMgc3RhdGljIFNFTEVDVElPTl9NT0RFX01VTFRJUExFID0gJ211bHRpcGxlJztcblxuICBwdWJsaWMgc3RhdGljIEVYUE9SVF9NT0RFX1ZJU0lCTEUgPSAndmlzaWJsZSc7XG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfTE9DQUwgPSAnbG9jYWwnO1xuICBwdWJsaWMgc3RhdGljIEVYUE9SVF9NT0RFX0FMTCA9ICdhbGwnO1xuXG4gIHB1YmxpYyBzdGF0aWMgSFlQSEVOX1NFUEFSQVRPUiA9ICctJztcbiAgcHVibGljIHN0YXRpYyBTUEFDRV9TRVBBUkFUT1IgPSAnICc7XG4gIHB1YmxpYyBzdGF0aWMgQ09MVU1OU19BTElBU19TRVBBUkFUT1IgPSAnOic7XG4gIHB1YmxpYyBzdGF0aWMgQVJSQVlfSU5QVVRfU0VQQVJBVE9SID0gJzsnO1xuICBwdWJsaWMgc3RhdGljIFRZUEVfU0VQQVJBVE9SID0gJzonO1xuICBwdWJsaWMgc3RhdGljIFZBTFVFU19TRVBBUkFUT1IgPSAnPSc7XG4gIHB1YmxpYyBzdGF0aWMgQVNDX1NPUlQgPSAnYXNjJztcbiAgcHVibGljIHN0YXRpYyBERVNDX1NPUlQgPSAnZGVzYyc7XG5cbiAgcHVibGljIHN0YXRpYyBUWVBFX0lOVCA9ICdpbnQnO1xuXG4gIHB1YmxpYyBzdGF0aWMgUk9VVEVfU0VQQVJBVE9SID0gJy8nO1xuICBwdWJsaWMgc3RhdGljIFJPVVRFX1ZBUklBQkxFX0NIQVIgPSAnOic7XG5cbiAgcHVibGljIHN0YXRpYyBQQVJFTlRfS0VZU19LRVkgPSAncGsnO1xuICBwdWJsaWMgc3RhdGljIFFVRVJZX1BBUkFNUyA9ICdxdWVyeVBhcmFtcyc7XG4gIHB1YmxpYyBzdGF0aWMgSVNfREVUQUlMID0gJ2lzZGV0YWlsJztcblxuICBwdWJsaWMgc3RhdGljIExBTkdVQUdFX0tFWSA9ICdsYW5nJztcbiAgcHVibGljIHN0YXRpYyBTRVNTSU9OX0tFWSA9ICdzZXNzaW9uJztcbiAgcHVibGljIHN0YXRpYyBTRVNTSU9OX0VYUElSRURfS0VZID0gJ3Nlc3Npb24tZXhwaXJlZCc7XG5cbiAgcHVibGljIHN0YXRpYyBMT0dJTl9ST1VURSA9ICcvbG9naW4nO1xuICBwdWJsaWMgc3RhdGljIEZPUkJJRERFTl9ST1VURSA9ICc0MDMnO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfRURJVF9ST1VURSA9ICdlZGl0JztcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0RFVEFJTF9ST1VURSA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0lOU0VSVF9ST1VURSA9ICduZXcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgSUdOT1JFX0NBTl9ERUFDVElWQVRFID0gJ2lnbm9yZV9jYW5fZGVhY3RpdmF0ZSc7XG4gIHB1YmxpYyBzdGF0aWMgSU5TRVJUSU9OX01PREUgPSAnaW5zZXJ0aW9uTW9kZSc7XG5cbiAgcHVibGljIHN0YXRpYyBPTlRJTUlaRV9TVUNDRVNTRlVMX0NPREUgPSAwO1xuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX0ZBSUxFRF9DT0RFID0gMTtcbiAgcHVibGljIHN0YXRpYyBPTlRJTUlaRV9VTkFVVEhPUklaRURfQ09ERSA9IDM7XG5cbiAgcHVibGljIHN0YXRpYyBJQ09OX1BPU0lUSU9OX0xFRlQgPSAnbGVmdCc7XG4gIHB1YmxpYyBzdGF0aWMgSUNPTl9QT1NJVElPTl9SSUdIVCA9ICdyaWdodCc7XG5cbiAgcHVibGljIHN0YXRpYyBDT0xVTU5fVElUTEVfQUxJR05fU1RBUlQgPSAnc3RhcnQnO1xuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9DRU5URVIgPSAnY2VudGVyJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5fVElUTEVfQUxJR05fRU5EID0gJ2VuZCc7XG4gIHB1YmxpYyBzdGF0aWMgQ09MVU1OX1RJVExFX0FMSUdOX0FVVE8gPSAnYXV0byc7XG4gIHB1YmxpYyBzdGF0aWMgQVZBSUxBQkxFX0NPTFVNTl9USVRMRV9BTElHTlMgPVxuICAgIFtDb2Rlcy5DT0xVTU5fVElUTEVfQUxJR05fU1RBUlQsIENvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9DRU5URVIsIENvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9FTkQsIENvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9BVVRPXTtcblxuICBwdWJsaWMgc3RhdGljIE9fTUFUX0VSUk9SX1NUQU5EQVJEID0gJ3N0YW5kYXJkJztcbiAgcHVibGljIHN0YXRpYyBPX01BVF9FUlJPUl9MSVRFID0gJ2xpdGUnO1xuXG4gIHB1YmxpYyBzdGF0aWMgT19JTlBVVFNfT1BUSU9OU19DT0xPUl9BQ0NFTlQgPSAnYWNjZW50JztcbiAgcHVibGljIHN0YXRpYyBIb3VyRm9ybWF0ID0ge1xuICAgIFRXRUxWRTogJ2hoOm1tIGEnLFxuICAgIFRXRU5UWV9GT1VSOiAnSEg6bW0gYScsXG4gIH07XG5cbiAgLy8gT0Zvcm1Db21wb25lbnRcbiAgcHVibGljIHN0YXRpYyBDTE9TRV9ERVRBSUxfQUNUSU9OOiBzdHJpbmcgPSAnQ0xPU0UnO1xuICBwdWJsaWMgc3RhdGljIEJBQ0tfQUNUSU9OOiBzdHJpbmcgPSAnQkFDSyc7XG4gIHB1YmxpYyBzdGF0aWMgUkVMT0FEX0FDVElPTjogc3RyaW5nID0gJ1JFTE9BRCc7XG4gIHB1YmxpYyBzdGF0aWMgR09fRURJVF9BQ1RJT046IHN0cmluZyA9ICdHT19FRElUJztcbiAgcHVibGljIHN0YXRpYyBFRElUX0FDVElPTjogc3RyaW5nID0gJ0VESVQnO1xuICBwdWJsaWMgc3RhdGljIElOU0VSVF9BQ1RJT046IHN0cmluZyA9ICdJTlNFUlQnO1xuICBwdWJsaWMgc3RhdGljIEdPX0lOU0VSVF9BQ1RJT046IHN0cmluZyA9ICdHT19JTlNFUlQnO1xuICBwdWJsaWMgc3RhdGljIERFTEVURV9BQ1RJT046IHN0cmluZyA9ICdERUxFVEUnO1xuICBwdWJsaWMgc3RhdGljIFVORE9fTEFTVF9DSEFOR0VfQUNUSU9OOiBzdHJpbmcgPSAnVU5ET19MQVNUX0NIQU5HRSc7XG5cbiAgLy8gT1RhYmxlQ29tcG9uZW50XG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9DT0xVTU5fTUlOX1dJRFRIID0gODA7XG4gIHB1YmxpYyBzdGF0aWMgTkFNRV9DT0xVTU5fU0VMRUNUID0gJ3NlbGVjdCc7XG4gIHB1YmxpYyBzdGF0aWMgTkFNRV9DT0xVTU5fRVhQQU5EQUJMRSA9ICdleHBhbmRhYmxlJztcbiAgcHVibGljIHN0YXRpYyBTVUZGSVhfQ09MVU1OX0lOU0VSVEFCTEUgPSAnX2luc2VydGFibGUnO1xuICBwdWJsaWMgc3RhdGljIExJTUlUX1NDUk9MTFZJUlRVQUwgPSA1MDtcblxuICBwdWJsaWMgc3RhdGljIFRXRU5UWV9GT1VSX0hPVVJfRk9STUFUID0gMjQ7XG4gIHB1YmxpYyBzdGF0aWMgVFdFTFZFX0ZPVVJfSE9VUl9GT1JNQVQgPSAxMjtcblxuICBwdWJsaWMgc3RhdGljIE9BcHBMYXlvdXRNb2RlczogT0FwcExheW91dE1vZGVbXSA9IFsnbW9iaWxlJywgJ2Rlc2t0b3AnXTtcbiAgcHVibGljIHN0YXRpYyBPU2lkZW5hdk1vZGVzOiBPU2lkZW5hdk1vZGVbXSA9IFsnb3ZlcicsICdwdXNoJywgJ3NpZGUnXTtcblxuICBwdWJsaWMgc3RhdGljIE9BcHBMYXlvdXRNb2RlID0gWydtb2JpbGUnLCAnZGVza3RvcCddO1xuICBwdWJsaWMgc3RhdGljIE9TaWRlbmF2TW9kZSA9IFsnb3ZlcicsICdwdXNoJywgJ3NpZGUnXTtcblxuICBwdWJsaWMgc3RhdGljIEFQUF9MQVlPVVRfTU9ERV9ERVNLVE9QOiBPQXBwTGF5b3V0TW9kZSA9ICdkZXNrdG9wJztcbiAgcHVibGljIHN0YXRpYyBBUFBfTEFZT1VUX01PREVfTU9CSUxFOiBPQXBwTGF5b3V0TW9kZSA9ICdtb2JpbGUnO1xuICBwdWJsaWMgc3RhdGljIFZJU0lCTEVfRVhQT1JUX0JVVFRPTlM6IHN0cmluZ1tdID0gWyd4bHN4JywgJ3BkZicsICdodG1sJ107XG4gIHB1YmxpYyBzdGF0aWMgVklTSUJMRV9FWFBPUlRfQlVUVE9OUzNYOiBzdHJpbmdbXSA9IFsneGxzeCcsICdwZGYnLCAnY3N2J107XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0NIQU5HRV9FVkVOVDogQ0hBTkdFX0VWRU5UUyA9ICdvblZhbHVlQ2hhbmdlJztcbiAgcHVibGljIHN0YXRpYyBUWVBFU19EQVRFX0dST1VQUyA9IFtcIllFQVJcIiwgXCJNT05USFwiLCBcIllFQVJfTU9OVEhcIiwgXCJZRUFSX01PTlRIX0RBWVwiXTtcblxuICBzdGF0aWMgaXNEb3VibGVDbGlja01vZGUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDb2Rlcy5ERVRBSUxfTU9ERV9EQkxDTElDS19WQUxVRVMuaW5kZXhPZih2YWx1ZSkgIT09IC0xO1xuICB9XG5cbiAgc3RhdGljIGlzVmFsaWRSb3dIZWlnaHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDb2Rlcy5BVkFJTEFCTEVfUk9XX0hFSUdIVFNfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRJc0RldGFpbE9iamVjdCgpOiBhbnkge1xuICAgIGNvbnN0IHJlcyA9IHt9O1xuICAgIHJlc1tDb2Rlcy5JU19ERVRBSUxdID0gJ3RydWUnO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0U3RyaW5nKGZvcm1hdDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIChmb3JtYXQgPT09IENvZGVzLlRXRU5UWV9GT1VSX0hPVVJfRk9STUFUID8gQ29kZXMuSG91ckZvcm1hdC5UV0VOVFlfRk9VUiA6IENvZGVzLkhvdXJGb3JtYXQuVFdFTFZFKTtcbiAgfVxuXG4gIHN0YXRpYyBpc0hvdXJJbnB1dEFsbG93ZWQoZTogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgIC8vIEFsbG93OiBiYWNrc3BhY2UsIGRlbGV0ZSwgdGFiLCBlc2NhcGUsIGVudGVyXG4gICAgaWYgKFs0NiwgOCwgOSwgMjcsIDEzXS5zb21lKG4gPT4gbiA9PT0gZS5rZXlDb2RlKSB8fFxuICAgICAgKGUua2V5ID09PSAnOicpIHx8XG4gICAgICAvLyBBbGxvdzogQ3RybC9jbWQrQVxuICAgICAgKGUua2V5Q29kZSA9PT0gNjUgJiYgKGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWUpKSB8fFxuICAgICAgLy8gQWxsb3c6IEN0cmwvY21kK0NcbiAgICAgIChlLmtleUNvZGUgPT09IDY3ICYmIChlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlKSkgfHxcbiAgICAgIC8vIEFsbG93OiBDdHJsL2NtZCtYXG4gICAgICAoZS5rZXlDb2RlID09PSA4OCAmJiAoZS5jdHJsS2V5ID09PSB0cnVlIHx8IGUubWV0YUtleSA9PT0gdHJ1ZSkpIHx8XG4gICAgICAvLyBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCwgdXAsIGRvd25cbiAgICAgIChlLmtleUNvZGUgPj0gMzUgJiYgZS5rZXlDb2RlIDw9IDQwKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiAhKChlLmtleUNvZGUgPCA0OCB8fCBlLmtleUNvZGUgPiA1NykgJiYgKGUua2V5Q29kZSA8IDk2IHx8IGUua2V5Q29kZSA+IDEwNSkpO1xuICB9XG59XG4iXX0=
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9jb2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sS0FBSztJQTZIaEIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxLQUFLLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUNuQyxPQUFPLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDOUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQWdCO1FBRXhDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFL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LEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRXhDLDZCQUF1QixHQUFtQixTQUFTLENBQUM7QUFDcEQsNEJBQXNCLEdBQW1CLFFBQVEsQ0FBQztBQUNsRCw0QkFBc0IsR0FBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0QsOEJBQXdCLEdBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRTVELDBCQUFvQixHQUFrQixlQUFlLENBQUM7QUFDdEQsdUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT0FwcExheW91dE1vZGUgPSAnbW9iaWxlJyB8ICdkZXNrdG9wJztcbmV4cG9ydCB0eXBlIE9TaWRlbmF2TW9kZSA9ICdvdmVyJyB8ICdwdXNoJyB8ICdzaWRlJztcbmV4cG9ydCB0eXBlIENIQU5HRV9FVkVOVFMgPSAnb25WYWx1ZUNoYW5nZScgfCAnb25DaGFuZ2UnO1xuXG5leHBvcnQgdHlwZSBPUm93SGVpZ2h0ID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcbmV4cG9ydCB0eXBlIE9UYWJsZUVkaXRpb25Nb2RlID0gJ25vbmUnIHwgJ2NsaWNrJyB8ICdkYmxjbGljaycgfCAnZG91YmxlY2xpY2snO1xuZXhwb3J0IHR5cGUgT1RhYmxlRGV0YWlsTW9kZSA9ICdub25lJyB8ICdjbGljaycgfCAnZGJsY2xpY2snIHwgJ2RvdWJsZWNsaWNrJztcbmV4cG9ydCBjbGFzcyBDb2RlcyB7XG5cbiAgcHVibGljIHN0YXRpYyBQQUdJTkFURURfUVVFUllfTUVUSE9EID0gJ2FkdmFuY2VkUXVlcnknO1xuICBwdWJsaWMgc3RhdGljIERFTEVURV9NRVRIT0QgPSAnZGVsZXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRfTUVUSE9EID0gJ2luc2VydCc7XG4gIHB1YmxpYyBzdGF0aWMgVVBEQVRFX01FVEhPRCA9ICd1cGRhdGUnO1xuICBwdWJsaWMgc3RhdGljIFFVRVJZX01FVEhPRCA9ICdxdWVyeSc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1FVRVJZX1JPV1MgPSAxMDtcbiAgcHVibGljIHN0YXRpYyBQQUdFX1NJWkVfT1BUSU9OUyA9IFsxMCwgMjUsIDUwLCAxMDBdO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX0lDT04gPSAnY2hldnJvbl9yaWdodCc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVF9JQ09OID0gJ21vZGVfZWRpdCc7XG5cbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX1JPV19IRUlHSFQgPSAnbWVkaXVtJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfUk9XX0hFSUdIVFNfVkFMVUVTID0gWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnXTtcblxuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgREVUQUlMX01PREVfQ0xJQ0sgPSAnY2xpY2snO1xuICBwdWJsaWMgc3RhdGljIERFVEFJTF9NT0RFX0RCTENMSUNLX1ZBTFVFUyA9IFsnZGJsY2xpY2snLCAnZG91YmxlY2xpY2snXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBVkFJTEFCTEVfREVUQUlMX01PREVTID0gW0NvZGVzLkRFVEFJTF9NT0RFX05PTkUsIENvZGVzLkRFVEFJTF9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5ERVRBSUxfTU9ERV9EQkxDTElDS19WQUxVRVNdO1xuXG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgRURJVElPTl9NT0RFX0NMSUNLID0gJ2NsaWNrJztcbiAgcHVibGljIHN0YXRpYyBFRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTID0gWydkYmxjbGljaycsICdkb3VibGVjbGljayddO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFWQUlMQUJMRV9NT0RFUyA9IFtDb2Rlcy5FRElUSU9OX01PREVfTk9ORSwgQ29kZXMuRURJVElPTl9NT0RFX0NMSUNLLCAuLi5Db2Rlcy5FRElUSU9OX01PREVfREJMQ0xJQ0tfVkFMVUVTXTtcblxuICBwdWJsaWMgc3RhdGljIFNFTEVDVElPTl9NT0RFX05PTkUgPSAnbm9uZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfU0lOR0xFID0gJ3NpbmdsZSc7XG4gIHB1YmxpYyBzdGF0aWMgU0VMRUNUSU9OX01PREVfTVVMVElQTEUgPSAnbXVsdGlwbGUnO1xuXG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfVklTSUJMRSA9ICd2aXNpYmxlJztcbiAgcHVibGljIHN0YXRpYyBFWFBPUlRfTU9ERV9MT0NBTCA9ICdsb2NhbCc7XG4gIHB1YmxpYyBzdGF0aWMgRVhQT1JUX01PREVfQUxMID0gJ2FsbCc7XG5cbiAgcHVibGljIHN0YXRpYyBIWVBIRU5fU0VQQVJBVE9SID0gJy0nO1xuICBwdWJsaWMgc3RhdGljIFNQQUNFX1NFUEFSQVRPUiA9ICcgJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5TX0FMSUFTX1NFUEFSQVRPUiA9ICc6JztcbiAgcHVibGljIHN0YXRpYyBBUlJBWV9JTlBVVF9TRVBBUkFUT1IgPSAnOyc7XG4gIHB1YmxpYyBzdGF0aWMgVFlQRV9TRVBBUkFUT1IgPSAnOic7XG4gIHB1YmxpYyBzdGF0aWMgVkFMVUVTX1NFUEFSQVRPUiA9ICc9JztcbiAgcHVibGljIHN0YXRpYyBBU0NfU09SVCA9ICdhc2MnO1xuICBwdWJsaWMgc3RhdGljIERFU0NfU09SVCA9ICdkZXNjJztcblxuICBwdWJsaWMgc3RhdGljIFRZUEVfSU5UID0gJ2ludCc7XG5cbiAgcHVibGljIHN0YXRpYyBST1VURV9TRVBBUkFUT1IgPSAnLyc7XG4gIHB1YmxpYyBzdGF0aWMgUk9VVEVfVkFSSUFCTEVfQ0hBUiA9ICc6JztcblxuICBwdWJsaWMgc3RhdGljIFBBUkVOVF9LRVlTX0tFWSA9ICdwayc7XG4gIHB1YmxpYyBzdGF0aWMgUVVFUllfUEFSQU1TID0gJ3F1ZXJ5UGFyYW1zJztcbiAgcHVibGljIHN0YXRpYyBJU19ERVRBSUwgPSAnaXNkZXRhaWwnO1xuXG4gIHB1YmxpYyBzdGF0aWMgTEFOR1VBR0VfS0VZID0gJ2xhbmcnO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fS0VZID0gJ3Nlc3Npb24nO1xuICBwdWJsaWMgc3RhdGljIFNFU1NJT05fRVhQSVJFRF9LRVkgPSAnc2Vzc2lvbi1leHBpcmVkJztcblxuICBwdWJsaWMgc3RhdGljIExPR0lOX1JPVVRFID0gJy9sb2dpbic7XG4gIHB1YmxpYyBzdGF0aWMgRk9SQklEREVOX1JPVVRFID0gJzQwMyc7XG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9FRElUX1JPVVRFID0gJ2VkaXQnO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfREVUQUlMX1JPVVRFID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfSU5TRVJUX1JPVVRFID0gJ25ldyc7XG5cbiAgcHVibGljIHN0YXRpYyBJR05PUkVfQ0FOX0RFQUNUSVZBVEUgPSAnaWdub3JlX2Nhbl9kZWFjdGl2YXRlJztcbiAgcHVibGljIHN0YXRpYyBJTlNFUlRJT05fTU9ERSA9ICdpbnNlcnRpb25Nb2RlJztcblxuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1NVQ0NFU1NGVUxfQ09ERSA9IDA7XG4gIHB1YmxpYyBzdGF0aWMgT05USU1JWkVfRkFJTEVEX0NPREUgPSAxO1xuICBwdWJsaWMgc3RhdGljIE9OVElNSVpFX1VOQVVUSE9SSVpFRF9DT0RFID0gMztcblxuICBwdWJsaWMgc3RhdGljIElDT05fUE9TSVRJT05fTEVGVCA9ICdsZWZ0JztcbiAgcHVibGljIHN0YXRpYyBJQ09OX1BPU0lUSU9OX1JJR0hUID0gJ3JpZ2h0JztcblxuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9TVEFSVCA9ICdzdGFydCc7XG4gIHB1YmxpYyBzdGF0aWMgQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiA9ICdjZW50ZXInO1xuICBwdWJsaWMgc3RhdGljIENPTFVNTl9USVRMRV9BTElHTl9FTkQgPSAnZW5kJztcbiAgcHVibGljIHN0YXRpYyBDT0xVTU5fVElUTEVfQUxJR05fQVVUTyA9ICdhdXRvJztcbiAgcHVibGljIHN0YXRpYyBBVkFJTEFCTEVfQ09MVU1OX1RJVExFX0FMSUdOUyA9XG4gICAgW0NvZGVzLkNPTFVNTl9USVRMRV9BTElHTl9TVEFSVCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0NFTlRFUiwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0VORCwgQ29kZXMuQ09MVU1OX1RJVExFX0FMSUdOX0FVVE9dO1xuXG4gIHB1YmxpYyBzdGF0aWMgT19NQVRfRVJST1JfU1RBTkRBUkQgPSAnc3RhbmRhcmQnO1xuICBwdWJsaWMgc3RhdGljIE9fTUFUX0VSUk9SX0xJVEUgPSAnbGl0ZSc7XG5cbiAgcHVibGljIHN0YXRpYyBPX0lOUFVUU19PUFRJT05TX0NPTE9SX0FDQ0VOVCA9ICdhY2NlbnQnO1xuICBwdWJsaWMgc3RhdGljIEhvdXJGb3JtYXQgPSB7XG4gICAgVFdFTFZFOiAnaGg6bW0gYScsXG4gICAgVFdFTlRZX0ZPVVI6ICdISDptbSBhJyxcbiAgfTtcblxuICAvLyBPRm9ybUNvbXBvbmVudFxuICBwdWJsaWMgc3RhdGljIENMT1NFX0RFVEFJTF9BQ1RJT046IHN0cmluZyA9ICdDTE9TRSc7XG4gIHB1YmxpYyBzdGF0aWMgQkFDS19BQ1RJT046IHN0cmluZyA9ICdCQUNLJztcbiAgcHVibGljIHN0YXRpYyBSRUxPQURfQUNUSU9OOiBzdHJpbmcgPSAnUkVMT0FEJztcbiAgcHVibGljIHN0YXRpYyBHT19FRElUX0FDVElPTjogc3RyaW5nID0gJ0dPX0VESVQnO1xuICBwdWJsaWMgc3RhdGljIEVESVRfQUNUSU9OOiBzdHJpbmcgPSAnRURJVCc7XG4gIHB1YmxpYyBzdGF0aWMgSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgR09fSU5TRVJUX0FDVElPTjogc3RyaW5nID0gJ0dPX0lOU0VSVCc7XG4gIHB1YmxpYyBzdGF0aWMgREVMRVRFX0FDVElPTjogc3RyaW5nID0gJ0RFTEVURSc7XG4gIHB1YmxpYyBzdGF0aWMgVU5ET19MQVNUX0NIQU5HRV9BQ1RJT046IHN0cmluZyA9ICdVTkRPX0xBU1RfQ0hBTkdFJztcblxuICAvLyBPVGFibGVDb21wb25lbnRcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0NPTFVNTl9NSU5fV0lEVEggPSA4MDtcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9TRUxFQ1QgPSAnc2VsZWN0JztcbiAgcHVibGljIHN0YXRpYyBOQU1FX0NPTFVNTl9FWFBBTkRBQkxFID0gJ2V4cGFuZGFibGUnO1xuICBwdWJsaWMgc3RhdGljIFNVRkZJWF9DT0xVTU5fSU5TRVJUQUJMRSA9ICdfaW5zZXJ0YWJsZSc7XG4gIHB1YmxpYyBzdGF0aWMgTElNSVRfU0NST0xMVklSVFVBTCA9IDUwO1xuXG4gIHB1YmxpYyBzdGF0aWMgVFdFTlRZX0ZPVVJfSE9VUl9GT1JNQVQgPSAyNDtcbiAgcHVibGljIHN0YXRpYyBUV0VMVkVfRk9VUl9IT1VSX0ZPUk1BVCA9IDEyO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGVzOiBPQXBwTGF5b3V0TW9kZVtdID0gWydtb2JpbGUnLCAnZGVza3RvcCddO1xuICBwdWJsaWMgc3RhdGljIE9TaWRlbmF2TW9kZXM6IE9TaWRlbmF2TW9kZVtdID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgT0FwcExheW91dE1vZGUgPSBbJ21vYmlsZScsICdkZXNrdG9wJ107XG4gIHB1YmxpYyBzdGF0aWMgT1NpZGVuYXZNb2RlID0gWydvdmVyJywgJ3B1c2gnLCAnc2lkZSddO1xuXG4gIHB1YmxpYyBzdGF0aWMgQVBQX0xBWU9VVF9NT0RFX0RFU0tUT1A6IE9BcHBMYXlvdXRNb2RlID0gJ2Rlc2t0b3AnO1xuICBwdWJsaWMgc3RhdGljIEFQUF9MQVlPVVRfTU9ERV9NT0JJTEU6IE9BcHBMYXlvdXRNb2RlID0gJ21vYmlsZSc7XG4gIHB1YmxpYyBzdGF0aWMgVklTSUJMRV9FWFBPUlRfQlVUVE9OUzogc3RyaW5nW10gPSBbJ3hsc3gnLCAncGRmJywgJ2h0bWwnXTtcbiAgcHVibGljIHN0YXRpYyBWSVNJQkxFX0VYUE9SVF9CVVRUT05TM1g6IHN0cmluZ1tdID0gWyd4bHN4JywgJ3BkZicsICdjc3YnXTtcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfQ0hBTkdFX0VWRU5UOiBDSEFOR0VfRVZFTlRTID0gJ29uVmFsdWVDaGFuZ2UnO1xuICBwdWJsaWMgc3RhdGljIFRZUEVTX0RBVEVfR1JPVVBTID0gW1wiWUVBUlwiLCBcIk1PTlRIXCIsIFwiWUVBUl9NT05USFwiLCBcIllFQVJfTU9OVEhfREFZXCJdO1xuXG5cbiAgc3RhdGljIGlzRG91YmxlQ2xpY2tNb2RlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuREVUQUlMX01PREVfREJMQ0xJQ0tfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMTtcbiAgfVxuXG4gIHN0YXRpYyBpc1ZhbGlkUm93SGVpZ2h0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX1JPV19IRUlHSFRTX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XG4gIH1cblxuICBzdGF0aWMgZ2V0SXNEZXRhaWxPYmplY3QoKTogYW55IHtcbiAgICBjb25zdCByZXMgPSB7fTtcbiAgICByZXNbQ29kZXMuSVNfREVUQUlMXSA9ICd0cnVlJztcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdFN0cmluZyhmb3JtYXQ6IG51bWJlcikge1xuICAgIHJldHVybiAoZm9ybWF0ID09PSBDb2Rlcy5UV0VOVFlfRk9VUl9IT1VSX0ZPUk1BVCA/IENvZGVzLkhvdXJGb3JtYXQuVFdFTlRZX0ZPVVIgOiBDb2Rlcy5Ib3VyRm9ybWF0LlRXRUxWRSk7XG4gIH1cblxuICBzdGF0aWMgaXNIb3VySW5wdXRBbGxvd2VkKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAvLyBBbGxvdzogYmFja3NwYWNlLCBkZWxldGUsIHRhYiwgZXNjYXBlLCBlbnRlclxuICAgIGlmIChbNDYsIDgsIDksIDI3LCAxM10uc29tZShuID0+IG4gPT09IGUua2V5Q29kZSkgfHxcbiAgICAgIChlLmtleSA9PT0gJzonKSB8fFxuICAgICAgLy8gQWxsb3c6IEN0cmwvY21kK0FcbiAgICAgIChlLmtleUNvZGUgPT09IDY1ICYmIChlLmN0cmxLZXkgPT09IHRydWUgfHwgZS5tZXRhS2V5ID09PSB0cnVlKSkgfHxcbiAgICAgIC8vIEFsbG93OiBDdHJsL2NtZCtDXG4gICAgICAoZS5rZXlDb2RlID09PSA2NyAmJiAoZS5jdHJsS2V5ID09PSB0cnVlIHx8IGUubWV0YUtleSA9PT0gdHJ1ZSkpIHx8XG4gICAgICAvLyBBbGxvdzogQ3RybC9jbWQrWFxuICAgICAgKGUua2V5Q29kZSA9PT0gODggJiYgKGUuY3RybEtleSA9PT0gdHJ1ZSB8fCBlLm1ldGFLZXkgPT09IHRydWUpKSB8fFxuICAgICAgLy8gQWxsb3c6IGhvbWUsIGVuZCwgbGVmdCwgcmlnaHQsIHVwLCBkb3duXG4gICAgICAoZS5rZXlDb2RlID49IDM1ICYmIGUua2V5Q29kZSA8PSA0MCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gISgoZS5rZXlDb2RlIDwgNDggfHwgZS5rZXlDb2RlID4gNTcpICYmIChlLmtleUNvZGUgPCA5NiB8fCBlLmtleUNvZGUgPiAxMDUpKTtcbiAgfVxuICBzdGF0aWMgaXNWYWxpZEVkaXRpb25Nb2RlKGVkaXRpb25Nb2RlOiBPVGFibGVFZGl0aW9uTW9kZSkge1xuICAgIHJldHVybiBDb2Rlcy5BVkFJTEFCTEVfTU9ERVMuaW5kZXhPZihlZGl0aW9uTW9kZSkgIT09IC0xO1xuICB9XG4gIHN0YXRpYyBpc1ZhbGlkRGV0YWlsTW9kZShkZXRhaWxNb2RlOiBPVGFibGVEZXRhaWxNb2RlKTogYW55IHtcbiAgICByZXR1cm4gQ29kZXMuQVZBSUxBQkxFX0RFVEFJTF9NT0RFUy5pbmRleE9mKGRldGFpbE1vZGUpICE9PSAtMTtcbiAgfVxuXG59XG4iXX0=
|