@eo-sdk/client 11.7.0-beta.1 → 11.7.0-beta.2

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.
Files changed (48) hide show
  1. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
  2. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
  3. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  4. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
  5. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  6. package/app/eo-framework/grid/grid.component.d.ts +7 -0
  7. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  8. package/app/eo-framework/object-details/object-details.component.d.ts +1 -0
  9. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  10. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
  11. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  12. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  13. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
  14. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  15. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
  16. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
  17. package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
  18. package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
  19. package/assets/_default/i18n/de.json +5 -3
  20. package/assets/_default/i18n/en.json +1132 -1130
  21. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  22. package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
  23. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
  24. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
  25. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
  26. package/esm2022/app/eo-framework/grid/grid.component.mjs +32 -6
  27. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +8 -6
  28. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
  29. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
  30. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  31. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
  32. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
  33. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
  34. package/fesm2022/eo-sdk-client.mjs +264 -725
  35. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  36. package/misc/scripts/copy-client-assets.js +1 -1
  37. package/package.json +3 -3
  38. package/proxy.config.js +13 -0
  39. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
  40. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
  41. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
  42. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
  43. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
  44. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
  45. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
  46. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
  47. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
  48. package/proxy.config.json +0 -97
@@ -5,7 +5,7 @@ fs.copySync('./src/assets', './dist/eo-sdk/client/assets');
5
5
  fs.copySync('./misc', './dist/eo-sdk/client/misc');
6
6
  fs.copySync('./languages', './dist/eo-sdk/client/languages');
7
7
 
8
- fs.copySync('./proxy.config.json', './dist/eo-sdk/client/proxy.config.json');
8
+ fs.copySync('./proxy.config.js', './dist/eo-sdk/client/proxy.config.js');
9
9
 
10
10
 
11
11
  fs.copySync('./src/scss', './dist/eo-sdk/client/scss');
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@eo-sdk/client",
3
3
  "description": "yuuvis RAD client",
4
4
  "author": "OPTIMAL SYSTEMS GmbH <npm@optimal-systems.de>",
5
- "version": "11.7.0-beta.1",
5
+ "version": "11.7.0-beta.2",
6
6
  "main": "electron/main.js",
7
7
  "license": "MIT",
8
8
  "angular-cli": {},
@@ -31,11 +31,11 @@
31
31
  "@angular/platform-browser-dynamic": "18.0.4",
32
32
  "@angular/router": "18.0.4",
33
33
  "@carbon/charts-angular": "1.16.3",
34
- "@eo-sdk/core": "11.7.0-beta.1",
34
+ "@eo-sdk/core": "11.7.0-beta.2",
35
35
  "@ngneat/until-destroy": "^10.0.0",
36
36
  "@ngx-pwa/local-storage": "^18.0.0",
37
37
  "@ngx-translate/core": "^15.0.0",
38
- "@yuuvis/components": "^18.0.0",
38
+ "@yuuvis/components": "18.0.6",
39
39
  "@yuuvis/widget-grid": "^18.0.0",
40
40
  "core-js": "^2.5.4",
41
41
  "file-saver": "^2.0.5",
