@provoly/dashboard 0.21.11 → 0.22.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 (46) hide show
  1. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -1
  2. package/esm2022/lib/core/components/select/select-a11y.service.mjs +10 -3
  3. package/esm2022/lib/core/model/automatic-grid-layout-definition.interface.mjs +2 -0
  4. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  5. package/esm2022/lib/core/model/public-api.mjs +2 -1
  6. package/esm2022/lib/dashboard/components/dashboard.component.mjs +17 -11
  7. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +2 -4
  8. package/esm2022/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.mjs +79 -125
  9. package/esm2022/lib/dashboard/dashboard.module.mjs +5 -8
  10. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  11. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +3 -3
  12. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +7 -5
  13. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -4
  14. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +4 -4
  15. package/esm2022/presentation/components/presentation.component.mjs +5 -6
  16. package/esm2022/search/search-home/search-home.component.mjs +1 -1
  17. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +6 -12
  18. package/esm2022/toolbox/style/css.component.mjs +2 -2
  19. package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
  20. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  21. package/fesm2022/provoly-dashboard-presentation.mjs +7 -8
  22. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  23. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  24. package/fesm2022/provoly-dashboard-toolbox.mjs +7 -13
  25. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  26. package/fesm2022/provoly-dashboard.mjs +187 -290
  27. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  28. package/lib/core/model/automatic-grid-layout-definition.interface.d.ts +9 -0
  29. package/lib/core/model/manifest.interface.d.ts +2 -2
  30. package/lib/core/model/public-api.d.ts +1 -0
  31. package/lib/dashboard/components/dashboard.component.d.ts +4 -3
  32. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +2 -2
  33. package/lib/dashboard/components/widgets/widget-placement/widget-placement.utils.d.ts +14 -30
  34. package/lib/dashboard/dashboard.module.d.ts +2 -7
  35. package/lib/dashboard/store/dashboard.actions.d.ts +3 -3
  36. package/lib/dashboard/store/dashboard.selectors.d.ts +2 -2
  37. package/package.json +7 -7
  38. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +2 -2
  39. package/search/search-home/search-home.component.d.ts +1 -1
  40. package/styles/components/_a-page-loader.scss +2 -4
  41. package/styles-theme/components-theme/_a-page-loader.theme.scss +9 -0
  42. package/styles-theme/main-theme.scss +1 -0
  43. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +4 -8
  44. package/toolbox/style/_o-select-grid-layout.scss +6 -1
  45. package/esm2022/lib/dashboard/store/proxy.utils.mjs +0 -72
  46. package/lib/dashboard/store/proxy.utils.d.ts +0 -26
@@ -1,5 +1,4 @@
1
1
  import { DashboardGridLayout } from '../../../../core/model/manifest.interface';
2
- import { DEFAULT_COLUMNS_NUMBER, DEFAULT_ROWS_NUMBER } from '../../../store/dashboard.contants';
3
2
  const arrayOf = (item, num) => {
4
3
  return [...new Array(num)].map(() => item);
5
4
  };
@@ -15,143 +14,98 @@ export const createPlacedWidgetCopy = (widget, position) => {
15
14
  return tmp;
16
15
  };
