@eo-sdk/client 11.5.0-rc.2 → 11.6.0-rc.1

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 (60) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
  4. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
  5. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  6. package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
  7. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  8. package/app/eo-framework/grid/grid.component.d.ts +7 -0
  9. package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
  10. package/app/eo-framework/media/media.component.d.ts +3 -2
  11. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  12. package/app/eo-framework/object-details/object-details.component.d.ts +13 -4
  13. package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
  14. package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
  15. package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
  16. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  17. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
  18. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  19. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
  20. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
  21. package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
  22. package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
  23. package/assets/_default/i18n/de.json +5 -3
  24. package/assets/_default/i18n/en.json +10 -8
  25. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  26. package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -1
  27. package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
  28. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
  29. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
  30. package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
  31. package/esm2022/app/eo-framework/grid/grid.component.mjs +36 -10
  32. package/esm2022/app/eo-framework/media/media.component.mjs +8 -4
  33. package/esm2022/app/eo-framework/object-details/object-details.component.mjs +30 -15
  34. package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
  35. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
  36. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
  37. package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
  38. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
  39. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
  40. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
  41. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
  42. package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
  43. package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
  44. package/fesm2022/eo-sdk-client.mjs +303 -746
  45. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  46. package/misc/scripts/copy-client-assets.js +1 -1
  47. package/package.json +3 -3
  48. package/proxy.config.js +13 -0
  49. package/scss/_migrationTemp.scss +1 -0
  50. package/styles.css +1 -0
  51. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
  52. package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
  53. package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
  54. package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
  55. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
  56. package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
  57. package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
  58. package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
  59. package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
  60. 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.5.0-rc.2",
5
+ "version": "11.6.0-rc.1",
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.5.0-rc.2",
34
+ "@eo-sdk/core": "11.6.0-rc.1",
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;
@@ -3,6 +3,7 @@
3
3
  .yvc-md-panel {
4
4
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
5
5
  background-color: var(--panel-background-grey);
6
+ position: relative;
6
7
  }
7
8
 