@@ -0,0 +1,13 @@
1
+ const PROXY_CONFIG = [
2
+ {
3
+ context: ['/viewer/**', '/config/**', '/rest-ws/**', '/search/**', '/structure/**', '/inboxservice/**', '/bpm/**', '/agent/**',
4
+ '/login/**', '/auth/info/**', '/tenant/**', '/auth/**', '/oauth/**', '/logout/**', '/dashlet365/**', '/office365/**',
5
+ '/status/**', '/signing/**', '/app/api/**'],
6
+ target: 'http://127.0.0.1:4300/',
7
+ changeOrigin: true,
8
+ secure: false,
9
+ logLevel: 'debug'
10
+ }
11
+ ];
12
+
13
+ module.exports = PROXY_CONFIG;
@@ -1,13 +0,0 @@
1
- import { RowNode } from "@ag-grid-community/core";
2
- export declare class BatchRemover {
3
- private allSets;
4
- private allParents;
5
- removeFromChildrenAfterGroup(parent: RowNode, child: RowNode): void;
6
- isRemoveFromAllLeafChildren(parent: RowNode, child: RowNode): boolean;
7
- preventRemoveFromAllLeafChildren(parent: RowNode, child: RowNode): void;
8
- removeFromAllLeafChildren(parent: RowNode, child: RowNode): void;
9
- private getSet;
10
- getAllParents(): RowNode[];
11
- flush(): void;
12
- }
13
- //# sourceMappingURL=batchRemover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batchRemover.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/grid/row-grouping/batchRemover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAiBlD,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,UAAU,CAAiB;IAE5B,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKnE,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAKrE,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvE,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvE,OAAO,CAAC,MAAM;IAWP,aAAa,IAAI,OAAO,EAAE;IAI1B,KAAK,IAAI,IAAI;CAoBvB"}
@@ -1,45 +0,0 @@
1
- import { BeanStub, IRowNodeStage, StageExecuteParams } from "@ag-grid-community/core";
2
- export declare class GroupStage extends BeanStub implements IRowNodeStage {
3
- private columnModel;
4
- private selectableService;
5
- private valueService;
6
- private beans;
7
- private selectionService;
8
- private oldGroupingDetails;
9
- private oldGroupDisplayColIds;
10
- execute(params: StageExecuteParams): void;
11
- private positionLeafsAndGroups;
12
- private createGroupingDetails;
13
- private handleTransaction;
14
- private sortChildren;
15
- private orderGroups;
16
- private getExistingPathForNode;
17
- private moveNodesInWrongPath;
18
- private moveNode;
19
- private removeNodes;
20
- private removeNodesInStages;
21
- private forEachParentGroup;
22
- private removeNodesFromParents;
23
- private postRemoveCreateFillerNodes;
24
- private removeEmptyGroups;
25
- private removeFromParent;
26
- private addToParent;
27
- private areGroupColsEqual;
28
- private checkAllGroupDataAfterColsChanged;
29
- private shotgunResetEverything;
30
- private noChangeInGroupingColumns;
31
- private insertNodes;
32
- private insertOneNode;
33
- private findParentForNode;
34
- private swapGroupWithUserNode;
35
- private getOrCreateNextNode;
36
- private createGroup;
37
- private createGroupId;
38
- private setGroupData;
39
- private getChildrenMappedKey;
40
- private setExpandedInitialValue;
41
- private getGroupInfo;
42
- private getGroupInfoFromCallback;
43
- private getGroupInfoFromGroupColumns;
44
- }
45
- //# sourceMappingURL=group-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-stage.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/grid/row-grouping/group-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,QAAQ,EAKR,aAAa,EAKb,kBAAkB,EAQrB,MAAM,yBAAyB,CAAC;AA+BjC,qBACa,UAAW,SAAQ,QAAS,YAAW,aAAa;IAEnC,OAAO,CAAC,WAAW,CAAc;IAC3B,OAAO,CAAC,iBAAiB,CAAoB;IAClD,OAAO,CAAC,YAAY,CAAe;IAC1C,OAAO,CAAC,KAAK,CAAQ;IACV,OAAO,CAAC,gBAAgB,CAAoB;IAQ3E,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,qBAAqB,CAAS;IAE/B,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAoBhD,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,iBAAiB;IA+CzB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,iCAAiC;IAqBzC,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,uBAAuB;IAgC/B,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,4BAA4B;CA2BvC"}
@@ -1,8 +0,0 @@
1
- import { ModuleNames } from "@ag-grid-community/core";
2
- import { GroupStage } from "./group-stage";
3
- export declare var RowGroupingModule: {
4
- version: string;
5
- moduleName: ModuleNames;
6
- beans: (typeof GroupStage)[];
7
- };
8
- //# sourceMappingURL=row-grouping.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-grouping.module.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/grid/row-grouping/row-grouping.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,IAAI,iBAAiB;;;;CAI3B,CAAC"}
@@ -1,50 +0,0 @@
1
- export class BatchRemover {
2
- constructor() {
3
- this.allSets = {};
4
- this.allParents = [];
5
- }
6
- removeFromChildrenAfterGroup(parent, child) {
7
- const set = this.getSet(parent);
8
- set.removeFromChildrenAfterGroup[child.id] = true;
9
- }
10
- isRemoveFromAllLeafChildren(parent, child) {
11
- const set = this.getSet(parent);
12
- return !!set.removeFromAllLeafChildren[child.id];
13
- }
14
- preventRemoveFromAllLeafChildren(parent, child) {
15
- const set = this.getSet(parent);
16
- delete set.removeFromAllLeafChildren[child.id];
17
- }
18
- removeFromAllLeafChildren(parent, child) {
19
- const set = this.getSet(parent);
20
- set.removeFromAllLeafChildren[child.id] = true;
21
- }
22
- getSet(parent) {
23
- if (!this.allSets[parent.id]) {
24
- this.allSets[parent.id] = {
25
- removeFromAllLeafChildren: {},
26
- removeFromChildrenAfterGroup: {}
27
- };
28
- this.allParents.push(parent);
29
- }
30
- return this.allSets[parent.id];
31
- }
32
- getAllParents() {
33
- return this.allParents;
34
- }
35
- flush() {
36
- this.allParents.forEach(parent => {
37
- const nodeDetails = this.allSets[parent.id];
38
- parent.childrenAfterGroup = parent.childrenAfterGroup.filter(child => !nodeDetails.removeFromChildrenAfterGroup[child.id]);
39
- parent.allLeafChildren = parent.allLeafChildren.filter(child => !nodeDetails.removeFromAllLeafChildren[child.id]);
40
- parent.updateHasChildren();
41
- if (parent.sibling) {
42
- parent.sibling.childrenAfterGroup = parent.childrenAfterGroup;
43
- parent.sibling.allLeafChildren = parent.allLeafChildren;
44
- }
45
- });
46
- this.allSets = {};
47
- this.allParents.length = 0;
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZW1vdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9yb3ctZ3JvdXBpbmcvYmF0Y2hSZW1vdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLE9BQU8sWUFBWTtJQUF6QjtRQUVZLFlBQU8sR0FBMkMsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBYyxFQUFFLENBQUM7SUF5RHZDLENBQUM7SUF2RFUsNEJBQTRCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN2RCxDQUFDO0lBRU0sMkJBQTJCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxnQ0FBZ0MsQ0FBQyxNQUFlLEVBQUUsS0FBYztRQUNuRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0seUJBQXlCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sTUFBTSxDQUFDLE1BQWU7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRyxDQUFDLEdBQUc7Z0JBQ3ZCLHlCQUF5QixFQUFFLEVBQUU7Z0JBQzdCLDRCQUE0QixFQUFFLEVBQUU7YUFDbkMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQW1CLENBQUMsTUFBTSxDQUN6RCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUMsQ0FDaEUsQ0FBQztZQUNGLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQ2xELEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxDQUM3RCxDQUFDO1lBQ0YsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFM0IsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO2dCQUM5RCxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3dOb2RlIH0gZnJvbSBcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCI7XHJcblxyXG4vLyBkb2luZyBfLnJlbW92ZUZyb21BcnJheSgpIG11bHRpcGxlIHRpbWVzIG9uIGEgbGFyZ2UgbGlzdCBjYW4gYmUgYSBib3R0bGVuZWNrLlxyXG4vLyB3aGVuIGRvaW5nIGxhcmdlIGRlbGV0ZXMgKGVnIHJlbW92aW5nIDEsMDAwIHJvd3MpIHRoZW4gd2Ugd291bGQgYmUgY2FsbGluZyBfLnJlbW92ZUZyb21BcnJheSgpXHJcbi8vIGEgdGhvdXNhbmRzIG9mIHRpbWVzLCBpbiBwYXJ0aWN1bGFyIFJvb3ROb2RlLmFsbEdyb3VwQ2hpbGRyZW4gY291bGQgYmUgYSBsYXJnZSBsaXN0LCBhbmRcclxuLy8gMSwwMDAgcmVtb3ZlcyBpcyB0aW1lIGNvbnN1bWluZyBhcyBlYWNoIG9uZSByZXF1aXJlcyB0cmF2ZXJzaW5nIHRoZSBmdWxsIGxpc3QuXHJcbi8vIHRvIGdldCBhcm91bmQgdGhpcywgd2UgZG8gYWxsIHRoZSByZW1vdmVzIGluIGEgYmF0Y2guIHRoaXMgY2xhc3MgbWFuYWdlcyB0aGUgYmF0Y2guXHJcbi8vXHJcbi8vIFRoaXMgcHJvYmxlbSB3YXMgYnJvdWdodCB0byBsaWdodCBieSBhIGNsaWVudCAoQUctMjg3OSksIHdpdGggZGF0YXNldCBvZiAyMCwwMDBcclxuLy8gaW4gMTAsMDAwIGdyb3VwcyAoMiBpdGVtcyBwZXIgZ3JvdXApLCB0aGVuIGRlbGV0aW5nIGFsbCByb3dzIHdpdGggdHJhbnNhY3Rpb24sXHJcbi8vIGl0IHRvb2sgYWJvdXQgMjAgc2Vjb25kcyB0byBkZWxldGUuIHdpdGggdGhlIEJhdGhSZW1vdmVkLCB0aGUgcmVkdWNlZCB0byBsZXNzIHRoYW4gMSBzZWNvbmQuXHJcblxyXG5pbnRlcmZhY2UgUmVtb3ZlRGV0YWlscyB7XHJcbiAgICByZW1vdmVGcm9tQ2hpbGRyZW5BZnRlckdyb3VwOiB7IFtpZDogc3RyaW5nXTogYm9vbGVhbjsgfTtcclxuICAgIHJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW46IHsgW2lkOiBzdHJpbmddOiBib29sZWFuOyB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQmF0Y2hSZW1vdmVyIHtcclxuXHJcbiAgICBwcml2YXRlIGFsbFNldHM6IHsgW3BhcmVudElkOiBzdHJpbmddOiBSZW1vdmVEZXRhaWxzOyB9ID0ge307XHJcbiAgICBwcml2YXRlIGFsbFBhcmVudHM6IFJvd05vZGVbXSA9IFtdO1xyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGcm9tQ2hpbGRyZW5BZnRlckdyb3VwKHBhcmVudDogUm93Tm9kZSwgY2hpbGQ6IFJvd05vZGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzZXQgPSB0aGlzLmdldFNldChwYXJlbnQpO1xyXG4gICAgICAgIHNldC5yZW1vdmVGcm9tQ2hpbGRyZW5BZnRlckdyb3VwW2NoaWxkLmlkIV0gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1JlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW4ocGFyZW50OiBSb3dOb2RlLCBjaGlsZDogUm93Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHNldCA9IHRoaXMuZ2V0U2V0KHBhcmVudCk7XHJcbiAgICAgICAgcmV0dXJuICEhc2V0LnJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW5bY2hpbGQuaWQhXTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcHJldmVudFJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW4ocGFyZW50OiBSb3dOb2RlLCBjaGlsZDogUm93Tm9kZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNldCA9IHRoaXMuZ2V0U2V0KHBhcmVudCk7XHJcbiAgICAgICAgZGVsZXRlIHNldC5yZW1vdmVGcm9tQWxsTGVhZkNoaWxkcmVuW2NoaWxkLmlkIV07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyByZW1vdmVGcm9tQWxsTGVhZkNoaWxkcmVuKHBhcmVudDogUm93Tm9kZSwgY2hpbGQ6IFJvd05vZGUpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzZXQgPSB0aGlzLmdldFNldChwYXJlbnQpO1xyXG4gICAgICAgIHNldC5yZW1vdmVGcm9tQWxsTGVhZkNoaWxkcmVuW2NoaWxkLmlkIV0gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2V0KHBhcmVudDogUm93Tm9kZSk6IFJlbW92ZURldGFpbHMge1xyXG4gICAgICAgIGlmICghdGhpcy5hbGxTZXRzW3BhcmVudC5pZCFdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsU2V0c1twYXJlbnQuaWQhXSA9IHtcclxuICAgICAgICAgICAgICAgIHJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW46IHt9LFxyXG4gICAgICAgICAgICAgICAgcmVtb3ZlRnJvbUNoaWxkcmVuQWZ0ZXJHcm91cDoge31cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5hbGxQYXJlbnRzLnB1c2gocGFyZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsU2V0c1twYXJlbnQuaWQhXTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0QWxsUGFyZW50cygpOiBSb3dOb2RlW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsbFBhcmVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZsdXNoKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxsUGFyZW50cy5mb3JFYWNoKHBhcmVudCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGVEZXRhaWxzID0gdGhpcy5hbGxTZXRzW3BhcmVudC5pZCFdO1xyXG5cclxuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuQWZ0ZXJHcm91cCA9IHBhcmVudC5jaGlsZHJlbkFmdGVyR3JvdXAhLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIGNoaWxkID0+ICFub2RlRGV0YWlscy5yZW1vdmVGcm9tQ2hpbGRyZW5BZnRlckdyb3VwW2NoaWxkLmlkIV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgcGFyZW50LmFsbExlYWZDaGlsZHJlbiA9IHBhcmVudC5hbGxMZWFmQ2hpbGRyZW4uZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgY2hpbGQgPT4gIW5vZGVEZXRhaWxzLnJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW5bY2hpbGQuaWQhXVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBwYXJlbnQudXBkYXRlSGFzQ2hpbGRyZW4oKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwYXJlbnQuc2libGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFyZW50LnNpYmxpbmcuY2hpbGRyZW5BZnRlckdyb3VwID0gcGFyZW50LmNoaWxkcmVuQWZ0ZXJHcm91cDtcclxuICAgICAgICAgICAgICAgIHBhcmVudC5zaWJsaW5nLmFsbExlYWZDaGlsZHJlbiA9IHBhcmVudC5hbGxMZWFmQ2hpbGRyZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFsbFNldHMgPSB7fTtcclxuICAgICAgICB0aGlzLmFsbFBhcmVudHMubGVuZ3RoID0gMDtcclxuICAgIH1cclxufSJdfQ==