17
16
  export const WidgetPlacementUtils = {
18
- layoutSizeImplementations: {
19
- [DashboardGridLayout.MANUAL]: (outLayout, params) => {
20
- outLayout.height = params.rows ?? DEFAULT_ROWS_NUMBER;
21
- outLayout.width = params.columns ?? DEFAULT_COLUMNS_NUMBER;
22
- return arrayOf(outLayout, 20);
17
+ layouts: [
18
+ {
19
+ type: DashboardGridLayout.MANUAL,
20
+ places: [],
21
+ label: '@pry.toolbox.layout.0',
22
+ description: '@pry.toolbox.layout.0_detailled',
23
+ rows: 12,
24
+ columns: 12
23
25
  },
24
- [DashboardGridLayout.FULL]: (outLayout, params) => {
25
- outLayout.height = params.rows ?? DEFAULT_ROWS_NUMBER;
26
- outLayout.width = params.columns ?? DEFAULT_COLUMNS_NUMBER;
27
- return [outLayout];
26
+ {
27
+ type: DashboardGridLayout.FULL,
28
+ places: [{ x: 1, y: 1, width: 12, height: 12 }],
29
+ label: '@pry.toolbox.layout.1',
30
+ description: '@pry.toolbox.layout.1_detailled',
31
+ rows: 12,
32
+ columns: 12
28
33
  },
29
- [DashboardGridLayout.QUARTER]: (outLayout, params) => {
30
- outLayout.height = Math.floor((params.rows ?? DEFAULT_ROWS_NUMBER) / 2);
31
- outLayout.width = Math.floor((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 2);
32
- return [outLayout, outLayout, outLayout, outLayout];
34
+ {
35
+ type: DashboardGridLayout.HALF_HORIZONTAL,
36
+ places: [
37
+ { x: 1, y: 1, width: 12, height: 6 },
38
+ { x: 1, y: 7, width: 12, height: 6 }
39
+ ],
40
+ label: '@pry.toolbox.layout.1/2h',
41
+ description: '@pry.toolbox.layout.1/2h_detailled',
42
+ rows: 12,
43
+ columns: 12
33
44
  },
34
- [DashboardGridLayout.HALF_HORIZONTAL]: (outLayout, params) => {
35
- outLayout.height = Math.floor((params.rows ?? DEFAULT_ROWS_NUMBER) / 2);
36
- outLayout.width = params.columns ?? DEFAULT_COLUMNS_NUMBER;
37
- return [outLayout, outLayout];
45
+ {
46
+ type: DashboardGridLayout.HALF_VERTICAL,
47
+ places: [
48
+ { x: 1, y: 1, width: 6, height: 12 },
49
+ { x: 7, y: 1, width: 6, height: 12 }
50
+ ],
51
+ label: '@pry.toolbox.layout.1/2v',
52
+ description: '@pry.toolbox.layout.1/2v_detailled',
53
+ rows: 12,
54
+ columns: 12
38
55
  },
39
- [DashboardGridLayout.HALF_VERTICAL]: (outLayout, params) => {
40
- outLayout.height = params.rows ?? DEFAULT_ROWS_NUMBER;
41
- outLayout.width = Math.floor((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 2);
42
- return [outLayout, outLayout];
56
+ {
57
+ type: DashboardGridLayout.THIRD_HORIZONTAL,
58
+ places: [
59
+ { x: 1, y: 1, width: 12, height: 4 },
60
+ { x: 1, y: 5, width: 12, height: 4 },
61
+ { x: 1, y: 9, width: 12, height: 4 }
62
+ ],
63
+ label: '@pry.toolbox.layout.1/3h',
64
+ description: '@pry.toolbox.layout.1/3h_detailled',
65
+ rows: 12,
66
+ columns: 12
43
67
  },
44
- [DashboardGridLayout.THIRD_HORIZONTAL]: (outLayout, params) => {
45
- outLayout.height = Math.floor((params.rows ?? DEFAULT_ROWS_NUMBER) / 3);
46
- outLayout.width = params.columns ?? DEFAULT_COLUMNS_NUMBER;
47
- return [outLayout, outLayout, outLayout];
68
+ {
69
+ type: DashboardGridLayout.THIRD_VERTICAL,
70
+ places: [
71
+ { x: 1, y: 1, width: 4, height: 12 },
72
+ { x: 5, y: 1, width: 4, height: 12 },
73
+ { x: 9, y: 1, width: 4, height: 12 }
74
+ ],
75
+ label: '@pry.toolbox.layout.1/3v',
76
+ description: '@pry.toolbox.layout.1/3v_detailled',
77
+ rows: 12,
78
+ columns: 12
48
79
  },
49
- [DashboardGridLayout.THIRD_VERTICAL]: (outLayout, params) => {
50
- outLayout.height = params.rows ?? DEFAULT_ROWS_NUMBER;
51
- outLayout.width = Math.floor((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 3);
52
- return [outLayout, outLayout, outLayout];
80
+ {
81
+ type: DashboardGridLayout.QUARTER,
82
+ places: [
83
+ { x: 1, y: 1, width: 6, height: 6 },
84
+ { x: 1, y: 7, width: 6, height: 6 },
85
+ { x: 7, y: 1, width: 6, height: 6 },
86
+ { x: 7, y: 7, width: 6, height: 6 }
87
+ ],
88
+ label: '@pry.toolbox.layout.1/4',
89
+ description: '@pry.toolbox.layout.1/4_detailled',
90
+ rows: 12,
91
+ columns: 12
53
92
  }
93
+ ],
94
+ addGridLayout(layout) {
95
+ this.layouts.push(layout);
54
96
  },
55
- placementOptionsImplementations: {
56
- // Manual mode do not offer automatic placement solutions... propose fullscreen
57
- [DashboardGridLayout.MANUAL]: (widgetToPlace, sizes, params) => [createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 })],
58
- [DashboardGridLayout.FULL]: (widgetToPlace, sizes, params) => [createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 })],
59
- [DashboardGridLayout.HALF_VERTICAL]: (widgetToPlace, sizes, params) => [
60
- createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 }),
61
- createPlacedWidgetCopy(widgetToPlace, {
62
- ...sizes[1],
63
- x: Math.floor((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 2) + 1,
64
- y: 1
65
- })
66
- ],
67
- [DashboardGridLayout.HALF_HORIZONTAL]: (widgetToPlace, sizes, params) => [
68
- createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 }),
69
- createPlacedWidgetCopy(widgetToPlace, {
70
- ...sizes[1],
71
- x: 1,
72
- y: Math.ceil((params.rows ?? DEFAULT_ROWS_NUMBER) / 2) + 1
73
- })
74
- ],
75
- [DashboardGridLayout.THIRD_VERTICAL]: (widgetToPlace, sizes, params) => [
76
- createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 }),
77
- createPlacedWidgetCopy(widgetToPlace, {
78
- ...sizes[1],
79
- x: Math.ceil((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 3) + 1,
80
- y: 1
81
- }),
82
- createPlacedWidgetCopy(widgetToPlace, {
83
- ...sizes[2],
84
- x: Math.ceil(((params.columns ?? DEFAULT_COLUMNS_NUMBER) * 2) / 3) + 1,
85
- y: 1
86
- })
87
- ],
88
- [DashboardGridLayout.THIRD_HORIZONTAL]: (widgetToPlace, sizes, params) => [
89
- createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 }),
90
- createPlacedWidgetCopy(widgetToPlace, {
91
- ...sizes[1],
92
- x: 1,
93
- y: Math.ceil((params.rows ?? DEFAULT_ROWS_NUMBER) / 3) + 1
94
- }),
95
- createPlacedWidgetCopy(widgetToPlace, {
96
- ...sizes[2],
97
- x: 1,
98
- y: Math.ceil(((params.rows ?? DEFAULT_ROWS_NUMBER) * 2) / 3) + 1
99
- })
100
- ],
101
- [DashboardGridLayout.QUARTER]: (widgetToPlace, sizes, params) => [
102
- createPlacedWidgetCopy(widgetToPlace, { ...sizes[0], x: 1, y: 1 }),
103
- createPlacedWidgetCopy(widgetToPlace, {
104
- ...sizes[2],
105
- x: Math.ceil((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 2) + 1,
106
- y: 1
107
- }),
108
- createPlacedWidgetCopy(widgetToPlace, {
109
- ...sizes[1],
110
- x: 1,
111
- y: Math.ceil((params.rows ?? DEFAULT_ROWS_NUMBER ?? DEFAULT_ROWS_NUMBER) / 2) + 1
112
- }),
113
- createPlacedWidgetCopy(widgetToPlace, {
114
- ...sizes[3],
115
- x: Math.ceil((params.columns ?? DEFAULT_COLUMNS_NUMBER) / 2) + 1,
116
- y: Math.ceil((params.rows ?? DEFAULT_ROWS_NUMBER) / 2) + 1
117
- })
118
- ]
119
- },
120
- layoutImages: {
121
- [DashboardGridLayout.MANUAL]: 'assets/svgs/grid_composition_libre.svg',
122
- [DashboardGridLayout.THIRD_VERTICAL]: 'assets/svgs/grid_1_3_vertical.svg',
123
- [DashboardGridLayout.THIRD_HORIZONTAL]: 'assets/svgs/grid_1_3_horizontal.svg',
124
- [DashboardGridLayout.HALF_VERTICAL]: 'assets/svgs/grid_1_2_vertical.svg',
125
- [DashboardGridLayout.HALF_HORIZONTAL]: 'assets/svgs/grid_1_2_horizontal.svg',
126
- [DashboardGridLayout.QUARTER]: 'assets/svgs/grid_1_4.svg',
127
- [DashboardGridLayout.FULL]: 'assets/svgs/grid_full.svg'
128
- },
129
- addLayoutImplementation: (type, fnSizeImplementation, fnPlacementOptionImplementation, image) => {
130
- WidgetPlacementUtils.layoutSizeImplementations[type] = fnSizeImplementation;
131
- WidgetPlacementUtils.placementOptionsImplementations[type] = fnPlacementOptionImplementation;
132
- WidgetPlacementUtils.layoutImages[type] = image ?? 'assets/svgs/default.svg';
133
- },
134
- getLayouts: () => Object.keys(WidgetPlacementUtils.placementOptionsImplementations).map((layout) => ({
135
- key: layout,
136
- image: WidgetPlacementUtils.layoutImages[layout]
137
- })),
138
97
  isLeft: (w1, w2) => w2.layout.x + w2.layout.width <= w1.layout.x,
139
98
  isBelow: (w1, w2) => w2.layout.y + w2.layout.height <= w1.layout.y,
140
99
  areDisjoint: (w1, w2) => WidgetPlacementUtils.isLeft(w1, w2) ||
141
100
  WidgetPlacementUtils.isLeft(w2, w1) ||
142
101
  WidgetPlacementUtils.isBelow(w1, w2) ||
143
102
  WidgetPlacementUtils.isBelow(w2, w1),
144
- placementOptions: (widgetToPlace, layout, params) => {
145
- if (!WidgetPlacementUtils.placementOptionsImplementations[layout]) {
146
- return [];
147
- }
148
- return WidgetPlacementUtils.placementOptionsImplementations[layout](widgetToPlace, WidgetPlacementUtils.getLayoutSize(layout, params), params);
149
- },
150
- getLayoutSize(layout, params) {
151
- if (!WidgetPlacementUtils.layoutSizeImplementations[layout]) {
103
+ placementOptions: (widgetToPlace, layout) => {
104
+ const layoutO = WidgetPlacementUtils.getLayout(layout);
105
+ if (!layoutO) {
152
106
  return [];
153
107
  }
154
- return WidgetPlacementUtils.layoutSizeImplementations[layout]({ x: 1, y: 1, height: 1, width: 1 }, params);
108
+ return layoutO.places.map((place) => ({ ...widgetToPlace, layout: place }));
155
109
  },
156
110
  swapArrayElements: (arr, x, y) => {
157
111
  if (arr.length === 1)
@@ -176,8 +130,8 @@ export const WidgetPlacementUtils = {
176
130
  problems.sort((a, b) => a[0].layout.y * 100000 - b[0].layout.y * 100000 + a[0].layout.x - b[0].layout.y);
177
131
  return problems;
178
132
  },
179
- placesForLayout(layout) {
180
- return this.getLayoutSize(layout, { rows: 1, columns: 1 }).length;
133
+ getLayout(layout) {
134
+ return this.layouts.find((lay) => lay.type === layout);
181
135
  }
182
136
  };
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBsYWNlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQWdDLE1BQU0sMkNBQTJDLENBQUM7QUFFOUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFaEcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDekMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFzQixFQUFFLFFBQXNCLEVBQUUsRUFBRTtJQUN2RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNmLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ2pCO0lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxQixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsR0FBRyxDQUFD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Q0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekcsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFjO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhc2hib2FyZEdyaWRMYXlvdXQsIFdpZGdldExheW91dCwgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDZWxsUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZGFzaGJvYXJkLmFjdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xVTU5TX05VTUJFUiwgREVGQVVMVF9ST1dTX05VTUJFUiB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5jb250YW50cyc7XG5cbmNvbnN0IGFycmF5T2YgPSAoaXRlbTogYW55LCBudW06IG51bWJlcikgPT4ge1xuICByZXR1cm4gWy4uLm5ldyBBcnJheShudW0pXS5tYXAoKCkgPT4gaXRlbSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSA9ICh3aWRnZXQ6IFdpZGdldE1hbmlmZXN0LCBwb3NpdGlvbjogV2lkZ2V0TGF5b3V0KSA9PiB7XG4gIGNvbnN0IHRtcCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkod2lkZ2V0KSk7XG4gIGlmICghdG1wLmxheW91dCkge1xuICAgIHRtcC5sYXlvdXQgPSB7fTtcbiAgfVxuICB0bXAubGF5b3V0LnggPSBwb3NpdGlvbi54O1xuICB0bXAubGF5b3V0LnkgPSBwb3NpdGlvbi55O1xuICB0bXAubGF5b3V0LndpZHRoID0gcG9zaXRpb24ud2lkdGg7XG4gIHRtcC5sYXlvdXQuaGVpZ2h0ID0gcG9zaXRpb24uaGVpZ2h0O1xuICByZXR1cm4gdG1wIGFzIFdpZGdldE1hbmlmZXN0O1xufTtcblxuZXhwb3J0IHR5cGUgTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm4gPSAoXG4gIG91dExheW91dDogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSxcbiAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4pID0+IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH1bXTtcblxuZXhwb3J0IHR5cGUgTGF5b3V0UGxhY2VtZW50T3B0aW9uSW1wbGVtZW50YXRpb25GbiA9IChcbiAgd2lkZ2V0VG9QbGFjZTogV2lkZ2V0TWFuaWZlc3QsXG4gIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4pID0+IFdpZGdldE1hbmlmZXN0W107XG5cbmV4cG9ydCBjb25zdCBXaWRnZXRQbGFjZW1lbnRVdGlscyA9IHtcbiAgbGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uczoge1xuICAgIFtEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTF06IChcbiAgICAgIG91dExheW91dDogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4ge1xuICAgICAgb3V0TGF5b3V0LmhlaWdodCA9IHBhcmFtcy5yb3dzID8/IERFRkFVTFRfUk9XU19OVU1CRVI7XG4gICAgICBvdXRMYXlvdXQud2lkdGggPSBwYXJhbXMuY29sdW1ucyA/PyBERUZBVUxUX0NPTFVNTlNfTlVNQkVSO1xuICAgICAgcmV0dXJuIGFycmF5T2Yob3V0TGF5b3V0LCAyMCk7XG4gICAgfSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5GVUxMXTogKFxuICAgICAgb3V0TGF5b3V0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9LFxuICAgICAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4gICAgKSA9PiB7XG4gICAgICBvdXRMYXlvdXQuaGVpZ2h0ID0gcGFyYW1zLnJvd3MgPz8gREVGQVVMVF9ST1dTX05VTUJFUjtcbiAgICAgIG91dExheW91dC53aWR0aCA9IHBhcmFtcy5jb2x1bW5zID8/IERFRkFVTFRfQ09MVU1OU19OVU1CRVI7XG4gICAgICByZXR1cm4gW291dExheW91dF07XG4gICAgfSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5RVUFSVEVSXTogKFxuICAgICAgb3V0TGF5b3V0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9LFxuICAgICAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4gICAgKSA9PiB7XG4gICAgICBvdXRMYXlvdXQuaGVpZ2h0ID0gTWF0aC5mbG9vcigocGFyYW1zLnJvd3MgPz8gREVGQVVMVF9ST1dTX05VTUJFUikgLyAyKTtcbiAgICAgIG91dExheW91dC53aWR0aCA9IE1hdGguZmxvb3IoKHBhcmFtcy5jb2x1bW5zID8/IERFRkFVTFRfQ09MVU1OU19OVU1CRVIpIC8gMik7XG4gICAgICByZXR1cm4gW291dExheW91dCwgb3V0TGF5b3V0LCBvdXRMYXlvdXQsIG91dExheW91dF07XG4gICAgfSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX0hPUklaT05UQUxdOiAoXG4gICAgICBvdXRMYXlvdXQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0sXG4gICAgICBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz5cbiAgICApID0+IHtcbiAgICAgIG91dExheW91dC5oZWlnaHQgPSBNYXRoLmZsb29yKChwYXJhbXMucm93cyA/PyBERUZBVUxUX1JPV1NfTlVNQkVSKSAvIDIpO1xuICAgICAgb3V0TGF5b3V0LndpZHRoID0gcGFyYW1zLmNvbHVtbnMgPz8gREVGQVVMVF9DT0xVTU5TX05VTUJFUjtcbiAgICAgIHJldHVybiBbb3V0TGF5b3V0LCBvdXRMYXlvdXRdO1xuICAgIH0sXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuSEFMRl9WRVJUSUNBTF06IChcbiAgICAgIG91dExheW91dDogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4ge1xuICAgICAgb3V0TGF5b3V0LmhlaWdodCA9IHBhcmFtcy5yb3dzID8/IERFRkFVTFRfUk9XU19OVU1CRVI7XG4gICAgICBvdXRMYXlvdXQud2lkdGggPSBNYXRoLmZsb29yKChwYXJhbXMuY29sdW1ucyA/PyBERUZBVUxUX0NPTFVNTlNfTlVNQkVSKSAvIDIpO1xuICAgICAgcmV0dXJuIFtvdXRMYXlvdXQsIG91dExheW91dF07XG4gICAgfSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5USElSRF9IT1JJWk9OVEFMXTogKFxuICAgICAgb3V0TGF5b3V0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9LFxuICAgICAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4gICAgKSA9PiB7XG4gICAgICBvdXRMYXlvdXQuaGVpZ2h0ID0gTWF0aC5mbG9vcigocGFyYW1zLnJvd3MgPz8gREVGQVVMVF9ST1dTX05VTUJFUikgLyAzKTtcbiAgICAgIG91dExheW91dC53aWR0aCA9IHBhcmFtcy5jb2x1bW5zID8/IERFRkFVTFRfQ09MVU1OU19OVU1CRVI7XG4gICAgICByZXR1cm4gW291dExheW91dCwgb3V0TGF5b3V0LCBvdXRMYXlvdXRdO1xuICAgIH0sXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuVEhJUkRfVkVSVElDQUxdOiAoXG4gICAgICBvdXRMYXlvdXQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyB3aWR0aDogbnVtYmVyIH0sXG4gICAgICBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz5cbiAgICApID0+IHtcbiAgICAgIG91dExheW91dC5oZWlnaHQgPSBwYXJhbXMucm93cyA/PyBERUZBVUxUX1JPV1NfTlVNQkVSO1xuICAgICAgb3V0TGF5b3V0LndpZHRoID0gTWF0aC5mbG9vcigocGFyYW1zLmNvbHVtbnMgPz8gREVGQVVMVF9DT0xVTU5TX05VTUJFUikgLyAzKTtcbiAgICAgIHJldHVybiBbb3V0TGF5b3V0LCBvdXRMYXlvdXQsIG91dExheW91dF07XG4gICAgfVxuICB9IGFzIHtcbiAgICBbbGF5b3V0OiBzdHJpbmddOiBMYXlvdXRTaXplSW1wbGVtZW50YXRpb25GbjtcbiAgfSxcbiAgcGxhY2VtZW50T3B0aW9uc0ltcGxlbWVudGF0aW9uczoge1xuICAgIC8vIE1hbnVhbCBtb2RlIGRvIG5vdCBvZmZlciBhdXRvbWF0aWMgcGxhY2VtZW50IHNvbHV0aW9ucy4uLiBwcm9wb3NlIGZ1bGxzY3JlZW5cbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUxdOiAoXG4gICAgICB3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCxcbiAgICAgIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4gW2NyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwgeyAuLi5zaXplc1swXSwgeDogMSwgeTogMSB9KV0sXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuRlVMTF06IChcbiAgICAgIHdpZGdldFRvUGxhY2U6IFdpZGdldE1hbmlmZXN0LFxuICAgICAgc2l6ZXM6IFdpZGdldExheW91dFtdLFxuICAgICAgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+XG4gICAgKSA9PiBbY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7IC4uLnNpemVzWzBdLCB4OiAxLCB5OiAxIH0pXSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX1ZFUlRJQ0FMXTogKFxuICAgICAgd2lkZ2V0VG9QbGFjZTogV2lkZ2V0TWFuaWZlc3QsXG4gICAgICBzaXplczogV2lkZ2V0TGF5b3V0W10sXG4gICAgICBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz5cbiAgICApID0+IFtcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwgeyAuLi5zaXplc1swXSwgeDogMSwgeTogMSB9KSxcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwge1xuICAgICAgICAuLi5zaXplc1sxXSxcbiAgICAgICAgeDogTWF0aC5mbG9vcigocGFyYW1zLmNvbHVtbnMgPz8gREVGQVVMVF9DT0xVTU5TX05VTUJFUikgLyAyKSArIDEsXG4gICAgICAgIHk6IDFcbiAgICAgIH0pXG4gICAgXSxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX0hPUklaT05UQUxdOiAoXG4gICAgICB3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCxcbiAgICAgIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4gW1xuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7IC4uLnNpemVzWzBdLCB4OiAxLCB5OiAxIH0pLFxuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7XG4gICAgICAgIC4uLnNpemVzWzFdLFxuICAgICAgICB4OiAxLFxuICAgICAgICB5OiBNYXRoLmNlaWwoKHBhcmFtcy5yb3dzID8/IERFRkFVTFRfUk9XU19OVU1CRVIpIC8gMikgKyAxXG4gICAgICB9KVxuICAgIF0sXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuVEhJUkRfVkVSVElDQUxdOiAoXG4gICAgICB3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCxcbiAgICAgIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4gW1xuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7IC4uLnNpemVzWzBdLCB4OiAxLCB5OiAxIH0pLFxuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7XG4gICAgICAgIC4uLnNpemVzWzFdLFxuICAgICAgICB4OiBNYXRoLmNlaWwoKHBhcmFtcy5jb2x1bW5zID8/IERFRkFVTFRfQ09MVU1OU19OVU1CRVIpIC8gMykgKyAxLFxuICAgICAgICB5OiAxXG4gICAgICB9KSxcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwge1xuICAgICAgICAuLi5zaXplc1syXSxcbiAgICAgICAgeDogTWF0aC5jZWlsKCgocGFyYW1zLmNvbHVtbnMgPz8gREVGQVVMVF9DT0xVTU5TX05VTUJFUikgKiAyKSAvIDMpICsgMSxcbiAgICAgICAgeTogMVxuICAgICAgfSlcbiAgICBdLFxuICAgIFtEYXNoYm9hcmRHcmlkTGF5b3V0LlRISVJEX0hPUklaT05UQUxdOiAoXG4gICAgICB3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCxcbiAgICAgIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4gW1xuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7IC4uLnNpemVzWzBdLCB4OiAxLCB5OiAxIH0pLFxuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7XG4gICAgICAgIC4uLnNpemVzWzFdLFxuICAgICAgICB4OiAxLFxuICAgICAgICB5OiBNYXRoLmNlaWwoKHBhcmFtcy5yb3dzID8/IERFRkFVTFRfUk9XU19OVU1CRVIpIC8gMykgKyAxXG4gICAgICB9KSxcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwge1xuICAgICAgICAuLi5zaXplc1syXSxcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogTWF0aC5jZWlsKCgocGFyYW1zLnJvd3MgPz8gREVGQVVMVF9ST1dTX05VTUJFUikgKiAyKSAvIDMpICsgMVxuICAgICAgfSlcbiAgICBdLFxuICAgIFtEYXNoYm9hcmRHcmlkTGF5b3V0LlFVQVJURVJdOiAoXG4gICAgICB3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCxcbiAgICAgIHNpemVzOiBXaWRnZXRMYXlvdXRbXSxcbiAgICAgIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPlxuICAgICkgPT4gW1xuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7IC4uLnNpemVzWzBdLCB4OiAxLCB5OiAxIH0pLFxuICAgICAgY3JlYXRlUGxhY2VkV2lkZ2V0Q29weSh3aWRnZXRUb1BsYWNlLCB7XG4gICAgICAgIC4uLnNpemVzWzJdLFxuICAgICAgICB4OiBNYXRoLmNlaWwoKHBhcmFtcy5jb2x1bW5zID8/IERFRkFVTFRfQ09MVU1OU19OVU1CRVIpIC8gMikgKyAxLFxuICAgICAgICB5OiAxXG4gICAgICB9KSxcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwge1xuICAgICAgICAuLi5zaXplc1sxXSxcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogTWF0aC5jZWlsKChwYXJhbXMucm93cyA/PyBERUZBVUxUX1JPV1NfTlVNQkVSID8/IERFRkFVTFRfUk9XU19OVU1CRVIpIC8gMikgKyAxXG4gICAgICB9KSxcbiAgICAgIGNyZWF0ZVBsYWNlZFdpZGdldENvcHkod2lkZ2V0VG9QbGFjZSwge1xuICAgICAgICAuLi5zaXplc1szXSxcbiAgICAgICAgeDogTWF0aC5jZWlsKChwYXJhbXMuY29sdW1ucyA/PyBERUZBVUxUX0NPTFVNTlNfTlVNQkVSKSAvIDIpICsgMSxcbiAgICAgICAgeTogTWF0aC5jZWlsKChwYXJhbXMucm93cyA/PyBERUZBVUxUX1JPV1NfTlVNQkVSKSAvIDIpICsgMVxuICAgICAgfSlcbiAgICBdXG4gIH0gYXMge1xuICAgIFtsYXlvdXQ6IHN0cmluZ106IExheW91dFBsYWNlbWVudE9wdGlvbkltcGxlbWVudGF0aW9uRm47XG4gIH0sXG4gIGxheW91dEltYWdlczoge1xuICAgIFtEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTF06ICdhc3NldHMvc3Zncy9ncmlkX2NvbXBvc2l0aW9uX2xpYnJlLnN2ZycsXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuVEhJUkRfVkVSVElDQUxdOiAnYXNzZXRzL3N2Z3MvZ3JpZF8xXzNfdmVydGljYWwuc3ZnJyxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5USElSRF9IT1JJWk9OVEFMXTogJ2Fzc2V0cy9zdmdzL2dyaWRfMV8zX2hvcml6b250YWwuc3ZnJyxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5IQUxGX1ZFUlRJQ0FMXTogJ2Fzc2V0cy9zdmdzL2dyaWRfMV8yX3ZlcnRpY2FsLnN2ZycsXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuSEFMRl9IT1JJWk9OVEFMXTogJ2Fzc2V0cy9zdmdzL2dyaWRfMV8yX2hvcml6b250YWwuc3ZnJyxcbiAgICBbRGFzaGJvYXJkR3JpZExheW91dC5RVUFSVEVSXTogJ2Fzc2V0cy9zdmdzL2dyaWRfMV80LnN2ZycsXG4gICAgW0Rhc2hib2FyZEdyaWRMYXlvdXQuRlVMTF06ICdhc3NldHMvc3Zncy9ncmlkX2Z1bGwuc3ZnJ1xuICB9IGFzIHsgW2xheW91dDogc3RyaW5nXTogc3RyaW5nIH0sXG4gIGFkZExheW91dEltcGxlbWVudGF0aW9uOiAoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZuU2l6ZUltcGxlbWVudGF0aW9uOiBMYXlvdXRTaXplSW1wbGVtZW50YXRpb25GbixcbiAgICBmblBsYWNlbWVudE9wdGlvbkltcGxlbWVudGF0aW9uOiBMYXlvdXRQbGFjZW1lbnRPcHRpb25JbXBsZW1lbnRhdGlvbkZuLFxuICAgIGltYWdlPzogc3RyaW5nXG4gICkgPT4ge1xuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmxheW91dFNpemVJbXBsZW1lbnRhdGlvbnNbdHlwZV0gPSBmblNpemVJbXBsZW1lbnRhdGlvbjtcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5wbGFjZW1lbnRPcHRpb25zSW1wbGVtZW50YXRpb25zW3R5cGVdID0gZm5QbGFjZW1lbnRPcHRpb25JbXBsZW1lbnRhdGlvbjtcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5sYXlvdXRJbWFnZXNbdHlwZV0gPSBpbWFnZSA/PyAnYXNzZXRzL3N2Z3MvZGVmYXVsdC5zdmcnO1xuICB9LFxuICBnZXRMYXlvdXRzOiAoKSA9PlxuICAgIE9iamVjdC5rZXlzKFdpZGdldFBsYWNlbWVudFV0aWxzLnBsYWNlbWVudE9wdGlvbnNJbXBsZW1lbnRhdGlvbnMpLm1hcCgobGF5b3V0KSA9PiAoe1xuICAgICAga2V5OiBsYXlvdXQsXG4gICAgICBpbWFnZTogV2lkZ2V0UGxhY2VtZW50VXRpbHMubGF5b3V0SW1hZ2VzW2xheW91dF1cbiAgICB9KSksXG4gIGlzTGVmdDogKHcxOiBXaWRnZXRNYW5pZmVzdCwgdzI6IFdpZGdldE1hbmlmZXN0KSA9PiB3Mi5sYXlvdXQueCArIHcyLmxheW91dC53aWR0aCA8PSB3MS5sYXlvdXQueCxcbiAgaXNCZWxvdzogKHcxOiBXaWRnZXRNYW5pZmVzdCwgdzI6IFdpZGdldE1hbmlmZXN0KSA9PiB3Mi5sYXlvdXQueSArIHcyLmxheW91dC5oZWlnaHQgPD0gdzEubGF5b3V0LnksXG4gIGFyZURpc2pvaW50OiAodzE6IFdpZGdldE1hbmlmZXN0LCB3MjogV2lkZ2V0TWFuaWZlc3QpID0+XG4gICAgV2lkZ2V0UGxhY2VtZW50VXRpbHMuaXNMZWZ0KHcxLCB3MikgfHxcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5pc0xlZnQodzIsIHcxKSB8fFxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzQmVsb3codzEsIHcyKSB8fFxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzQmVsb3codzIsIHcxKSxcbiAgcGxhY2VtZW50T3B0aW9uczogKHdpZGdldFRvUGxhY2U6IFdpZGdldE1hbmlmZXN0LCBsYXlvdXQ6IHN0cmluZywgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+KSA9PiB7XG4gICAgaWYgKCFXaWRnZXRQbGFjZW1lbnRVdGlscy5wbGFjZW1lbnRPcHRpb25zSW1wbGVtZW50YXRpb25zW2xheW91dF0pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFdpZGdldFBsYWNlbWVudFV0aWxzLnBsYWNlbWVudE9wdGlvbnNJbXBsZW1lbnRhdGlvbnNbbGF5b3V0XShcbiAgICAgIHdpZGdldFRvUGxhY2UsXG4gICAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5nZXRMYXlvdXRTaXplKGxheW91dCwgcGFyYW1zKSxcbiAgICAgIHBhcmFtc1xuICAgICk7XG4gIH0sXG4gIGdldExheW91dFNpemUobGF5b3V0OiBzdHJpbmcsIHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPik6IFdpZGdldExheW91dFtdIHtcbiAgICBpZiAoIVdpZGdldFBsYWNlbWVudFV0aWxzLmxheW91dFNpemVJbXBsZW1lbnRhdGlvbnNbbGF5b3V0XSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gV2lkZ2V0UGxhY2VtZW50VXRpbHMubGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uc1tsYXlvdXRdKHsgeDogMSwgeTogMSwgaGVpZ2h0OiAxLCB3aWR0aDogMSB9LCBwYXJhbXMpO1xuICB9LFxuICBzd2FwQXJyYXlFbGVtZW50czogKGFycjogYW55W10sIHg6IG51bWJlciwgeTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGFyci5sZW5ndGggPT09IDEpIHJldHVybiBhcnI7XG4gICAgYXJyLnNwbGljZSh5LCAxLCBhcnIuc3BsaWNlKHgsIDEsIGFyclt5XSlbMF0pO1xuICAgIHJldHVybiBhcnI7XG4gIH0sXG4gIGdldE92ZXJsYXBzOiAod2lkZ2V0czogV2lkZ2V0TWFuaWZlc3RbXSk6IFdpZGdldE1hbmlmZXN0W11bXSA9PiB7XG4gICAgY29uc3QgcHJvYmxlbXM6IFdpZGdldE1hbmlmZXN0W11bXSA9IFtdO1xuICAgIHdpZGdldHMuZm9yRWFjaCgod2lkZ2V0LCBpKSA9PiB7XG4gICAgICBjb25zdCB3aWRnZXRQcm9ibGVtczogV2lkZ2V0TWFuaWZlc3RbXSA9IFtdO1xuICAgICAgd2lkZ2V0cy5mb3JFYWNoKCh3aXRoV2lkZ2V0LCBqKSA9PiB7XG4gICAgICAgIGlmIChpIDwgaiAmJiAhV2lkZ2V0UGxhY2VtZW50VXRpbHMuYXJlRGlzam9pbnQod2lkZ2V0LCB3aXRoV2lkZ2V0KSkge1xuICAgICAgICAgIHdpZGdldFByb2JsZW1zLnB1c2god2l0aFdpZGdldCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHdpZGdldFByb2JsZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcHJvYmxlbXMucHVzaChbd2lkZ2V0LCAuLi53aWRnZXRQcm9ibGVtc10pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIFJlc29sdmUgcHJvYmxlbXMgYm90dG9tLXVwIG9yIHByaW9yaXRpZXMgd2lsbCBiZSBtZXNzZWQgdXBcbiAgICBwcm9ibGVtcy5zb3J0KChhLCBiKSA9PiBhWzBdLmxheW91dC55ICogMTAwMDAwIC0gYlswXS5sYXlvdXQueSAqIDEwMDAwMCArIGFbMF0ubGF5b3V0LnggLSBiWzBdLmxheW91dC55KTtcbiAgICByZXR1cm4gcHJvYmxlbXM7XG4gIH0sXG4gIHBsYWNlc0ZvckxheW91dChsYXlvdXQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldExheW91dFNpemUobGF5b3V0LCB7IHJvd3M6IDEsIGNvbHVtbnM6IDEgfSkubGVuZ3RoO1xuICB9XG59O1xuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXBsYWNlbWVudC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQWdDLE1BQU0sMkNBQTJDLENBQUM7QUFHOUcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsR0FBVyxFQUFFLEVBQUU7SUFDekMsT0FBTyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFzQixFQUFFLFFBQXNCLEVBQUUsRUFBRTtJQUN2RixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtRQUNmLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ2pCO0lBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxQixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNwQyxPQUFPLEdBQXFC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YztRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGFzaGJvYXJkR3JpZExheW91dCwgV2lkZ2V0TGF5b3V0LCBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF1dG9tYXRpY0dyaWRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbC9hdXRvbWF0aWMtZ3JpZC1sYXlvdXQtZGVmaW5pdGlvbi5pbnRlcmZhY2UnO1xuXG5jb25zdCBhcnJheU9mID0gKGl0ZW06IGFueSwgbnVtOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIFsuLi5uZXcgQXJyYXkobnVtKV0ubWFwKCgpID0+IGl0ZW0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVBsYWNlZFdpZGdldENvcHkgPSAod2lkZ2V0OiBXaWRnZXRNYW5pZmVzdCwgcG9zaXRpb246IFdpZGdldExheW91dCkgPT4ge1xuICBjb25zdCB0bXAgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHdpZGdldCkpO1xuICBpZiAoIXRtcC5sYXlvdXQpIHtcbiAgICB0bXAubGF5b3V0ID0ge307XG4gIH1cbiAgdG1wLmxheW91dC54ID0gcG9zaXRpb24ueDtcbiAgdG1wLmxheW91dC55ID0gcG9zaXRpb24ueTtcbiAgdG1wLmxheW91dC53aWR0aCA9IHBvc2l0aW9uLndpZHRoO1xuICB0bXAubGF5b3V0LmhlaWdodCA9IHBvc2l0aW9uLmhlaWdodDtcbiAgcmV0dXJuIHRtcCBhcyBXaWRnZXRNYW5pZmVzdDtcbn07XG5cbmV4cG9ydCBjb25zdCBXaWRnZXRQbGFjZW1lbnRVdGlscyA9IHtcbiAgbGF5b3V0czogW1xuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMLFxuICAgICAgcGxhY2VzOiBbXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4wJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4wX2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LkZVTEwsXG4gICAgICBwbGFjZXM6IFt7IHg6IDEsIHk6IDEsIHdpZHRoOiAxMiwgaGVpZ2h0OiAxMiB9XSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xX2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LkhBTEZfSE9SSVpPTlRBTCxcbiAgICAgIHBsYWNlczogW1xuICAgICAgICB7IHg6IDEsIHk6IDEsIHdpZHRoOiAxMiwgaGVpZ2h0OiA2IH0sXG4gICAgICAgIHsgeDogMSwgeTogNywgd2lkdGg6IDEyLCBoZWlnaHQ6IDYgfVxuICAgICAgXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xLzJoJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQHByeS50b29sYm94LmxheW91dC4xLzJoX2RldGFpbGxlZCcsXG4gICAgICByb3dzOiAxMixcbiAgICAgIGNvbHVtbnM6IDEyXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXNoYm9hcmRHcmlkTGF5b3V0LkhBTEZfVkVSVElDQUwsXG4gICAgICBwbGFjZXM6IFtcbiAgICAgICAgeyB4OiAxLCB5OiAxLCB3aWR0aDogNiwgaGVpZ2h0OiAxMiB9LFxuICAgICAgICB7IHg6IDcsIHk6IDEsIHdpZHRoOiA2LCBoZWlnaHQ6IDEyIH1cbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8ydicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8ydl9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5USElSRF9IT1JJWk9OVEFMLFxuICAgICAgcGxhY2VzOiBbXG4gICAgICAgIHsgeDogMSwgeTogMSwgd2lkdGg6IDEyLCBoZWlnaHQ6IDQgfSxcbiAgICAgICAgeyB4OiAxLCB5OiA1LCB3aWR0aDogMTIsIGhlaWdodDogNCB9LFxuICAgICAgICB7IHg6IDEsIHk6IDksIHdpZHRoOiAxMiwgaGVpZ2h0OiA0IH1cbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8zaCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BwcnkudG9vbGJveC5sYXlvdXQuMS8zaF9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGFzaGJvYXJkR3JpZExheW91dC5USElSRF9WRVJUSUNBTCxcbiAgICAgIHBsYWNlczogW1xuICAgICAgICB7IHg6IDEsIHk6IDEsIHdpZHRoOiA0LCBoZWlnaHQ6IDEyIH0sXG4gICAgICAgIHsgeDogNSwgeTogMSwgd2lkdGg6IDQsIGhlaWdodDogMTIgfSxcbiAgICAgICAgeyB4OiA5LCB5OiAxLCB3aWR0aDogNCwgaGVpZ2h0OiAxMiB9XG4gICAgICBdLFxuICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvM3YnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvM3ZfZGV0YWlsbGVkJyxcbiAgICAgIHJvd3M6IDEyLFxuICAgICAgY29sdW1uczogMTJcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhc2hib2FyZEdyaWRMYXlvdXQuUVVBUlRFUixcbiAgICAgIHBsYWNlczogW1xuICAgICAgICB7IHg6IDEsIHk6IDEsIHdpZHRoOiA2LCBoZWlnaHQ6IDYgfSxcbiAgICAgICAgeyB4OiAxLCB5OiA3LCB3aWR0aDogNiwgaGVpZ2h0OiA2IH0sXG4gICAgICAgIHsgeDogNywgeTogMSwgd2lkdGg6IDYsIGhlaWdodDogNiB9LFxuICAgICAgICB7IHg6IDcsIHk6IDcsIHdpZHRoOiA2LCBoZWlnaHQ6IDYgfVxuICAgICAgXSxcbiAgICAgIGxhYmVsOiAnQHByeS50b29sYm94LmxheW91dC4xLzQnLFxuICAgICAgZGVzY3JpcHRpb246ICdAcHJ5LnRvb2xib3gubGF5b3V0LjEvNF9kZXRhaWxsZWQnLFxuICAgICAgcm93czogMTIsXG4gICAgICBjb2x1bW5zOiAxMlxuICAgIH1cbiAgXSBhcyBBdXRvbWF0aWNHcmlkTGF5b3V0RGVmaW5pdGlvbltdLFxuICBhZGRHcmlkTGF5b3V0KGxheW91dDogQXV0b21hdGljR3JpZExheW91dERlZmluaXRpb24pIHtcbiAgICB0aGlzLmxheW91dHMucHVzaChsYXlvdXQpO1xuICB9LFxuICBpc0xlZnQ6ICh3MTogV2lkZ2V0TWFuaWZlc3QsIHcyOiBXaWRnZXRNYW5pZmVzdCkgPT4gdzIubGF5b3V0LnggKyB3Mi5sYXlvdXQud2lkdGggPD0gdzEubGF5b3V0LngsXG4gIGlzQmVsb3c6ICh3MTogV2lkZ2V0TWFuaWZlc3QsIHcyOiBXaWRnZXRNYW5pZmVzdCkgPT4gdzIubGF5b3V0LnkgKyB3Mi5sYXlvdXQuaGVpZ2h0IDw9IHcxLmxheW91dC55LFxuICBhcmVEaXNqb2ludDogKHcxOiBXaWRnZXRNYW5pZmVzdCwgdzI6IFdpZGdldE1hbmlmZXN0KSA9PlxuICAgIFdpZGdldFBsYWNlbWVudFV0aWxzLmlzTGVmdCh3MSwgdzIpIHx8XG4gICAgV2lkZ2V0UGxhY2VtZW50VXRpbHMuaXNMZWZ0KHcyLCB3MSkgfHxcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5pc0JlbG93KHcxLCB3MikgfHxcbiAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5pc0JlbG93KHcyLCB3MSksXG4gIHBsYWNlbWVudE9wdGlvbnM6ICh3aWRnZXRUb1BsYWNlOiBXaWRnZXRNYW5pZmVzdCwgbGF5b3V0OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBsYXlvdXRPID0gV2lkZ2V0UGxhY2VtZW50VXRpbHMuZ2V0TGF5b3V0KGxheW91dCk7XG4gICAgaWYgKCFsYXlvdXRPKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBsYXlvdXRPLnBsYWNlcy5tYXAoKHBsYWNlKSA9PiAoeyAuLi53aWRnZXRUb1BsYWNlLCBsYXlvdXQ6IHBsYWNlIH0pKTtcbiAgfSxcbiAgc3dhcEFycmF5RWxlbWVudHM6IChhcnI6IGFueVtdLCB4OiBudW1iZXIsIHk6IG51bWJlcikgPT4ge1xuICAgIGlmIChhcnIubGVuZ3RoID09PSAxKSByZXR1cm4gYXJyO1xuICAgIGFyci5zcGxpY2UoeSwgMSwgYXJyLnNwbGljZSh4LCAxLCBhcnJbeV0pWzBdKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LFxuICBnZXRPdmVybGFwczogKHdpZGdldHM6IFdpZGdldE1hbmlmZXN0W10pOiBXaWRnZXRNYW5pZmVzdFtdW10gPT4ge1xuICAgIGNvbnN0IHByb2JsZW1zOiBXaWRnZXRNYW5pZmVzdFtdW10gPSBbXTtcbiAgICB3aWRnZXRzLmZvckVhY2goKHdpZGdldCwgaSkgPT4ge1xuICAgICAgY29uc3Qgd2lkZ2V0UHJvYmxlbXM6IFdpZGdldE1hbmlmZXN0W10gPSBbXTtcbiAgICAgIHdpZGdldHMuZm9yRWFjaCgod2l0aFdpZGdldCwgaikgPT4ge1xuICAgICAgICBpZiAoaSA8IGogJiYgIVdpZGdldFBsYWNlbWVudFV0aWxzLmFyZURpc2pvaW50KHdpZGdldCwgd2l0aFdpZGdldCkpIHtcbiAgICAgICAgICB3aWRnZXRQcm9ibGVtcy5wdXNoKHdpdGhXaWRnZXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICh3aWRnZXRQcm9ibGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHByb2JsZW1zLnB1c2goW3dpZGdldCwgLi4ud2lkZ2V0UHJvYmxlbXNdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBSZXNvbHZlIHByb2JsZW1zIGJvdHRvbS11cCBvciBwcmlvcml0aWVzIHdpbGwgYmUgbWVzc2VkIHVwXG4gICAgcHJvYmxlbXMuc29ydCgoYSwgYikgPT4gYVswXS5sYXlvdXQueSAqIDEwMDAwMCAtIGJbMF0ubGF5b3V0LnkgKiAxMDAwMDAgKyBhWzBdLmxheW91dC54IC0gYlswXS5sYXlvdXQueSk7XG4gICAgcmV0dXJuIHByb2JsZW1zO1xuICB9LFxuICBnZXRMYXlvdXQobGF5b3V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXRzLmZpbmQoKGxheSkgPT4gbGF5LnR5cGUgPT09IGxheW91dCk7XG4gIH1cbn07XG4iXX0=
@@ -46,7 +46,6 @@ import { BaseTooltipComponent } from './tooltip/base-tooltip.component';
46
46
  import { DefaultTooltipComponent } from './tooltip/components/default/default.tooltip.component';
47
47
  import { TOOLTIP_DEFINITION } from './tooltip/tooltip-factory.service';
48
48
  import { PryFilterGroupCssComponent } from './filter/style/css.component';
49
- import { ProxyUtils } from './store/proxy.utils';
50
49
  import * as i0 from "@angular/core";
51
50
  import * as i1 from "@ngrx/store";
52
51
  import * as i2 from "@ngrx/effects";
@@ -72,9 +71,9 @@ const components = [
72
71
  DatasourceSelectorComponent
73
72
  ];
74
73
  export class PryDashboardModule {
75
- static forRoot(widgetReference, options, tooltipReference, filterReference, additionalGridImplementations = []) {
76
- additionalGridImplementations.forEach((impl) => {
77
- WidgetPlacementUtils.addLayoutImplementation(impl.type, impl.sizeImpl, impl.placementImpl, impl.image);
74
+ static forRoot(widgetReference, options, tooltipReference, filterReference, additionalGridLayouts = []) {
75
+ additionalGridLayouts.forEach((impl) => {
76
+ WidgetPlacementUtils.addGridLayout(impl);
78
77
  });
79
78
  return {
80
79
  ngModule: PryDashboardModule,
@@ -94,9 +93,7 @@ export class PryDashboardModule {
94
93
  ]
95
94
  };
96
95
  }
97
- constructor(store) {
98
- ProxyUtils.init(store);
99
- }
96
+ constructor(store) { }
100
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryDashboardModule, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.NgModule }); }
101
98
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PryDashboardModule, declarations: [DashboardComponent,
102
99
  WidgetInstanciatorComponent,
@@ -181,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
181
178
  providers: []
182
179
  }]
183
180
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJB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d0JBQ2YsZ0JBQWdCO3dCQUNoQixXQUFXLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO3dCQUM3RCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDOUQsbUJBQW1CO3dCQUNuQixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmUsIFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBQcnlEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlJY29uTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5T3ZlcmxheU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9vdmVybGF5L292ZXJsYXkubW9kdWxlJztcbmltcG9ydCB7IFByeVNlbGVjdE1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlUb2dnbGVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5Q29yZU1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5STE4bk1vZHVsZSB9IGZyb20gJy4uL2NvcmUvaTE4bi9pMThuLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zdG9yZS9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJveE1hbmlmZXN0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvdG9vbGJveC90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgV2Vic29ja2V0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvd3Mvd2Vic29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uQnVzRWZmZWN0cyB9IGZyb20gJy4vYWN0aW9uLWJ1cy9lZmZlY3QvYWN0aW9uLWJ1cy5lZmZlY3RzJztcbmltcG9ydCB7IEJ1c1NlcnZpY2UgfSBmcm9tICcuL2FjdGlvbi1idXMvc2VydmljZS9idXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlPYmplY3RFZGl0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9vYmplY3QtZWRpdGlvbi9vYmplY3QtZWRpdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rhc2hib2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuaWZlc3RzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hbmlmZXN0cy9tYW5pZmVzdHMuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldGFkYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21ldGFkYXRhL21ldGFkYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaXp1YWxpemVSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdml6dWFsaXplLXJhdy92aXp1YWxpemUtcmF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZGF0YXNvdXJjZS1zZWxlY3Rvci9kYXRhc291cmNlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXN1bHRTZXRTaXplUGlwZSB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci9yZXN1bHRzZXQtc2l6ZS5waXBlJztcbmltcG9ydCB7IFByeVdpZGdldEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2hlYWRlci93aWRnZXQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBXSURHRVRfREVGSU5JVElPTixcbiAgV2lkZ2V0RmFjdG9yeVNlcnZpY2Vcbn0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LWluc3RhbmNpYXRvci93aWRnZXQtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldEluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWluc3RhbmNpYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0RGVmaW5pdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IFdpZGdldFBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LXBsYWNlaG9sZGVyL3dpZGdldC1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTGF5b3V0UGxhY2VtZW50T3B0aW9uSW1wbGVtZW50YXRpb25GbixcbiAgTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm4sXG4gIFdpZGdldFBsYWNlbWVudFV0aWxzXG59IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZW1lbnQvd2lkZ2V0LXBsYWNlbWVudC51dGlscyc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvYmFzZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckluc3RhbmNpYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWluc3RhbmNpYXRvci9maWx0ZXItaW5zdGFuY2lhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWx0ZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRklMVEVSX0RFRklOSVRJT04sIEZpbHRlckRlZmluaXRpb24gfSBmcm9tICcuL2ZpbHRlci9maWx0ZXItZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEJBU0VfQ09ORklHLCBEYXNoYm9hcmRJbml0U2VydmljZSB9IGZyb20gJy4vc3RvcmUvZGFzaGJvYXJkLWluaXQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQuZWZmZWN0cyc7XG5pbXBvcnQgeyBkYXNoYm9hcmRGZWF0dXJlS2V5LCBkYXNoYm9hcmRSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQucmVkdWNlcnMnO1xuaW1wb3J0IHsgUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3JlZnJlc2guc2VydmljZSc7XG5pbXBvcnQgeyBQcnlUaXRsZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JlL3RpdGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAvYmFzZS10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWZhdWx0VG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC9jb21wb25lbnRzL2RlZmF1bHQvZGVmYXVsdC50b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUT09MVElQX0RFRklOSVRJT04sIFRvb2x0aXBEZWZpbml0aW9uIH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAtZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUZpbHRlckdyb3VwQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvc3R5bGUvY3NzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm94eVV0aWxzIH0gZnJvbSAnLi9zdG9yZS9wcm94eS51dGlscyc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIERhc2hib2FyZENvbXBvbmVudCxcbiAgV2lkZ2V0SW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCxcbiAgU2V0dGluZ3NDb21wb25lbnQsXG4gIE1hbmlmZXN0c0NvbXBvbmVudCxcbiAgTWV0YWRhdGFDb21wb25lbnQsXG4gIENvbnRleHRNZW51Q29tcG9uZW50LFxuICBEYXRhV2lkZ2V0Q29tcG9uZW50LFxuICBCYXNlV2lkZ2V0Q29tcG9uZW50LFxuICBQcnlXaWRnZXRIZWFkZXJDb21wb25lbnQsXG4gIFByeU9iamVjdEVkaXRpb25Db21wb25lbnQsXG4gIFZpenVhbGl6ZVJhd0NvbXBvbmVudCxcbiAgUmVzdWx0U2V0U2l6ZVBpcGUsXG4gIERlZmF1bHRUb29sdGlwQ29tcG9uZW50LFxuICBCYXNlVG9vbHRpcENvbXBvbmVudCxcbiAgQmFzZUZpbHRlckNvbXBvbmVudCxcbiAgRmlsdGVySW5zdGFuY2lhdG9yQ29tcG9uZW50LFxuICBGaWx0ZXJHcm91cENvbXBvbmVudCxcbiAgRGF0YXNvdXJjZVNlbGVjdG9yQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzLCBQcnlGaWx0ZXJHcm91cENzc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUHJ5U2VsZWN0TW9kdWxlLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgT3ZlcmxheU1vZHVsZSxcbiAgICBQcnlDb3JlTW9kdWxlLFxuICAgIFByeUNoZWNrYm94TW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlPdmVybGF5TW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZGFzaGJvYXJkRmVhdHVyZUtleSwgZGFzaGJvYXJkUmVkdWNlciksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtBY3Rpb25CdXNFZmZlY3RzLCBEYXNoYm9hcmRFZmZlY3RzXSksXG4gICAgUHJ5RGF0ZVBpY2tlck1vZHVsZSxcbiAgICBQcnlJMThuTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlEYXNoYm9hcmRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChcbiAgICB3aWRnZXRSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgICBtYXBVcmw/OiBzdHJpbmc7XG4gICAgICBwcnlVcmw/OiBzdHJpbmc7XG4gICAgICB3c1VybD86IHN0cmluZztcbiAgICAgIGdlb1NlcnZlclVybD86IHN0cmluZztcbiAgICB9LFxuICAgIHRvb2x0aXBSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogVG9vbHRpcERlZmluaXRpb24gfSxcbiAgICBmaWx0ZXJSZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogRmlsdGVyRGVmaW5pdGlvbiB9LFxuICAgIGFkZGl0aW9uYWxHcmlkSW1wbGVtZW50YXRpb25zOiB7XG4gICAgICB0eXBlOiBzdHJpbmc7XG4gICAgICBzaXplSW1wbDogTGF5b3V0U2l6ZUltcGxlbWVudGF0aW9uRm47XG4gICAgICBwbGFjZW1lbnRJbXBsOiBMYXlvdXRQbGFjZW1lbnRPcHRpb25JbXBsZW1lbnRhdGlvbkZuO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgfVtdID0gW11cbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxQcnlEYXNoYm9hcmRNb2R1bGU+IHtcbiAgICBhZGRpdGlvbmFsR3JpZEltcGxlbWVudGF0aW9ucy5mb3JFYWNoKChpbXBsKSA9PiB7XG4gICAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5hZGRMYXlvdXRJbXBsZW1lbnRhdGlvbihpbXBsLnR5cGUsIGltcGwuc2l6ZUltcGwsIGltcGwucGxhY2VtZW50SW1wbCwgaW1wbC5pbWFnZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQcnlEYXNoYm9hcmRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBCQVNFX0NPTkZJRywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgICAgeyBwcm92aWRlOiBXSURHRVRfREVGSU5JVElPTiwgdXNlVmFsdWU6IHdpZGdldFJlZmVyZW5jZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFRPT0xUSVBfREVGSU5JVElPTiwgdXNlVmFsdWU6IHRvb2x0aXBSZWZlcmVuY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBGSUxURVJfREVGSU5JVElPTiwgdXNlVmFsdWU6IGZpbHRlclJlZmVyZW5jZSB9LFxuICAgICAgICBCdXNTZXJ2aWNlLFxuICAgICAgICBEYXNoYm9hcmRJbml0U2VydmljZSxcbiAgICAgICAgVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICAgICAgUmVmcmVzaFNlcnZpY2UsXG4gICAgICAgIFByeVRpdGxlU2VydmljZSxcbiAgICAgICAgV2Vic29ja2V0U2VydmljZSxcbiAgICAgICAgQ29uZmlnU2VydmljZSxcbiAgICAgICAgV2lkZ2V0RmFjdG9yeVNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgUHJveHlVdGlscy5pbml0KHN0b3JlKTtcbiAgfVxufVxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZGFzaGJvYXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJB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ZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlLCBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IFByeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY2hlY2tib3gnO1xuaW1wb3J0IHsgUHJ5RGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5SWNvbk1vZHVsZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFByeU92ZXJsYXlNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5pbXBvcnQgeyBQcnlTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xuaW1wb3J0IHsgUHJ5VG9nZ2xlTW9kdWxlIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUubW9kdWxlJztcbmltcG9ydCB7IFByeUNvcmVNb2R1bGUgfSBmcm9tICcuLi9jb3JlL2NvcmUubW9kdWxlJztcbmltcG9ydCB7IFByeUkxOG5Nb2R1bGUgfSBmcm9tICcuLi9jb3JlL2kxOG4vaTE4bi5tb2R1bGUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc3RvcmUvY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvb2xib3hNYW5pZmVzdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Rvb2xib3gvdG9vbGJveC1tYW5pZmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3dzL3dlYnNvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvbkJ1c0VmZmVjdHMgfSBmcm9tICcuL2FjdGlvbi1idXMvZWZmZWN0L2FjdGlvbi1idXMuZWZmZWN0cyc7XG5pbXBvcnQgeyBCdXNTZXJ2aWNlIH0gZnJvbSAnLi9hY3Rpb24tYnVzL3NlcnZpY2UvYnVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJ5T2JqZWN0RWRpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0LW1lbnUvb2JqZWN0LWVkaXRpb24vb2JqZWN0LWVkaXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERhc2hib2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hbmlmZXN0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYW5pZmVzdHMvbWFuaWZlc3RzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRhZGF0YUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZXRhZGF0YS9tZXRhZGF0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVml6dWFsaXplUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ZpenVhbGl6ZS1yYXcvdml6dWFsaXplLXJhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZVdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2Jhc2Utd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvZGF0YS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGFzb3VyY2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL2RhdGFzb3VyY2Utc2VsZWN0b3IvZGF0YXNvdXJjZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzdWx0U2V0U2l6ZVBpcGUgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9oZWFkZXIvcmVzdWx0c2V0LXNpemUucGlwZSc7XG5pbXBvcnQgeyBQcnlXaWRnZXRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9oZWFkZXIvd2lkZ2V0LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgV0lER0VUX0RFRklOSVRJT04sXG4gIFdpZGdldEZhY3RvcnlTZXJ2aWNlXG59IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXRJbnN0YW5jaWF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtaW5zdGFuY2lhdG9yL3dpZGdldC1pbnN0YW5jaWF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldERlZmluaXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtaW5zdGFuY2lhdG9yL3dpZGdldHMtZGVmaW5pdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1wbGFjZWhvbGRlci93aWRnZXQtcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldFBsYWNlbWVudFV0aWxzIH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMvd2lkZ2V0LXBsYWNlbWVudC93aWRnZXQtcGxhY2VtZW50LnV0aWxzJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci9iYXNlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVySW5zdGFuY2lhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvY29tcG9uZW50cy9maWx0ZXItaW5zdGFuY2lhdG9yL2ZpbHRlci1pbnN0YW5jaWF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXIvY29tcG9uZW50cy9maWx0ZXItZ3JvdXAvZmlsdGVyLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGSUxURVJfREVGSU5JVElPTiwgRmlsdGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlci1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQkFTRV9DT05GSUcsIERhc2hib2FyZEluaXRTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yZS9kYXNoYm9hcmQtaW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7IERhc2hib2FyZEVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2Rhc2hib2FyZC5lZmZlY3RzJztcbmltcG9ydCB7IGRhc2hib2FyZEZlYXR1cmVLZXksIGRhc2hib2FyZFJlZHVjZXIgfSBmcm9tICcuL3N0b3JlL2Rhc2hib2FyZC5yZWR1Y2Vycyc7XG5pbXBvcnQgeyBSZWZyZXNoU2VydmljZSB9IGZyb20gJy4vc3RvcmUvcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IFByeVRpdGxlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvdGl0bGUuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC9iYXNlLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IERlZmF1bHRUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwL2NvbXBvbmVudHMvZGVmYXVsdC9kZWZhdWx0LnRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRPT0xUSVBfREVGSU5JVElPTiwgVG9vbHRpcERlZmluaXRpb24gfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJ5RmlsdGVyR3JvdXBDc3NDb21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci9zdHlsZS9jc3MuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9tYXRpY0dyaWRMYXlvdXREZWZpbml0aW9uIH0gZnJvbSAnLi4vY29yZS9tb2RlbC9hdXRvbWF0aWMtZ3JpZC1sYXlvdXQtZGVmaW5pdGlvbi5pbnRlcmZhY2UnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICBEYXNoYm9hcmRDb21wb25lbnQsXG4gIFdpZGdldEluc3RhbmNpYXRvckNvbXBvbmVudCxcbiAgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQsXG4gIFNldHRpbmdzQ29tcG9uZW50LFxuICBNYW5pZmVzdHNDb21wb25lbnQsXG4gIE1ldGFkYXRhQ29tcG9uZW50LFxuICBDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgRGF0YVdpZGdldENvbXBvbmVudCxcbiAgQmFzZVdpZGdldENvbXBvbmVudCxcbiAgUHJ5V2lkZ2V0SGVhZGVyQ29tcG9uZW50LFxuICBQcnlPYmplY3RFZGl0aW9uQ29tcG9uZW50LFxuICBWaXp1YWxpemVSYXdDb21wb25lbnQsXG4gIFJlc3VsdFNldFNpemVQaXBlLFxuICBEZWZhdWx0VG9vbHRpcENvbXBvbmVudCxcbiAgQmFzZVRvb2x0aXBDb21wb25lbnQsXG4gIEJhc2VGaWx0ZXJDb21wb25lbnQsXG4gIEZpbHRlckluc3RhbmNpYXRvckNvbXBvbmVudCxcbiAgRmlsdGVyR3JvdXBDb21wb25lbnQsXG4gIERhdGFzb3VyY2VTZWxlY3RvckNvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50cywgUHJ5RmlsdGVyR3JvdXBDc3NDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFByeVNlbGVjdE1vZHVsZSxcbiAgICBQcnlJY29uTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBQcnlDaGVja2JveE1vZHVsZSxcbiAgICBQcnlUb2dnbGVNb2R1bGUsXG4gICAgUHJ5T3ZlcmxheU1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKGRhc2hib2FyZEZlYXR1cmVLZXksIGRhc2hib2FyZFJlZHVjZXIpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbQWN0aW9uQnVzRWZmZWN0cywgRGFzaGJvYXJkRWZmZWN0c10pLFxuICAgIFByeURhdGVQaWNrZXJNb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbLi4uY29tcG9uZW50c10sXG4gIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgUHJ5RGFzaGJvYXJkTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoXG4gICAgd2lkZ2V0UmVmZXJlbmNlOiB7IFtrZXk6IHN0cmluZ106IFdpZGdldERlZmluaXRpb24gfSxcbiAgICBvcHRpb25zOiB7XG4gICAgICBwYXRoPzogc3RyaW5nO1xuICAgICAgbWFwVXJsPzogc3RyaW5nO1xuICAgICAgcHJ5VXJsPzogc3RyaW5nO1xuICAgICAgd3NVcmw/OiBzdHJpbmc7XG4gICAgICBnZW9TZXJ2ZXJVcmw/OiBzdHJpbmc7XG4gICAgfSxcbiAgICB0b29sdGlwUmVmZXJlbmNlOiB7IFtrZXk6IHN0cmluZ106IFRvb2x0aXBEZWZpbml0aW9uIH0sXG4gICAgZmlsdGVyUmVmZXJlbmNlOiB7IFtrZXk6IHN0cmluZ106IEZpbHRlckRlZmluaXRpb24gfSxcbiAgICBhZGRpdGlvbmFsR3JpZExheW91dHM6IEF1dG9tYXRpY0dyaWRMYXlvdXREZWZpbml0aW9uW10gPSBbXVxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFByeURhc2hib2FyZE1vZHVsZT4ge1xuICAgIGFkZGl0aW9uYWxHcmlkTGF5b3V0cy5mb3JFYWNoKChpbXBsKSA9PiB7XG4gICAgICBXaWRnZXRQbGFjZW1lbnRVdGlscy5hZGRHcmlkTGF5b3V0KGltcGwpO1xuICAgIH0pO1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUHJ5RGFzaGJvYXJkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQkFTRV9DT05GSUcsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogV0lER0VUX0RFRklOSVRJT04sIHVzZVZhbHVlOiB3aWRnZXRSZWZlcmVuY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBUT09MVElQX0RFRklOSVRJT04sIHVzZVZhbHVlOiB0b29sdGlwUmVmZXJlbmNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRklMVEVSX0RFRklOSVRJT04sIHVzZVZhbHVlOiBmaWx0ZXJSZWZlcmVuY2UgfSxcbiAgICAgICAgQnVzU2VydmljZSxcbiAgICAgICAgRGFzaGJvYXJkSW5pdFNlcnZpY2UsXG4gICAgICAgIFRvb2xib3hNYW5pZmVzdFNlcnZpY2UsXG4gICAgICAgIFJlZnJlc2hTZXJ2aWNlLFxuICAgICAgICBQcnlUaXRsZVNlcnZpY2UsXG4gICAgICAgIFdlYnNvY2tldFNlcnZpY2UsXG4gICAgICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIFdpZGdldEZhY3RvcnlTZXJ2aWNlXG4gICAgICBdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge31cbn1cbiJdfQ==
@@ -84,4 +84,4 @@ export const DashboardActions = {
84
84
  triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
85
85
  loadPresentation: createAction('[Dashboard] load presentation', props())
86
86
  };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUFFLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxZQUFZLENBQzdCLHVDQUF1QyxFQUN2QyxLQUFLLEVBQW9ELENBQzFEO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQy9FLGVBQWUsRUFBRSxZQUFZLENBQUMsNkRBQTZELENBQUM7SUFDNUYsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3ZFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBQTBELENBQ2hFO0lBQ0QsY0FBYyxFQUFFLFlBQVksQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDL0Ysb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwRUFBMEUsRUFDMUUsS0FBSyxFQUFzRCxDQUM1RDtJQUNELGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFvQyxDQUFDO0lBQ3pHLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsbUNBQW1DLEVBQ25DLEtBQUssRUFBK0QsQ0FDckU7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLG1DQUFtQyxFQUNuQyxLQUFLLEVBQWlFLENBQ3ZFO0lBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxzQ0FBc0MsRUFDdEMsS0FBSyxFQUFrRCxDQUN4RDtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBjb3Zlcj86IGJvb2xlYW47XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGdyb3Vwcz86IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc29sdmVDb2xsaXNpb25zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNvbHZpbmcgY29sbGlzaW9ucycpLFxuICBjbGVhck1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGNsZWFyIG1hbmlmZXN0JyksXG4gIGZvbGxvd01hbmlmZXN0Um91dGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZm9sbG93IG1hbmlmZXN0IHJvdXRlJyksXG4gIG1vdmVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbW92aW5nIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgdGFyZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgbWF4aW1pemVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbWF4aW1pemUgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBhc3NlcnRSZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGFzc2VydCByZXN1bHRTZXQnLCBwcm9wczx7IGlkPzogc3RyaW5nOyBleGNsdWRlR2VvPzogYm9vbGVhbiB9PigpKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyByZXN1bHRTZXQ6IFJlc3VsdFNldDsgcGFyYW1zPzogc3RyaW5nIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIGFkZEl0ZW1Ub1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGl0ZW0gdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGl0ZW06IEl0ZW07IHJlc3VsdFNldD86IHN0cmluZyB9PigpXG4gICksXG4gIHN0YXJ0aW5nTWlzc2luZ1ZpZXdzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG9wZW5pbmcgbWlzc2luZyB2aWV3cyBmb3IgbWFuaWZlc3QnKSxcbiAgc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBhdmFpbGFibGUgcnMgbmFtZXMnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgc2V0RGVmYXVsdERhdGFzb3VyY2U6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGN1cnJlbnQgcnMgbmFtZScsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRQYXJhbXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gc2V0IGRhc2hib2FyZCBjZWxsIHBhcmFtcycsXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz4gfT4oKVxuICApLFxuICB0b2dnbGVFZGl0aW9uTW9kZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB0b2dnbGUgZWRpdGlvbiBtb2RlJywgcHJvcHM8eyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbScsIHByb3BzPHsgaWQ6IHN0cmluZzsgY3VtdWxhdGl2ZTogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0TWFueTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbXMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIGludmVydFNlbGVjdGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpbnZlcnQgc2VsZWN0aW9uJyksXG4gIGZldGNoT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZmV0Y2ggb2JqZWN0cyBkZXRhaWxzJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgb2JqZWN0cyBkZXRhaWxzJyxcbiAgICBwcm9wczx7IGxpc3Q6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH0gfT4oKVxuICApLFxuICBleHBsb3JlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGlzb2xhdGUgaW4gZGF0YSBzZXQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRldGFpbDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgZGV0YWlsIHZpZXcnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHByb3hpbWl0eTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBwcm94aW1pdHkgc2VhcmNoJywgcHJvcHM8eyBpZDogc3RyaW5nOyB0YXJnZXRSZXN1bHRTZXQ6IHN0cmluZyB9PigpKSxcbiAgbXVsdGlTbmFja0JhcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBkaXNwbGF5IHNuYWNrIG1lc3NhZ2UnLCBwcm9wczx7IG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSB9PigpKSxcbiAgcXVpY2tPcmRlcjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBxdWljayBvcmRlcicsXG4gICAgcHJvcHM8eyBkYXRhc291cmNlSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBzdHJpbmc7IGFzYzogT3JkZXJWYWx1ZSB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IERhc2hib2FyZEdyaWRMYXlvdXQgfT4oKSksXG4gIHByb3BhZ2F0ZUdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgY2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdDsgcmFuazogbnVtYmVyIH0+KClcbiAgKSxcbiAgY3JlYXRlVGFiOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNyZWF0ZSBuZXcgdGFiJyksXG4gIHJlc3RvcmVJbml0aWFsTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVzdG9yaW5nIG1pc3NpbmcgdGFicycpLFxuICBzZXRGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcnM6IEZpbHRlcltdIH0+KCkpLFxuICB1cGRhdGVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcjogRmlsdGVyIH0+KCkpLFxuICByZW1vdmVGaWx0ZXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlciBpbiBwcmVzZW50YXRpb24nLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHJlbW92ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlcnMnKSxcbiAgdXBkYXRlRmlsdGVyVmFsdWU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGZpbHRlciB2YWx1ZScsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRhc291cmNlSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGNsZWFyQWxsRmlsdGVyVmFsdWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNsZWFyIGFsbCBmaWx0ZXIgdmFsdWVzJyksXG4gIGRpc3BhdGNoRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhcHBseSBmaWx0ZXJzIHRvIHByZXNlbnRhdGlvbiBkYXRhc291cmNlcycpLFxuICByZXNldFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBSZXNldCBXbXMgbGF5ZXIgZmVhdHVyZXMnKSxcbiAgZ2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCBXbXMgbGF5ZXIgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW10gfT4oKVxuICApLFxuICBhZGRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gU2V0IFdtcyBsYXllciBmZWF0dXJlcycsIHByb3BzPHsgZmVhdHVyZXM6IGFueSB9PigpKSxcbiAgdXBkYXRlRGlzcGxheU9wdGlvbnM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZC9EaXNwbGF5XSAoYnVzKSBVcGRhdGUgZGlzcGxheWVkIGRhc2hib2FyZCBtYW5hZ2VtZW50IGZlYXR1cmVzJyxcbiAgICBwcm9wczx7IG1vZGU6IFZpZXdNb2RlOyBjdXN0b21EaXNwbGF5PzogRGlzcGxheU9wdGlvbnMgfT4oKVxuICApLFxuICBnZXRDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBHZXQgV21zIGNhcGFiaWxpdHknLCBwcm9wczx7IHVybDogc3RyaW5nOyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHVwZGF0ZUNhcGFiaWxpdHk6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIFN0b3JlIFdtcyBjYXBhYmlsaXR5JyxcbiAgICBwcm9wczx7IHVybDogc3RyaW5nOyBjYXBhYmlsaXR5OiBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB8IG51bGwgfT4oKVxuICApLFxuICBhZGRNYW5pZmVzdE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIEFkZCBtYW5pZmVzdCBtZXRhZGF0YScsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb25JZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4oKVxuICApLFxuICBkZWxldGVNYW5pZmVzdE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIERlbGV0ZSBtYW5pZmVzdCBtZXRhZGF0YScsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb25JZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICB0cmlnZ2VyQWdncmVnYXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIFRyaWdnZXJpbmcgYWdncmVnYXRlcyBmb3IgZGF0YXNvdXJjZScsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBsb2FkIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb247IHZpZXdNb2RlOiBWaWV3TW9kZSB9PigpXG4gIClcbn07XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBNkJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUFFLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxZQUFZLENBQzdCLHVDQUF1QyxFQUN2QyxLQUFLLEVBQW9ELENBQzFEO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQy9FLGVBQWUsRUFBRSxZQUFZLENBQUMsNkRBQTZELENBQUM7SUFDNUYsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3ZFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBQTBELENBQ2hFO0lBQ0QsY0FBYyxFQUFFLFlBQVksQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDL0Ysb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwRUFBMEUsRUFDMUUsS0FBSyxFQUFzRCxDQUM1RDtJQUNELGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFvQyxDQUFDO0lBQ3pHLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsbUNBQW1DLEVBQ25DLEtBQUssRUFBK0QsQ0FDckU7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLG1DQUFtQyxFQUNuQyxLQUFLLEVBQWlFLENBQ3ZFO0lBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxzQ0FBc0MsRUFDdEMsS0FBSyxFQUFrRCxDQUN4RDtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBjb3Zlcj86IGJvb2xlYW47XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGdyb3Vwcz86IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc29sdmVDb2xsaXNpb25zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNvbHZpbmcgY29sbGlzaW9ucycpLFxuICBjbGVhck1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGNsZWFyIG1hbmlmZXN0JyksXG4gIGZvbGxvd01hbmlmZXN0Um91dGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZm9sbG93IG1hbmlmZXN0IHJvdXRlJyksXG4gIG1vdmVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbW92aW5nIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgdGFyZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgbWF4aW1pemVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbWF4aW1pemUgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBhc3NlcnRSZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGFzc2VydCByZXN1bHRTZXQnLCBwcm9wczx7IGlkPzogc3RyaW5nOyBleGNsdWRlR2VvPzogYm9vbGVhbiB9PigpKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyByZXN1bHRTZXQ6IFJlc3VsdFNldDsgcGFyYW1zPzogc3RyaW5nIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIGFkZEl0ZW1Ub1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGl0ZW0gdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGl0ZW06IEl0ZW07IHJlc3VsdFNldD86IHN0cmluZyB9PigpXG4gICksXG4gIHN0YXJ0aW5nTWlzc2luZ1ZpZXdzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG9wZW5pbmcgbWlzc2luZyB2aWV3cyBmb3IgbWFuaWZlc3QnKSxcbiAgc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBhdmFpbGFibGUgcnMgbmFtZXMnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgc2V0RGVmYXVsdERhdGFzb3VyY2U6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGN1cnJlbnQgcnMgbmFtZScsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRQYXJhbXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gc2V0IGRhc2hib2FyZCBjZWxsIHBhcmFtcycsXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz4gfT4oKVxuICApLFxuICB0b2dnbGVFZGl0aW9uTW9kZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB0b2dnbGUgZWRpdGlvbiBtb2RlJywgcHJvcHM8eyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbScsIHByb3BzPHsgaWQ6IHN0cmluZzsgY3VtdWxhdGl2ZTogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0TWFueTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbXMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIGludmVydFNlbGVjdGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpbnZlcnQgc2VsZWN0aW9uJyksXG4gIGZldGNoT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZmV0Y2ggb2JqZWN0cyBkZXRhaWxzJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgb2JqZWN0cyBkZXRhaWxzJyxcbiAgICBwcm9wczx7IGxpc3Q6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH0gfT4oKVxuICApLFxuICBleHBsb3JlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGlzb2xhdGUgaW4gZGF0YSBzZXQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRldGFpbDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgZGV0YWlsIHZpZXcnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHByb3hpbWl0eTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBwcm94aW1pdHkgc2VhcmNoJywgcHJvcHM8eyBpZDogc3RyaW5nOyB0YXJnZXRSZXN1bHRTZXQ6IHN0cmluZyB9PigpKSxcbiAgbXVsdGlTbmFja0JhcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBkaXNwbGF5IHNuYWNrIG1lc3NhZ2UnLCBwcm9wczx7IG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSB9PigpKSxcbiAgcXVpY2tPcmRlcjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBxdWljayBvcmRlcicsXG4gICAgcHJvcHM8eyBkYXRhc291cmNlSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBzdHJpbmc7IGFzYzogT3JkZXJWYWx1ZSB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IHN0cmluZyB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVycycpLFxuICB1cGRhdGVGaWx0ZXJWYWx1ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZmlsdGVyIHZhbHVlJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgY2xlYXJBbGxGaWx0ZXJWYWx1ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY2xlYXIgYWxsIGZpbHRlciB2YWx1ZXMnKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyksXG4gIHJlc2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIFJlc2V0IFdtcyBsYXllciBmZWF0dXJlcycpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXSB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55IH0+KCkpLFxuICB1cGRhdGVEaXNwbGF5T3B0aW9uczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkL0Rpc3BsYXldIChidXMpIFVwZGF0ZSBkaXNwbGF5ZWQgZGFzaGJvYXJkIG1hbmFnZW1lbnQgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgbW9kZTogVmlld01vZGU7IGN1c3RvbURpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucyB9PigpXG4gICksXG4gIGdldENhcGFiaWxpdHk6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIEdldCBXbXMgY2FwYWJpbGl0eScsIHByb3BzPHsgdXJsOiBzdHJpbmc7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgdXBkYXRlQ2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gU3RvcmUgV21zIGNhcGFiaWxpdHknLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IGNhcGFiaWxpdHk6IEdldENhcGFiaWxpdGllc1Jlc3BvbnNlIHwgbnVsbCB9PigpXG4gICksXG4gIGFkZE1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gQWRkIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigpXG4gICksXG4gIGRlbGV0ZU1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gRGVsZXRlIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHRyaWdnZXJBZ2dyZWdhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgVHJpZ2dlcmluZyBhZ2dyZWdhdGVzIGZvciBkYXRhc291cmNlJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGxvYWQgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbjsgdmlld01vZGU6IFZpZXdNb2RlIH0+KClcbiAgKVxufTtcbiJdfQ==