8
9
  section[role="tabpanel"] {
package/styles.css CHANGED
@@ -999,6 +999,7 @@ svg.checkbox .background {
999
999
  .yvc-md-panel {
1000
1000
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
1001
1001
  background-color: var(--panel-background-grey);
1002
+ position: relative;
1002
1003
  }
1003
1004
 
1004
1005
  section[role=tabpanel] {
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hSZW1vdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZ3JpZC9yb3ctZ3JvdXBpbmcvYmF0Y2hSZW1vdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLE9BQU8sWUFBWTtJQUF6QjtRQUVZLFlBQU8sR0FBMkMsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBYyxFQUFFLENBQUM7SUF5RHZDLENBQUM7SUF2RFUsNEJBQTRCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN2RCxDQUFDO0lBRU0sMkJBQTJCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxnQ0FBZ0MsQ0FBQyxNQUFlLEVBQUUsS0FBYztRQUNuRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0seUJBQXlCLENBQUMsTUFBZSxFQUFFLEtBQWM7UUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sTUFBTSxDQUFDLE1BQWU7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRyxDQUFDLEdBQUc7Z0JBQ3ZCLHlCQUF5QixFQUFFLEVBQUU7Z0JBQzdCLDRCQUE0QixFQUFFLEVBQUU7YUFDbkMsQ0FBQztZQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUcsQ0FBQyxDQUFDO1lBRTdDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQW1CLENBQUMsTUFBTSxDQUN6RCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUMsQ0FDaEUsQ0FBQztZQUNGLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQ2xELEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEVBQUcsQ0FBQyxDQUM3RCxDQUFDO1lBQ0YsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFM0IsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO2dCQUM5RCxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1lBQzVELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3dOb2RlIH0gZnJvbSBcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCI7XG5cbi8vIGRvaW5nIF8ucmVtb3ZlRnJvbUFycmF5KCkgbXVsdGlwbGUgdGltZXMgb24gYSBsYXJnZSBsaXN0IGNhbiBiZSBhIGJvdHRsZW5lY2suXG4vLyB3aGVuIGRvaW5nIGxhcmdlIGRlbGV0ZXMgKGVnIHJlbW92aW5nIDEsMDAwIHJvd3MpIHRoZW4gd2Ugd291bGQgYmUgY2FsbGluZyBfLnJlbW92ZUZyb21BcnJheSgpXG4vLyBhIHRob3VzYW5kcyBvZiB0aW1lcywgaW4gcGFydGljdWxhciBSb290Tm9kZS5hbGxHcm91cENoaWxkcmVuIGNvdWxkIGJlIGEgbGFyZ2UgbGlzdCwgYW5kXG4vLyAxLDAwMCByZW1vdmVzIGlzIHRpbWUgY29uc3VtaW5nIGFzIGVhY2ggb25lIHJlcXVpcmVzIHRyYXZlcnNpbmcgdGhlIGZ1bGwgbGlzdC5cbi8vIHRvIGdldCBhcm91bmQgdGhpcywgd2UgZG8gYWxsIHRoZSByZW1vdmVzIGluIGEgYmF0Y2guIHRoaXMgY2xhc3MgbWFuYWdlcyB0aGUgYmF0Y2guXG4vL1xuLy8gVGhpcyBwcm9ibGVtIHdhcyBicm91Z2h0IHRvIGxpZ2h0IGJ5IGEgY2xpZW50IChBRy0yODc5KSwgd2l0aCBkYXRhc2V0IG9mIDIwLDAwMFxuLy8gaW4gMTAsMDAwIGdyb3VwcyAoMiBpdGVtcyBwZXIgZ3JvdXApLCB0aGVuIGRlbGV0aW5nIGFsbCByb3dzIHdpdGggdHJhbnNhY3Rpb24sXG4vLyBpdCB0b29rIGFib3V0IDIwIHNlY29uZHMgdG8gZGVsZXRlLiB3aXRoIHRoZSBCYXRoUmVtb3ZlZCwgdGhlIHJlZHVjZWQgdG8gbGVzcyB0aGFuIDEgc2Vjb25kLlxuXG5pbnRlcmZhY2UgUmVtb3ZlRGV0YWlscyB7XG4gICAgcmVtb3ZlRnJvbUNoaWxkcmVuQWZ0ZXJHcm91cDogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW47IH07XG4gICAgcmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbjogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW47IH07XG59XG5cbmV4cG9ydCBjbGFzcyBCYXRjaFJlbW92ZXIge1xuXG4gICAgcHJpdmF0ZSBhbGxTZXRzOiB7IFtwYXJlbnRJZDogc3RyaW5nXTogUmVtb3ZlRGV0YWlsczsgfSA9IHt9O1xuICAgIHByaXZhdGUgYWxsUGFyZW50czogUm93Tm9kZVtdID0gW107XG5cbiAgICBwdWJsaWMgcmVtb3ZlRnJvbUNoaWxkcmVuQWZ0ZXJHcm91cChwYXJlbnQ6IFJvd05vZGUsIGNoaWxkOiBSb3dOb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNldCA9IHRoaXMuZ2V0U2V0KHBhcmVudCk7XG4gICAgICAgIHNldC5yZW1vdmVGcm9tQ2hpbGRyZW5BZnRlckdyb3VwW2NoaWxkLmlkIV0gPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1JlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW4ocGFyZW50OiBSb3dOb2RlLCBjaGlsZDogUm93Tm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzZXQgPSB0aGlzLmdldFNldChwYXJlbnQpO1xuICAgICAgICByZXR1cm4gISFzZXQucmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbltjaGlsZC5pZCFdO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcmV2ZW50UmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbihwYXJlbnQ6IFJvd05vZGUsIGNoaWxkOiBSb3dOb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNldCA9IHRoaXMuZ2V0U2V0KHBhcmVudCk7XG4gICAgICAgIGRlbGV0ZSBzZXQucmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbltjaGlsZC5pZCFdO1xuICAgIH1cbiAgICBcbiAgICBwdWJsaWMgcmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbihwYXJlbnQ6IFJvd05vZGUsIGNoaWxkOiBSb3dOb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNldCA9IHRoaXMuZ2V0U2V0KHBhcmVudCk7XG4gICAgICAgIHNldC5yZW1vdmVGcm9tQWxsTGVhZkNoaWxkcmVuW2NoaWxkLmlkIV0gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2V0KHBhcmVudDogUm93Tm9kZSk6IFJlbW92ZURldGFpbHMge1xuICAgICAgICBpZiAoIXRoaXMuYWxsU2V0c1twYXJlbnQuaWQhXSkge1xuICAgICAgICAgICAgdGhpcy5hbGxTZXRzW3BhcmVudC5pZCFdID0ge1xuICAgICAgICAgICAgICAgIHJlbW92ZUZyb21BbGxMZWFmQ2hpbGRyZW46IHt9LFxuICAgICAgICAgICAgICAgIHJlbW92ZUZyb21DaGlsZHJlbkFmdGVyR3JvdXA6IHt9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5hbGxQYXJlbnRzLnB1c2gocGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5hbGxTZXRzW3BhcmVudC5pZCFdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxQYXJlbnRzKCk6IFJvd05vZGVbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFsbFBhcmVudHM7XG4gICAgfVxuXG4gICAgcHVibGljIGZsdXNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsbFBhcmVudHMuZm9yRWFjaChwYXJlbnQgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm9kZURldGFpbHMgPSB0aGlzLmFsbFNldHNbcGFyZW50LmlkIV07XG5cbiAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbkFmdGVyR3JvdXAgPSBwYXJlbnQuY2hpbGRyZW5BZnRlckdyb3VwIS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgY2hpbGQgPT4gIW5vZGVEZXRhaWxzLnJlbW92ZUZyb21DaGlsZHJlbkFmdGVyR3JvdXBbY2hpbGQuaWQhXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBhcmVudC5hbGxMZWFmQ2hpbGRyZW4gPSBwYXJlbnQuYWxsTGVhZkNoaWxkcmVuLmZpbHRlcihcbiAgICAgICAgICAgICAgICBjaGlsZCA9PiAhbm9kZURldGFpbHMucmVtb3ZlRnJvbUFsbExlYWZDaGlsZHJlbltjaGlsZC5pZCFdXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFyZW50LnVwZGF0ZUhhc0NoaWxkcmVuKCk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnQuc2libGluZykge1xuICAgICAgICAgICAgICAgIHBhcmVudC5zaWJsaW5nLmNoaWxkcmVuQWZ0ZXJHcm91cCA9IHBhcmVudC5jaGlsZHJlbkFmdGVyR3JvdXA7XG4gICAgICAgICAgICAgICAgcGFyZW50LnNpYmxpbmcuYWxsTGVhZkNoaWxkcmVuID0gcGFyZW50LmFsbExlYWZDaGlsZHJlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWxsU2V0cyA9IHt9O1xuICAgICAgICB0aGlzLmFsbFBhcmVudHMubGVuZ3RoID0gMDtcbiAgICB9XG59Il19