aril 0.1.18 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/boot/config/api/src/api.service.mjs +3 -1
- package/esm2022/theme/layout/service/selection-group.service.mjs +10 -9
- package/esm2022/ui/table/src/interfaces.mjs +1 -1
- package/esm2022/ui/table/src/table.component.mjs +6 -5
- package/esm2022/ui/value/src/value.component.mjs +16 -15
- package/fesm2022/aril-boot-config-api.mjs +2 -0
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs +9 -8
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +5 -4
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +14 -13
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/package.json +82 -82
- package/theme/layout/service/selection-group.service.d.ts +2 -2
- package/theme/layout/service/selection-group.service.ts +12 -9
- package/ui/table/src/interfaces.d.ts +1 -1
- package/ui/value/src/value.component.d.ts +6 -4
|
@@ -10,6 +10,7 @@ export function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
10
10
|
.get(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')
|
|
11
11
|
.pipe(tap((configs) => {
|
|
12
12
|
Object.assign(API_CONFIGS, { ...configs });
|
|
13
|
+
globalThis.mwApi = API_CONFIGS.mwApi;
|
|
13
14
|
if (isDevMode())
|
|
14
15
|
globalThis.hostAPI = API_CONFIGS.api;
|
|
15
16
|
else {
|
|
@@ -31,6 +32,7 @@ export function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
31
32
|
*/
|
|
32
33
|
export function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
33
34
|
return () => {
|
|
35
|
+
API_CONFIGS.mwApi = globalThis.mwApi;
|
|
34
36
|
if (isDevMode()) {
|
|
35
37
|
if (appName === Apps.MNG)
|
|
36
38
|
API_CONFIGS.api = globalThis.hostAPI + '/host/v1';
|
|
@@ -45,4 +47,4 @@ export function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
|
45
47
|
}
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFFbkQsTUFBTSxVQUFVLGNBQWMsQ0FDN0IsV0FBdUMsRUFDdkMsUUFBeUIsRUFDekIsT0FBZTtJQUVmLE9BQU8sR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVTthQUN4QyxHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO2FBQzVGLElBQUksQ0FDSixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLFVBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLFNBQVMsRUFBRTtnQkFBUSxVQUFXLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7aUJBQ3hELENBQUM7Z0JBQ0wsbURBQW1EO2dCQUNuRCxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRztvQkFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztZQUNqRixDQUFDO1lBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUNGLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQzVDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxXQUF1QyxFQUN2QyxRQUF5QixFQUN6QixPQUFlO0lBRWYsT0FBTyxHQUFHLEVBQUU7UUFDWCxXQUFXLENBQUMsS0FBSyxHQUFTLFVBQVcsQ0FBQyxLQUFLLENBQUM7UUFDNUMsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxHQUFHO2dCQUFFLFdBQVcsQ0FBQyxHQUFHLEdBQVMsVUFBVyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7O2dCQUM5RSxXQUFXLENBQUMsR0FBRyxHQUFTLFVBQVcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLE9BQU8sS0FBSyxJQUFJLENBQUMsR0FBRztnQkFBRSxXQUFXLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQzs7Z0JBQzNFLFdBQVcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkUsQ0FBQztJQUNGLENBQUMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBLZXljbG9ha01hbmFnZXIgfSBmcm9tICdhcmlsL2tleWNsb2FrJztcclxuXHJcbmltcG9ydCB7IEFwaUNvbmZpZ3NGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBjb25zdCBBUElfQ09ORklHUyA9IG5ldyBBcGlDb25maWdzRmFjdG9yeSgpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcGlDb25maWdzKFxyXG5cdGh0dHBCYWNrZW5kOiB7IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgfSxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtNYW5hZ2VyLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRjb25zdCBjb25maWdEZXBzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUkID0gaHR0cEJhY2tlbmQuaHR0cENsaWVudFxyXG5cdFx0XHQuZ2V0PEFwaUNvbmZpZ3NGYWN0b3J5Pihpc0Rldk1vZGUoKSA/ICcuL2Fzc2V0cy9sb2NhbC1jb25maWdzL2FwaS5sb2NhbC5qc29uJyA6ICcuL2FwaS5qc29uJylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFwKChjb25maWdzKSA9PiB7XHJcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKEFQSV9DT05GSUdTLCB7IC4uLmNvbmZpZ3MgfSk7XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5td0FwaSA9IEFQSV9DT05GSUdTLm13QXBpO1xyXG5cdFx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpKSAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJID0gQVBJX0NPTkZJR1MuYXBpO1xyXG5cdFx0XHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0XHRcdC8vIER5bmFtaWMgQVBJIGZvciBNTkcgKFN0YW5kYWxvbmUgUHJvZHVjdGlvbiBNb2RlKVxyXG5cdFx0XHRcdFx0XHRpZiAoYXBwTmFtZSA9PT0gQXBwcy5NTkcpIEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2hvc3QvdjEnO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGNvbmZpZ0RlcHMucHVzaChrZXljbG9hay5pbml0KEFQSV9DT05GSUdTLmtleWNsb2FrKSk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KTtcclxuXHJcblx0XHRyZXR1cm4gZmlyc3RWYWx1ZUZyb20ob2JzZXJ2YWJsZSQpLnRoZW4oKCkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoY29uZmlnRGVwcyk7XHJcblx0XHR9KTtcclxuXHR9O1xyXG59XHJcblxyXG4vKipcclxuICogb25seSB3b3JrcyB3aGVuIGlzSG9zdE1vZGUgaXMgdHJ1ZVxyXG4gKiBtaWNyby1hcHAgY2Fubm90IGFjY2VzcyBpdHMgb3duIGFwaS5qc29uIGZpbGUgd2hlbiBvcGVuZWQgaW4gaG9zdFxyXG4gKiBNTkcgaGFzIGRpZmZlcmVudCBjb250cm9sbGVyIChob3N0LCBzdGF0ZS1tYWNoaW5lIGV0Yy4pXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2V0QXBpQ29uZmlnT25NRkVNb2RlKFxyXG5cdGh0dHBCYWNrZW5kOiB7IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgfSxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtNYW5hZ2VyLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiB2b2lkIHtcclxuXHRyZXR1cm4gKCkgPT4ge1xyXG5cdFx0QVBJX0NPTkZJR1MubXdBcGkgPSAoPGFueT5nbG9iYWxUaGlzKS5td0FwaTtcclxuXHRcdGlmIChpc0Rldk1vZGUoKSkge1xyXG5cdFx0XHRpZiAoYXBwTmFtZSA9PT0gQXBwcy5NTkcpIEFQSV9DT05GSUdTLmFwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgKyAnL2hvc3QvdjEnO1xyXG5cdFx0XHRlbHNlIEFQSV9DT05GSUdTLmFwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgKyAnLycgKyBhcHBOYW1lICsgJy92MSc7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoYXBwTmFtZSA9PT0gQXBwcy5NTkcpIEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2hvc3QvdjEnO1xyXG5cdFx0XHRlbHNlIEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnLycgKyBhcHBOYW1lICsgJy92MSc7XHJcblx0XHR9XHJcblx0fTtcclxufVxyXG4iXX0=
|
|
@@ -27,25 +27,26 @@ export class SelectionGroupService {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
fetchEnum(groupName, parentSelectionKey) {
|
|
31
|
-
|
|
30
|
+
fetchEnum(groupName, parentSelectionKey = 'ALL') {
|
|
31
|
+
const key = groupName + '~' + parentSelectionKey;
|
|
32
|
+
if (this.loaded.get(key) || this.loading.get(key))
|
|
32
33
|
return;
|
|
33
34
|
const payload = {
|
|
34
35
|
groupName,
|
|
35
|
-
parentSelectionKey
|
|
36
|
+
parentSelectionKey
|
|
36
37
|
};
|
|
37
|
-
this.loading.set(
|
|
38
|
-
this.loaded.set(
|
|
38
|
+
this.loading.set(key, true);
|
|
39
|
+
this.loaded.set(key, false);
|
|
39
40
|
const hostApi = API_CONFIGS.api.replace(/\/[^\/]+\/v1$/, `/host/v1`);
|
|
40
41
|
this.http
|
|
41
42
|
.post(hostApi + '/selection-group/load', payload)
|
|
42
43
|
.pipe(take(1))
|
|
43
44
|
.subscribe((selectionGroup) => {
|
|
44
|
-
this.loading.set(
|
|
45
|
-
this.loaded.set(
|
|
45
|
+
this.loading.set(key, false);
|
|
46
|
+
this.loaded.set(key, true);
|
|
46
47
|
this.selectionGroups.update((groups) => ({
|
|
47
48
|
...groups,
|
|
48
|
-
[
|
|
49
|
+
[key]: selectionGroup
|
|
49
50
|
}));
|
|
50
51
|
});
|
|
51
52
|
}
|
|
@@ -61,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
61
62
|
providedIn: 'root'
|
|
62
63
|
}]
|
|
63
64
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWdyb3VwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9zZXJ2aWNlL3NlbGVjdGlvbi1ncm91cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyxxQkFBcUI7SUFNakMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUxwQyxvQkFBZSxHQUFHLE1BQU0sQ0FBOEMsRUFBRSxDQUFDLENBQUM7UUFFbEUsWUFBTyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBQ3JDLFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUczQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUVsQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RSxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQywwQkFBMEI7UUFDdkMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWpFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDO2dCQUNKLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCLEVBQUUscUJBQTZCLEtBQUs7UUFDOUQsTUFBTSxHQUFHLEdBQUcsU0FBUyxHQUFHLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQztRQUVqRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFMUQsTUFBTSxPQUFPLEdBQXdCO1lBQ3BDLFNBQVM7WUFDVCxrQkFBa0I7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUIsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxJQUFJO2FBQ1AsSUFBSSxDQUFvQixPQUFPLEdBQUcsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO2FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTNCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxHQUFHLE1BQU07Z0JBQ1QsQ0FBQyxHQUFHLENBQUMsRUFBRSxjQUFjO2FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQzdDLENBQUM7OEdBM0RXLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnJCLE1BQU07OzJGQUVOLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBlZmZlY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3Rpb25Hcm91cERUTywgU2VsZWN0aW9uUmVxdWVzdERUTyB9IGZyb20gJy4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkdyb3VwU2VydmljZSB7XHJcblx0c2VsZWN0aW9uR3JvdXBzID0gc2lnbmFsPHsgW2tleTogc3RyaW5nXTogU2VsZWN0aW9uR3JvdXBEVE8gfCBudWxsIH0+KHt9KTtcclxuXHJcblx0cHJpdmF0ZSBsb2FkaW5nID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XHJcblx0cHJpdmF0ZSBsb2FkZWQgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XHJcblx0XHR0aGlzLmxvYWRTdGF0ZXNGcm9tTG9jYWxTdG9yYWdlKCk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgZW5jb2RlZERhdGEgPSBidG9hKGVuY29kZVVSSShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGlvbkdyb3VwcygpKSkpO1xyXG5cdFx0XHRsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc2VsZWN0aW9uLWdyb3VwcycsIGVuY29kZWREYXRhKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBhc3luYyBsb2FkU3RhdGVzRnJvbUxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3Rpb24tZ3JvdXBzJyk7XHJcblxyXG5cdFx0aWYgKHNlbGVjdGlvbkdyb3Vwcykge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdGNvbnN0IGRlY29kZWREYXRhID0gZGVjb2RlVVJJKGF0b2Ioc2VsZWN0aW9uR3JvdXBzKSk7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cHMuc2V0KEpTT04ucGFyc2UoZGVjb2RlZERhdGEpKTtcclxuXHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZldGNoRW51bShncm91cE5hbWU6IHN0cmluZywgcGFyZW50U2VsZWN0aW9uS2V5OiBzdHJpbmcgPSAnQUxMJykge1xyXG5cdFx0Y29uc3Qga2V5ID0gZ3JvdXBOYW1lICsgJ34nICsgcGFyZW50U2VsZWN0aW9uS2V5O1xyXG5cclxuXHRcdGlmICh0aGlzLmxvYWRlZC5nZXQoa2V5KSB8fCB0aGlzLmxvYWRpbmcuZ2V0KGtleSkpIHJldHVybjtcclxuXHJcblx0XHRjb25zdCBwYXlsb2FkOiBTZWxlY3Rpb25SZXF1ZXN0RFRPID0ge1xyXG5cdFx0XHRncm91cE5hbWUsXHJcblx0XHRcdHBhcmVudFNlbGVjdGlvbktleVxyXG5cdFx0fTtcclxuXHJcblx0XHR0aGlzLmxvYWRpbmcuc2V0KGtleSwgdHJ1ZSk7XHJcblx0XHR0aGlzLmxvYWRlZC5zZXQoa2V5LCBmYWxzZSk7XHJcblxyXG5cdFx0Y29uc3QgaG9zdEFwaSA9IEFQSV9DT05GSUdTLmFwaS5yZXBsYWNlKC9cXC9bXlxcL10rXFwvdjEkLywgYC9ob3N0L3YxYCk7XHJcblxyXG5cdFx0dGhpcy5odHRwXHJcblx0XHRcdC5wb3N0PFNlbGVjdGlvbkdyb3VwRFRPPihob3N0QXBpICsgJy9zZWxlY3Rpb24tZ3JvdXAvbG9hZCcsIHBheWxvYWQpXHJcblx0XHRcdC5waXBlKHRha2UoMSkpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHNlbGVjdGlvbkdyb3VwKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nLnNldChrZXksIGZhbHNlKTtcclxuXHRcdFx0XHR0aGlzLmxvYWRlZC5zZXQoa2V5LCB0cnVlKTtcclxuXHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cHMudXBkYXRlKChncm91cHMpID0+ICh7XHJcblx0XHRcdFx0XHQuLi5ncm91cHMsXHJcblx0XHRcdFx0XHRba2V5XTogc2VsZWN0aW9uR3JvdXBcclxuXHRcdFx0XHR9KSk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aXNMb2FkaW5nKGdyb3VwTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5sb2FkaW5nLmdldChncm91cE5hbWUpID8/IGZhbHNlO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -16,4 +16,4 @@ export var ExportType;
|
|
|
16
16
|
ExportType["Csv"] = "CSV";
|
|
17
17
|
ExportType["Excel"] = "EXCEL";
|
|
18
18
|
})(ExportType || (ExportType = {}));
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdGFibGUvc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNBLE1BQU0sQ0FBTixJQUFZLFVBV1g7QUFYRCxXQUFZLFVBQVU7SUFDckIsNEJBQWMsQ0FBQTtJQUNkLHlDQUEyQixDQUFBO0lBQzNCLDhDQUFnQyxDQUFBO0lBQ2hDLDJDQUE2QixDQUFBO0lBQzdCLGtDQUFvQixDQUFBO0lBQ3BCLDRCQUFjLENBQUE7SUFDZCxpQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBb0IsQ0FBQTtJQUNwQixnQ0FBa0IsQ0FBQTtJQUNsQiwyQkFBYSxDQUFBO0FBQ2QsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNyQix5QkFBVyxDQUFBO0lBQ1gsNkJBQWUsQ0FBQTtBQUNoQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKipcclxuICogYGV4cG9ydExhYmVsYCBkb3N5YSBpc21pXHJcbiAqXHJcbiAqIGByb3V0ZWAgc2VydmljZSBwYXRoXHJcbiAqXHJcbiAqIGBwYXJhbXNgIHNlcnZpY2UgcGF5bG9hZFxyXG4gKlxyXG4gKiBgZGF0ZUNvbHVtbkZvcm1hdE1hcGAgY29sdW1uIHZhbHVlIERhdGUgaXNlIGZvcm1hdCB2ZXJpbG1lbGkge0BsaW5rIERhdGVGb3JtYXR9XHJcbiAqXHJcbiAqIGBjb21wdXRlZENvbHVtbk1hcGAganNvblBhdGggKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanNvbi1wYXRoL0pzb25QYXRofSkgZm9ybWF0xLFuZGEgeWVuaSBmaWVsZCB0YW7EsW1sYW1hayBpw6dpbiBrdWxsYW7EsWzEsXIuXHJcbiAqXHJcbiAqIGBleGNsdWRlZEZpZWxkc2AgZXhwb3J0IGVkaWxtZW1lc2kgaXN0ZW5lbiBmaWVsZCdsYXJcclxuICpcclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hcmlsLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvTlREL3BhZ2VzLzg0MjIwMzEzOS9CYXRjaCtFeGNlbCtDU1YrRXhwb3J0K0Zyb20rQ29udHJvbGxlcnN9XHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBLdWxsYW7EsW0gw5ZybmXEn2lcclxuICpcclxuICogYGBgXHJcbiAqIDxpIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cInBpIHBpLWZpbGUtZXhwb3J0XCIgKGNsaWNrKT1cInRhYmxlUmVmLnRvZ2dsZUV4cG9ydCgkZXZlbnQpXCI+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvdGFibGUvc3JjL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNBLE1BQU0sQ0FBTixJQUFZLFVBV1g7QUFYRCxXQUFZLFVBQVU7SUFDckIsNEJBQWMsQ0FBQTtJQUNkLHlDQUEyQixDQUFBO0lBQzNCLDhDQUFnQyxDQUFBO0lBQ2hDLDJDQUE2QixDQUFBO0lBQzdCLGtDQUFvQixDQUFBO0lBQ3BCLDRCQUFjLENBQUE7SUFDZCxpQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBb0IsQ0FBQTtJQUNwQixnQ0FBa0IsQ0FBQTtJQUNsQiwyQkFBYSxDQUFBO0FBQ2QsQ0FBQyxFQVhXLFVBQVUsS0FBVixVQUFVLFFBV3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNyQix5QkFBVyxDQUFBO0lBQ1gsNkJBQWUsQ0FBQTtBQUNoQixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKipcclxuICogYGV4cG9ydExhYmVsYCBkb3N5YSBpc21pXHJcbiAqXHJcbiAqIGByb3V0ZWAgc2VydmljZSBwYXRoXHJcbiAqXHJcbiAqIGBwYXJhbXNgIHNlcnZpY2UgcGF5bG9hZFxyXG4gKlxyXG4gKiBgZGF0ZUNvbHVtbkZvcm1hdE1hcGAgY29sdW1uIHZhbHVlIERhdGUgaXNlIGZvcm1hdCB2ZXJpbG1lbGkge0BsaW5rIERhdGVGb3JtYXR9XHJcbiAqXHJcbiAqIGBjb21wdXRlZENvbHVtbk1hcGAganNvblBhdGggKHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanNvbi1wYXRoL0pzb25QYXRofSkgZm9ybWF0xLFuZGEgeWVuaSBmaWVsZCB0YW7EsW1sYW1hayBpw6dpbiBrdWxsYW7EsWzEsXIuXHJcbiAqXHJcbiAqIGBleGNsdWRlZEZpZWxkc2AgZXhwb3J0IGVkaWxtZW1lc2kgaXN0ZW5lbiBmaWVsZCdsYXJcclxuICpcclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hcmlsLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvTlREL3BhZ2VzLzg0MjIwMzEzOS9CYXRjaCtFeGNlbCtDU1YrRXhwb3J0K0Zyb20rQ29udHJvbGxlcnN9XHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBLdWxsYW7EsW0gw5ZybmXEn2lcclxuICpcclxuICogYGBgXHJcbiAqIDxpIHJvbGU9XCJidXR0b25cIiBjbGFzcz1cInBpIHBpLWZpbGUtZXhwb3J0XCIgKGNsaWNrKT1cInRhYmxlUmVmLnRvZ2dsZUV4cG9ydCgkZXZlbnQpXCI+PC9pPlxyXG4gKlxyXG4gKiA8YXJpbC10YWJsZVxyXG4gKiAgICAgICN0YWJsZVJlZlxyXG4gKiAgICAgIFtleHBvcnRDb25maWddPVwie1xyXG4gKlx0XHRcdGV4cG9ydExhYmVsOiAnVMO8a2V0aW0gTGlzdGVzaScsXHJcbiAqXHRcdFx0cm91dGU6ICdjb25zdW1wdGlvbnMvc2VhcmNoJyxcclxuICpcdFx0XHRwYXJhbXM6IFtmb3JtLnZhbHVlXSxcclxuICpcdFx0XHRleGNsdWRlZEZpZWxkczogWydpZCddXHJcbiAqXHRcdFx0ZGF0ZUNvbHVtbkZvcm1hdE1hcDogeyBzdGFydERhdGU6IERhdGVGb3JtYXQuWWVhciwgZW5kRGF0ZTogRGF0ZUZvcm1hdC5Ib3VyIH0sXHJcbiAqXHRcdFx0Y29sdW1uRmllbGRWYWx1ZU1hcDogeyBzdGF0dXM6IHsgZ3JvdXBOYW1lOiAnSW52b2ljZVN0YXR1cycgfSB9XHJcbiAqICAgICAgfVwiPlxyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0T3B0aW9ucyBleHRlbmRzIE9taXQ8RXhwb3J0UmVxdWVzdCwgJ2V4cG9ydFR5cGUnIHwgJ2hlYWRlck5hbWVzJyB8ICdvdXRwdXRGaWVsZHMnPiB7XHJcblx0ZXhjbHVkZWRGaWVsZHM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRGF0ZUZvcm1hdCB7XHJcblx0SG91ciA9ICdoaDptbScsXHJcblx0VGltZSA9ICdkZC9NTU1NL3l5eXkgaGg6bW0nLFxyXG5cdFNlY29uZCA9ICdkZC9NTU1NL3l5eXkgaGg6bW06c3MnLFxyXG5cdE1pbnV0ZSA9ICdkZC9NTU1NL3l5eXkgaGg6bW0nLFxyXG5cdERheSA9ICdkZC9NTU1NL3l5eXknLFxyXG5cdE9ubHlEYXkgPSAnZGQnLFxyXG5cdE1vbnRoID0gJ01NTU0veXl5eScsXHJcblx0TW9udGhJbnQgPSAnTU0veXl5eScsXHJcblx0T25seU1vbnRoID0gJ01NTU0nLFxyXG5cdFllYXIgPSAneXl5eSdcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXhwb3J0VHlwZSB7XHJcblx0Q3N2ID0gJ0NTVicsXHJcblx0RXhjZWwgPSAnRVhDRUwnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0UmVxdWVzdCB7XHJcblx0ZXhwb3J0VHlwZTogRXhwb3J0VHlwZTtcclxuXHRleHBvcnRMYWJlbDogc3RyaW5nO1xyXG5cdHJvdXRlOiBzdHJpbmc7XHJcblx0cGFyYW1zOiBBcnJheTxhbnk+O1xyXG5cdGhlYWRlck5hbWVzOiBzdHJpbmdbXTtcclxuXHRvdXRwdXRGaWVsZHM6IHN0cmluZ1tdO1xyXG5cdGNvbHVtbkZpZWxkVmFsdWVNYXA/OiBDb2x1bW5GaWVsZFZhbHVlTWFwO1xyXG5cdGRhdGVDb2x1bW5Gb3JtYXRNYXA/OiBEYXRlQ29sdW1uRm9ybWF0TWFwO1xyXG5cdGNvbXB1dGVkQ29sdW1uTWFwPzogQ29tcHV0ZWRDb2x1bW5NYXA7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0Rm9ybSB7XHJcblx0ZXhwb3J0VHlwZTogRm9ybUNvbnRyb2w8RXhwb3J0VHlwZT47XHJcblx0ZXhwb3J0TGFiZWw6IEZvcm1Db250cm9sPHN0cmluZz47XHJcblx0Y29sdW1uczogRm9ybUFycmF5PEZvcm1Hcm91cDxDb2xGb3JtPj47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sRm9ybSB7XHJcblx0Y2hlY2tlZDogRm9ybUNvbnRyb2w8Ym9vbGVhbj47XHJcblx0dGl0bGU6IEZvcm1Db250cm9sPHN0cmluZz47XHJcblx0ZGF0YUtleTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5GaWVsZFZhbHVlTWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBDb2x1bW5GaWVsZFZhbHVlTWFwVmFsdWU7XHJcbn1cclxuXHJcbmludGVyZmFjZSBDb2x1bW5GaWVsZFZhbHVlTWFwVmFsdWUge1xyXG5cdGdyb3VwTmFtZTogc3RyaW5nO1xyXG5cdHBhcmVudFNlbGVjdGlvbktleT86IHN0cmluZztcclxufVxyXG5cclxuaW50ZXJmYWNlIENvbXB1dGVkQ29sdW1uTWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBEYXRlQ29sdW1uRm9ybWF0TWFwIHtcclxuXHRba2V5OiBzdHJpbmddOiBEYXRlRm9ybWF0O1xyXG59XHJcbiJdfQ==
|
|
@@ -131,11 +131,12 @@ export class TableComponent {
|
|
|
131
131
|
if (columnFieldValueMap) {
|
|
132
132
|
const tempObj = {};
|
|
133
133
|
await firstValueFrom(from(Object.entries(columnFieldValueMap)).pipe(concatMap(([fieldName, value]) => {
|
|
134
|
-
if (!this.selectionGroupService.selectionGroups()[value.groupName]) {
|
|
135
|
-
this.selectionGroupService.fetchEnum(value.groupName);
|
|
134
|
+
if (!this.selectionGroupService.selectionGroups()[`${value.groupName}~${value.parentSelectionKey ?? 'ALL'}`]) {
|
|
135
|
+
this.selectionGroupService.fetchEnum(value.groupName, value.parentSelectionKey);
|
|
136
136
|
}
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
const key = value.groupName + '~' + (value.parentSelectionKey ?? 'ALL');
|
|
138
|
+
return interval(10).pipe(filter(() => !this.selectionGroupService.isLoading(key)), take(1), map(() => {
|
|
139
|
+
const selectionGroup = this.selectionGroupService.selectionGroups()[key];
|
|
139
140
|
if (selectionGroup) {
|
|
140
141
|
tempObj[fieldName] = selectionGroup.selectionItems.reduce((acc, item) => {
|
|
141
142
|
acc[item.selectionKey] = item.selectionDisplay;
|
|
@@ -219,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
219
220
|
}], kebabMenuItems: [{
|
|
220
221
|
type: Input
|
|
221
222
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsY0FBYyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUEwRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEgsT0FBTyxFQUFjLG9CQUFvQixFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRjs7Ozs7R0FLRztBQUNILE1B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Q0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDZ0MsT0FBTztzQkFBN0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBQ1osRUFBRTtzQkFBMUIsU0FBUzt1QkFBQyxZQUFZO2dCQUNMLFFBQVE7c0JBQXpCLFNBQVM7dUJBQUMsS0FBSztnQkFDUCxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtLCBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWwgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcblxyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHtcclxuXHRjYXRjaEVycm9yLFxyXG5cdGNvbmNhdE1hcCxcclxuXHRmaWx0ZXIsXHJcblx0ZmluYWxpemUsXHJcblx0Zmlyc3RWYWx1ZUZyb20sXHJcblx0ZnJvbSxcclxuXHRpbnRlcnZhbCxcclxuXHRtYXAsXHJcblx0c3dpdGNoTWFwLFxyXG5cdHRha2UsXHJcblx0dGhyb3dFcnJvcixcclxuXHR0b0FycmF5XHJcbn0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBUElfQ09ORklHUyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgUHJveHlUeXBlcyB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuXHJcbmltcG9ydCB7IHRyYW5sYXRpb25zIH0gZnJvbSAnLi9pMThuJztcclxuaW1wb3J0IHsgQ29sRm9ybSwgQ29sdW1uRmllbGRWYWx1ZU1hcCwgRXhwb3J0Rm9ybSwgRXhwb3J0T3B0aW9ucywgRXhwb3J0UmVxdWVzdCwgRXhwb3J0VHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEFsaWduVHlwZXMsIFRhYmxlQ29sdW1uQ29tcG9uZW50LCBUYWJsZUNvbHVtbnMgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyogVE9ETyA6XHJcbiAqIHNlcnZlci1zaWRlLXByb3h5IChQcm94eVR5cGVzLlNlcnZlclNpZGUpXHJcbiAqIHNlYXJjaCAmIGNvbHVtIGZpbHRlciAmIHNvcnRcclxuICogcGFnaW5hdGlvbiBvcGVyYXRpb25cclxuICogUXVlcnkgU2lnbmFsc1xyXG4gKi9cclxuY29uc3QgcGFnZU9wdGlvbnMgPSBbMTAsIDIwLCA1MCwgMTAwXSBhcyBjb25zdDtcclxuXHJcbnR5cGUgU2VsZWN0aW9uVHlwZXMgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XHJcblxyXG5pbnRlcmZhY2UgSUtlYmFiTWVudUl0ZW0ge1xyXG5cdGljb246IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdG9uQ2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcmlsLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcblx0QE91dHB1dCgpIG9uUGFnZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgbGF6eUxvYWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAQ29udGVudENoaWxkcmVuKFRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zITogVGFibGVDb2x1bW5zO1xyXG5cdEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvcCE6IE92ZXJsYXlQYW5lbDtcclxuXHRAVmlld0NoaWxkKFRhYmxlKSB0YWJsZVJlZiE6IFRhYmxlO1xyXG5cdEBJbnB1dCgpIGtlYmFiTWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XHJcblxyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuXHRjaGVja2JveFNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblx0aGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdHBhZ2VTaXplID0gaW5wdXQ8KHR5cGVvZiBwYWdlT3B0aW9ucylbbnVtYmVyXT4oMTApO1xyXG5cdHByb3h5ID0gaW5wdXQ8UHJveHlUeXBlcz4oUHJveHlUeXBlcy5OYXRpdmUpO1xyXG5cdHNob3dGb290ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dEFsaWduID0gaW5wdXQ8QWxpZ25UeXBlcz4oJ2xlZnQnKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uVHlwZXM+KCk7XHJcblx0c2hvd1NlYXJjaFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRzaG93RXhwb3J0VG9vbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGV4cG9ydEZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bm9EYXRhRm91bmRMYWJlbCA9IGlucHV0PHN0cmluZz4oJ05vIERhdGEgRm91bmQnKTtcclxuXHR0YWJsZUhlYWRlciA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNob3dUYWJsZUhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc0ZpcnN0Um93U2VsZWN0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZGF0YUtleSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNlbGVjdGVkUm93c0lucHV0ID0gaW5wdXQ8YW55PihbXSk7XHJcblx0aXNMYXp5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRvdGFsUmVjb3JkcyA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0cGFnaW5hdG9yID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUbyA9IGlucHV0PHN0cmluZz4oJ2JvZHknKTsgLy8gJ2JvZHknfCAnbXlEaXYnXHJcblxyXG5cdC8qKlxyXG5cdCAqIEBzZWUge0BsaW5rIEV4cG9ydE9wdGlvbnN9XHJcblx0ICovXHJcblx0ZXhwb3J0Q29uZmlnID0gaW5wdXQ8RXhwb3J0T3B0aW9ucz4oKTtcclxuXHJcblx0ZXhwb3J0Rm9ybSE6IEZvcm1Hcm91cDxFeHBvcnRGb3JtPjtcclxuXHRleHBvcnRUeXBlT3B0aW9ucyA9IFtcclxuXHRcdHsga2V5OiBFeHBvcnRUeXBlLkV4Y2VsLCBsYWJlbDogJ0V4Y2VsJywgZmlsZUV4dGVuc2lvbjogJy54bHN4JyB9LFxyXG5cdFx0eyBrZXk6IEV4cG9ydFR5cGUuQ3N2LCBsYWJlbDogJ0NzdicsIGZpbGVFeHRlbnNpb246ICcuY3N2JyB9XHJcblx0XTtcclxuXHJcblx0ZmlsdGVyVGV4dCE6IHN0cmluZztcclxuXHRpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcclxuXHRzZWxlY3RlZFJvd3M6IGFueTtcclxuXHRwYWdlT3B0aW9ucyA9IHBhZ2VPcHRpb25zO1xyXG5cdGV4cG9ydENvbHVtbnM6IEFycmF5PHsgdGl0bGU6IHN0cmluZzsgZGF0YUtleTogc3RyaW5nIH0+ID0gW107XHJcblx0aXNDb2x1bW5FeHBhbmRNb2RlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGlzUmVzaXphYmxlQ29sdW1ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGZiOiBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSBwcmltZW5nQ29uZmlnOiBQcmltZU5HQ29uZmlnLFxyXG5cdFx0cHJpdmF0ZSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcmltZW5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHRyYW5sYXRpb25zKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSb3dzSW5wdXQoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3RlZFJvd3NJbnB1dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5leHBvcnRDb25maWcoKSkge1xyXG5cdFx0XHRcdHRoaXMuY3JlYXRlRXhwb3J0Rm9ybSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY3JlYXRlRXhwb3J0Rm9ybSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0TGFiZWwgfSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdHRoaXMuZXhwb3J0Rm9ybSA9IHRoaXMuZmIuZ3JvdXA8RXhwb3J0Rm9ybT4oe1xyXG5cdFx0XHRleHBvcnRUeXBlOiB0aGlzLmZiLmNvbnRyb2woRXhwb3J0VHlwZS5FeGNlbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcblx0XHRcdGV4cG9ydExhYmVsOiB0aGlzLmZiLmNvbnRyb2woZXhwb3J0TGFiZWwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmZiLmFycmF5PEZvcm1Hcm91cDxDb2xGb3JtPj4oW10pXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmNvbHVtbnMuX3Jlc3VsdHNcclxuXHRcdFx0LmZpbHRlcigoY29sKSA9PiBjb2wudHlwZSgpICE9PSAnb3BlcmF0aW9ucycpXHJcblx0XHRcdC5maWx0ZXIoKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGV4cG9ydENvbmZpZyA9IHRoaXMuZXhwb3J0Q29uZmlnKCk7XHJcblx0XHRcdFx0Y29uc3QgZXhjbHVkZWRGaWVsZHMgPSBleHBvcnRDb25maWc/LmV4Y2x1ZGVkRmllbGRzID8/IFtdO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gIWV4Y2x1ZGVkRmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCgpKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LmZvckVhY2goKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGNvbEdyb3VwID0gdGhpcy5mYi5ncm91cDxDb2xGb3JtPih7XHJcblx0XHRcdFx0XHRjaGVja2VkOiB0aGlzLmZiLmNvbnRyb2wodHJ1ZSksXHJcblx0XHRcdFx0XHR0aXRsZTogdGhpcy5mYi5jb250cm9sKGNvbC5oZWFkZXIoKSksXHJcblx0XHRcdFx0XHRkYXRhS2V5OiB0aGlzLmZiLmNvbnRyb2woY29sLmZpZWxkKCkpXHJcblx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLnB1c2goY29sR3JvdXApO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0KSA9PiAodGhpcy5pc0FsbFNlbGVjdGVkID0gdC5ldmVyeSgoYSkgPT4gYS5jaGVja2VkKSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGhvc3RVcmwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBgJHtnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sfS8vJHtnbG9iYWxUaGlzLmxvY2F0aW9uLmhvc3R9L2h0bWwvYDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGV4cG9ydCgpIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0VHlwZSwgZXhwb3J0TGFiZWwsIGNvbHVtbnMgfSA9IHRoaXMuZXhwb3J0Rm9ybS52YWx1ZTtcclxuXHRcdGNvbnN0IHsgcm91dGUsIHBhcmFtcywgY29sdW1uRmllbGRWYWx1ZU1hcCwgZGF0ZUNvbHVtbkZvcm1hdE1hcCwgY29tcHV0ZWRDb2x1bW5NYXAgfSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdGNvbnN0IGNoZWNrZWRDb2x1bW5zID0gY29sdW1ucyEuZmlsdGVyKCh0KSA9PiB0LmNoZWNrZWQpO1xyXG5cdFx0Y29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZXhwb3J0VHlwZU9wdGlvbnMuZmluZCgodCkgPT4gdC5rZXkgPT09IGV4cG9ydFR5cGUpPy5maWxlRXh0ZW5zaW9uO1xyXG5cclxuXHRcdGxldCBjb2x1bW5GaWVsZFZhbHVlTWFwT2JqOiBDb2x1bW5GaWVsZFZhbHVlTWFwIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRcdGlmIChjb2x1bW5GaWVsZFZhbHVlTWFwKSB7XHJcblx0XHRcdGNvbnN0IHRlbXBPYmogPSB7fSBhcyBDb2x1bW5GaWVsZFZhbHVlTWFwO1xyXG5cclxuXHRcdFx0YXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdFx0ZnJvbShPYmplY3QuZW50cmllcyhjb2x1bW5GaWVsZFZhbHVlTWFwKSkucGlwZShcclxuXHRcdFx0XHRcdGNvbmNhdE1hcCgoW2ZpZWxkTmFtZSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmICghdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbdmFsdWUuZ3JvdXBOYW1lXSkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmZldGNoRW51bSh2YWx1ZS5ncm91cE5hbWUpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaW50ZXJ2YWwoMTApLnBpcGUoXHJcblx0XHRcdFx0XHRcdFx0ZmlsdGVyKCgpID0+ICF0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5pc0xvYWRpbmcodmFsdWUuZ3JvdXBOYW1lKSksXHJcblx0XHRcdFx0XHRcdFx0dGFrZSgxKSxcclxuXHRcdFx0XHRcdFx0XHRtYXAoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVt2YWx1ZS5ncm91cE5hbWVdO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHNlbGVjdGlvbkdyb3VwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRlbXBPYmpbZmllbGROYW1lXSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLnJlZHVjZSgoYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBpdGVtKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YWNjW2l0ZW0uc2VsZWN0aW9uS2V5XSA9IGl0ZW0uc2VsZWN0aW9uRGlzcGxheTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sIHt9KSBhcyBhbnk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdFx0dG9BcnJheSgpLFxyXG5cdFx0XHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb2x1bW5GaWVsZFZhbHVlTWFwT2JqID0gdGVtcE9iajtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHJlcXVlc3Q6IEV4cG9ydFJlcXVlc3QgPSB7XHJcblx0XHRcdHJvdXRlOiByb3V0ZSEsXHJcblx0XHRcdHBhcmFtczogcGFyYW1zISxcclxuXHRcdFx0ZXhwb3J0VHlwZTogZXhwb3J0VHlwZSEsXHJcblx0XHRcdGV4cG9ydExhYmVsOiBleHBvcnRMYWJlbCEsXHJcblx0XHRcdGNvbXB1dGVkQ29sdW1uTWFwOiBjb21wdXRlZENvbHVtbk1hcCEsXHJcblx0XHRcdGRhdGVDb2x1bW5Gb3JtYXRNYXA6IGRhdGVDb2x1bW5Gb3JtYXRNYXAhLFxyXG5cdFx0XHRjb2x1bW5GaWVsZFZhbHVlTWFwOiBjb2x1bW5GaWVsZFZhbHVlTWFwT2JqISxcclxuXHRcdFx0aGVhZGVyTmFtZXM6IGNoZWNrZWRDb2x1bW5zLm1hcCgoY29sKSA9PiBjb2wudGl0bGUhKSxcclxuXHRcdFx0b3V0cHV0RmllbGRzOiBjaGVja2VkQ29sdW1ucy5tYXAoKGNvbCkgPT4gY29sLmRhdGFLZXkhKVxyXG5cdFx0fTtcclxuXHJcblx0XHRjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxyXG5cdFx0XHR0aGlzLmh0dHAucG9zdDx7IHN1Y2Nlc3M6IGJvb2xlYW47IHVybDogc3RyaW5nIH0+KEFQSV9DT05GSUdTLmFwaSArICcvYmF0Y2gtZXhwb3J0ZXJzL2V4cG9ydCcsIHJlcXVlc3QpLnBpcGUoXHJcblx0XHRcdFx0c3dpdGNoTWFwKChyZXMpID0+XHJcblx0XHRcdFx0XHR0aGlzLmh0dHAuZ2V0KEFQSV9DT05GSUdTLmFwaSArICcvYnVja2V0LW9iamVjdHMvZG93bmxvYWQnLCB7XHJcblx0XHRcdFx0XHRcdHBhcmFtczogeyB1cmw6IHJlcy51cmwgfSxcclxuXHRcdFx0XHRcdFx0cmVzcG9uc2VUeXBlOiAnYmxvYidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0XHRjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGVycm9yLnN0YXR1cyA9PT0gNTA0KSB7XHJcblx0XHRcdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dGhpcy5ob3N0VXJsfW1uZy8jL21uZy9jb250cm9sLW1hbmFnZW1lbnQvZXhwb3J0LXJlcXVlc3RzYDtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ0hhdGEgb2x1xZ90dTonLCBlcnJvcik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KVxyXG5cdFx0KTtcclxuXHJcblx0XHRzYXZlQXMocmVzcG9uc2UsIGAke2V4cG9ydExhYmVsfS0ke25ldyBEYXRlKCkuZ2V0VGltZSgpfSR7ZmlsZUV4dGVuc2lvbn1gKTtcclxuXHR9XHJcblxyXG5cdG9uU2VsZWN0QWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1Hcm91cCA9IHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmF0KGkpO1xyXG5cdFx0XHRmb3JtR3JvdXAuY29udHJvbHMuY2hlY2tlZC5zZXRWYWx1ZSh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0b2dnbGVFeHBvcnQgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblxyXG5cdGhhbmRsZUxhenlMb2FkRXZlbnQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0Y29uc3QgbmV3RXZlbnREYXRhID0ge1xyXG5cdFx0XHRwYWdlcjoge1xyXG5cdFx0XHRcdHBhZ2VTaXplOiBldmVudC5yb3dzLFxyXG5cdFx0XHRcdHBhZ2VOdW1iZXI6IGV2ZW50LmZpcnN0IC8gZXZlbnQucm93cyArIDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c29ydDogZXZlbnQubXVsdGlTb3J0TWV0YSxcclxuXHRcdFx0ZmlsdGVyOiBldmVudC5maWx0ZXJzXHJcblx0XHR9O1xyXG5cdFx0dGhpcy5sYXp5TG9hZEV2ZW50LmVtaXQobmV3RXZlbnREYXRhKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyKCk6IHZvaWQge1xyXG5cdFx0dGhpcy50YWJsZVJlZi52YWx1ZSA9IFtdO1xyXG5cdFx0dGhpcy50YWJsZVJlZi5jbGVhcigpO1xyXG5cdFx0dGhpcy5vcD8uaGlkZSgpO1xyXG5cdH1cclxufVxyXG4iLCI8cC10YWJsZVxyXG5cdCNyZWZcclxuXHRbdmFsdWVdPVwiZGF0YSgpXCJcclxuXHRbZGF0YUtleV09XCJkYXRhS2V5KClcIlxyXG5cdFtjb2x1bW5zXT1cImNvbHVtbnMuX3Jlc3VsdHNcIlxyXG5cdFtyb3dzXT1cInBhZ2VTaXplKClcIlxyXG5cdFtyb3dIb3Zlcl09XCJ0cnVlXCJcclxuXHRbcGFnaW5hdG9yXT1cInBhZ2luYXRvcigpXCJcclxuXHRbbGF6eV09XCJpc0xhenkoKVwiXHJcblx0W2xhenlMb2FkT25Jbml0XT1cImZhbHNlXCJcclxuXHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3JkcygpXCJcclxuXHRbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwgMjAsIDUwLCAxMDBdXCJcclxuXHRbZmlsdGVyRGVsYXldPVwiMFwiXHJcblx0c29ydE1vZGU9XCJtdWx0aXBsZVwiXHJcblx0WyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkUm93c1wiXHJcblx0KG9uUGFnZSk9XCJvblBhZ2VFdmVudC5lbWl0KCRldmVudClcIlxyXG5cdChvbkxhenlMb2FkKT1cImhhbmRsZUxhenlMb2FkRXZlbnQoJGV2ZW50KVwiXHJcblx0KHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkUm93cylcIlxyXG5cdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRbY29sdW1uUmVzaXplTW9kZV09XCJpc0NvbHVtbkV4cGFuZE1vZGUoKSA/ICdleHBhbmQnOiAnJ1wiXHJcblx0W3Jlc2l6YWJsZUNvbHVtbnNdPVwiaXNSZXNpemFibGVDb2x1bW5zKClcIlxyXG5cdGN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGU9XCJUb3BsYW0gOiB7dG90YWxSZWNvcmRzfSBrYXnEsXQgfCBTYXlmYSA6IHtjdXJyZW50UGFnZX0gLyB7dG90YWxQYWdlc31cIlxyXG5cdHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zbVwiXHJcblx0W3BhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG9dPVwicGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUbygpXCI+XHJcblx0PCEtLUBpZiAodGFibGVIZWFkZXIoKSB8fCBzaG93U2VhcmNoVG9vbCgpIHx8IHNob3dFeHBvcnRUb29sKCkpIHtcclxuXHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJjYXB0aW9uXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IHNwYWNlLWJldHdlZW5cIj5cclxuXHRcdFx0XHQ8ZGl2IHN0eWxlPVwiZmxleDogYXV0b1wiPlxyXG5cdFx0XHRcdFx0QGlmICh0YWJsZUhlYWRlcigpLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgdGFibGVIZWFkZXIoKSB9fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8ZGl2IHN0eWxlPVwiZmxleDogYXV0b1wiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0QGlmIChmYWxzZSkge1xyXG5cdFx0XHRcdFx0XHRcdDxhcmlsLXRleHRcclxuXHRcdFx0XHRcdFx0XHRcdGljb249XCJTRUFSQ0hcIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvblBvcz1cImxlZnRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJBcmFtYVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbF09XCJmaWx0ZXJUZXh0XCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXItMVwiXHJcblx0XHRcdFx0XHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJyZWYuZmlsdGVyR2xvYmFsKCRldmVudC50YXJnZXQudmFsdWUsICdjb250YWlucycpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLXRleHQ+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0QGlmIChmYWxzZSkge1xyXG5cdFx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb249XCJGSUxFX0VYQ0VMXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRwVG9vbHRpcD1cIlhMU1wiXHJcblx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiZXhjZWxFeHBvcnQoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1yLTFcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdFx0XHRcdGljb249XCJGSUxFX1BERlwiXHJcblx0XHRcdFx0XHRcdFx0XHRjb2xvcj1cInByaW1hcnlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0cFRvb2x0aXA9XCJQREZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImV4cG9ydFBkZigpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaWYgKGRhdGEoKSAmJiBrZWJhYk1lbnVJdGVtcy5sZW5ndGggPiAwICkge1xyXG5cdFx0XHRcdFx0XHRcdDxkaXYgdG9vbHMgc3R5bGU9XCJwYWRkaW5nOiA0cHg7bWFyZ2luLWxlZnQ6IDRweDtib3JkZXI6MXB4IHNvbGlkICM2MzY2ZjE7Ym9yZGVyLXJhZGl1czogNnB4O2JhY2tncm91bmQtY29sb3I6ICM2MzY2ZjE7IGNvbG9yOiB3aGl0ZTtcIiA+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbYXR0ci5yb2xlXT1cIidub25lJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicGkgbXItMSBoZWFkZXItaWNvbiBwaS1lbGxpcHNpcy12XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImJ1bGtPcGVyYXRpb25zLnRvZ2dsZSgkZXZlbnQpO1wiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdDxwLW1lbnVcclxuXHRcdFx0XHRcdFx0XHRcdFx0I2J1bGtPcGVyYXRpb25zXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtwb3B1cF09XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W21vZGVsXT1cImtlYmFiTWVudUl0ZW1zXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGVDbGFzcz1cInotaW5kZXg6IDk5OTg4OTk7XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0YXBwZW5kVG89XCJib2R5XCI+PC9wLW1lbnU+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fS0tPlxyXG5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcblx0XHQ8dHI+XHJcblx0XHRcdEBpZiAoY2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdEBpZiAoaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdFx0XHQ8cC10YWJsZUhlYWRlckNoZWNrYm94PjwvcC10YWJsZUhlYWRlckNoZWNrYm94PlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdH1cclxuXHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdEBpZiAoY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnKSB7XHJcblx0XHRcdFx0XHQ8dGg+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj7EsMWfbGVtbGVyPC9kaXY+XHJcblx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdH0gQGVsc2Uge1xyXG5cclxuXHRcdFx0XHRcdEBpZiAoaXNSZXNpemFibGVDb2x1bW5zKCkpIHtcclxuXHRcdFx0XHRcdFx0PHRoIFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJ31cIiBwUmVzaXphYmxlQ29sdW1uPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi5pc1Nob3dIZWFkZXJUb29sdGlwKCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW47IHBhZGRpbmctdG9wOiA0cHg7IHBhZGRpbmctbGVmdDogNHB4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cImNvbHVtbi50b29sdGlwVGVtcGxhdGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0QGlmICghaXNMYXp5KCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHRcdDx0aCBbcFNvcnRhYmxlQ29sdW1uXT1cImNvbHVtbi5maWVsZCgpXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IGNvbHVtbi53aWR0aCgpID8gY29sdW1uLndpZHRoKCkgOiAnYXV0byd9XCIgPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKGNvbHVtbi5pc1Nob3dIZWFkZXJUb29sdGlwKCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogZ3JlZW47IHBhZGRpbmctdG9wOiA0cHg7IHBhZGRpbmctbGVmdDogNHB4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktaW5mby1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cImNvbHVtbi50b29sdGlwVGVtcGxhdGUoKVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0QGlmICghaXNMYXp5KCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIj48L3Atc29ydEljb24+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0PC90cj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1pdGVtIGxldC1jb2x1bW5zPVwiY29sdW1uc1wiPlxyXG5cdFx0QGlmIChzZWxlY3Rpb25Nb2RlKCkpIHtcclxuXHRcdFx0PHRyIFtwU2VsZWN0YWJsZVJvd109XCJpdGVtXCI+XHJcblx0XHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PHRkIFtuZ1N0eWxlXT1cInsgJ3RleHQtYWxpZ24nOiBjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycgPyAnY2VudGVyJyA6IGNvbHVtbi50QWxpZ24oKSB8fCB0QWxpZ24oKSB9XCI+XHJcblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbaXRlbV1cIiBbbmdGb3JUZW1wbGF0ZV09XCJjb2x1bW4udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvdHI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHRyIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBpdGVtPy5yb3dDb2xvciA/IGl0ZW0/LnJvd0NvbG9yIDogJyNmZmYnIH1cIj5cclxuXHRcdFx0XHRAaWYgKGNoZWNrYm94U2VsZWN0aW9uKCkpIHtcclxuXHRcdFx0XHRcdDx0ZD5cclxuXHRcdFx0XHRcdFx0PHAtdGFibGVDaGVja2JveCBbdmFsdWVdPVwiaXRlbVwiPjwvcC10YWJsZUNoZWNrYm94PlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdDx0ZCBbbmdTdHlsZV09XCJ7ICd0ZXh0LWFsaWduJzogY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnID8gJ2NlbnRlcicgOiBjb2x1bW4udEFsaWduKCkgfHwgdEFsaWduKCkgfVwiPlxyXG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiW2l0ZW1dXCIgW25nRm9yVGVtcGxhdGVdPVwiY29sdW1uLnRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0fVxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdEBpZiAoc2hvd0Zvb3RlcigpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic3VtbWFyeVwiPlxyXG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0fVxyXG5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZW1wdHltZXNzYWdlXCI+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMuX3Jlc3VsdHMubGVuZ3RoXCI+e3sgbm9EYXRhRm91bmRMYWJlbCgpIH19PC90ZD5cclxuXHRcdDwvdHI+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuPC9wLXRhYmxlPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsIHN0eWxlQ2xhc3M9XCJleHBvcnQtb3ZlcmxheS1wYW5lbFwiPlxyXG5cdEBpZiAoZXhwb3J0Rm9ybSkge1xyXG5cdFx0PGFyaWwtZm9ybSBbZm9ybUdyb3VwXT1cImV4cG9ydEZvcm1cIiBjbGFzcz1cInctMjByZW1cIj5cclxuXHRcdFx0PGFyaWwtZmllbGQgW2xhYmVsXT1cIidFeHBvcnQgVGlwaSdcIiBbY29sc109XCJ7IGRlZmF1bHQ6IDEyIH1cIj5cclxuXHRcdFx0XHQ8YXJpbC1yYWRpby1idXR0b24gZm9ybUNvbnRyb2xOYW1lPVwiZXhwb3J0VHlwZVwiIFtvcHRpb25zXT1cImV4cG9ydFR5cGVPcHRpb25zXCIgLz5cclxuXHRcdFx0PC9hcmlsLWZpZWxkPlxyXG5cclxuXHRcdFx0PGFyaWwtZmllbGQgW2xhYmVsXT1cIidEb3N5YSDEsHNtaSdcIiBbY29sc109XCJ7IGRlZmF1bHQ6IDEyIH1cIj5cclxuXHRcdFx0XHQ8YXJpbC10ZXh0IGNsYXNzPVwidy1mdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZXhwb3J0TGFiZWxcIiAvPlxyXG5cdFx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0XHQ8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJjb2x1bW5zXCI+XHJcblx0XHRcdFx0PHAtb3JkZXJMaXN0XHJcblx0XHRcdFx0XHQjb3JkZXJMaXN0UmVmXHJcblx0XHRcdFx0XHRjbGFzcz1cImNvbC0xMlwiXHJcblx0XHRcdFx0XHRbdmFsdWVdPVwiZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLmNvbnRyb2xzXCJcclxuXHRcdFx0XHRcdFtsaXN0U3R5bGVdPVwieyAnbWF4LWhlaWdodCc6ICcyMHJlbScgfVwiXHJcblx0XHRcdFx0XHRmaWx0ZXJCeT1cInZhbHVlLnRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZmlsdGVyXCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxhcmlsLWNoZWNrYm94XHJcblx0XHRcdFx0XHRcdFx0XHRbbGFiZWxdPVwiJydcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W25nTW9kZWxdPVwiaXNBbGxTZWxlY3RlZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxyXG5cdFx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RBbGwoJGV2ZW50KVwiIC8+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJwLW9yZGVybGlzdC1maWx0ZXJcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ZpbHRlcidcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQjZmlsdGVyXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0cm9sZT1cInRleHRib3hcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoa2V5dXApPVwib3JkZXJMaXN0UmVmLm9uRmlsdGVyS2V5dXAoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJvcmRlckxpc3RSZWYuZGlzYWJsZWRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cInAtb3JkZXJsaXN0LWZpbHRlci1pbnB1dCBwLWlucHV0dGV4dCBwLWNvbXBvbmVudFwiIC8+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtY29sIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdFx0PGFyaWwtY2hlY2tib3ggW2xhYmVsXT1cImNvbC52YWx1ZS50aXRsZVwiIFtmb3JtQ29udHJvbF09XCJjb2wuY29udHJvbHMuY2hlY2tlZFwiIC8+XHJcblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdDwvcC1vcmRlckxpc3Q+XHJcblx0XHRcdDwvbmctY29udGFpbmVyPlxyXG5cclxuXHRcdFx0PGFyaWwtYnV0dG9uIGNsYXNzPVwiY29sLTEyXCIgbGFiZWw9XCJFeHBvcnRcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2tFdmVudCk9XCJleHBvcnQoKVwiIC8+XHJcblx0XHQ8L2FyaWwtZm9ybT5cclxuXHR9XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFDTixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1IsY0FBYyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDckMsT0FBTyxFQUEwRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEgsT0FBTyxFQUFjLG9CQUFvQixFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUUxRjs7Ozs7R0FLRztBQUNILE1B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b3RIQUlULG9CQUFvQixpRUFDMUIsWUFBWSwyRUFDWixLQUFLLGdEQzFEakIsMmdTQXNPQTs7MkZEbExhLGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0MsWUFBWTtvTEFJWixXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDZ0MsT0FBTztzQkFBN0MsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBQ1osRUFBRTtzQkFBMUIsU0FBUzt1QkFBQyxZQUFZO2dCQUNMLFFBQVE7c0JBQXpCLFNBQVM7dUJBQUMsS0FBSztnQkFDUCxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1lbnVJdGVtLCBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWwgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRhYmxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XHJcblxyXG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHtcclxuXHRjYXRjaEVycm9yLFxyXG5cdGNvbmNhdE1hcCxcclxuXHRmaWx0ZXIsXHJcblx0ZmluYWxpemUsXHJcblx0Zmlyc3RWYWx1ZUZyb20sXHJcblx0ZnJvbSxcclxuXHRpbnRlcnZhbCxcclxuXHRtYXAsXHJcblx0c3dpdGNoTWFwLFxyXG5cdHRha2UsXHJcblx0dGhyb3dFcnJvcixcclxuXHR0b0FycmF5XHJcbn0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBUElfQ09ORklHUyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgUHJveHlUeXBlcyB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuXHJcbmltcG9ydCB7IHRyYW5sYXRpb25zIH0gZnJvbSAnLi9pMThuJztcclxuaW1wb3J0IHsgQ29sRm9ybSwgQ29sdW1uRmllbGRWYWx1ZU1hcCwgRXhwb3J0Rm9ybSwgRXhwb3J0T3B0aW9ucywgRXhwb3J0UmVxdWVzdCwgRXhwb3J0VHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEFsaWduVHlwZXMsIFRhYmxlQ29sdW1uQ29tcG9uZW50LCBUYWJsZUNvbHVtbnMgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyogVE9ETyA6XHJcbiAqIHNlcnZlci1zaWRlLXByb3h5IChQcm94eVR5cGVzLlNlcnZlclNpZGUpXHJcbiAqIHNlYXJjaCAmIGNvbHVtIGZpbHRlciAmIHNvcnRcclxuICogcGFnaW5hdGlvbiBvcGVyYXRpb25cclxuICogUXVlcnkgU2lnbmFsc1xyXG4gKi9cclxuY29uc3QgcGFnZU9wdGlvbnMgPSBbMTAsIDIwLCA1MCwgMTAwXSBhcyBjb25zdDtcclxuXHJcbnR5cGUgU2VsZWN0aW9uVHlwZXMgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XHJcblxyXG5pbnRlcmZhY2UgSUtlYmFiTWVudUl0ZW0ge1xyXG5cdGljb246IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdG9uQ2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcmlsLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XHJcblx0QE91dHB1dCgpIG9uUGFnZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3Rpb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgbGF6eUxvYWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAQ29udGVudENoaWxkcmVuKFRhYmxlQ29sdW1uQ29tcG9uZW50KSBjb2x1bW5zITogVGFibGVDb2x1bW5zO1xyXG5cdEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBvcCE6IE92ZXJsYXlQYW5lbDtcclxuXHRAVmlld0NoaWxkKFRhYmxlKSB0YWJsZVJlZiE6IFRhYmxlO1xyXG5cdEBJbnB1dCgpIGtlYmFiTWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XHJcblxyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxhbnlbXT4oKTtcclxuXHRjaGVja2JveFNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KCk7XHJcblx0aGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdHBhZ2VTaXplID0gaW5wdXQ8KHR5cGVvZiBwYWdlT3B0aW9ucylbbnVtYmVyXT4oMTApO1xyXG5cdHByb3h5ID0gaW5wdXQ8UHJveHlUeXBlcz4oUHJveHlUeXBlcy5OYXRpdmUpO1xyXG5cdHNob3dGb290ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dEFsaWduID0gaW5wdXQ8QWxpZ25UeXBlcz4oJ2xlZnQnKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uVHlwZXM+KCk7XHJcblx0c2hvd1NlYXJjaFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRzaG93RXhwb3J0VG9vbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGV4cG9ydEZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bm9EYXRhRm91bmRMYWJlbCA9IGlucHV0PHN0cmluZz4oJ05vIERhdGEgRm91bmQnKTtcclxuXHR0YWJsZUhlYWRlciA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNob3dUYWJsZUhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc0ZpcnN0Um93U2VsZWN0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZGF0YUtleSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNlbGVjdGVkUm93c0lucHV0ID0gaW5wdXQ8YW55PihbXSk7XHJcblx0aXNMYXp5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRvdGFsUmVjb3JkcyA9IGlucHV0PG51bWJlcj4oMCk7XHJcblx0cGFnaW5hdG9yID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0cGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUbyA9IGlucHV0PHN0cmluZz4oJ2JvZHknKTsgLy8gJ2JvZHknfCAnbXlEaXYnXHJcblxyXG5cdC8qKlxyXG5cdCAqIEBzZWUge0BsaW5rIEV4cG9ydE9wdGlvbnN9XHJcblx0ICovXHJcblx0ZXhwb3J0Q29uZmlnID0gaW5wdXQ8RXhwb3J0T3B0aW9ucz4oKTtcclxuXHJcblx0ZXhwb3J0Rm9ybSE6IEZvcm1Hcm91cDxFeHBvcnRGb3JtPjtcclxuXHRleHBvcnRUeXBlT3B0aW9ucyA9IFtcclxuXHRcdHsga2V5OiBFeHBvcnRUeXBlLkV4Y2VsLCBsYWJlbDogJ0V4Y2VsJywgZmlsZUV4dGVuc2lvbjogJy54bHN4JyB9LFxyXG5cdFx0eyBrZXk6IEV4cG9ydFR5cGUuQ3N2LCBsYWJlbDogJ0NzdicsIGZpbGVFeHRlbnNpb246ICcuY3N2JyB9XHJcblx0XTtcclxuXHJcblx0ZmlsdGVyVGV4dCE6IHN0cmluZztcclxuXHRpc0FsbFNlbGVjdGVkID0gdHJ1ZTtcclxuXHRzZWxlY3RlZFJvd3M6IGFueTtcclxuXHRwYWdlT3B0aW9ucyA9IHBhZ2VPcHRpb25zO1xyXG5cdGV4cG9ydENvbHVtbnM6IEFycmF5PHsgdGl0bGU6IHN0cmluZzsgZGF0YUtleTogc3RyaW5nIH0+ID0gW107XHJcblx0aXNDb2x1bW5FeHBhbmRNb2RlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGlzUmVzaXphYmxlQ29sdW1ucyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGZiOiBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLFxyXG5cdFx0cHJpdmF0ZSBwcmltZW5nQ29uZmlnOiBQcmltZU5HQ29uZmlnLFxyXG5cdFx0cHJpdmF0ZSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcmltZW5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHRyYW5sYXRpb25zKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSb3dzSW5wdXQoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3RlZFJvd3NJbnB1dCgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5leHBvcnRDb25maWcoKSkge1xyXG5cdFx0XHRcdHRoaXMuY3JlYXRlRXhwb3J0Rm9ybSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgY3JlYXRlRXhwb3J0Rm9ybSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0TGFiZWwgfSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdHRoaXMuZXhwb3J0Rm9ybSA9IHRoaXMuZmIuZ3JvdXA8RXhwb3J0Rm9ybT4oe1xyXG5cdFx0XHRleHBvcnRUeXBlOiB0aGlzLmZiLmNvbnRyb2woRXhwb3J0VHlwZS5FeGNlbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcblx0XHRcdGV4cG9ydExhYmVsOiB0aGlzLmZiLmNvbnRyb2woZXhwb3J0TGFiZWwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmZiLmFycmF5PEZvcm1Hcm91cDxDb2xGb3JtPj4oW10pXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmNvbHVtbnMuX3Jlc3VsdHNcclxuXHRcdFx0LmZpbHRlcigoY29sKSA9PiBjb2wudHlwZSgpICE9PSAnb3BlcmF0aW9ucycpXHJcblx0XHRcdC5maWx0ZXIoKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGV4cG9ydENvbmZpZyA9IHRoaXMuZXhwb3J0Q29uZmlnKCk7XHJcblx0XHRcdFx0Y29uc3QgZXhjbHVkZWRGaWVsZHMgPSBleHBvcnRDb25maWc/LmV4Y2x1ZGVkRmllbGRzID8/IFtdO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gIWV4Y2x1ZGVkRmllbGRzLmluY2x1ZGVzKGNvbC5maWVsZCgpKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LmZvckVhY2goKGNvbCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGNvbEdyb3VwID0gdGhpcy5mYi5ncm91cDxDb2xGb3JtPih7XHJcblx0XHRcdFx0XHRjaGVja2VkOiB0aGlzLmZiLmNvbnRyb2wodHJ1ZSksXHJcblx0XHRcdFx0XHR0aXRsZTogdGhpcy5mYi5jb250cm9sKGNvbC5oZWFkZXIoKSksXHJcblx0XHRcdFx0XHRkYXRhS2V5OiB0aGlzLmZiLmNvbnRyb2woY29sLmZpZWxkKCkpXHJcblx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdHRoaXMuZXhwb3J0Rm9ybS5jb250cm9scy5jb2x1bW5zLnB1c2goY29sR3JvdXApO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmV4cG9ydEZvcm0uY29udHJvbHMuY29sdW1ucy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0KSA9PiAodGhpcy5pc0FsbFNlbGVjdGVkID0gdC5ldmVyeSgoYSkgPT4gYS5jaGVja2VkKSkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGhvc3RVcmwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBgJHtnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sfS8vJHtnbG9iYWxUaGlzLmxvY2F0aW9uLmhvc3R9L2h0bWwvYDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGV4cG9ydCgpIHtcclxuXHRcdGNvbnN0IHsgZXhwb3J0VHlwZSwgZXhwb3J0TGFiZWwsIGNvbHVtbnMgfSA9IHRoaXMuZXhwb3J0Rm9ybS52YWx1ZTtcclxuXHRcdGNvbnN0IHsgcm91dGUsIHBhcmFtcywgY29sdW1uRmllbGRWYWx1ZU1hcCwgZGF0ZUNvbHVtbkZvcm1hdE1hcCwgY29tcHV0ZWRDb2x1bW5NYXAgfSA9IHRoaXMuZXhwb3J0Q29uZmlnKCkhO1xyXG5cclxuXHRcdGNvbnN0IGNoZWNrZWRDb2x1bW5zID0gY29sdW1ucyEuZmlsdGVyKCh0KSA9PiB0LmNoZWNrZWQpO1xyXG5cdFx0Y29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZXhwb3J0VHlwZU9wdGlvbnMuZmluZCgodCkgPT4gdC5rZXkgPT09IGV4cG9ydFR5cGUpPy5maWxlRXh0ZW5zaW9uO1xyXG5cclxuXHRcdGxldCBjb2x1bW5GaWVsZFZhbHVlTWFwT2JqOiBDb2x1bW5GaWVsZFZhbHVlTWFwIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRcdGlmIChjb2x1bW5GaWVsZFZhbHVlTWFwKSB7XHJcblx0XHRcdGNvbnN0IHRlbXBPYmogPSB7fSBhcyBDb2x1bW5GaWVsZFZhbHVlTWFwO1xyXG5cclxuXHRcdFx0YXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdFx0ZnJvbShPYmplY3QuZW50cmllcyhjb2x1bW5GaWVsZFZhbHVlTWFwKSkucGlwZShcclxuXHRcdFx0XHRcdGNvbmNhdE1hcCgoW2ZpZWxkTmFtZSwgdmFsdWVdKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHQhdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dmFsdWUuZ3JvdXBOYW1lfX4ke3ZhbHVlLnBhcmVudFNlbGVjdGlvbktleSA/PyAnQUxMJ31gXVxyXG5cdFx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odmFsdWUuZ3JvdXBOYW1lLCB2YWx1ZS5wYXJlbnRTZWxlY3Rpb25LZXkpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRjb25zdCBrZXkgPSB2YWx1ZS5ncm91cE5hbWUgKyAnficgKyAodmFsdWUucGFyZW50U2VsZWN0aW9uS2V5ID8/ICdBTEwnKTtcclxuXHJcblx0XHRcdFx0XHRcdHJldHVybiBpbnRlcnZhbCgxMCkucGlwZShcclxuXHRcdFx0XHRcdFx0XHRmaWx0ZXIoKCkgPT4gIXRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmlzTG9hZGluZyhrZXkpKSxcclxuXHRcdFx0XHRcdFx0XHR0YWtlKDEpLFxyXG5cdFx0XHRcdFx0XHRcdG1hcCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9IHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2tleV07XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoc2VsZWN0aW9uR3JvdXApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGVtcE9ialtmaWVsZE5hbWVdID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGl0ZW0pID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRhY2NbaXRlbS5zZWxlY3Rpb25LZXldID0gaXRlbS5zZWxlY3Rpb25EaXNwbGF5O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBhY2M7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSwge30pIGFzIGFueTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHR0b0FycmF5KCksXHJcblx0XHRcdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbHVtbkZpZWxkVmFsdWVNYXBPYmogPSB0ZW1wT2JqO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcmVxdWVzdDogRXhwb3J0UmVxdWVzdCA9IHtcclxuXHRcdFx0cm91dGU6IHJvdXRlISxcclxuXHRcdFx0cGFyYW1zOiBwYXJhbXMhLFxyXG5cdFx0XHRleHBvcnRUeXBlOiBleHBvcnRUeXBlISxcclxuXHRcdFx0ZXhwb3J0TGFiZWw6IGV4cG9ydExhYmVsISxcclxuXHRcdFx0Y29tcHV0ZWRDb2x1bW5NYXA6IGNvbXB1dGVkQ29sdW1uTWFwISxcclxuXHRcdFx0ZGF0ZUNvbHVtbkZvcm1hdE1hcDogZGF0ZUNvbHVtbkZvcm1hdE1hcCEsXHJcblx0XHRcdGNvbHVtbkZpZWxkVmFsdWVNYXA6IGNvbHVtbkZpZWxkVmFsdWVNYXBPYmohLFxyXG5cdFx0XHRoZWFkZXJOYW1lczogY2hlY2tlZENvbHVtbnMubWFwKChjb2wpID0+IGNvbC50aXRsZSEpLFxyXG5cdFx0XHRvdXRwdXRGaWVsZHM6IGNoZWNrZWRDb2x1bW5zLm1hcCgoY29sKSA9PiBjb2wuZGF0YUtleSEpXHJcblx0XHR9O1xyXG5cclxuXHRcdGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdHRoaXMuaHR0cC5wb3N0PHsgc3VjY2VzczogYm9vbGVhbjsgdXJsOiBzdHJpbmcgfT4oQVBJX0NPTkZJR1MuYXBpICsgJy9iYXRjaC1leHBvcnRlcnMvZXhwb3J0JywgcmVxdWVzdCkucGlwZShcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKHJlcykgPT5cclxuXHRcdFx0XHRcdHRoaXMuaHR0cC5nZXQoQVBJX0NPTkZJR1MuYXBpICsgJy9idWNrZXQtb2JqZWN0cy9kb3dubG9hZCcsIHtcclxuXHRcdFx0XHRcdFx0cGFyYW1zOiB7IHVybDogcmVzLnVybCB9LFxyXG5cdFx0XHRcdFx0XHRyZXNwb25zZVR5cGU6ICdibG9iJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpLFxyXG5cdFx0XHRcdGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoZXJyb3Iuc3RhdHVzID09PSA1MDQpIHtcclxuXHRcdFx0XHRcdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt0aGlzLmhvc3RVcmx9bW5nLyMvbW5nL2NvbnRyb2wtbWFuYWdlbWVudC9leHBvcnQtcmVxdWVzdHNgO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcignSGF0YSBvbHXFn3R1OicsIGVycm9yKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cclxuXHRcdHNhdmVBcyhyZXNwb25zZSwgYCR7ZXhwb3J0TGFiZWx9LSR7bmV3IERhdGUoKS5nZXRUaW1lKCl9JHtmaWxlRXh0ZW5zaW9ufWApO1xyXG5cdH1cclxuXHJcblx0b25TZWxlY3RBbGwodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5leHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0Y29uc3QgZm9ybUdyb3VwID0gdGhpcy5leHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMuYXQoaSk7XHJcblx0XHRcdGZvcm1Hcm91cC5jb250cm9scy5jaGVja2VkLnNldFZhbHVlKHZhbHVlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRvZ2dsZUV4cG9ydCA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHRoaXMub3AudG9nZ2xlKGV2ZW50KTtcclxuXHJcblx0aGFuZGxlTGF6eUxvYWRFdmVudChldmVudDogYW55KTogdm9pZCB7XHJcblx0XHRjb25zdCBuZXdFdmVudERhdGEgPSB7XHJcblx0XHRcdHBhZ2VyOiB7XHJcblx0XHRcdFx0cGFnZVNpemU6IGV2ZW50LnJvd3MsXHJcblx0XHRcdFx0cGFnZU51bWJlcjogZXZlbnQuZmlyc3QgLyBldmVudC5yb3dzICsgMVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzb3J0OiBldmVudC5tdWx0aVNvcnRNZXRhLFxyXG5cdFx0XHRmaWx0ZXI6IGV2ZW50LmZpbHRlcnNcclxuXHRcdH07XHJcblx0XHR0aGlzLmxhenlMb2FkRXZlbnQuZW1pdChuZXdFdmVudERhdGEpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXIoKTogdm9pZCB7XHJcblx0XHR0aGlzLnRhYmxlUmVmLnZhbHVlID0gW107XHJcblx0XHR0aGlzLnRhYmxlUmVmLmNsZWFyKCk7XHJcblx0XHR0aGlzLm9wPy5oaWRlKCk7XHJcblx0fVxyXG59XHJcbiIsIjxwLXRhYmxlXHJcblx0I3JlZlxyXG5cdFt2YWx1ZV09XCJkYXRhKClcIlxyXG5cdFtkYXRhS2V5XT1cImRhdGFLZXkoKVwiXHJcblx0W2NvbHVtbnNdPVwiY29sdW1ucy5fcmVzdWx0c1wiXHJcblx0W3Jvd3NdPVwicGFnZVNpemUoKVwiXHJcblx0W3Jvd0hvdmVyXT1cInRydWVcIlxyXG5cdFtwYWdpbmF0b3JdPVwicGFnaW5hdG9yKClcIlxyXG5cdFtsYXp5XT1cImlzTGF6eSgpXCJcclxuXHRbbGF6eUxvYWRPbkluaXRdPVwiZmFsc2VcIlxyXG5cdFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzKClcIlxyXG5cdFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTAsIDEwMF1cIlxyXG5cdFtmaWx0ZXJEZWxheV09XCIwXCJcclxuXHRzb3J0TW9kZT1cIm11bHRpcGxlXCJcclxuXHRbKHNlbGVjdGlvbildPVwic2VsZWN0ZWRSb3dzXCJcclxuXHQob25QYWdlKT1cIm9uUGFnZUV2ZW50LmVtaXQoJGV2ZW50KVwiXHJcblx0KG9uTGF6eUxvYWQpPVwiaGFuZGxlTGF6eUxvYWRFdmVudCgkZXZlbnQpXCJcclxuXHQoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkV2ZW50LmVtaXQoc2VsZWN0ZWRSb3dzKVwiXHJcblx0W3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuXHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdFtjb2x1bW5SZXNpemVNb2RlXT1cImlzQ29sdW1uRXhwYW5kTW9kZSgpID8gJ2V4cGFuZCc6ICcnXCJcclxuXHRbcmVzaXphYmxlQ29sdW1uc109XCJpc1Jlc2l6YWJsZUNvbHVtbnMoKVwiXHJcblx0Y3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZT1cIlRvcGxhbSA6IHt0b3RhbFJlY29yZHN9IGthecSxdCB8IFNheWZhIDoge2N1cnJlbnRQYWdlfSAvIHt0b3RhbFBhZ2VzfVwiXHJcblx0c3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXNtXCJcclxuXHRbcGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvKClcIj5cclxuXHQ8IS0tQGlmICh0YWJsZUhlYWRlcigpIHx8IHNob3dTZWFyY2hUb29sKCkgfHwgc2hvd0V4cG9ydFRvb2woKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHRAaWYgKHRhYmxlSGVhZGVyKCkubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyB0YWJsZUhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIlNFQVJDSFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uUG9zPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkFyYW1hXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsXT1cImZpbHRlclRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInJlZi5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtdGV4dD5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfRVhDRUxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiWExTXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleGNlbEV4cG9ydCgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXItMVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRwVG9vbHRpcD1cIlBERlwiXHJcblx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiZXhwb3J0UGRmKClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZGF0YSgpICYmIGtlYmFiTWVudUl0ZW1zLmxlbmd0aCA+IDAgKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiB0b29scyBzdHlsZT1cInBhZGRpbmc6IDRweDttYXJnaW4tbGVmdDogNHB4O2JvcmRlcjoxcHggc29saWQgIzYzNjZmMTtib3JkZXItcmFkaXVzOiA2cHg7YmFja2dyb3VuZC1jb2xvcjogIzYzNjZmMTsgY29sb3I6IHdoaXRlO1wiID5cclxuXHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFthdHRyLnJvbGVdPVwiJ25vbmUnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBtci0xIGhlYWRlci1pY29uIHBpLWVsbGlwc2lzLXZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiYnVsa09wZXJhdGlvbnMudG9nZ2xlKCRldmVudCk7XCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHAtbWVudVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQjYnVsa09wZXJhdGlvbnNcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3BvcHVwXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbbW9kZWxdPVwia2ViYWJNZW51SXRlbXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZUNsYXNzPVwiei1pbmRleDogOTk5ODg5OTtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHR9LS0+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuXHRcdDx0cj5cclxuXHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0PHRoPlxyXG5cdFx0XHRcdFx0QGlmIChoZWFkZXJDaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlSGVhZGVyQ2hlY2tib3g+PC9wLXRhYmxlSGVhZGVyQ2hlY2tib3g+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC90aD5cclxuXHRcdFx0fVxyXG5cdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0QGlmIChjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycpIHtcclxuXHRcdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPsSwxZ9sZW1sZXI8L2Rpdj5cclxuXHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0fSBAZWxzZSB7XHJcblxyXG5cdFx0XHRcdFx0QGlmIChpc1Jlc2l6YWJsZUNvbHVtbnMoKSkge1xyXG5cdFx0XHRcdFx0XHQ8dGggW3BTb3J0YWJsZUNvbHVtbl09XCJjb2x1bW4uZmllbGQoKVwiIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBjb2x1bW4ud2lkdGgoKSA/IGNvbHVtbi53aWR0aCgpIDogJ2F1dG8nfVwiIHBSZXNpemFibGVDb2x1bW4+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCFpc0xhenkoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiPjwvcC1zb3J0SWNvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0PHRoIFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogY29sdW1uLndpZHRoKCkgPyBjb2x1bW4ud2lkdGgoKSA6ICdhdXRvJ31cIiA+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7eyBjb2x1bW4uaGVhZGVyKCkgfX1cclxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiBncmVlbjsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHhcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1pbmZvLWNpcmNsZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCFpc0xhenkoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIFtmaWVsZF09XCJjb2x1bW4uZmllbGQoKVwiPjwvcC1zb3J0SWNvbj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCI+XHJcblx0XHRAaWYgKHNlbGVjdGlvbk1vZGUoKSkge1xyXG5cdFx0XHQ8dHIgW3BTZWxlY3RhYmxlUm93XT1cIml0ZW1cIj5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8dHIgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6IGl0ZW0/LnJvd0NvbG9yID8gaXRlbT8ucm93Q29sb3IgOiAnI2ZmZicgfVwiPlxyXG5cdFx0XHRcdEBpZiAoY2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdFx0PHRkPlxyXG5cdFx0XHRcdFx0XHQ8cC10YWJsZUNoZWNrYm94IFt2YWx1ZV09XCJpdGVtXCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdFx0PHRkIFtuZ1N0eWxlXT1cInsgJ3RleHQtYWxpZ24nOiBjb2x1bW4udHlwZSgpID09PSAnb3BlcmF0aW9ucycgPyAnY2VudGVyJyA6IGNvbHVtbi50QWxpZ24oKSB8fCB0QWxpZ24oKSB9XCI+XHJcblx0XHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBuZ0ZvciBbbmdGb3JPZl09XCJbaXRlbV1cIiBbbmdGb3JUZW1wbGF0ZV09XCJjb2x1bW4udGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvdHI+XHJcblx0XHR9XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0QGlmIChzaG93Rm9vdGVyKCkpIHtcclxuXHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJzdW1tYXJ5XCI+XHJcblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltmb290ZXJdXCI+PC9uZy1jb250ZW50PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHR9XHJcblxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuXHRcdDx0cj5cclxuXHRcdFx0PHRkIFthdHRyLmNvbHNwYW5dPVwiY29sdW1ucy5fcmVzdWx0cy5sZW5ndGhcIj57eyBub0RhdGFGb3VuZExhYmVsKCkgfX08L3RkPlxyXG5cdFx0PC90cj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L3AtdGFibGU+XHJcblxyXG48cC1vdmVybGF5UGFuZWwgc3R5bGVDbGFzcz1cImV4cG9ydC1vdmVybGF5LXBhbmVsXCI+XHJcblx0QGlmIChleHBvcnRGb3JtKSB7XHJcblx0XHQ8YXJpbC1mb3JtIFtmb3JtR3JvdXBdPVwiZXhwb3J0Rm9ybVwiIGNsYXNzPVwidy0yMHJlbVwiPlxyXG5cdFx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwiJ0V4cG9ydCBUaXBpJ1wiIFtjb2xzXT1cInsgZGVmYXVsdDogMTIgfVwiPlxyXG5cdFx0XHRcdDxhcmlsLXJhZGlvLWJ1dHRvbiBmb3JtQ29udHJvbE5hbWU9XCJleHBvcnRUeXBlXCIgW29wdGlvbnNdPVwiZXhwb3J0VHlwZU9wdGlvbnNcIiAvPlxyXG5cdFx0XHQ8L2FyaWwtZmllbGQ+XHJcblxyXG5cdFx0XHQ8YXJpbC1maWVsZCBbbGFiZWxdPVwiJ0Rvc3lhIMSwc21pJ1wiIFtjb2xzXT1cInsgZGVmYXVsdDogMTIgfVwiPlxyXG5cdFx0XHRcdDxhcmlsLXRleHQgY2xhc3M9XCJ3LWZ1bGxcIiBmb3JtQ29udHJvbE5hbWU9XCJleHBvcnRMYWJlbFwiIC8+XHJcblx0XHRcdDwvYXJpbC1maWVsZD5cclxuXHJcblx0XHRcdDxuZy1jb250YWluZXIgZm9ybUFycmF5TmFtZT1cImNvbHVtbnNcIj5cclxuXHRcdFx0XHQ8cC1vcmRlckxpc3RcclxuXHRcdFx0XHRcdCNvcmRlckxpc3RSZWZcclxuXHRcdFx0XHRcdGNsYXNzPVwiY29sLTEyXCJcclxuXHRcdFx0XHRcdFt2YWx1ZV09XCJleHBvcnRGb3JtLmNvbnRyb2xzLmNvbHVtbnMuY29udHJvbHNcIlxyXG5cdFx0XHRcdFx0W2xpc3RTdHlsZV09XCJ7ICdtYXgtaGVpZ2h0JzogJzIwcmVtJyB9XCJcclxuXHRcdFx0XHRcdGZpbHRlckJ5PVwidmFsdWUudGl0bGVcIj5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmaWx0ZXJcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtY2hlY2tib3hcclxuXHRcdFx0XHRcdFx0XHRcdFtsYWJlbF09XCInJ1wiXHJcblx0XHRcdFx0XHRcdFx0XHRbbmdNb2RlbF09XCJpc0FsbFNlbGVjdGVkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXHJcblx0XHRcdFx0XHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdEFsbCgkZXZlbnQpXCIgLz5cclxuXHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInAtb3JkZXJsaXN0LWZpbHRlclwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZmlsdGVyJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdFx0XHRcdCNmaWx0ZXJcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRyb2xlPVwidGV4dGJveFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdChrZXl1cCk9XCJvcmRlckxpc3RSZWYub25GaWx0ZXJLZXl1cCgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0W2Rpc2FibGVkXT1cIm9yZGVyTGlzdFJlZi5kaXNhYmxlZFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwicC1vcmRlcmxpc3QtZmlsdGVyLWlucHV0IHAtaW5wdXR0ZXh0IHAtY29tcG9uZW50XCIgLz5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIGxldC1jb2wgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG5cdFx0XHRcdFx0XHQ8YXJpbC1jaGVja2JveCBbbGFiZWxdPVwiY29sLnZhbHVlLnRpdGxlXCIgW2Zvcm1Db250cm9sXT1cImNvbC5jb250cm9scy5jaGVja2VkXCIgLz5cclxuXHRcdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PC9wLW9yZGVyTGlzdD5cclxuXHRcdFx0PC9uZy1jb250YWluZXI+XHJcblxyXG5cdFx0XHQ8YXJpbC1idXR0b24gY2xhc3M9XCJjb2wtMTJcIiBsYWJlbD1cIkV4cG9ydFwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGlja0V2ZW50KT1cImV4cG9ydCgpXCIgLz5cclxuXHRcdDwvYXJpbC1mb3JtPlxyXG5cdH1cclxuPC9wLW92ZXJsYXlQYW5lbD5cclxuIl19
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
2
2
|
import { DialogService } from 'primeng/dynamicdialog';
|
|
3
3
|
import { TooltipModule } from 'primeng/tooltip';
|
|
4
4
|
import { TranslocoModule } from '@ngneat/transloco';
|
|
5
|
-
import { SelectionGroupService } from 'aril/theme/layout';
|
|
6
5
|
import { BadgeComponent } from 'aril/ui/badge';
|
|
7
6
|
import 'aril/util/primitive-extensions';
|
|
8
7
|
import { ValueBadgeModalComponent } from './value-badge-modal';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "
|
|
11
|
-
import * as i2 from "
|
|
12
|
-
import * as i3 from "
|
|
9
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
10
|
+
import * as i2 from "@ngneat/transloco";
|
|
11
|
+
import * as i3 from "aril/theme/layout";
|
|
12
|
+
import * as i4 from "primeng/tooltip";
|
|
13
13
|
export class ValueComponent {
|
|
14
|
-
constructor(translocoService,
|
|
15
|
-
this.translocoService = translocoService;
|
|
14
|
+
constructor(dialogService, translocoService, selectionGroupService) {
|
|
16
15
|
this.dialogService = dialogService;
|
|
16
|
+
this.translocoService = translocoService;
|
|
17
|
+
this.selectionGroupService = selectionGroupService;
|
|
17
18
|
this.model = input.required();
|
|
18
19
|
this.type = input('text');
|
|
19
20
|
this.format = input();
|
|
20
21
|
this.color = input('#333');
|
|
21
22
|
this.isClickable = input(false);
|
|
22
23
|
this.groupName = input();
|
|
24
|
+
this.parentSelectionKey = input('ALL');
|
|
23
25
|
this.isTextClamp = input(false);
|
|
24
26
|
this.style = input();
|
|
25
27
|
// only for array type
|
|
26
28
|
this.arrayTypeDisplayName = input('');
|
|
27
29
|
this.arrayTypeMaxBadgeCount = input(5);
|
|
28
|
-
this.selectionGroupService = inject(SelectionGroupService);
|
|
29
30
|
this.colorList = ['#8ECEEB', '#5EBAE0', '#2C9CCB', '#1D7DAC', '#19658B', '185574', '7D85FC', '5957F5', '194761', '5141EA'];
|
|
30
31
|
this.display = computed(() => {
|
|
31
32
|
const appliedFormat = this.format() || (this.type() === 'decimal' ? '#.000' : '0.###');
|
|
@@ -46,13 +47,13 @@ export class ValueComponent {
|
|
|
46
47
|
}
|
|
47
48
|
});
|
|
48
49
|
this.enumSelectionDisplay = computed(() => {
|
|
49
|
-
const selectionGroup = this.selectionGroupService.selectionGroups()[this.groupName()];
|
|
50
|
+
const selectionGroup = this.selectionGroupService.selectionGroups()[`${this.groupName()}~${this.parentSelectionKey()}`];
|
|
50
51
|
if (!selectionGroup)
|
|
51
|
-
this.selectionGroupService.fetchEnum(this.groupName());
|
|
52
|
+
this.selectionGroupService.fetchEnum(this.groupName(), this.parentSelectionKey());
|
|
52
53
|
return selectionGroup?.selectionItems.find((t) => t.selectionKey === this.model())?.selectionDisplay;
|
|
53
54
|
});
|
|
54
55
|
this.enumBadgeBackgroundColor = computed(() => {
|
|
55
|
-
const selectionGroup = this.selectionGroupService.selectionGroups()[this.groupName()];
|
|
56
|
+
const selectionGroup = this.selectionGroupService.selectionGroups()[`${this.groupName()}~${this.parentSelectionKey()}`];
|
|
56
57
|
const selectionItems = selectionGroup?.selectionItems ?? [];
|
|
57
58
|
const selectionItem = selectionItems.find((t) => t.selectionKey === this.model());
|
|
58
59
|
if (!selectionItem) {
|
|
@@ -90,11 +91,11 @@ export class ValueComponent {
|
|
|
90
91
|
}
|
|
91
92
|
});
|
|
92
93
|
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [{ token: i1.
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[class.text-clamp]=\"isTextClamp() && type() === 'text'\"\r\n\t\t\t\t[pTooltip]=\"isTextClamp() ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{ display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type:
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [{ token: i1.DialogService }, { token: i2.TranslocoService }, { token: i3.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[class.text-clamp]=\"isTextClamp() && type() === 'text'\"\r\n\t\t\t\t[pTooltip]=\"isTextClamp() ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{ display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
95
96
|
}
|
|
96
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, decorators: [{
|
|
97
98
|
type: Component,
|
|
98
99
|
args: [{ standalone: true, selector: 'aril-value', imports: [BadgeComponent, TooltipModule, TranslocoModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (enumSelectionDisplay() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\"></aril-badge>\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track $index) {\r\n\t\t\t<aril-badge [background]=\"color()\" [value]=\"getArrayItemValue(item)\" styleClass=\"m-2 mb-4\"></aril-badge>\r\n\t\t}\r\n\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-ellipsis-h mt-4 ml-3\"\r\n\t\t\t\tstyle=\"color: rgb(60, 60, 230)\"\r\n\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\tmodel().length - arrayTypeMaxBadgeCount() + ' ' + this.translocoService.translate('validations.moreItems')\r\n\t\t\t\t\"\r\n\t\t\t\t(click)=\"showArrayItemsDialog()\">\r\n\t\t\t</i>\r\n\t\t}\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span\r\n\t\t\t\t[class.text-clamp]=\"isTextClamp() && type() === 'text'\"\r\n\t\t\t\t[pTooltip]=\"isTextClamp() ? display()?.toString() : ''\"\r\n\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t{{ display() }}\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n" }]
|
|
99
|
-
}], ctorParameters: () => [{ type: i1.
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQXFCL0QsTUFBTSxPQUFPLGNBQWM7SUFjMUIsWUFDUSxnQkFBa0MsRUFDbEMsYUFBNEI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWZwQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBbUMsQ0FBQztRQUMxRCxTQUFJLEdBQUcsS0FBSyxDQUFhLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN6QixVQUFLLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FB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QUFpQixDQUFDLElBQVM7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDO1lBQ3RFLEtBQUssRUFBRSxLQUFLO1lBQ1osZUFBZSxFQUFFLEtBQUs7WUFDdEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtZQUNyQyxJQUFJLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNuQixvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7YUFDakQ7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDOzhHQTdGVyxjQUFjO2tHQUFkLGNBQWMsbzRDQUZmLENBQUMsYUFBYSxDQUFDLDBCQzlCM0IsMmlFQXFEQSw0Q0R6QlcsY0FBYyxvSUFBRSxhQUFhLHFYQUFFLGVBQWU7OzJGQUk1QyxjQUFjO2tCQVIxQixTQUFTO2lDQUNHLElBQUksWUFDTixZQUFZLFdBRWIsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxtQkFDeEMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcblxyXG5pbXBvcnQgeyBTZWxlY3Rpb25Hcm91cFNlcnZpY2UgfSBmcm9tICdhcmlsL3RoZW1lL2xheW91dCc7XHJcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9iYWRnZSc7XHJcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcclxuXHJcbmltcG9ydCB7IFZhbHVlQmFkZ2VNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vdmFsdWUtYmFkZ2UtbW9kYWwnO1xyXG5cclxuLyogbnVtYmVyLWZvcm1hdC5qcyAqL1xyXG4vLyBUT0RPIGRlY2xhcmUgY29uc3QgZm9ybWF0OiBGdW5jdGlvbjtcclxuXHJcbi8qKiBUeXBlIEZvcm1hdHNcclxuICogIy4wMCAtPiBWaXJnw7xsZGVuIHNvbnJhIDIgaGFuZSAoRGVjaW1hbClcclxuICogIy4wMDAwIC0+IFZpcmfDvGxkZW4gc29ucmEgNCBoYW5lIChEZWNpbWFsKVxyXG4gKiAwLiMjIyAtPiBTYWRlY2UgdGFtIHNhecSxIGfDtnN0ZXJtZXNpIGnDp2luIChOdW1iZXIpXHJcbiAqL1xyXG5cclxudHlwZSBWYWx1ZVR5cGVzID0gJ3RleHQnIHwgJ251bWJlcicgfCAnYm9vbCcgfCAnZGVjaW1hbCcgfCAnZGF0ZScgfCAncGFzc3dvcmQnIHwgJ2VudW0nIHwgJ2FycmF5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdGltcG9ydHM6IFtCYWRnZUNvbXBvbmVudCwgVG9vbHRpcE1vZHVsZSwgVHJhbnNsb2NvTW9kdWxlXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRwcm92aWRlcnM6IFtEaWFsb2dTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsdWVDb21wb25lbnQge1xyXG5cdG1vZGVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IGFueT4oKTtcclxuXHR0eXBlID0gaW5wdXQ8VmFsdWVUeXBlcz4oJ3RleHQnKTtcclxuXHRmb3JtYXQgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0Y29sb3IgPSBpbnB1dDxzdHJpbmc+KCcjMzMzJyk7XHJcblx0aXNDbGlja2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0Z3JvdXBOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdGlzVGV4dENsYW1wID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHN0eWxlID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cclxuXHQvLyBvbmx5IGZvciBhcnJheSB0eXBlXHJcblx0YXJyYXlUeXBlRGlzcGxheU5hbWUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRhcnJheVR5cGVNYXhCYWRnZUNvdW50ID0gaW5wdXQ8bnVtYmVyPig1KTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZSxcclxuXHRcdHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRwcml2YXRlIHNlbGVjdGlvbkdyb3VwU2VydmljZSA9IGluamVjdChTZWxlY3Rpb25Hcm91cFNlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIGZvcm1hdE51bWJlcih2YWx1ZTogbnVtYmVyLCBmb3JtYXRTdHJpbmc6IHN0cmluZywgaXNEZWNpbWFsOiBib29sZWFuKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IFtpbnRlZ2VyUGFydCwgZGVjaW1hbFBhcnQgPSAnJ10gPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KCcuJyk7XHJcblx0XHRjb25zdCBmb3JtYXR0ZWRJbnRlZ2VyID0gaW50ZWdlclBhcnQucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgJy4nKTtcclxuXHRcdHJldHVybiBpc0RlY2ltYWwgPyBgJHtmb3JtYXR0ZWRJbnRlZ2VyfSwke3RoaXMuZm9ybWF0RGVjaW1hbChkZWNpbWFsUGFydCwgZm9ybWF0U3RyaW5nKX1gIDogZm9ybWF0dGVkSW50ZWdlcjtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZm9ybWF0RGVjaW1hbChkZWNpbWFsUGFydDogc3RyaW5nLCBmb3JtYXRTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBkZWNpbWFsUGxhY2VzID0gZm9ybWF0U3RyaW5nLmluY2x1ZGVzKCcuJykgPyBmb3JtYXRTdHJpbmcuc3BsaXQoJy4nKVsxXS5sZW5ndGggOiAzO1xyXG5cdFx0cmV0dXJuIGRlY2ltYWxQYXJ0LnNsaWNlKDAsIGRlY2ltYWxQbGFjZXMpLnBhZEVuZChkZWNpbWFsUGxhY2VzLCAnMCcpO1xyXG5cdH1cclxuXHJcblx0Y29sb3JMaXN0ID0gWycjOEVDRUVCJywgJyM1RUJBRTAnLCAnIzJDOUNDQicsICcjMUQ3REFDJywgJyMxOTY1OEInLCAnMTg1NTc0JywgJzdEODVGQycsICc1OTU3RjUnLCAnMTk0NzYxJywgJzUxNDFFQSddO1xyXG5cclxuXHRkaXNwbGF5ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0Y29uc3QgYXBwbGllZEZvcm1hdCA9IHRoaXMuZm9ybWF0KCkgfHwgKHRoaXMudHlwZSgpID09PSAnZGVjaW1hbCcgPyAnIy4wMDAnIDogJzAuIyMjJyk7XHJcblxyXG5cdFx0c3dpdGNoICh0aGlzLnR5cGUoKSkge1xyXG5cdFx0XHRjYXNlICd0ZXh0JzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpO1xyXG5cdFx0XHRjYXNlICdudW1iZXInOlxyXG5cdFx0XHRcdHJldHVybiB0aGlzLmZvcm1hdE51bWJlcig8bnVtYmVyPnRoaXMubW9kZWwoKSwgYXBwbGllZEZvcm1hdCwgZmFsc2UpO1xyXG5cdFx0XHRjYXNlICdkZWNpbWFsJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIoPG51bWJlcj50aGlzLm1vZGVsKCksIGFwcGxpZWRGb3JtYXQsIHRydWUpO1xyXG5cdFx0XHRjYXNlICdkYXRlJzpcclxuXHRcdFx0XHRyZXR1cm4gKDxudW1iZXI+dGhpcy5tb2RlbCgpKS5sb25nVG9TdHJpbmcodGhpcy5mb3JtYXQoKSA/PyAndGltZScpO1xyXG5cdFx0XHRjYXNlICdwYXNzd29yZCc6XHJcblx0XHRcdFx0cmV0dXJuICg8c3RyaW5nPnRoaXMubW9kZWwoKSkucmVwbGFjZSgvLi9nLCAnKicpO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHR5cGU6ICdcIiArIHRoaXMudHlwZSgpICsgXCInXCIpO1xyXG5cdFx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHR9KTtcclxuXHJcblx0ZW51bVNlbGVjdGlvbkRpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9IHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW3RoaXMuZ3JvdXBOYW1lKCkhXTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEpO1xyXG5cclxuXHRcdHJldHVybiBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHRoaXMubW9kZWwoKSk/LnNlbGVjdGlvbkRpc3BsYXk7XHJcblx0fSk7XHJcblxyXG5cdGVudW1CYWRnZUJhY2tncm91bmRDb2xvciA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID0gdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbdGhpcy5ncm91cE5hbWUoKSFdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkge1xyXG5cdFx0XHRyZXR1cm4gJyMzMzMnO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5jb2xvckxpc3Rbc2VsZWN0aW9uSXRlbS5zaG93T3JkZXJdO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHR9KTtcclxuXHJcblx0Z2V0QXJyYXlJdGVtVmFsdWUoaXRlbTogYW55KTogYW55IHtcclxuXHRcdHJldHVybiBpdGVtW3RoaXMuYXJyYXlUeXBlRGlzcGxheU5hbWUoKV07XHJcblx0fVxyXG5cclxuXHRzaG93QXJyYXlJdGVtc0RpYWxvZygpIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZhbHVlQmFkZ2VNb2RhbENvbXBvbmVudCwge1xyXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmZpZWxkRGV0YWlsTWVzc2FnZScpLFxyXG5cdFx0XHR3aWR0aDogJzI1JScsXHJcblx0XHRcdGRpc21pc3NhYmxlTWFzazogZmFsc2UsXHJcblx0XHRcdGZvY3VzT25TaG93OiBmYWxzZSxcclxuXHRcdFx0Y29udGVudFN0eWxlOiB7IG92ZXJmbG93OiAndmlzaWJsZScgfSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGl0ZW06IHRoaXMubW9kZWwoKSxcclxuXHRcdFx0XHRjb2xvcjogdGhpcy5jb2xvcigpLFxyXG5cdFx0XHRcdGFycmF5VHlwZURpc3BsYXlOYW1lOiB0aGlzLmFycmF5VHlwZURpc3BsYXlOYW1lKClcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIkBpZiAobW9kZWwoKSA9PSB1bmRlZmluZWQgfHwgbW9kZWwoKSA9PSBudWxsKSB7XHJcblx0PGlcclxuXHRcdGNsYXNzPVwicGkgcGktbWludXNcIlxyXG5cdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFtwVG9vbHRpcF09XCJ0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd2YWxpZGF0aW9ucy5ub0l0ZW1Ub1Nob3cnKVwiPjwvaT5cclxufSBAZWxzZSB7XHJcblx0QGlmICh0eXBlKCkgPT0gJ2Jvb2wnKSB7XHJcblx0XHRAaWYgKCEhbW9kZWwoKSkge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZWNrXCIgc3R5bGU9XCJjb2xvcjogZ3JlZW5cIj48L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIHN0eWxlPVwiY29sb3I6IGNyaW1zb25cIj48L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnZW51bScpIHtcclxuXHRcdEBpZiAoZW51bVNlbGVjdGlvbkRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiZW51bUJhZGdlQmFja2dyb3VuZENvbG9yKClcIiBbdmFsdWVdPVwiZW51bVNlbGVjdGlvbkRpc3BsYXkoKVwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKS5zbGljZSgwLCBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiY29sb3IoKVwiIFt2YWx1ZV09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKVwiIHN0eWxlQ2xhc3M9XCJtLTIgbWItNFwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHRcdEBpZiAobW9kZWwoKS5sZW5ndGggPiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWggbXQtNCBtbC0zXCJcclxuXHRcdFx0XHRzdHlsZT1cImNvbG9yOiByZ2IoNjAsIDYwLCAyMzApXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiXHJcblx0XHRcdFx0XHRtb2RlbCgpLmxlbmd0aCAtIGFycmF5VHlwZU1heEJhZGdlQ291bnQoKSArICcgJyArIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm1vcmVJdGVtcycpXHJcblx0XHRcdFx0XCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0FycmF5SXRlbXNEaWFsb2coKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW5cclxuXHRcdFx0XHRbY2xhc3MudGV4dC1jbGFtcF09XCJpc1RleHRDbGFtcCgpICYmIHR5cGUoKSA9PT0gJ3RleHQnXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiaXNUZXh0Q2xhbXAoKSA/IGRpc3BsYXkoKT8udG9TdHJpbmcoKSA6ICcnXCJcclxuXHRcdFx0XHRbc3R5bGVdPVwiaXNDbGlja2FibGUoKSA/IHsgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLCBjb2xvcjogJyMwMDAwRUUnLCBjdXJzb3I6ICdwb2ludGVyJyB9IDogJydcIj5cclxuXHRcdFx0XHR7eyBkaXNwbGF5KCkgfX1cclxuXHRcdFx0PC9zcGFuPlxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|
|
100
|
+
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.TranslocoService }, { type: i3.SelectionGroupService }] });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUd0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQXFCL0QsTUFBTSxPQUFPLGNBQWM7SUFlMUIsWUFDUyxhQUE0QixFQUM3QixnQkFBa0MsRUFDakMscUJBQTRDO1FBRjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWpCckQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFDMUQsU0FBSSxHQUFHLEtBQUssQ0FBYSxNQUFNLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDekIsVUFBSyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNwQyxjQUFT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Q0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQWdERCxpQkFBaUIsQ0FBQyxJQUFTO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELG9CQUFvQjtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNqRCxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQztZQUN0RSxLQUFLLEVBQUUsS0FBSztZQUNaLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUU7WUFDckMsSUFBSSxFQUFFO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDbkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2FBQ2pEO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0EvRlcsY0FBYztrR0FBZCxjQUFjLG1pREFGZixDQUFDLGFBQWEsQ0FBQywwQkM5QjNCLDJpRUFxREEsNENEekJXLGNBQWMsb0lBQUUsYUFBYSxxWEFBRSxlQUFlOzsyRkFJNUMsY0FBYztrQkFSMUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sWUFBWSxXQUViLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsbUJBQ3hDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcclxuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2JhZGdlJztcclxuaW1wb3J0ICdhcmlsL3V0aWwvcHJpbWl0aXZlLWV4dGVuc2lvbnMnO1xyXG5cclxuaW1wb3J0IHsgVmFsdWVCYWRnZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi92YWx1ZS1iYWRnZS1tb2RhbCc7XHJcblxyXG4vKiBudW1iZXItZm9ybWF0LmpzICovXHJcbi8vIFRPRE8gZGVjbGFyZSBjb25zdCBmb3JtYXQ6IEZ1bmN0aW9uO1xyXG5cclxuLyoqIFR5cGUgRm9ybWF0c1xyXG4gKiAjLjAwIC0+IFZpcmfDvGxkZW4gc29ucmEgMiBoYW5lIChEZWNpbWFsKVxyXG4gKiAjLjAwMDAgLT4gVmlyZ8O8bGRlbiBzb25yYSA0IGhhbmUgKERlY2ltYWwpXHJcbiAqIDAuIyMjIC0+IFNhZGVjZSB0YW0gc2F5xLEgZ8O2c3Rlcm1lc2kgacOnaW4gKE51bWJlcilcclxuICovXHJcblxyXG50eXBlIFZhbHVlVHlwZXMgPSAndGV4dCcgfCAnbnVtYmVyJyB8ICdib29sJyB8ICdkZWNpbWFsJyB8ICdkYXRlJyB8ICdwYXNzd29yZCcgfCAnZW51bScgfCAnYXJyYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtdmFsdWUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW0JhZGdlQ29tcG9uZW50LCBUb29sdGlwTW9kdWxlLCBUcmFuc2xvY29Nb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG5cdHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZUNvbXBvbmVudCB7XHJcblx0bW9kZWwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgYW55PigpO1xyXG5cdHR5cGUgPSBpbnB1dDxWYWx1ZVR5cGVzPigndGV4dCcpO1xyXG5cdGZvcm1hdCA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb2xvciA9IGlucHV0PHN0cmluZz4oJyMzMzMnKTtcclxuXHRpc0NsaWNrYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRncm91cE5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0cGFyZW50U2VsZWN0aW9uS2V5ID0gaW5wdXQ8c3RyaW5nPignQUxMJyk7XHJcblx0aXNUZXh0Q2xhbXAgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c3R5bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGFycmF5IHR5cGVcclxuXHRhcnJheVR5cGVEaXNwbGF5TmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdGFycmF5VHlwZU1heEJhZGdlQ291bnQgPSBpbnB1dDxudW1iZXI+KDUpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0cHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgZm9ybWF0U3RyaW5nOiBzdHJpbmcsIGlzRGVjaW1hbDogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRjb25zdCBbaW50ZWdlclBhcnQsIGRlY2ltYWxQYXJ0ID0gJyddID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdCgnLicpO1xyXG5cdFx0Y29uc3QgZm9ybWF0dGVkSW50ZWdlciA9IGludGVnZXJQYXJ0LnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csICcuJyk7XHJcblx0XHRyZXR1cm4gaXNEZWNpbWFsID8gYCR7Zm9ybWF0dGVkSW50ZWdlcn0sJHt0aGlzLmZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQsIGZvcm1hdFN0cmluZyl9YCA6IGZvcm1hdHRlZEludGVnZXI7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZvcm1hdERlY2ltYWwoZGVjaW1hbFBhcnQ6IHN0cmluZywgZm9ybWF0U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgZGVjaW1hbFBsYWNlcyA9IGZvcm1hdFN0cmluZy5pbmNsdWRlcygnLicpID8gZm9ybWF0U3RyaW5nLnNwbGl0KCcuJylbMV0ubGVuZ3RoIDogMztcclxuXHRcdHJldHVybiBkZWNpbWFsUGFydC5zbGljZSgwLCBkZWNpbWFsUGxhY2VzKS5wYWRFbmQoZGVjaW1hbFBsYWNlcywgJzAnKTtcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFsnIzhFQ0VFQicsICcjNUVCQUUwJywgJyMyQzlDQ0InLCAnIzFEN0RBQycsICcjMTk2NThCJywgJzE4NTU3NCcsICc3RDg1RkMnLCAnNTk1N0Y1JywgJzE5NDc2MScsICc1MTQxRUEnXTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGFwcGxpZWRGb3JtYXQgPSB0aGlzLmZvcm1hdCgpIHx8ICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnID8gJyMuMDAwJyA6ICcwLiMjIycpO1xyXG5cclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdFx0Y2FzZSAnbnVtYmVyJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIoPG51bWJlcj50aGlzLm1vZGVsKCksIGFwcGxpZWRGb3JtYXQsIGZhbHNlKTtcclxuXHRcdFx0Y2FzZSAnZGVjaW1hbCc6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKDxudW1iZXI+dGhpcy5tb2RlbCgpLCBhcHBsaWVkRm9ybWF0LCB0cnVlKTtcclxuXHRcdFx0Y2FzZSAnZGF0ZSc6XHJcblx0XHRcdFx0cmV0dXJuICg8bnVtYmVyPnRoaXMubW9kZWwoKSkubG9uZ1RvU3RyaW5nKHRoaXMuZm9ybWF0KCkgPz8gJ3RpbWUnKTtcclxuXHRcdFx0Y2FzZSAncGFzc3dvcmQnOlxyXG5cdFx0XHRcdHJldHVybiAoPHN0cmluZz50aGlzLm1vZGVsKCkpLnJlcGxhY2UoLy4vZywgJyonKTtcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwiSW52YWxpZCB0eXBlOiAnXCIgKyB0aGlzLnR5cGUoKSArIFwiJ1wiKTtcclxuXHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHR9XHJcblx0fSk7XHJcblxyXG5cdGVudW1TZWxlY3Rpb25EaXNwbGF5ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPVxyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKVtgJHt0aGlzLmdyb3VwTmFtZSgpIX1+JHt0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpIX1gXTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uR3JvdXA/LnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpPy5zZWxlY3Rpb25EaXNwbGF5O1xyXG5cdH0pO1xyXG5cclxuXHRlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSB0aGlzLm1vZGVsKCkpO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkge1xyXG5cdFx0XHRyZXR1cm4gJyMzMzMnO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5jb2xvckxpc3Rbc2VsZWN0aW9uSXRlbS5zaG93T3JkZXJdO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHR9KTtcclxuXHJcblx0Z2V0QXJyYXlJdGVtVmFsdWUoaXRlbTogYW55KTogYW55IHtcclxuXHRcdHJldHVybiBpdGVtW3RoaXMuYXJyYXlUeXBlRGlzcGxheU5hbWUoKV07XHJcblx0fVxyXG5cclxuXHRzaG93QXJyYXlJdGVtc0RpYWxvZygpIHtcclxuXHRcdHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKFZhbHVlQmFkZ2VNb2RhbENvbXBvbmVudCwge1xyXG5cdFx0XHRoZWFkZXI6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmZpZWxkRGV0YWlsTWVzc2FnZScpLFxyXG5cdFx0XHR3aWR0aDogJzI1JScsXHJcblx0XHRcdGRpc21pc3NhYmxlTWFzazogZmFsc2UsXHJcblx0XHRcdGZvY3VzT25TaG93OiBmYWxzZSxcclxuXHRcdFx0Y29udGVudFN0eWxlOiB7IG92ZXJmbG93OiAndmlzaWJsZScgfSxcclxuXHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdGl0ZW06IHRoaXMubW9kZWwoKSxcclxuXHRcdFx0XHRjb2xvcjogdGhpcy5jb2xvcigpLFxyXG5cdFx0XHRcdGFycmF5VHlwZURpc3BsYXlOYW1lOiB0aGlzLmFycmF5VHlwZURpc3BsYXlOYW1lKClcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIkBpZiAobW9kZWwoKSA9PSB1bmRlZmluZWQgfHwgbW9kZWwoKSA9PSBudWxsKSB7XHJcblx0PGlcclxuXHRcdGNsYXNzPVwicGkgcGktbWludXNcIlxyXG5cdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFtwVG9vbHRpcF09XCJ0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCd2YWxpZGF0aW9ucy5ub0l0ZW1Ub1Nob3cnKVwiPjwvaT5cclxufSBAZWxzZSB7XHJcblx0QGlmICh0eXBlKCkgPT0gJ2Jvb2wnKSB7XHJcblx0XHRAaWYgKCEhbW9kZWwoKSkge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWNoZWNrXCIgc3R5bGU9XCJjb2xvcjogZ3JlZW5cIj48L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGkgY2xhc3M9XCJwaSBwaS10aW1lc1wiIHN0eWxlPVwiY29sb3I6IGNyaW1zb25cIj48L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnZW51bScpIHtcclxuXHRcdEBpZiAoZW51bVNlbGVjdGlvbkRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiZW51bUJhZGdlQmFja2dyb3VuZENvbG9yKClcIiBbdmFsdWVdPVwiZW51bVNlbGVjdGlvbkRpc3BsYXkoKVwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKS5zbGljZSgwLCBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpOyB0cmFjayAkaW5kZXgpIHtcclxuXHRcdFx0PGFyaWwtYmFkZ2UgW2JhY2tncm91bmRdPVwiY29sb3IoKVwiIFt2YWx1ZV09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKVwiIHN0eWxlQ2xhc3M9XCJtLTIgbWItNFwiPjwvYXJpbC1iYWRnZT5cclxuXHRcdH1cclxuXHRcdEBpZiAobW9kZWwoKS5sZW5ndGggPiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCkpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWVsbGlwc2lzLWggbXQtNCBtbC0zXCJcclxuXHRcdFx0XHRzdHlsZT1cImNvbG9yOiByZ2IoNjAsIDYwLCAyMzApXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiXHJcblx0XHRcdFx0XHRtb2RlbCgpLmxlbmd0aCAtIGFycmF5VHlwZU1heEJhZGdlQ291bnQoKSArICcgJyArIHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm1vcmVJdGVtcycpXHJcblx0XHRcdFx0XCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0FycmF5SXRlbXNEaWFsb2coKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW5cclxuXHRcdFx0XHRbY2xhc3MudGV4dC1jbGFtcF09XCJpc1RleHRDbGFtcCgpICYmIHR5cGUoKSA9PT0gJ3RleHQnXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwiaXNUZXh0Q2xhbXAoKSA/IGRpc3BsYXkoKT8udG9TdHJpbmcoKSA6ICcnXCJcclxuXHRcdFx0XHRbc3R5bGVdPVwiaXNDbGlja2FibGUoKSA/IHsgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLCBjb2xvcjogJyMwMDAwRUUnLCBjdXJzb3I6ICdwb2ludGVyJyB9IDogJydcIj5cclxuXHRcdFx0XHR7eyBkaXNwbGF5KCkgfX1cclxuXHRcdFx0PC9zcGFuPlxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -22,6 +22,7 @@ function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
22
22
|
.get(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')
|
|
23
23
|
.pipe(tap((configs) => {
|
|
24
24
|
Object.assign(API_CONFIGS, { ...configs });
|
|
25
|
+
globalThis.mwApi = API_CONFIGS.mwApi;
|
|
25
26
|
if (isDevMode())
|
|
26
27
|
globalThis.hostAPI = API_CONFIGS.api;
|
|
27
28
|
else {
|
|
@@ -43,6 +44,7 @@ function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
43
44
|
*/
|
|
44
45
|
function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
45
46
|
return () => {
|
|
47
|
+
API_CONFIGS.mwApi = globalThis.mwApi;
|
|
46
48
|
if (isDevMode()) {
|
|
47
49
|
if (appName === Apps.MNG)
|
|
48
50
|
API_CONFIGS.api = globalThis.hostAPI + '/host/v1';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/interfaces.ts","../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["export interface KeycloakConfig {\r\n\turl: string;\r\n\trealm: string;\r\n\tclientId: string;\r\n}\r\nexport class ApiConfigsFactory {\r\n\tapi: string = '';\r\n\tmwApi: string = '';\r\n\tkeycloak: KeycloakConfig = {\r\n\t\turl: '',\r\n\t\trealm: '',\r\n\t\tclientId: ''\r\n\t};\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { ApiConfigsFactory } from './interfaces';\r\n\r\nexport const API_CONFIGS = new ApiConfigsFactory();\r\n\r\nexport function loadApiConfigs(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => Promise<any> {\r\n\treturn () => {\r\n\t\tconst configDeps: Promise<any>[] = [];\r\n\r\n\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\r\n\t\t\t\t\tif (isDevMode()) (<any>globalThis).hostAPI = API_CONFIGS.api;\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// Dynamic API for MNG (Standalone Production Mode)\r\n\t\t\t\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = window.location.origin + '/host/v1';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconfigDeps.push(keycloak.init(API_CONFIGS.keycloak));\r\n\t\t\t\t})\r\n\t\t\t);\r\n\r\n\t\treturn firstValueFrom(observable$).then(() => {\r\n\t\t\treturn Promise.all(configDeps);\r\n\t\t});\r\n\t};\r\n}\r\n\r\n/**\r\n * only works when isHostMode is true\r\n * micro-app cannot access its own api.json file when opened in host\r\n * MNG has different controller (host, state-machine etc.)\r\n */\r\nexport function setApiConfigOnMFEMode(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => void {\r\n\treturn () => {\r\n\t\tif (isDevMode()) {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = (<any>globalThis).hostAPI + '/host/v1';\r\n\t\t\telse API_CONFIGS.api = (<any>globalThis).hostAPI + '/' + appName + '/v1';\r\n\t\t} else {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = window.location.origin + '/host/v1';\r\n\t\t\telse API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';\r\n\t\t}\r\n\t};\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACC,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;QACjB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAA,CAAA,QAAQ,GAAmB;AAC1B,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;SACZ,CAAC;KACF;AAAA;;ACHY,MAAA,WAAW,GAAG,IAAI,iBAAiB,GAAG;SAEnC,cAAc,CAC7B,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;QACX,MAAM,UAAU,GAAmB,EAAE,CAAC;AAEtC,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU;aACxC,GAAG,CAAoB,SAAS,EAAE,GAAG,uCAAuC,GAAG,YAAY,CAAC;AAC5F,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/interfaces.ts","../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["export interface KeycloakConfig {\r\n\turl: string;\r\n\trealm: string;\r\n\tclientId: string;\r\n}\r\nexport class ApiConfigsFactory {\r\n\tapi: string = '';\r\n\tmwApi: string = '';\r\n\tkeycloak: KeycloakConfig = {\r\n\t\turl: '',\r\n\t\trealm: '',\r\n\t\tclientId: ''\r\n\t};\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { ApiConfigsFactory } from './interfaces';\r\n\r\nexport const API_CONFIGS = new ApiConfigsFactory();\r\n\r\nexport function loadApiConfigs(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => Promise<any> {\r\n\treturn () => {\r\n\t\tconst configDeps: Promise<any>[] = [];\r\n\r\n\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\t\t\t\t\t(<any>globalThis).mwApi = API_CONFIGS.mwApi;\r\n\t\t\t\t\tif (isDevMode()) (<any>globalThis).hostAPI = API_CONFIGS.api;\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\t// Dynamic API for MNG (Standalone Production Mode)\r\n\t\t\t\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = window.location.origin + '/host/v1';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconfigDeps.push(keycloak.init(API_CONFIGS.keycloak));\r\n\t\t\t\t})\r\n\t\t\t);\r\n\r\n\t\treturn firstValueFrom(observable$).then(() => {\r\n\t\t\treturn Promise.all(configDeps);\r\n\t\t});\r\n\t};\r\n}\r\n\r\n/**\r\n * only works when isHostMode is true\r\n * micro-app cannot access its own api.json file when opened in host\r\n * MNG has different controller (host, state-machine etc.)\r\n */\r\nexport function setApiConfigOnMFEMode(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => void {\r\n\treturn () => {\r\n\t\tAPI_CONFIGS.mwApi = (<any>globalThis).mwApi;\r\n\t\tif (isDevMode()) {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = (<any>globalThis).hostAPI + '/host/v1';\r\n\t\t\telse API_CONFIGS.api = (<any>globalThis).hostAPI + '/' + appName + '/v1';\r\n\t\t} else {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = window.location.origin + '/host/v1';\r\n\t\t\telse API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';\r\n\t\t}\r\n\t};\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACC,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;QACjB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAA,CAAA,QAAQ,GAAmB;AAC1B,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;SACZ,CAAC;KACF;AAAA;;ACHY,MAAA,WAAW,GAAG,IAAI,iBAAiB,GAAG;SAEnC,cAAc,CAC7B,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;QACX,MAAM,UAAU,GAAmB,EAAE,CAAC;AAEtC,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU;aACxC,GAAG,CAAoB,SAAS,EAAE,GAAG,uCAAuC,GAAG,YAAY,CAAC;AAC5F,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrC,YAAA,UAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AAC5C,YAAA,IAAI,SAAS,EAAE;AAAQ,gBAAA,UAAW,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;iBACxD;;AAEJ,gBAAA,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;oBAAE,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;aAChF;AAED,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD,CAAC,CACF,CAAC;QAEH,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAK;AAC5C,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChC,SAAC,CAAC,CAAC;AACJ,KAAC,CAAC;AACH,CAAC;AAED;;;;AAIG;SACa,qBAAqB,CACpC,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;AACX,QAAA,WAAW,CAAC,KAAK,GAAS,UAAW,CAAC,KAAK,CAAC;QAC5C,IAAI,SAAS,EAAE,EAAE;AAChB,YAAA,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;gBAAE,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,GAAG,UAAU,CAAC;;AAC9E,gBAAA,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACzE;aAAM;AACN,YAAA,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;gBAAE,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;;AAC3E,gBAAA,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACtE;AACF,KAAC,CAAC;AACH;;AC9DA;;AAEG;;;;"}
|
|
@@ -1158,25 +1158,26 @@ class SelectionGroupService {
|
|
|
1158
1158
|
}
|
|
1159
1159
|
}
|
|
1160
1160
|
}
|
|
1161
|
-
fetchEnum(groupName, parentSelectionKey) {
|
|
1162
|
-
|
|
1161
|
+
fetchEnum(groupName, parentSelectionKey = 'ALL') {
|
|
1162
|
+
const key = groupName + '~' + parentSelectionKey;
|
|
1163
|
+
if (this.loaded.get(key) || this.loading.get(key))
|
|
1163
1164
|
return;
|
|
1164
1165
|
const payload = {
|
|
1165
1166
|
groupName,
|
|
1166
|
-
parentSelectionKey
|
|
1167
|
+
parentSelectionKey
|
|
1167
1168
|
};
|
|
1168
|
-
this.loading.set(
|
|
1169
|
-
this.loaded.set(
|
|
1169
|
+
this.loading.set(key, true);
|
|
1170
|
+
this.loaded.set(key, false);
|
|
1170
1171
|
const hostApi = API_CONFIGS.api.replace(/\/[^\/]+\/v1$/, `/host/v1`);
|
|
1171
1172
|
this.http
|
|
1172
1173
|
.post(hostApi + '/selection-group/load', payload)
|
|
1173
1174
|
.pipe(take(1))
|
|
1174
1175
|
.subscribe((selectionGroup) => {
|
|
1175
|
-
this.loading.set(
|
|
1176
|
-
this.loaded.set(
|
|
1176
|
+
this.loading.set(key, false);
|
|
1177
|
+
this.loaded.set(key, true);
|
|
1177
1178
|
this.selectionGroups.update((groups) => ({
|
|
1178
1179
|
...groups,
|
|
1179
|
-
[
|
|
1180
|
+
[key]: selectionGroup
|
|
1180
1181
|
}));
|
|
1181
1182
|
});
|
|
1182
1183
|
}
|