@provoly/dashboard 0.13.9 → 0.13.11
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/admin/admin.module.d.ts +2 -1
- package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +5 -13
- package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +1 -1
- package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +1 -1
- package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +4 -9
- package/admin/components/association/association.component.d.ts +1 -3
- package/admin/store/admin.effects.d.ts +19 -15
- package/admin/store/admin.service.d.ts +0 -3
- package/components/metadata-editor/index.d.ts +5 -0
- package/components/metadata-editor/metadata-editor.component.d.ts +36 -0
- package/components/metadata-editor/metadata-editor.module.d.ts +12 -0
- package/components/metadata-editor/public-api.d.ts +7 -0
- package/components/metadata-editor/store/metadata.action.d.ts +112 -0
- package/components/metadata-editor/store/metadata.effects.d.ts +48 -0
- package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.reducer.d.ts +2 -1
- package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.selector.d.ts +1 -0
- package/components/metadata-editor/store/metadata.service.d.ts +15 -0
- package/dataset/i18n/en.translations.d.ts +1 -0
- package/dataset/i18n/fr.translations.d.ts +1 -0
- package/dataset/style/_o-pry-dataset-card.scss +7 -0
- package/esm2022/admin/admin.module.mjs +9 -17
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +21 -77
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +1 -1
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +2 -3
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +17 -65
- package/esm2022/admin/components/association/association.component.mjs +1 -4
- package/esm2022/admin/store/admin.effects.mjs +6 -2
- package/esm2022/admin/store/admin.service.mjs +1 -16
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +111 -0
- package/esm2022/components/metadata-editor/metadata-editor.module.mjs +47 -0
- package/esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs +5 -0
- package/esm2022/components/metadata-editor/public-api.mjs +8 -0
- package/esm2022/components/metadata-editor/store/metadata.action.mjs +27 -0
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +44 -0
- package/esm2022/components/metadata-editor/store/metadata.reducer.mjs +39 -0
- package/esm2022/components/metadata-editor/store/metadata.selector.mjs +19 -0
- package/esm2022/components/metadata-editor/store/metadata.service.mjs +36 -0
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
- package/esm2022/dataset/i18n/en.translations.mjs +3 -2
- package/esm2022/dataset/i18n/fr.translations.mjs +3 -2
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/import/components/import.component.mjs +8 -4
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +3 -12
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -1
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +2 -2
- package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
- package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +31 -17
- package/esm2022/toolbox/components/toolbox.component.mjs +20 -14
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +55 -14
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -1
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -1
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +2 -2
- package/esm2022/widgets/widget-map/public-api.mjs +3 -1
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +56 -0
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +32 -0
- package/fesm2022/provoly-dashboard-admin.mjs +107 -370
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +302 -0
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +8 -6
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +7 -3
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +49 -29
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +114 -14
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +8 -14
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/import.component.d.ts +5 -3
- package/lib/core/components/modal-status/modal-status.component.d.ts +0 -8
- package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
- package/lib/dashboard/store/dashboard.actions.d.ts +1 -0
- package/package.json +36 -30
- package/schematics/ng-update/version-0-13/index.js +5 -0
- package/schematics/ng-update/version-0-13/index.js.map +1 -1
- package/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +7 -5
- package/toolbox/components/toolbox.component.d.ts +10 -5
- package/widgets/widget-map/component/widget-map.component.d.ts +7 -3
- package/widgets/widget-map/i18n/en.translations.d.ts +2 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +2 -0
- package/widgets/widget-map/public-api.d.ts +2 -0
- package/widgets/widget-map/utils/cql-utils.class.d.ts +6 -0
- package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +0 -59
- package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +0 -30
- package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +0 -6
- package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +0 -5
- package/admin/components/admin-metadata/store/metadata.action.d.ts +0 -56
- package/admin/components/admin-metadata/store/metadata.effects.d.ts +0 -36
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +0 -14
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +0 -36
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +0 -11
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +0 -9
- package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +0 -19
- package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +0 -33
- package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +0 -35
- package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +0 -17
- package/esm2022/widgets/widget-map/pipe/xml-utils.class.mjs +0 -32
- /package/widgets/widget-map/{pipe → utils}/xml-utils.class.d.ts +0 -0
package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { UntypedFormControl, Validators } from '@angular/forms';
|
|
3
3
|
import { META_OPTIONS } from '@provoly/dashboard';
|
|
4
|
+
import { MetadataSelectors } from '@provoly/dashboard/components/metadata-editor';
|
|
4
5
|
import { combineLatest, map, Subscription } from 'rxjs';
|
|
5
6
|
import { v4 as uuid } from 'uuid';
|
|
6
7
|
import { AdminActions } from '../../../../store/admin.actions';
|
|
7
8
|
import { AdminMetadataUserSelectors } from '../../../admin-metadata-user/store/admin-metadata-user.selector';
|
|
8
|
-
import { MetadataSelectors } from '../../store/metadata.selector';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@ngrx/store";
|
|
11
11
|
import * as i2 from "@angular/router";
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
127
127
|
}], submitMetadata$: [{
|
|
128
128
|
type: Output
|
|
129
129
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBTWxFLE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCO1FBSC9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFD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QUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0F4SFUscUJBQXFCO2tHQUFyQixxQkFBcUIsb09DZmxDLDRwTEF1SUE7OzJGRHhIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COytLQWVwQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNRVRBX09QVElPTlMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVVzZXJTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi1tZXRhZGF0YS11c2VyL3N0b3JlL2FkbWluLW1ldGFkYXRhLXVzZXIuc2VsZWN0b3InO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9tZXRhZGF0YS5zZWxlY3Rvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1mb3JtLW1ldGFkYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1NZXRhZGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgbWV0YUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIG1ldGFPcHRpb25zID0gTUVUQV9PUFRJT05TO1xuICBjdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gJyc7XG5cbiAgbWV0YWRhdGFOYW1lcyQ/OiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgbmFtZUFscmVhZHlFeGlzdHMkPzogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0aXRsZUZvcm06IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpc01ldGFTaW1wbGVFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzTWV0YVVzZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgbWV0YWRhdGE/OiBJTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHN1Ym1pdE1ldGFkYXRhJDogRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4gPSBuZXcgRXZlbnRFbWl0dGVyPElNZXRhZGF0YT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHRoaXMubWV0YUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbeyB2YWx1ZTogdXVpZCgpLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgIG5hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHR5cGU6IFt0aGlzLm1ldGFPcHRpb25zWzBdLnZhclR5cGVdLFxuICAgICAgZGVzY3JpcHRpb246IFtdLFxuICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXSlcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzTWV0YVVzZXIpIHtcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoQWRtaW5NZXRhZGF0YVVzZXJTZWxlY3RvcnMubWV0YWRhdGEpXG4gICAgICAgIC5waXBlKG1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm5hbWUudG9Mb3dlckNhc2UoKSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJCA9IHRoaXMuc3RvcmVcbiAgICAgICAgLnNlbGVjdChNZXRhZGF0YVNlbGVjdG9ycy5tZXRhZGF0YSlcbiAgICAgICAgLnBpcGUobWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubWFwKChtZXRhZGF0YTogSU1ldGFkYXRhKSA9PiBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubWV0YUZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlQ2hhbmdlcyBhcyBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkXG4gICAgXSkucGlwZShtYXAoKFt2YWx1ZSwgbWV0YU5hbWVzXSkgPT4gbWV0YU5hbWVzLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpICYmIHZhbHVlICE9IHRoaXMubWV0YWRhdGE/Lm5hbWUpKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm5hbWVBbHJlYWR5RXhpc3RzJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHRoaXMubWV0YUZvcm0uY29udHJvbHNbJ25hbWUnXS5zZXRFcnJvcnMoeyAnc2FtZS1uYW1lJzogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgY29uc3QgdHlwZSA9IE1FVEFfT1BUSU9OUy5maW5kKChlbCkgPT4gZWwudmFyVHlwZSA9PT0gdGhpcy5tZXRhZGF0YT8udHlwZSk7XG4gICAgICB0aGlzLmN1cnJlbnRUeXBlVHJhbnNsYXRpb24gPSB0eXBlID8gdHlwZS50cmFuc2xhdGlvbiA6IE1FVEFfT1BUSU9OU1swXS50cmFuc2xhdGlvbjtcbiAgICAgIHRoaXMubWV0YUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIGlkOiB0aGlzLm1ldGFkYXRhLmlkLFxuICAgICAgICBuYW1lOiB0aGlzLm1ldGFkYXRhLm5hbWUsXG4gICAgICAgIHR5cGU6IHRoaXMubWV0YWRhdGEudHlwZSxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMubWV0YWRhdGEuZGVzY3JpcHRpb25cbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuaXNNZXRhU2ltcGxlRWRpdCkge1xuICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyduYW1lJ10uZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tZXRhZGF0YS5hbGxvd2VkVmFsdWVzKSB7XG4gICAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5tZXRhZGF0YS5hbGxvd2VkVmFsdWVzKSB7XG4gICAgICAgICAgdGhpcy5tZXRhZGF0YUxpc3QucHVzaChuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6IGl0ZW0sIGRpc2FibGVkOiB0cnVlIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXQgbWV0YWRhdGFMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWydhbGxvd2VkVmFsdWVzJ10gYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhKCkge1xuICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLm1ldGFGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgICAgLi4udGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLFxuICAgICAgICBhbGxvd2VkVmFsdWVzOiB0aGlzLm1ldGFGb3JtLmdldFJhd1ZhbHVlKCkuYWxsb3dlZFZhbHVlcy5maWx0ZXIoKHg6IHN0cmluZykgPT4geCAhPT0gbnVsbClcbiAgICAgIH07XG4gICAgICB0aGlzLnN1Ym1pdE1ldGFkYXRhJC5lbWl0KHBheWxvYWQpO1xuICAgICAgdGhpcy5nb0JhY2soKTtcbiAgICB9XG4gIH1cblxuICBhZGRJdGVtTGlzdCh0eXBlPzogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGUgPT09ICdMSVNUJyB8fCB0eXBlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCkpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUl0ZW1MaXN0KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1ldGFkYXRhTGlzdC5yZW1vdmVBdChpbmRleCk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHRoaXMuZ2V0UGF0aCgpIH0pKTtcbiAgfVxuXG4gIGdldFBhdGgoKSB7XG4gICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIGlmICh0aGlzLm1ldGFkYXRhKSB7XG4gICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGgudG9TdHJpbmcoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXJcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7IHRpdGxlRm9ybSB9fTwvaDE+XG5cbiAgPGZvcm0gY2xhc3M9XCJvLWZvcm1cIiBbZm9ybUdyb3VwXT1cIm1ldGFGb3JtXCIgKG5nU3VibWl0KT1cImFkZE1ldGFkYXRhKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGlkPVwibmFtZS1sYWJlbFwiIGZvcj1cIm1ldGFkYXRhLW5hbWVcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEubGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cIiFtZXRhZGF0YVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZCA/ICduYW1lLWxhYmVsIG5hbWUtZXJyb3InIDogJ25hbWUtbGFiZWwnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzU3VibWl0dGVkICYmIG1ldGFGb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgIC8+XG4gICAgICA8bGFiZWxcbiAgICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICAgIGlkPVwibmFtZS1lcnJvclwiXG4gICAgICAgIGZvcj1cIm1ldGFkYXRhLW5hbWVcIlxuICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm1ldGFGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignc2FtZS1uYW1lJylcIj57eyAnQHByeS5hZG1pbi5leGlzdHMnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIm1ldGFGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcigncGF0dGVybicpXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5mb3JtYXROYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtbWRcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgPHRleHRhcmVhXG4gICAgICAgIHJvd3M9XCI1XCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBpZD1cIm1ldGFkYXRhX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICA+PC90ZXh0YXJlYT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICA8bGFiZWwgZm9yPVwibWV0YWRhdGEtdHlwZVwiIGlkPVwibWV0YWRhdGEtdHlwZS1sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS50eXBlJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YS10eXBlXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiXG4gICAgICAgIFtsYWJlbFRyYW5zbGF0ZV09XCJ0cnVlXCJcbiAgICAgICAgW2l0ZW1zXT1cIm1ldGFPcHRpb25zXCJcbiAgICAgICAgW2l0ZW1zQXNPcHRpb25dPVwidHJ1ZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cInZhclR5cGVcIlxuICAgICAgICBiaW5kTGFiZWw9XCJ0cmFuc2xhdGlvblwiXG4gICAgICAgIFtyZWFkb25seV09XCIhIW1ldGFkYXRhXCJcbiAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiYWRkSXRlbUxpc3QoJGV2ZW50KVwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZXRhRm9ybS52YWx1ZS50eXBlID09PSAnTElTVCdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3Qtd3JhcHBlclwiIGZvcm1BcnJheU5hbWU9XCJhbGxvd2VkVmFsdWVzXCIgKm5nSWY9XCJtZXRhZGF0YUxpc3QuY29udHJvbHMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8ZmllbGRzZXQ+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWRtaW4udmFyVHlwZS5saXN0JyB8IGkxOG4gfX08L2xlZ2VuZD5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3QgbWV0YWRhdGEtbGlzdFwiICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIG1ldGFkYXRhTGlzdC5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZGF0YXMtbGlzdF9fZmllbGRzIG1ldGFkYXRhLWlucHV0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWV0YWRhdGEtbGlzdC1sYWJlbFwiIGZvcj1cIm1ldGFkYXRhLWxpc3RcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxpc3RMYWJlbCcgfCBpMThuIH19ICpcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGEtbGlzdFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ7eyBpIH19XCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgY29udHJvbD8uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgICAgICAgICAgIGlzU3VibWl0dGVkICYmIGNvbnRyb2w/LmludmFsaWQgPyAnbWV0YWRhdGEtbGlzdC1sYWJlbCBtZXRhZGF0YS1saXN0LWVycm9yJyA6ICdtZXRhZGF0YS1saXN0LWxhYmVsJ1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBjb250cm9sLmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1saXN0LWVycm9yXCJcbiAgICAgICAgICAgICAgICAgIGZvcj1cIm1ldGFkYXRhLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIG0tYnRuLWdyb3VwLS1pbnB1dC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pbnB1dC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpID09PSBtZXRhZGF0YUxpc3QuY29udHJvbHMubGVuZ3RoIC0gMVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udHJvbC52YWx1ZS50cmltKCkgIT09ICcnID8gYWRkSXRlbUxpc3QoKSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmFkZFZhbHVlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taW5wdXQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSAhPT0gMCAmJiAhbWV0YWRhdGFMaXN0LmNvbnRyb2xzW2ldLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtTGlzdChpKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLnJlbW92ZVZhbHVlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImRlbGV0ZVwiIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLXNtXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIihtZXRhZGF0YSA/ICdAcHJ5LmFkbWluLmVkaXQnIDogJ0BwcnkuYWRtaW4uY3JlYXRlJykgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tZXRhZGF0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhL3NoYXJlZC9mb3JtLW1ldGFkYXRhL2Zvcm0tbWV0YWRhdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS9zaGFyZWQvZm9ybS1tZXRhZGF0YS9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBd0Msa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hILE9BQU8sRUFBYSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDOzs7Ozs7O0FBTTdHLE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCO1FBSC9CLFVBQUssR0FBTCxLQUFLLENBQVk7UUFD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QUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0F4SFUscUJBQXFCO2tHQUFyQixxQkFBcUIsb09DZmxDLDRwTEF1SUE7OzJGRHhIYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1COytLQWVwQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNRVRBX09QVElPTlMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9tZXRhZGF0YS1lZGl0b3InO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVVzZXJTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9hZG1pbi1tZXRhZGF0YS11c2VyL3N0b3JlL2FkbWluLW1ldGFkYXRhLXVzZXIuc2VsZWN0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktZm9ybS1tZXRhZGF0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLW1ldGFkYXRhLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtTWV0YWRhdGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIG1ldGFGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBtZXRhT3B0aW9ucyA9IE1FVEFfT1BUSU9OUztcbiAgY3VycmVudFR5cGVUcmFuc2xhdGlvbiA9ICcnO1xuXG4gIG1ldGFkYXRhTmFtZXMkPzogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIG5hbWVBbHJlYWR5RXhpc3RzJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGlzU3VibWl0dGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGl0bGVGb3JtOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaXNNZXRhU2ltcGxlRWRpdCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc01ldGFVc2VyID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1ldGFkYXRhPzogSU1ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBzdWJtaXRNZXRhZGF0YSQ6IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcjxJTWV0YWRhdGE+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlclxuICApIHtcbiAgICB0aGlzLm1ldGFGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogW3sgdmFsdWU6IHV1aWQoKSwgZGlzYWJsZWQ6IHRydWUgfV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB0eXBlOiBbdGhpcy5tZXRhT3B0aW9uc1swXS52YXJUeXBlXSxcbiAgICAgIGRlc2NyaXB0aW9uOiBbXSxcbiAgICAgIGFsbG93ZWRWYWx1ZXM6IHRoaXMuZm9ybUJ1aWxkZXIuYXJyYXkoW10pXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc01ldGFVc2VyKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTmFtZXMkID0gdGhpcy5zdG9yZVxuICAgICAgICAuc2VsZWN0KEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzLm1ldGFkYXRhKVxuICAgICAgICAucGlwZShtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5tYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCkpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWV0YWRhdGFOYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpXG4gICAgICAgIC5waXBlKG1hcCgobWV0YWRhdGEpID0+IG1ldGFkYXRhLm1hcCgobWV0YWRhdGE6IElNZXRhZGF0YSkgPT4gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuICAgIH1cblxuICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1ldGFGb3JtLmdldCgnbmFtZScpPy52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgdGhpcy5tZXRhZGF0YU5hbWVzJFxuICAgIF0pLnBpcGUobWFwKChbdmFsdWUsIG1ldGFOYW1lc10pID0+IG1ldGFOYW1lcy5pbmNsdWRlcyh2YWx1ZS50b0xvd2VyQ2FzZSgpKSAmJiB2YWx1ZSAhPSB0aGlzLm1ldGFkYXRhPy5uYW1lKSk7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyduYW1lJ10uc2V0RXJyb3JzKHsgJ3NhbWUtbmFtZSc6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMubWV0YWRhdGEpIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBNRVRBX09QVElPTlMuZmluZCgoZWwpID0+IGVsLnZhclR5cGUgPT09IHRoaXMubWV0YWRhdGE/LnR5cGUpO1xuICAgICAgdGhpcy5jdXJyZW50VHlwZVRyYW5zbGF0aW9uID0gdHlwZSA/IHR5cGUudHJhbnNsYXRpb24gOiBNRVRBX09QVElPTlNbMF0udHJhbnNsYXRpb247XG4gICAgICB0aGlzLm1ldGFGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBpZDogdGhpcy5tZXRhZGF0YS5pZCxcbiAgICAgICAgbmFtZTogdGhpcy5tZXRhZGF0YS5uYW1lLFxuICAgICAgICB0eXBlOiB0aGlzLm1ldGFkYXRhLnR5cGUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLm1ldGFkYXRhLmRlc2NyaXB0aW9uXG4gICAgICB9KTtcbiAgICAgIGlmICh0aGlzLmlzTWV0YVNpbXBsZUVkaXQpIHtcbiAgICAgICAgdGhpcy5tZXRhRm9ybS5jb250cm9sc1snbmFtZSddLmRpc2FibGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMubWV0YWRhdGEuYWxsb3dlZFZhbHVlcykge1xuICAgICAgICAgIHRoaXMubWV0YWRhdGFMaXN0LnB1c2gobmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiBpdGVtLCBkaXNhYmxlZDogdHJ1ZSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0IG1ldGFkYXRhTGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhRm9ybS5jb250cm9sc1snYWxsb3dlZFZhbHVlcyddIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cblxuICBhZGRNZXRhZGF0YSgpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5tZXRhRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIC4uLnRoaXMubWV0YUZvcm0uZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgYWxsb3dlZFZhbHVlczogdGhpcy5tZXRhRm9ybS5nZXRSYXdWYWx1ZSgpLmFsbG93ZWRWYWx1ZXMuZmlsdGVyKCh4OiBzdHJpbmcpID0+IHggIT09IG51bGwpXG4gICAgICB9O1xuICAgICAgdGhpcy5zdWJtaXRNZXRhZGF0YSQuZW1pdChwYXlsb2FkKTtcbiAgICAgIHRoaXMuZ29CYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgYWRkSXRlbUxpc3QodHlwZT86IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnTElTVCcgfHwgdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGFkYXRhTGlzdC5wdXNoKG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtTGlzdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YSkge1xuICAgICAgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyB0aXRsZUZvcm0gfX08L2gxPlxuXG4gIDxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJtZXRhRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRNZXRhZGF0YSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBpZD1cIm5hbWUtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1uYW1lXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtbmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCIhbWV0YWRhdGFcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICAvPlxuICAgICAgPGxhYmVsXG4gICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWRcIlxuICAgICAgICBpZD1cIm5hbWUtZXJyb3JcIlxuICAgICAgICBmb3I9XCJtZXRhZGF0YS1uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3NhbWUtbmFtZScpXCI+e3sgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YUZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ25hbWUnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuZm9ybWF0TmFtZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLW1kXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwibWV0YWRhdGFfZGVzY3JpcHRpb25cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5kZXNjcmlwdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgaWQ9XCJtZXRhZGF0YV9kZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgPjwvdGV4dGFyZWE+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGZvcj1cIm1ldGFkYXRhLXR5cGVcIiBpZD1cIm1ldGFkYXRhLXR5cGUtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEudHlwZScgfCBpMThuIH19ICpcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgICAgIGlkPVwibWV0YWRhdGEtdHlwZVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxuICAgICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICAgIFtpdGVtc109XCJtZXRhT3B0aW9uc1wiXG4gICAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJ2YXJUeXBlXCJcbiAgICAgICAgYmluZExhYmVsPVwidHJhbnNsYXRpb25cIlxuICAgICAgICBbcmVhZG9ubHldPVwiISFtZXRhZGF0YVwiXG4gICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFkZEl0ZW1MaXN0KCRldmVudClcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJtZXRhZGF0YS10eXBlLWxhYmVsXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YUZvcm0udmFsdWUudHlwZSA9PT0gJ0xJU1QnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhcy1saXN0LXdyYXBwZXJcIiBmb3JtQXJyYXlOYW1lPVwiYWxsb3dlZFZhbHVlc1wiICpuZ0lmPVwibWV0YWRhdGFMaXN0LmNvbnRyb2xzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPGZpZWxkc2V0PlxuICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFkbWluLnZhclR5cGUubGlzdCcgfCBpMThuIH19PC9sZWdlbmQ+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1kYXRhcy1saXN0IG1ldGFkYXRhLWxpc3RcIiAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBtZXRhZGF0YUxpc3QuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRhdGFzLWxpc3RfX2ZpZWxkcyBtZXRhZGF0YS1pbnB1dFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cIm1ldGFkYXRhLWxpc3QtbGFiZWxcIiBmb3I9XCJtZXRhZGF0YS1saXN0XCIgY2xhc3M9XCJhLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5saXN0TGFiZWwnIHwgaTE4biB9fSAqXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm1ldGFkYXRhLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwie3sgaSB9fVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiIWNvbnRyb2wudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzU3VibWl0dGVkICYmIGNvbnRyb2w/LmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIlxuICAgICAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBjb250cm9sPy5pbnZhbGlkID8gJ21ldGFkYXRhLWxpc3QtbGFiZWwgbWV0YWRhdGEtbGlzdC1lcnJvcicgOiAnbWV0YWRhdGEtbGlzdC1sYWJlbCdcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgY29udHJvbC5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGEtbGlzdC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICBmb3I9XCJtZXRhZGF0YS1saXN0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cCBtLWJ0bi1ncm91cC0taW5wdXQtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taW5wdXQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA9PT0gbWV0YWRhdGFMaXN0LmNvbnRyb2xzLmxlbmd0aCAtIDFcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRyb2wudmFsdWUudHJpbSgpICE9PSAnJyA/IGFkZEl0ZW1MaXN0KCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5hZGRWYWx1ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJhZGRcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWlucHV0LWFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImkgIT09IDAgJiYgIW1ldGFkYXRhTGlzdC5jb250cm9sc1tpXS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbUxpc3QoaSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5tZXRhZGF0YS5yZW1vdmVWYWx1ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkZWxldGVcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgW2lubmVySFRNTF09XCIobWV0YWRhdGEgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'pry-admin-edit-metadata-rules', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.metadata-rules.edit.title' | i18n }}</h1>\n <pry-admin-form-metadata-rules [metadataRules]=\"metadataRulesSelected$ | async\"></pry-admin-form-metadata-rules>\n</div>\n" }]
|
|
21
21
|
}], ctorParameters: function () { return [{ type: i1.Store }]; } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZWRpdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWVkaXQtbWV0YWRhdGEtcnVsZXMvYWRtaW4tZWRpdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWVkaXQtbWV0YWRhdGEtcnVsZXMvYWRtaW4tZWRpdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFNM0UsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUFvQixLQUEyQjtRQUEzQixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7OEdBTlUsK0JBQStCO2tHQUEvQiwrQkFBK0IscUVDWjVDLGlQQUlBOzsyRkRRYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IE1ldGFkYXRhUnVsZXMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YWRhdGFTdGF0ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zIH0gZnJvbSAnLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMuYWN0aW9ucyc7XG5pbXBvcnQgeyBNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzIH0gZnJvbSAnLi4vc3RvcmUvbWV0YWRhdGEtcnVsZXMuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWVkaXQtbWV0YWRhdGEtcnVsZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tZWRpdC1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5FZGl0TWV0YWRhdGFSdWxlc0NvbXBvbmVudCB7XG4gIG1ldGFkYXRhUnVsZXNTZWxlY3RlZCQ6IE9ic2VydmFibGU8TWV0YWRhdGFSdWxlcyB8IG51bGw+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1ldGFkYXRhU3RhdGU+KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5tZXRhZGF0YVJ1bGVzU2VsZWN0ZWQkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFSdWxlc1NlbGVjdG9ycy5tZXRhZGF0YVJ1bGVzU2VsZWN0ZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1iYXNlLWNvbnRhaW5lclwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuYWRtaW4ubWV0YWRhdGEtcnVsZXMuZWRpdC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgPHByeS1hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzIFttZXRhZGF0YVJ1bGVzXT1cIm1ldGFkYXRhUnVsZXNTZWxlY3RlZCQgfCBhc3luY1wiPjwvcHJ5LWFkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXM+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
|
+
import { MetadataActions, MetadataSelectors } from '@provoly/dashboard/components/metadata-editor';
|
|
3
4
|
import { Subscription } from 'rxjs';
|
|
4
5
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
6
|
import { AdminActions } from '../../../../store/admin.actions';
|
|
6
7
|
import { AdminMetadataUserActions } from '../../../admin-metadata-user/store/admin-metadata-user.action';
|
|
7
8
|
import { AdminMetadataUserSelectors } from '../../../admin-metadata-user/store/admin-metadata-user.selector';
|
|
8
|
-
import { MetadataActions } from '../../../admin-metadata/store/metadata.action';
|
|
9
|
-
import { MetadataSelectors } from '../../../admin-metadata/store/metadata.selector';
|
|
10
9
|
import { AdminMetadataRulesActions } from '../../store/metadata-rules.actions';
|
|
11
10
|
import { MetadataRulesSelectors } from '../../store/metadata-rules.selectors';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
@@ -130,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
130
129
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.UntypedFormBuilder }]; }, propDecorators: { metadataRules: [{
|
|
131
130
|
type: Input
|
|
132
131
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL3NoYXJlZC9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9zaGFyZWQvYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxGLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRXpHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUVoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztB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QUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzthQUNwRjtTQUNGO0lBQ0gsQ0FBQzs4R0F4SVUsK0JBQStCO2tHQUEvQiwrQkFBK0IsaUhDdEI1Qyw0d0ZBb0ZBOzsyRkQ5RGEsK0JBQStCO2tCQUozQyxTQUFTOytCQUNFLCtCQUErQjsrS0FJaEMsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSU1ldGFkYXRhLCBNZXRhZGF0YVJ1bGVzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFVc2VyQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhLXVzZXIvc3RvcmUvYWRtaW4tbWV0YWRhdGEtdXNlci5hY3Rpb24nO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVVzZXJTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhLXVzZXIvc3RvcmUvYWRtaW4tbWV0YWRhdGEtdXNlci5yZWR1Y2VyJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLnNlbGVjdG9yJztcbmltcG9ydCB7IE1ldGFkYXRhQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhL3N0b3JlL21ldGFkYXRhLmFjdGlvbic7XG5pbXBvcnQgeyBNZXRhZGF0YVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4tbWV0YWRhdGEvc3RvcmUvbWV0YWRhdGEucmVkdWNlcic7XG5pbXBvcnQgeyBNZXRhZGF0YVNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhL3N0b3JlL21ldGFkYXRhLnNlbGVjdG9yJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE1ldGFkYXRhUnVsZXNTdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnJlZHVjZXInO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluRm9ybU1ldGFkYXRhUnVsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhUnVsZXM/OiBNZXRhZGF0YVJ1bGVzIHwgbnVsbDtcblxuICBtZXRhZGF0YUxpc3QkOiBPYnNlcnZhYmxlPElNZXRhZGF0YVtdPjtcbiAgbWV0YWRhdGFVc2VyTGlzdCQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVJ1bGVzTGlzdCQ6IE9ic2VydmFibGU8TWV0YWRhdGFSdWxlc1tdPjtcblxuICBtZXRhZGF0YUxpc3Q6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhVXNlckxpc3Q6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhVXNlckxpc3RGaWx0ZXI6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhUnVsZXNMaXN0OiBNZXRhZGF0YVJ1bGVzW10gPSBbXTtcblxuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBpc1NhbWVOYW1lID0gZmFsc2U7XG4gIGlzU2FtZVJ1bGVzID0gZmFsc2U7XG5cbiAgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxNZXRhZGF0YVJ1bGVzU3RhdGUgfCBNZXRhZGF0YVN0YXRlIHwgQWRtaW5NZXRhZGF0YVVzZXJTdGF0ZT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpO1xuICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbk1ldGFkYXRhVXNlclNlbGVjdG9ycy5tZXRhZGF0YSk7XG4gICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzLm1ldGFkYXRhUnVsZXNMaXN0KTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbdXVpZHY0KCldLFxuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgbWV0YWRhdGFVc2VyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBtZXRhZGF0YUl0ZW06IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NhbWVSdWxlcyA9IGZhbHNlO1xuICAgIHRoaXMuaXNTYW1lTmFtZSA9IGZhbHNlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRNZXRhZGF0YSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFVc2VyQWN0aW9ucy5sb2FkTWV0YWRhdGEoKSk7XG4gICAgdGhpcy5zdWIgPSB0aGlzLm1ldGFkYXRhTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YUxpc3QpID0+IHtcbiAgICAgIHRoaXMubWV0YWRhdGFMaXN0ID0gbWV0YWRhdGFMaXN0O1xuICAgIH0pO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMubWV0YWRhdGFSdWxlc0xpc3QkLnN1YnNjcmliZSgobWV0YWRhdGFSdWxlc0xpc3QpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCA9IG1ldGFkYXRhUnVsZXNMaXN0O1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YVVzZXJMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCA9IG1ldGFkYXRhVXNlckxpc3Q7XG4gICAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdEZpbHRlciA9IG1ldGFkYXRhVXNlckxpc3Q7XG4gICAgICAgIGlmICh0aGlzLm1ldGFkYXRhTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBtZXRhZGF0YUl0ZW06IHRoaXMubWV0YWRhdGFMaXN0WzBdLmlkIH0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0TWV0YWRhdGFJdGVtKHRoaXMubWV0YWRhdGFMaXN0WzBdLmlkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tZXRhZGF0YVJ1bGVzKSB7XG4gICAgICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCA9IHRoaXMubWV0YWRhdGFSdWxlc0xpc3QuZmlsdGVyKChtZXRhKSA9PiBtZXRhLmlkICE9PSB0aGlzLm1ldGFkYXRhUnVsZXM/LmlkKTtcbiAgICAgICAgICBjb25zdCB7IGlkLCBuYW1lLCB1c2VyUHJvZmlsZSwgbWV0YWRhdGEgfSA9IHRoaXMubWV0YWRhdGFSdWxlcztcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBtZXRhZGF0YVVzZXI6IHVzZXJQcm9maWxlLmlkLFxuICAgICAgICAgICAgbWV0YWRhdGFJdGVtOiBtZXRhZGF0YS5pZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YVJ1bGVzKSB7XG4gICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGgudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHNlbGVjdE1ldGFkYXRhSXRlbShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1NhbWVSdWxlcyA9IGZhbHNlO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YUxpc3QuZmluZCgobSkgPT4gaWQgPT09IG0uaWQpO1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyID0gdGhpcy5tZXRhZGF0YVVzZXJMaXN0LmZpbHRlcigobVUpID0+IG1VLnR5cGUgPT09IG1ldGFkYXRhLnR5cGUpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEF1dG9NZXRhZGF0YVVzZXIoKTtcbiAgfVxuXG4gIHNlbGVjdEF1dG9NZXRhZGF0YVVzZXIoKSB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgdXNlclByb2ZpbDpcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMubWV0YWRhdGFSdWxlcz8udXNlclByb2ZpbGU/LmlkICYmXG4gICAgICAgICAgICAhIXRoaXMubWV0YWRhdGFVc2VyTGlzdEZpbHRlci5maW5kKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEuaWQgPT09IHRoaXMubWV0YWRhdGFSdWxlcz8udXNlclByb2ZpbGU/LmlkKVxuICAgICAgICAgICAgPyB0aGlzLm1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUuaWRcbiAgICAgICAgICAgIDogdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyWzBdLmlkXG4gICAgICAgICAgOiAnJ1xuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGFVc2VyKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZU5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaXNTYW1lTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNTYW1lTmFtZSA9ICEhdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maW5kKFxuICAgICAgICAobWV0YWRhdGEpID0+IHRoaXMuZm9ybS5nZXQoJ25hbWUnKT8udmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICApO1xuICAgICAgdGhpcy5pc1NhbWVSdWxlcyA9ICEhdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maW5kKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ21ldGFkYXRhVXNlcicpPy52YWx1ZSA9PT0gbWV0YWRhdGE/LnVzZXJQcm9maWxlPy5pZCAmJlxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ21ldGFkYXRhSXRlbScpPy52YWx1ZSA9PT0gbWV0YWRhdGE/Lm1ldGFkYXRhPy5pZFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5mb3JtLnZhbGlkICYmICF0aGlzLmlzU2FtZU5hbWUgJiYgIXRoaXMuaXNTYW1lUnVsZXMpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnBvc3QoeyBtZXRhZGF0YTogdGhpcy5mb3JtLnZhbHVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGlkPVwibmFtZS1sYWJlbFwiIGZvcj1cIm5hbWVcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVmFsdWVOYW1lKCRldmVudClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlzU3VibWl0dGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICByZXF1aXJlZFxuICAgIC8+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgaWQ9XCJuYW1lLWVycm9yXCJcbiAgICAgIGZvcj1cIm5hbWVcIlxuICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgID57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9sYWJlbFxuICAgID5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJpdGVtLWxhYmVsXCIgZm9yPVwiaXRlbVwiPnt7XG4gICAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLm5hbWUnIHwgaTE4blxuICAgIH19PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgaWQ9XCJpdGVtXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhSXRlbVwiXG4gICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICBbaXRlbXNdPVwibWV0YWRhdGFMaXN0XCJcbiAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TWV0YWRhdGFJdGVtKCRldmVudClcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJ1c2VyLWxhYmVsXCIgZm9yPVwidXNlclwiPnt7XG4gICAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS11c2VyLm5hbWUnIHwgaTE4blxuICAgIH19PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgaWQ9XCJ1c2VyXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhVXNlclwiXG4gICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICBbaXRlbXNdPVwibWV0YWRhdGFVc2VyTGlzdEZpbHRlclwiXG4gICAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE1ldGFkYXRhVXNlcigkZXZlbnQpXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInVzZXItbGFiZWxcIlxuICAgID48L3ByeS1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiAqbmdJZj1cImlzU2FtZU5hbWVcIj57e1xuICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmlzLXNhbWUtbmFtZScgfCBpMThuXG4gIH19PC9sYWJlbD5cbiAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiICpuZ0lmPVwiaXNTYW1lUnVsZXNcIj57e1xuICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmlzLXNhbWUtcnVsZXMnIHwgaTE4blxuICB9fTwvbGFiZWw+XG5cbiAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICA+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFtpbm5lckhUTUxdPVwiKG1ldGFkYXRhUnVsZXMgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLW1ldGFkYXRhLXJ1bGVzL3NoYXJlZC9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1tZXRhZGF0YS1ydWxlcy9zaGFyZWQvYWRtaW4tZm9ybS1tZXRhZGF0YS1ydWxlcy9hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQXdDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWxGLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sK0NBQStDLENBQUM7QUFDbEgsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFekcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0s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SSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUM1RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEY7U0FDRjtJQUNILENBQUM7OEdBeElVLCtCQUErQjtrR0FBL0IsK0JBQStCLGlIQ3BCNUMsNHdGQW9GQTs7MkZEaEVhLCtCQUErQjtrQkFKM0MsU0FBUzsrQkFDRSwrQkFBK0I7K0tBSWhDLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSwgTWV0YWRhdGFSdWxlcyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBNZXRhZGF0YUFjdGlvbnMsIE1ldGFkYXRhU2VsZWN0b3JzLCBNZXRhZGF0YVN0YXRlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvbWV0YWRhdGEtZWRpdG9yJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFVc2VyQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhLXVzZXIvc3RvcmUvYWRtaW4tbWV0YWRhdGEtdXNlci5hY3Rpb24nO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVVzZXJTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2FkbWluLW1ldGFkYXRhLXVzZXIvc3RvcmUvYWRtaW4tbWV0YWRhdGEtdXNlci5yZWR1Y2VyJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLnNlbGVjdG9yJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFSdWxlc0FjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9tZXRhZGF0YS1ydWxlcy5hY3Rpb25zJztcbmltcG9ydCB7IE1ldGFkYXRhUnVsZXNTdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnJlZHVjZXInO1xuaW1wb3J0IHsgTWV0YWRhdGFSdWxlc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL21ldGFkYXRhLXJ1bGVzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1mb3JtLW1ldGFkYXRhLXJ1bGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWZvcm0tbWV0YWRhdGEtcnVsZXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluRm9ybU1ldGFkYXRhUnVsZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG1ldGFkYXRhUnVsZXM/OiBNZXRhZGF0YVJ1bGVzIHwgbnVsbDtcblxuICBtZXRhZGF0YUxpc3QkOiBPYnNlcnZhYmxlPElNZXRhZGF0YVtdPjtcbiAgbWV0YWRhdGFVc2VyTGlzdCQ6IE9ic2VydmFibGU8SU1ldGFkYXRhW10+O1xuICBtZXRhZGF0YVJ1bGVzTGlzdCQ6IE9ic2VydmFibGU8TWV0YWRhdGFSdWxlc1tdPjtcblxuICBtZXRhZGF0YUxpc3Q6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhVXNlckxpc3Q6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhVXNlckxpc3RGaWx0ZXI6IElNZXRhZGF0YVtdID0gW107XG4gIG1ldGFkYXRhUnVsZXNMaXN0OiBNZXRhZGF0YVJ1bGVzW10gPSBbXTtcblxuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBpc1NhbWVOYW1lID0gZmFsc2U7XG4gIGlzU2FtZVJ1bGVzID0gZmFsc2U7XG5cbiAgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxNZXRhZGF0YVJ1bGVzU3RhdGUgfCBNZXRhZGF0YVN0YXRlIHwgQWRtaW5NZXRhZGF0YVVzZXJTdGF0ZT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5tZXRhZGF0YUxpc3QkID0gdGhpcy5zdG9yZS5zZWxlY3QoTWV0YWRhdGFTZWxlY3RvcnMubWV0YWRhdGEpO1xuICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbk1ldGFkYXRhVXNlclNlbGVjdG9ycy5tZXRhZGF0YSk7XG4gICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChNZXRhZGF0YVJ1bGVzU2VsZWN0b3JzLm1ldGFkYXRhUnVsZXNMaXN0KTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGlkOiBbdXVpZHY0KCldLFxuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgbWV0YWRhdGFVc2VyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBtZXRhZGF0YUl0ZW06IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NhbWVSdWxlcyA9IGZhbHNlO1xuICAgIHRoaXMuaXNTYW1lTmFtZSA9IGZhbHNlO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5NZXRhZGF0YVJ1bGVzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goTWV0YWRhdGFBY3Rpb25zLmxvYWRNZXRhZGF0YSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluTWV0YWRhdGFVc2VyQWN0aW9ucy5sb2FkTWV0YWRhdGEoKSk7XG4gICAgdGhpcy5zdWIgPSB0aGlzLm1ldGFkYXRhTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YUxpc3QpID0+IHtcbiAgICAgIHRoaXMubWV0YWRhdGFMaXN0ID0gbWV0YWRhdGFMaXN0O1xuICAgIH0pO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMubWV0YWRhdGFSdWxlc0xpc3QkLnN1YnNjcmliZSgobWV0YWRhdGFSdWxlc0xpc3QpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCA9IG1ldGFkYXRhUnVsZXNMaXN0O1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCQuc3Vic2NyaWJlKChtZXRhZGF0YVVzZXJMaXN0KSA9PiB7XG4gICAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdCA9IG1ldGFkYXRhVXNlckxpc3Q7XG4gICAgICAgIHRoaXMubWV0YWRhdGFVc2VyTGlzdEZpbHRlciA9IG1ldGFkYXRhVXNlckxpc3Q7XG4gICAgICAgIGlmICh0aGlzLm1ldGFkYXRhTGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBtZXRhZGF0YUl0ZW06IHRoaXMubWV0YWRhdGFMaXN0WzBdLmlkIH0pO1xuICAgICAgICAgIHRoaXMuc2VsZWN0TWV0YWRhdGFJdGVtKHRoaXMubWV0YWRhdGFMaXN0WzBdLmlkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tZXRhZGF0YVJ1bGVzKSB7XG4gICAgICAgICAgdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdCA9IHRoaXMubWV0YWRhdGFSdWxlc0xpc3QuZmlsdGVyKChtZXRhKSA9PiBtZXRhLmlkICE9PSB0aGlzLm1ldGFkYXRhUnVsZXM/LmlkKTtcbiAgICAgICAgICBjb25zdCB7IGlkLCBuYW1lLCB1c2VyUHJvZmlsZSwgbWV0YWRhdGEgfSA9IHRoaXMubWV0YWRhdGFSdWxlcztcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBtZXRhZGF0YVVzZXI6IHVzZXJQcm9maWxlLmlkLFxuICAgICAgICAgICAgbWV0YWRhdGFJdGVtOiBtZXRhZGF0YS5pZFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmdldFBhdGgoKSB9KSk7XG4gIH1cblxuICBnZXRQYXRoKCkge1xuICAgIGxldCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICBpZiAodGhpcy5tZXRhZGF0YVJ1bGVzKSB7XG4gICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGgudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHNlbGVjdE1ldGFkYXRhSXRlbShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5pc1NhbWVSdWxlcyA9IGZhbHNlO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5tZXRhZGF0YUxpc3QuZmluZCgobSkgPT4gaWQgPT09IG0uaWQpO1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyID0gdGhpcy5tZXRhZGF0YVVzZXJMaXN0LmZpbHRlcigobVUpID0+IG1VLnR5cGUgPT09IG1ldGFkYXRhLnR5cGUpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdEF1dG9NZXRhZGF0YVVzZXIoKTtcbiAgfVxuXG4gIHNlbGVjdEF1dG9NZXRhZGF0YVVzZXIoKSB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgdXNlclByb2ZpbDpcbiAgICAgICAgdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMubWV0YWRhdGFSdWxlcz8udXNlclByb2ZpbGU/LmlkICYmXG4gICAgICAgICAgICAhIXRoaXMubWV0YWRhdGFVc2VyTGlzdEZpbHRlci5maW5kKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEuaWQgPT09IHRoaXMubWV0YWRhdGFSdWxlcz8udXNlclByb2ZpbGU/LmlkKVxuICAgICAgICAgICAgPyB0aGlzLm1ldGFkYXRhUnVsZXMudXNlclByb2ZpbGUuaWRcbiAgICAgICAgICAgIDogdGhpcy5tZXRhZGF0YVVzZXJMaXN0RmlsdGVyWzBdLmlkXG4gICAgICAgICAgOiAnJ1xuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0TWV0YWRhdGFVc2VyKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlzU2FtZVJ1bGVzID0gZmFsc2U7XG4gIH1cblxuICBjaGFuZ2VWYWx1ZU5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaXNTYW1lTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNTYW1lTmFtZSA9ICEhdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maW5kKFxuICAgICAgICAobWV0YWRhdGEpID0+IHRoaXMuZm9ybS5nZXQoJ25hbWUnKT8udmFsdWUudG9Mb3dlckNhc2UoKSA9PT0gbWV0YWRhdGEubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICApO1xuICAgICAgdGhpcy5pc1NhbWVSdWxlcyA9ICEhdGhpcy5tZXRhZGF0YVJ1bGVzTGlzdC5maW5kKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ21ldGFkYXRhVXNlcicpPy52YWx1ZSA9PT0gbWV0YWRhdGE/LnVzZXJQcm9maWxlPy5pZCAmJlxuICAgICAgICAgIHRoaXMuZm9ybS5nZXQoJ21ldGFkYXRhSXRlbScpPy52YWx1ZSA9PT0gbWV0YWRhdGE/Lm1ldGFkYXRhPy5pZFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy5mb3JtLnZhbGlkICYmICF0aGlzLmlzU2FtZU5hbWUgJiYgIXRoaXMuaXNTYW1lUnVsZXMpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhUnVsZXNBY3Rpb25zLnBvc3QoeyBtZXRhZGF0YTogdGhpcy5mb3JtLnZhbHVlIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGlkPVwibmFtZS1sYWJlbFwiIGZvcj1cIm5hbWVcIj5cbiAgICAgIHt7ICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmxhYmVsJyB8IGkxOG4gfX0gKlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPih7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19KTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgaWQ9XCJuYW1lXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlVmFsdWVOYW1lKCRldmVudClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlzU3VibWl0dGVkICYmIGZvcm0uZ2V0KCduYW1lJyk/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgZm9ybS5nZXQoJ25hbWUnKT8uaW52YWxpZFwiXG4gICAgICByZXF1aXJlZFxuICAgIC8+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgaWQ9XCJuYW1lLWVycm9yXCJcbiAgICAgIGZvcj1cIm5hbWVcIlxuICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBmb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCJcbiAgICAgID57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9sYWJlbFxuICAgID5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJpdGVtLWxhYmVsXCIgZm9yPVwiaXRlbVwiPnt7XG4gICAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS1pdGVtLm5hbWUnIHwgaTE4blxuICAgIH19PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgaWQ9XCJpdGVtXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhSXRlbVwiXG4gICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICBbaXRlbXNdPVwibWV0YWRhdGFMaXN0XCJcbiAgICAgIFtpdGVtc0FzT3B0aW9uXT1cInRydWVcIlxuICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0TWV0YWRhdGFJdGVtKCRldmVudClcIlxuICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgaWQ9XCJ1c2VyLWxhYmVsXCIgZm9yPVwidXNlclwiPnt7XG4gICAgICAnQHByeS5hZG1pbi5tZXRhZGF0YS1ydWxlcy5tZXRhZGF0YS11c2VyLm5hbWUnIHwgaTE4blxuICAgIH19PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgY2xhc3M9XCJhLXByeS1zZWxlY3RcIlxuICAgICAgaWQ9XCJ1c2VyXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhVXNlclwiXG4gICAgICBbbGFiZWxUcmFuc2xhdGVdPVwidHJ1ZVwiXG4gICAgICBbaXRlbXNdPVwibWV0YWRhdGFVc2VyTGlzdEZpbHRlclwiXG4gICAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE1ldGFkYXRhVXNlcigkZXZlbnQpXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInVzZXItbGFiZWxcIlxuICAgID48L3ByeS1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiAqbmdJZj1cImlzU2FtZU5hbWVcIj57e1xuICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmlzLXNhbWUtbmFtZScgfCBpMThuXG4gIH19PC9sYWJlbD5cbiAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiICpuZ0lmPVwiaXNTYW1lUnVsZXNcIj57e1xuICAgICdAcHJ5LmFkbWluLm1ldGFkYXRhLXJ1bGVzLmlzLXNhbWUtcnVsZXMnIHwgaTE4blxuICB9fTwvbGFiZWw+XG5cbiAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICA+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFtpbm5lckhUTUxdPVwiKG1ldGFkYXRhUnVsZXMgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { combineLatest, map, Subscription } from 'rxjs';
|
|
2
|
+
import { Subscription } from 'rxjs';
|
|
4
3
|
import { AdminActions } from '../../../store/admin.actions';
|
|
5
4
|
import { AdminMetadataUserActions } from '../../admin-metadata-user/store/admin-metadata-user.action';
|
|
6
5
|
import { AdminMetadataUserSelectors } from '../../admin-metadata-user/store/admin-metadata-user.selector';
|
|
@@ -8,15 +7,14 @@ import { AdminUserActions } from '../store/admin-user.action';
|
|
|
8
7
|
import { AdminUserSelectors } from '../store/admin-user.selector';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
import * as i1 from "@ngrx/store";
|
|
11
|
-
import * as i2 from "@angular/
|
|
12
|
-
import * as i3 from "@
|
|
13
|
-
import * as i4 from "@provoly/dashboard";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
|
+
import * as i3 from "@provoly/dashboard";
|
|
12
|
+
import * as i4 from "@provoly/dashboard/components/metadata-editor";
|
|
14
13
|
let nextCompId = 0;
|
|
15
14
|
export class AdminUserSelectComponent {
|
|
16
15
|
static { this.id = 'AdminUserSelectComponent'; }
|
|
17
|
-
constructor(store
|
|
16
|
+
constructor(store) {
|
|
18
17
|
this.store = store;
|
|
19
|
-
this.formBuilder = formBuilder;
|
|
20
18
|
this.userId = '';
|
|
21
19
|
this.tab = 0;
|
|
22
20
|
this.sub = new Subscription();
|
|
@@ -29,10 +27,6 @@ export class AdminUserSelectComponent {
|
|
|
29
27
|
this.metadata$ = this.store.select(AdminMetadataUserSelectors.metadata);
|
|
30
28
|
this.editable$ = this.store.select(AdminUserSelectors.editable);
|
|
31
29
|
this.compId = nextCompId++;
|
|
32
|
-
this.metaForm = this.formBuilder.group({
|
|
33
|
-
metadata: [{}, [Validators.required]],
|
|
34
|
-
value: ['', [Validators.required, Validators.pattern('^[+-]?[0-9]*$')]]
|
|
35
|
-
});
|
|
36
30
|
}
|
|
37
31
|
ngOnInit() {
|
|
38
32
|
this.sub.add(this.selectedUser$.subscribe((user) => {
|
|
@@ -41,17 +35,6 @@ export class AdminUserSelectComponent {
|
|
|
41
35
|
}
|
|
42
36
|
}));
|
|
43
37
|
this.sub.add(this.editable$.subscribe((edit) => (this.editable = edit)));
|
|
44
|
-
this.metadataAvailable$ = combineLatest([this.userMetadata$, this.metadata$]).pipe(map(([userMetas, metaDefs]) => {
|
|
45
|
-
let userMetaIds = userMetas?.map((u) => u.userProfile.id);
|
|
46
|
-
return metaDefs.filter((meta) => !userMetaIds?.includes(meta.id));
|
|
47
|
-
}));
|
|
48
|
-
this.sub.add(this.metadataAvailable$.subscribe((meta) => {
|
|
49
|
-
this.metaForm.patchValue({
|
|
50
|
-
metadata: meta[0]
|
|
51
|
-
});
|
|
52
|
-
this.onMetaChange(meta[0]);
|
|
53
|
-
this.metaForm.patchValue({ value: '' });
|
|
54
|
-
}));
|
|
55
38
|
}
|
|
56
39
|
ngOnDestroy() {
|
|
57
40
|
this.sub.unsubscribe();
|
|
@@ -60,57 +43,26 @@ export class AdminUserSelectComponent {
|
|
|
60
43
|
this.store.dispatch(AdminActions.togglePanel({ panelOpen: false }));
|
|
61
44
|
this.store.dispatch(AdminUserActions.unselectUser());
|
|
62
45
|
}
|
|
63
|
-
addMetadataUser() {
|
|
64
|
-
this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
metaId: this.metaForm.value['metadata']['id'],
|
|
70
|
-
value: this.metaForm.value['value']
|
|
71
|
-
};
|
|
72
|
-
this.store.dispatch(AdminUserActions.addMetadataUser(payload));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
onMetaChange(metadata) {
|
|
76
|
-
if (metadata) {
|
|
77
|
-
if (metadata.type === 'INTEGER') {
|
|
78
|
-
this.metaForm.controls['value'].setValidators([Validators.required, Validators.pattern('^[+-]?[0-9]*$')]);
|
|
79
|
-
}
|
|
80
|
-
else if (metadata.type === 'DOUBLE') {
|
|
81
|
-
this.metaForm.controls['value'].setValidators([
|
|
82
|
-
Validators.required,
|
|
83
|
-
Validators.pattern('[+-]?([0-9]*[.])?[0-9]+')
|
|
84
|
-
]);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this.metaForm.controls['value'].setValidators([Validators.required]);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
46
|
+
addMetadataUser(metadata) {
|
|
47
|
+
this.store.dispatch(AdminUserActions.addMetadataUser({
|
|
48
|
+
userId: metadata.id,
|
|
49
|
+
metaId: metadata.metadataId,
|
|
50
|
+
value: metadata.value
|
|
51
|
+
}));
|
|
90
52
|
}
|
|
91
53
|
removeMetadata(metadata) {
|
|
92
|
-
this.store.dispatch(AdminUserActions.deleteMetadataUser({ userId: this.userId, metadataId: metadata.
|
|
93
|
-
}
|
|
94
|
-
editMetadata(currentMetadata) {
|
|
95
|
-
this.store.dispatch(AdminUserActions.isEditable({ editable: true }));
|
|
96
|
-
let value = currentMetadata.value;
|
|
97
|
-
let userProfile = currentMetadata.userProfile;
|
|
98
|
-
this.metaForm.patchValue({
|
|
99
|
-
metadata: userProfile,
|
|
100
|
-
value: value
|
|
101
|
-
});
|
|
102
|
-
this.onMetaChange(userProfile);
|
|
54
|
+
this.store.dispatch(AdminUserActions.deleteMetadataUser({ userId: this.userId, metadataId: metadata.metadataId }));
|
|
103
55
|
}
|
|
104
56
|
switch(number) {
|
|
105
57
|
this.tab = number;
|
|
106
58
|
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, deps: [{ token: i1.Store }
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n ></pry-metadata-editor>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["targetId", "editable", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
109
61
|
}
|
|
110
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, decorators: [{
|
|
111
63
|
type: Component,
|
|
112
|
-
args: [{ selector: 'pry-admin-user-select', template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
113
|
-
}], ctorParameters: function () { return [{ type: i1.Store }
|
|
64
|
+
args: [{ selector: 'pry-admin-user-select', template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n ></pry-metadata-editor>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { profil: [{
|
|
114
66
|
type: Input
|
|
115
67
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tdXNlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi11c2VyL2FkbWluLXVzZXItc2VsZWN0L2FkbWluLXVzZXItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tdXNlci9hZG1pbi11c2VyLXNlbGVjdC9hZG1pbi11c2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFFbEUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyx3QkFBd0I7YUFDNUIsT0FBRSxHQUFHLDBCQUEwQixDQUFDO0lBbUJ2QyxZQUNVLEtBQXNDLEVBQ3RDLFdBQStCO1FBRC9CLFVBQUssR0FBTCxLQUFLLENBQWlDO1FBQ3RDLGdCQUFX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LFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDcEIsQ0FBQzs4R0E3SFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMkZDakJyQyx5bldBc1FBOzsyRkRyUGEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHVCQUF1Qjs2SEFxQnhCLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IElNZXRhZGF0YSwgTWV0YWRhdGFVc2VyLCBVc2VySW5mbyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhVXNlckFjdGlvbnMgfSBmcm9tICcuLi8uLi9hZG1pbi1tZXRhZGF0YS11c2VyL3N0b3JlL2FkbWluLW1ldGFkYXRhLXVzZXIuYWN0aW9uJztcbmltcG9ydCB7IEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLnNlbGVjdG9yJztcbmltcG9ydCB7IEFkbWluVXNlckFjdGlvbnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi11c2VyLmFjdGlvbic7XG5pbXBvcnQgeyBBZG1pblVzZXJTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi11c2VyLnNlbGVjdG9yJztcblxubGV0IG5leHRDb21wSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tdXNlci1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tdXNlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluVXNlclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGljIGlkID0gJ0FkbWluVXNlclNlbGVjdENvbXBvbmVudCc7XG4gIHVzZXJJZCA9ICcnO1xuICBjb21wSWQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRVc2VyJDogT2JzZXJ2YWJsZTxVc2VySW5mbyB8IHVuZGVmaW5lZD47XG4gIHVzZXJNZXRhZGF0YSQ6IE9ic2VydmFibGU8TWV0YWRhdGFVc2VyW10gfCB1bmRlZmluZWQ+O1xuICBlZGl0YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgbWV0YWRhdGEkOiBPYnNlcnZhYmxlPElNZXRhZGF0YVtdPjtcbiAgbWV0YWRhdGFBdmFpbGFibGUkPzogT2JzZXJ2YWJsZTxJTWV0YWRhdGFbXT47XG5cbiAgbWV0YUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBlZGl0YWJsZSA9IGZhbHNlO1xuXG4gIGlzU3VibWl0dGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHJvZmlsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QWRtaW5Vc2VyU2VsZWN0Q29tcG9uZW50PixcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhVXNlckFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuXG4gICAgdGhpcy5zZWxlY3RlZFVzZXIkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5Vc2VyU2VsZWN0b3JzLnNlbGVjdGVkVXNlcik7XG4gICAgdGhpcy51c2VyTWV0YWRhdGEkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5Vc2VyU2VsZWN0b3JzLnNlbGVjdGVkTWV0YWRhdGFVc2VyKTtcbiAgICB0aGlzLm1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzLm1ldGFkYXRhKTtcbiAgICB0aGlzLmVkaXRhYmxlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluVXNlclNlbGVjdG9ycy5lZGl0YWJsZSk7XG5cbiAgICB0aGlzLmNvbXBJZCA9IG5leHRDb21wSWQrKztcblxuICAgIHRoaXMubWV0YUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIG1ldGFkYXRhOiBbe30sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICB2YWx1ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeWystXT9bMC05XSokJyldXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5zZWxlY3RlZFVzZXIkLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICBpZiAodXNlcikge1xuICAgICAgICAgIHRoaXMudXNlcklkID0gdXNlci5pZDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWIuYWRkKHRoaXMuZWRpdGFibGUkLnN1YnNjcmliZSgoZWRpdCkgPT4gKHRoaXMuZWRpdGFibGUgPSBlZGl0KSkpO1xuXG4gICAgdGhpcy5tZXRhZGF0YUF2YWlsYWJsZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnVzZXJNZXRhZGF0YSQsIHRoaXMubWV0YWRhdGEkXSkucGlwZShcbiAgICAgIG1hcCgoW3VzZXJNZXRhcywgbWV0YURlZnNdKSA9PiB7XG4gICAgICAgIGxldCB1c2VyTWV0YUlkcyA9IHVzZXJNZXRhcz8ubWFwKCh1KSA9PiB1LnVzZXJQcm9maWxlLmlkKTtcbiAgICAgICAgcmV0dXJuIG1ldGFEZWZzLmZpbHRlcigobWV0YSkgPT4gIXVzZXJNZXRhSWRzPy5pbmNsdWRlcyhtZXRhLmlkKSk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm1ldGFkYXRhQXZhaWxhYmxlJC5zdWJzY3JpYmUoKG1ldGEpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBtZXRhZGF0YTogbWV0YVswXVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbk1ldGFDaGFuZ2UobWV0YVswXSk7XG4gICAgICAgIHRoaXMubWV0YUZvcm0ucGF0Y2hWYWx1ZSh7IHZhbHVlOiAnJyB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pblVzZXJBY3Rpb25zLnVuc2VsZWN0VXNlcigpKTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhVXNlcigpIHtcbiAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5tZXRhRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICAgIHVzZXJJZDogdGhpcy51c2VySWQsXG4gICAgICAgIG1ldGFJZDogdGhpcy5tZXRhRm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsnaWQnXSxcbiAgICAgICAgdmFsdWU6IHRoaXMubWV0YUZvcm0udmFsdWVbJ3ZhbHVlJ11cbiAgICAgIH07XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluVXNlckFjdGlvbnMuYWRkTWV0YWRhdGFVc2VyKHBheWxvYWQpKTtcbiAgICB9XG4gIH1cblxuICBvbk1ldGFDaGFuZ2UobWV0YWRhdGE6IElNZXRhZGF0YSkge1xuICAgIGlmIChtZXRhZGF0YSkge1xuICAgICAgaWYgKG1ldGFkYXRhLnR5cGUgPT09ICdJTlRFR0VSJykge1xuICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyd2YWx1ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybignXlsrLV0/WzAtOV0qJCcpXSk7XG4gICAgICB9IGVsc2UgaWYgKG1ldGFkYXRhLnR5cGUgPT09ICdET1VCTEUnKSB7XG4gICAgICAgIHRoaXMubWV0YUZvcm0uY29udHJvbHNbJ3ZhbHVlJ10uc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ1srLV0/KFswLTldKlsuXSk/WzAtOV0rJylcbiAgICAgICAgXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1ldGFGb3JtLmNvbnRyb2xzWyd2YWx1ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZW1vdmVNZXRhZGF0YShtZXRhZGF0YTogTWV0YWRhdGFVc2VyKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluVXNlckFjdGlvbnMuZGVsZXRlTWV0YWRhdGFVc2VyKHsgdXNlcklkOiB0aGlzLnVzZXJJZCwgbWV0YWRhdGFJZDogbWV0YWRhdGEudXNlclByb2ZpbGUuaWQgfSlcbiAgICApO1xuICB9XG5cbiAgZWRpdE1ldGFkYXRhKGN1cnJlbnRNZXRhZGF0YTogTWV0YWRhdGFVc2VyKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pblVzZXJBY3Rpb25zLmlzRWRpdGFibGUoeyBlZGl0YWJsZTogdHJ1ZSB9KSk7XG4gICAgbGV0IHZhbHVlID0gY3VycmVudE1ldGFkYXRhLnZhbHVlO1xuICAgIGxldCB1c2VyUHJvZmlsZSA9IGN1cnJlbnRNZXRhZGF0YS51c2VyUHJvZmlsZTtcblxuICAgIHRoaXMubWV0YUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBtZXRhZGF0YTogdXNlclByb2ZpbGUsXG4gICAgICB2YWx1ZTogdmFsdWVcbiAgICB9KTtcbiAgICB0aGlzLm9uTWV0YUNoYW5nZSh1c2VyUHJvZmlsZSk7XG4gIH1cblxuICBzd2l0Y2gobnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhYiA9IG51bWJlcjtcbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cInNlbGVjdGVkVXNlciQgfCBhc3luYyBhcyB1c2VyXCJcbiAgW2lkXT1cIidwYW5lbC11c2VyLScgKyB1c2VyLmlkXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIididXR0b24tdXNlci0nICsgdXNlci5pZFwiXG4gIGNsYXNzPVwiby1wYW5lbFwiXG4+XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tcGFuZWxfX2hlYWRlclwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWN0aW9uLmNsb3NlUGFuZWwnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGgzIFtpZF09XCIndGFiLXRpdGxlLScgKyBjb21wSWRcIiBjbGFzcz1cImEtaDNcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4udXNlckluZm8uaW5mbycgfCBpMThuIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiby10YWJzXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tdGFic19fbGlzdFwiIHJvbGU9XCJ0YWJsaXN0XCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItdGl0bGUtJyArIGNvbXBJZFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICBbaWRdPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAwXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiID09PSAwID8gMCA6IC0xXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoKDApXCJcbiAgICAgID5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4udXNlckluZm8ucHJvZmlsZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgIFtpZF09XCIndGFiLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAxXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiID09PSAxID8gMCA6IC0xXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICAoY2xpY2spPVwic3dpdGNoKDEpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGV0YWlscycgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtXCJcbiAgICAgICAgW2NsYXNzLmlzLWhpZGRlbl09XCJ0YWIgIT09IDBcIlxuICAgICAgICBbaWRdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTAnXCJcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnQgby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnQtLXByb2ZpbFwiPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1ldGFkYXRhIG9mIHVzZXJNZXRhZGF0YSQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudF9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudF9fYWN0aW9uc19fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudF9fYWN0aW9uc19fdGV4dF9fbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+e3sgbWV0YWRhdGEudXNlclByb2ZpbGUubmFtZSB9fSA6PC9zcGFuXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50X19hY3Rpb25zX190ZXh0X192YWx1ZVwiPnt7IG1ldGFkYXRhLnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50X19hY3Rpb25zX19idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwcnlBY2Nlc3M9XCJ7IG1vZHVsZTogJ2FkbWluJywgcGFnZTogJ3VzZXInLCBhY3Rpb246ICd3cml0ZScgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiBhcmlhLXByZXNzZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7ICdAcHJ5LmFjdGlvbi5lZGl0JyB8IGkxOG4gfX0ge3sgbWV0YWRhdGEudXNlclByb2ZpbGUubmFtZSB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWRpdC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJlZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0TWV0YWRhdGEobWV0YWRhdGEpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIGFyaWEtcHJlc3NlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgJ0BwcnkuYWN0aW9uLmRlbGV0ZScgfCBpMThuIH19IHt7IG1ldGFkYXRhLnVzZXJQcm9maWxlLm5hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlbGV0ZS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJkZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZU1ldGFkYXRhKG1ldGFkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAndXNlcicsIGFjdGlvbjogJ3dyaXRlJyB9XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGFGb3JtLnZhbHVlLm1ldGFkYXRhXCI+XG4gICAgICAgICAgICA8Zm9ybSBjbGFzcz1cIm8tZm9ybSAtYm9yZGVyLXRvcFwiIFtmb3JtR3JvdXBdPVwibWV0YUZvcm1cIiAobmdTdWJtaXQpPVwiYWRkTWV0YWRhdGFVc2VyKClcIj5cbiAgICAgICAgICAgICAgPGZpZWxkc2V0PlxuICAgICAgICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5lZGl0UHJvZmlsJyB8IGkxOG4gfX08L2xlZ2VuZD5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtZXRhZGF0YVwiIGlkPVwibWV0YWRhdGEtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIj5EYXRhPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwibWV0YWRhdGFcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1ldGFkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1ldGFkYXRhQXZhaWxhYmxlJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25NZXRhQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJlZGl0YWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ21ldGFkYXRhJyk/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ21ldGFkYXRhLWxhYmVsIG1ldGFkYXRhLWVycm9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAnbWV0YWRhdGEtbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ21ldGFkYXRhJyk/LmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9wcnktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCdtZXRhZGF0YScpPy5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtZXRhZGF0YS1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cIm1ldGFkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZXRhRm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsndHlwZSddID09PSAnREFURSc7IGVsc2UgaW5wdXRMaXN0XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cImZvcm1fZGF0ZS1sYWJlbFwiIGZvcj1cImZvcm1fZGF0ZVwiIGNsYXNzPVwiYS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFjdGlvbi5zZWxlY3REYXRlJyB8IGkxOG4gfX0gKlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZm9ybV9kYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ3ZhbHVlJyk/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnZm9ybS1kYXRlLWxhYmVsIGZvcm0tZGF0ZS1lcnJvcidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZm9ybS1kYXRlLWxhYmVsJ1xuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImlzU3VibWl0dGVkICYmIG1ldGFGb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1N1Ym1pdHRlZCAmJiBtZXRhRm9ybS5nZXQoJ3ZhbHVlJyk/LmludmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiZm9ybV9kYXRlLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJmb3JtX2RhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRMaXN0PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1ldGFGb3JtLnZhbHVlWydtZXRhZGF0YSddWyd0eXBlJ10gPT09ICdMSVNUJzsgZWxzZSBpbnB1dFRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cImxpc3QtbGFiZWxcIiBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJsaXN0XCI+e3sgJ0BwcnkuYWN0aW9uLmNob2ljZUluTGlzdCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJtZXRhRm9ybS52YWx1ZVsnbWV0YWRhdGEnXVsnYWxsb3dlZFZhbHVlcyddXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJsaXN0LWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2lucHV0VGV4dD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwidGV4dC1sYWJlbFwiIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24udGV4dCcgfCBpMThuIH19ICpcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU3VibWl0dGVkICYmIG1ldGFGb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZCA/ICd0ZXh0LWxhYmVsIHRleHQtZXJyb3InIDogJ3RleHQtbGFiZWwnXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiaXNTdWJtaXR0ZWQgJiYgbWV0YUZvcm0uZ2V0KCd2YWx1ZScpPy5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzU3VibWl0dGVkICYmIG1ldGFGb3JtLmdldCgndmFsdWUnKT8uaW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ0ZXN0LWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXRhRm9ybS5nZXQoJ3ZhbHVlJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG5cbiAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibWV0YUZvcm0uZ2V0KCd2YWx1ZScpPy5oYXNFcnJvcigncGF0dGVybicpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1ldGFGb3JtLnZhbHVlWydtZXRhZGF0YSddWyd0eXBlJ10gPT09ICdET1VCTEUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmVudmlyb25tZW50LmZvcm1hdERvdWJsZScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1ldGFGb3JtLnZhbHVlWydtZXRhZGF0YSddWyd0eXBlJ10gPT09ICdJTlRFR0VSJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5lbnZpcm9ubWVudC5mb3JtYXRJbnQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9maWVsZHNldD5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLWVuZFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAoKGVkaXRhYmxlJCB8IGFzeW5jKSA/ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmVkaXRNZXRhZGF0YScgOiAnQHByeS5hZG1pbi51c2VySW5mby5hZGRNZXRhZGF0YScpXG4gICAgICAgICAgICAgICAgICAgICAgfCBpMThuXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbVwiXG4gICAgICAgIFtjbGFzcy5pcy1oaWRkZW5dPVwidGFiICE9PSAxXCJcbiAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgID5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLnByb3BlcnRpZXMnIHwgaTE4biB9fTwvaDQ+XG4gICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4udXNlckluZm8ubmFtZScgfCBpMThuIH19IDpcbiAgICAgICAgICA8c3Ryb25nPnt7IHVzZXI/Lm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmZhbWlseU5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgPHN0cm9uZz57eyB1c2VyLmZhbWlseU5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmVtYWlsJyB8IGkxOG4gfX0gOlxuICAgICAgICAgIDxzdHJvbmc+e3sgdXNlci5lbWFpbCB9fTwvc3Ryb25nPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tdXNlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi11c2VyL2FkbWluLXVzZXItc2VsZWN0L2FkbWluLXVzZXItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tdXNlci9hZG1pbi11c2VyLXNlbGVjdC9hZG1pbi11c2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJcEUsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQUVsRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFNbkIsTUFBTSxPQUFPLHdCQUF3QjthQUM1QixPQUFFLEdBQUcsMEJBQTBCLENBQUM7SUFpQnZDLFlBQW9CLEtBQXNDO1FBQXRDLFVBQUssR0FBTCxLQUFLLENBQWlDO1FBaEIxRCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBUVosUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRVgsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUcvQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQyxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQXVCO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7WUFDL0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ25CLE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVTtZQUMzQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7U0FDdEIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXVCO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO0lBQ3BCLENBQUM7OEdBbEVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDJGQ2pCckMsMDZGQTJGQTs7MkZEMUVhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSx1QkFBdUI7NEZBbUJ4QixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBJTWV0YWRhdGEsIE1ldGFkYXRhVXNlciwgVXNlckluZm8gfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgTWV0YUV2ZW50VHlwZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL21ldGFkYXRhLWVkaXRvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5NZXRhZGF0YVVzZXJBY3Rpb25zIH0gZnJvbSAnLi4vLi4vYWRtaW4tbWV0YWRhdGEtdXNlci9zdG9yZS9hZG1pbi1tZXRhZGF0YS11c2VyLmFjdGlvbic7XG5pbXBvcnQgeyBBZG1pbk1ldGFkYXRhVXNlclNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2FkbWluLW1ldGFkYXRhLXVzZXIvc3RvcmUvYWRtaW4tbWV0YWRhdGEtdXNlci5zZWxlY3Rvcic7XG5pbXBvcnQgeyBBZG1pblVzZXJBY3Rpb25zIH0gZnJvbSAnLi4vc3RvcmUvYWRtaW4tdXNlci5hY3Rpb24nO1xuaW1wb3J0IHsgQWRtaW5Vc2VyU2VsZWN0b3JzIH0gZnJvbSAnLi4vc3RvcmUvYWRtaW4tdXNlci5zZWxlY3Rvcic7XG5cbmxldCBuZXh0Q29tcElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLXVzZXItc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLXVzZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pblVzZXJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pblVzZXJTZWxlY3RDb21wb25lbnQnO1xuICB1c2VySWQgPSAnJztcbiAgY29tcElkOiBudW1iZXI7XG4gIHNlbGVjdGVkVXNlciQ6IE9ic2VydmFibGU8VXNlckluZm8gfCB1bmRlZmluZWQ+O1xuICB1c2VyTWV0YWRhdGEkOiBPYnNlcnZhYmxlPE1ldGFkYXRhVXNlcltdIHwgdW5kZWZpbmVkPjtcbiAgZWRpdGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIG1ldGFkYXRhJDogT2JzZXJ2YWJsZTxJTWV0YWRhdGFbXT47XG5cbiAgdGFiOiBudW1iZXIgPSAwO1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgaXNTdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwcm9maWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxBZG1pblVzZXJTZWxlY3RDb21wb25lbnQ+KSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbk1ldGFkYXRhVXNlckFjdGlvbnMubG9hZE1ldGFkYXRhKCkpO1xuXG4gICAgdGhpcy5zZWxlY3RlZFVzZXIkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5Vc2VyU2VsZWN0b3JzLnNlbGVjdGVkVXNlcik7XG4gICAgdGhpcy51c2VyTWV0YWRhdGEkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5Vc2VyU2VsZWN0b3JzLnNlbGVjdGVkTWV0YWRhdGFVc2VyKTtcbiAgICB0aGlzLm1ldGFkYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluTWV0YWRhdGFVc2VyU2VsZWN0b3JzLm1ldGFkYXRhKTtcbiAgICB0aGlzLmVkaXRhYmxlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluVXNlclNlbGVjdG9ycy5lZGl0YWJsZSk7XG5cbiAgICB0aGlzLmNvbXBJZCA9IG5leHRDb21wSWQrKztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRVc2VyJC5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgaWYgKHVzZXIpIHtcbiAgICAgICAgICB0aGlzLnVzZXJJZCA9IHVzZXIuaWQ7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc3ViLmFkZCh0aGlzLmVkaXRhYmxlJC5zdWJzY3JpYmUoKGVkaXQpID0+ICh0aGlzLmVkaXRhYmxlID0gZWRpdCkpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pblVzZXJBY3Rpb25zLnVuc2VsZWN0VXNlcigpKTtcbiAgfVxuXG4gIGFkZE1ldGFkYXRhVXNlcihtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pblVzZXJBY3Rpb25zLmFkZE1ldGFkYXRhVXNlcih7XG4gICAgICAgIHVzZXJJZDogbWV0YWRhdGEuaWQsXG4gICAgICAgIG1ldGFJZDogbWV0YWRhdGEubWV0YWRhdGFJZCxcbiAgICAgICAgdmFsdWU6IG1ldGFkYXRhLnZhbHVlXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZW1vdmVNZXRhZGF0YShtZXRhZGF0YTogTWV0YUV2ZW50VHlwZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5Vc2VyQWN0aW9ucy5kZWxldGVNZXRhZGF0YVVzZXIoeyB1c2VySWQ6IHRoaXMudXNlcklkLCBtZXRhZGF0YUlkOiBtZXRhZGF0YS5tZXRhZGF0YUlkIH0pKTtcbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwic2VsZWN0ZWRVc2VyJCB8IGFzeW5jIGFzIHVzZXJcIlxuICBbaWRdPVwiJ3BhbmVsLXVzZXItJyArIHVzZXIuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2J1dHRvbi11c2VyLScgKyB1c2VyLmlkXCJcbiAgY2xhc3M9XCJvLXBhbmVsXCJcbj5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1wYW5lbF9faGVhZGVyXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiY2xvc2VQYW5lbCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hY3Rpb24uY2xvc2VQYW5lbCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCI+PC9wcnktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8aDMgW2lkXT1cIid0YWItdGl0bGUtJyArIGNvbXBJZFwiIGNsYXNzPVwiYS1oM1wiPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi51c2VySW5mby5pbmZvJyB8IGkxOG4gfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJvLXRhYnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19saXN0XCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cIm8tdGFic19fbGlzdF9fYnRuXCJcbiAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgIFtpZF09XCIndGFiLScgKyBjb21wSWQgKyAnLTAnXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIgPT09IDBcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDAgPyAwIDogLTFcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2goMClcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi51c2VySW5mby5wcm9maWxlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cIm8tdGFic19fbGlzdF9fYnRuXCJcbiAgICAgICAgW2lkXT1cIid0YWItJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIgPT09IDFcIlxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDEgPyAwIDogLTFcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgIChjbGljayk9XCJzd2l0Y2goMSlcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS5hZG1pbi5kZXRhaWxzJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1cIlxuICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMFwiXG4gICAgICAgIFtpZF09XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICA+XG4gICAgICAgIDxwcnktbWV0YWRhdGEtZWRpdG9yXG4gICAgICAgICAgW3RhcmdldElkXT1cIihzZWxlY3RlZFVzZXIkIHwgYXN5bmMpPy5pZCA/PyAnJ1wiXG4gICAgICAgICAgW2VkaXRhYmxlXT1cIihlZGl0YWJsZSQgfCBhc3luYykgPz8gZmFsc2VcIlxuICAgICAgICAgIFttZXRhZGF0YV09XCIodXNlck1ldGFkYXRhJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgICAgICAgKHJlbW92ZU1ldGEpPVwicmVtb3ZlTWV0YWRhdGEoJGV2ZW50KVwiXG4gICAgICAgICAgKGFkZE1ldGEpPVwiYWRkTWV0YWRhdGFVc2VyKCRldmVudClcIlxuICAgICAgICA+PC9wcnktbWV0YWRhdGEtZWRpdG9yPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbVwiXG4gICAgICAgIFtjbGFzcy5pcy1oaWRkZW5dPVwidGFiICE9PSAxXCJcbiAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgID5cbiAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLnByb3BlcnRpZXMnIHwgaTE4biB9fTwvaDQ+XG4gICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4udXNlckluZm8ubmFtZScgfCBpMThuIH19IDpcbiAgICAgICAgICA8c3Ryb25nPnt7IHVzZXI/Lm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmZhbWlseU5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgPHN0cm9uZz57eyB1c2VyLmZhbWlseU5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLnVzZXJJbmZvLmVtYWlsJyB8IGkxOG4gfX0gOlxuICAgICAgICAgIDxzdHJvbmc+e3sgdXNlci5lbWFpbCB9fTwvc3Ryb25nPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -3,9 +3,6 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@angular/common";
|
|
4
4
|
import * as i2 from "@provoly/dashboard";
|
|
5
5
|
export class PryAssociationComponent {
|
|
6
|
-
ngOnInit() {
|
|
7
|
-
console.log(this.associations);
|
|
8
|
-
}
|
|
9
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAssociationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
7
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryAssociationComponent, selector: "pry-association", inputs: { associations: "associations" }, ngImport: i0, template: "<div *ngFor=\"let association of associations?.associations\" class=\"a-container-type\">\n <p class=\"a-label-type {{ association.type }}\">\n <strong>{{ '@pry.admin.association.' + association.type | i18n }}</strong>\n </p>\n <p>\n {{ association.name }}\n </p>\n</div>\n<p *ngIf=\"associations?.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n</p>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
11
8
|
}
|
|
@@ -15,4 +12,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
15
12
|
}], propDecorators: { associations: [{
|
|
16
13
|
type: Input
|
|
17
14
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hc3NvY2lhdGlvbi9hc3NvY2lhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2Fzc29jaWF0aW9uL2Fzc29jaWF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTFFLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlHQ1JwQyx5YUFXQTs7MkZESGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLGlCQUFpQixtQkFFVix1QkFBdUIsQ0FBQyxPQUFPOzhCQUd2QyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzc29jaWF0aW9ucyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hc3NvY2lhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NvY2lhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBQcnlBc3NvY2lhdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGFzc29jaWF0aW9ucz86IEFzc29jaWF0aW9ucztcbn1cbiIsIjxkaXYgKm5nRm9yPVwibGV0IGFzc29jaWF0aW9uIG9mIGFzc29jaWF0aW9ucz8uYXNzb2NpYXRpb25zXCIgY2xhc3M9XCJhLWNvbnRhaW5lci10eXBlXCI+XG4gIDxwIGNsYXNzPVwiYS1sYWJlbC10eXBlIHt7IGFzc29jaWF0aW9uLnR5cGUgfX1cIj5cbiAgICA8c3Ryb25nPnt7ICdAcHJ5LmFkbWluLmFzc29jaWF0aW9uLicgKyBhc3NvY2lhdGlvbi50eXBlIHwgaTE4biB9fTwvc3Ryb25nPlxuICA8L3A+XG4gIDxwPlxuICAgIHt7IGFzc29jaWF0aW9uLm5hbWUgfX1cbiAgPC9wPlxuPC9kaXY+XG48cCAqbmdJZj1cImFzc29jaWF0aW9ucz8udXNlZEVsc2V3aGVyZSA9PT0gdHJ1ZVwiIGNsYXNzPVwiYS1wXCI+XG4gIDxzdHJvbmc+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy51c2VkRWxzZXdoZXJlJyB8IGkxOG4gfX08L3N0cm9uZz5cbjwvcD5cbiJdfQ==
|