@acorex/modules 20.7.20 → 20.7.21

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 (41) hide show
  1. package/asset-management/index.d.ts +24 -33
  2. package/dashboard-management/index.d.ts +40 -5
  3. package/document-management/index.d.ts +1 -26
  4. package/fesm2022/acorex-modules-asset-management-asset.entity-D_w4zjNb.mjs +612 -0
  5. package/fesm2022/acorex-modules-asset-management-asset.entity-D_w4zjNb.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-asset-management-manual-asset-category.entity-DyIV_vbE.mjs +267 -0
  7. package/fesm2022/acorex-modules-asset-management-manual-asset-category.entity-DyIV_vbE.mjs.map +1 -0
  8. package/fesm2022/acorex-modules-asset-management.mjs +59 -117
  9. package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
  10. package/fesm2022/acorex-modules-dashboard-management.mjs +454 -116
  11. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  12. package/fesm2022/acorex-modules-data-management.mjs +4 -2
  13. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  14. package/fesm2022/acorex-modules-document-management.mjs +40 -99
  15. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  16. package/fesm2022/acorex-modules-maintenance-management.mjs +194 -103
  17. package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
  18. package/fesm2022/acorex-modules-notification-management.mjs +21 -6
  19. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  20. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs +2135 -0
  21. package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs.map +1 -0
  22. package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-Clyj7r2x.mjs +263 -0
  23. package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-Clyj7r2x.mjs.map +1 -0
  24. package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-BXb0FTQ5.mjs +184 -0
  25. package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-BXb0FTQ5.mjs.map +1 -0
  26. package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs +247 -0
  27. package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-reservation-management.mjs +1 -3325
  29. package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
  30. package/fesm2022/{acorex-modules-task-management-task-board.page-BOOY3qla.mjs → acorex-modules-task-management-task-board.page-BBKB4yir.mjs} +114 -62
  31. package/fesm2022/acorex-modules-task-management-task-board.page-BBKB4yir.mjs.map +1 -0
  32. package/fesm2022/acorex-modules-task-management.mjs +43 -13
  33. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  34. package/maintenance-management/index.d.ts +7 -3
  35. package/package.json +2 -2
  36. package/reservation-management/index.d.ts +84 -338
  37. package/fesm2022/acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs +0 -357
  38. package/fesm2022/acorex-modules-asset-management-asset.entity-C57iN3Bo.mjs.map +0 -1
  39. package/fesm2022/acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs +0 -198
  40. package/fesm2022/acorex-modules-asset-management-inspection.entity-CpDuN-qj.mjs.map +0 -1
  41. package/fesm2022/acorex-modules-task-management-task-board.page-BOOY3qla.mjs.map +0 -1
@@ -0,0 +1,247 @@
1
+ import { createAllQueryView, AXPEntityQueryType } from '@acorex/platform/common';
2
+ import { AXPEntityDefinitionRegistryService, entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';
3
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
4
+ import { A as AXPReservationManagementReservationStatusTransitionService, R as RootConfig } from './acorex-modules-reservation-management-acorex-modules-reservation-management-CkHGIQ38.mjs';
5
+
6
+ //#region ---- Imports ----
7
+ //#endregion
8
+ //#region ---- Entity Factory ----
9
+ async function reservationStatusTransitionFactory(injector) {
10
+ const dataService = injector.get(AXPReservationManagementReservationStatusTransitionService);
11
+ const entityRegistry = injector.get(AXPEntityDefinitionRegistryService);
12
+ const i18n = RootConfig.config.i18n;
13
+ const entityDef = {
14
+ module: RootConfig.module.name,
15
+ name: RootConfig.entities.reservationStatusTransition.name,
16
+ title: RootConfig.entities.reservationStatusTransition.title,
17
+ icon: RootConfig.entities.reservationStatusTransition.icon,
18
+ formats: {
19
+ individual: RootConfig.entities.reservationStatusTransition.title,
20
+ plural: RootConfig.entities.reservationStatusTransition.titlePlural,
21
+ searchResult: {
22
+ title: '{{ title || (fromStatus?.title + " → " + toStatus?.title) }}',
23
+ description: '{{ reservationClass?.title }}',
24
+ },
25
+ },
26
+ groups: [
27
+ {
28
+ id: 'transition-details',
29
+ title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.groups.transition-details',
30
+ },
31
+ ],
32
+ plugins: [],
33
+ properties: [
34
+ {
35
+ name: 'id',
36
+ title: '@general:terms.common.id',
37
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
38
+ },
39
+ {
40
+ name: 'reservationClassId',
41
+ title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.reservation-class-id.title',
42
+ groupId: 'transition-details',
43
+ schema: {
44
+ dataType: 'string',
45
+ visible: false,
46
+ interface: {
47
+ type: AXPWidgetsCatalog.lookup,
48
+ options: {
49
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClass.name}`,
50
+ textField: 'title',
51
+ valueField: 'id',
52
+ columns: ['code', 'title'],
53
+ expose: [
54
+ { source: 'id', target: 'reservationClass.id' },
55
+ { source: 'title', target: 'reservationClass.title' },
56
+ { source: 'code', target: 'reservationClass.code' },
57
+ ],
58
+ },
59
+ },
60
+ },
61
+ options: {
62
+ sort: { enabled: true },
63
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
64
+ },
65
+ validations: [{ rule: 'required' }],
66
+ },
67
+ {
68
+ name: 'fromStatusId',
69
+ title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.from-status-id.title',
70
+ groupId: 'transition-details',
71
+ schema: {
72
+ dataType: 'object',
73
+ interface: {
74
+ type: AXPWidgetsCatalog.lookup,
75
+ options: {
76
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`,
77
+ look: 'select',
78
+ textField: 'title',
79
+ valueField: 'id',
80
+ columns: ['name', 'title', 'color'],
81
+ expose: [
82
+ { source: 'id', target: 'fromStatus.id' },
83
+ { source: 'title', target: 'fromStatus.title' },
84
+ { source: 'name', target: 'fromStatus.name' },
85
+ ],
86
+ filter: {
87
+ logic: 'and',
88
+ filters: [
89
+ {
90
+ field: 'reservationClassId',
91
+ operator: { type: 'equal' },
92
+ value: '{{ context.eval("reservationClassId.value") }}',
93
+ },
94
+ ],
95
+ },
96
+ triggers: [
97
+ {
98
+ event: "{{ events.context('reservationClassId') }}",
99
+ //action:"{{console.log(context.eval('reservationClassId'))}}"
100
+ action: `{{ widget.refresh() }}`,
101
+ },
102
+ ],
103
+ },
104
+ },
105
+ },
106
+ options: {
107
+ sort: { enabled: true },
108
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
109
+ },
110
+ validations: [{ rule: 'required' }],
111
+ },
112
+ {
113
+ name: 'toStatusId',
114
+ title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.to-status-id.title',
115
+ groupId: 'transition-details',
116
+ schema: {
117
+ dataType: 'object',
118
+ interface: {
119
+ type: AXPWidgetsCatalog.lookup,
120
+ options: {
121
+ entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`,
122
+ look: 'select',
123
+ textField: 'title',
124
+ valueField: 'id',
125
+ columns: ['name', 'title'],
126
+ expose: [
127
+ { source: 'id', target: 'toStatus.id' },
128
+ { source: 'title', target: 'toStatus.title' },
129
+ { source: 'name', target: 'toStatus.name' },
130
+ ],
131
+ filter: {
132
+ logic: 'and',
133
+ filters: [
134
+ {
135
+ field: 'reservationClassId',
136
+ operator: { type: 'equal' },
137
+ value: '{{ context.eval("reservationClassId.value") }}',
138
+ },
139
+ ],
140
+ },
141
+ triggers: [
142
+ {
143
+ event: "{{ events.context('reservationClassId') }}",
144
+ action: "{{console.log(context.eval('reservationClassId'))}}" //action: `{{ !context.eval('reservationClassId.value') ? widget.setValue(null) : widget.refresh() }}`,
145
+ },
146
+ ],
147
+ },
148
+ },
149
+ },
150
+ options: {
151
+ sort: { enabled: true },
152
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
153
+ },
154
+ validations: [{ rule: 'required' }],
155
+ },
156
+ ],
157
+ columns: [
158
+ { name: 'fromStatusId', options: { dataPath: 'fromStatus.title' } },
159
+ { name: 'toStatusId', options: { dataPath: 'toStatus.title' } },
160
+ ],
161
+ commands: {
162
+ create: {
163
+ execute: async (data) => {
164
+ return { id: await dataService.insertOne(data) };
165
+ },
166
+ },
167
+ update: {
168
+ execute: async (data) => {
169
+ return await dataService.updateOne(data.id, data);
170
+ },
171
+ },
172
+ delete: {
173
+ execute: async (id) => {
174
+ return await dataService.deleteOne(id);
175
+ },
176
+ },
177
+ },
178
+ queries: {
179
+ byKey: {
180
+ execute: async (id) => {
181
+ return await dataService.getOne(id);
182
+ },
183
+ type: AXPEntityQueryType.Single,
184
+ },
185
+ list: {
186
+ execute: async (e) => {
187
+ return await dataService.query({
188
+ skip: e.skip,
189
+ take: e.take,
190
+ filter: e.filter,
191
+ sort: e.sort,
192
+ });
193
+ },
194
+ type: AXPEntityQueryType.List,
195
+ },
196
+ },
197
+ interfaces: {
198
+ master: {
199
+ create: {
200
+ sections: [{ id: 'transition-details' }],
201
+ properties: [
202
+ { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },
203
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
204
+ { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
205
+ { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
206
+ ],
207
+ },
208
+ update: {
209
+ sections: [{ id: 'transition-details' }],
210
+ properties: [
211
+ { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },
212
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
213
+ { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
214
+ { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
215
+ ],
216
+ },
217
+ single: {
218
+ title: '{{ title || (fromStatus?.title + " → " + toStatus?.title) }}',
219
+ sections: [{ id: 'transition-details' }],
220
+ properties: [
221
+ { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },
222
+ { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },
223
+ { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
224
+ { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },
225
+ ],
226
+ actions: [...entityMasterRecordActions()],
227
+ },
228
+ list: {
229
+ actions: [...entityMasterCrudActions()],
230
+ views: [
231
+ createAllQueryView({
232
+ sorts: [
233
+ { name: 'fromStatusId', dir: 'asc' },
234
+ { name: 'toStatusId', dir: 'asc' },
235
+ ],
236
+ }),
237
+ ],
238
+ },
239
+ },
240
+ },
241
+ };
242
+ return entityDef;
243
+ }
244
+ //#endregion
245
+
246
+ export { reservationStatusTransitionFactory };
247
+ //# sourceMappingURL=acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-reservation-management-reservation-status-transition.entity-BT8GQ9MC.mjs","sources":["../tmp-esm2022/reservation-management/lib/entities/reservation-status-transition/reservation-status-transition.entity.js"],"sourcesContent":["//#region ---- Imports ----\nimport { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXPReservationManagementReservationStatusTransitionService } from './reservation-status-transition.service';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\n//#endregion\n//#region ---- Entity Factory ----\nexport async function reservationStatusTransitionFactory(injector) {\n const dataService = injector.get(AXPReservationManagementReservationStatusTransitionService);\n const entityRegistry = injector.get(AXPEntityDefinitionRegistryService);\n const i18n = RootConfig.config.i18n;\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.reservationStatusTransition.name,\n title: RootConfig.entities.reservationStatusTransition.title,\n icon: RootConfig.entities.reservationStatusTransition.icon,\n formats: {\n individual: RootConfig.entities.reservationStatusTransition.title,\n plural: RootConfig.entities.reservationStatusTransition.titlePlural,\n searchResult: {\n title: '{{ title || (fromStatus?.title + \" → \" + toStatus?.title) }}',\n description: '{{ reservationClass?.title }}',\n },\n },\n groups: [\n {\n id: 'transition-details',\n title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.groups.transition-details',\n },\n ],\n plugins: [],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'reservationClassId',\n title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.reservation-class-id.title',\n groupId: 'transition-details',\n schema: {\n dataType: 'string',\n visible: false,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClass.name}`,\n textField: 'title',\n valueField: 'id',\n columns: ['code', 'title'],\n expose: [\n { source: 'id', target: 'reservationClass.id' },\n { source: 'title', target: 'reservationClass.title' },\n { source: 'code', target: 'reservationClass.code' },\n ],\n },\n },\n },\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'fromStatusId',\n title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.from-status-id.title',\n groupId: 'transition-details',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`,\n look: 'select',\n textField: 'title',\n valueField: 'id',\n columns: ['name', 'title', 'color'],\n expose: [\n { source: 'id', target: 'fromStatus.id' },\n { source: 'title', target: 'fromStatus.title' },\n { source: 'name', target: 'fromStatus.name' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'reservationClassId',\n operator: { type: 'equal' },\n value: '{{ context.eval(\"reservationClassId.value\") }}',\n },\n ],\n },\n triggers: [\n {\n event: \"{{ events.context('reservationClassId') }}\",\n //action:\"{{console.log(context.eval('reservationClassId'))}}\"\n action: `{{ widget.refresh() }}`,\n },\n ],\n },\n },\n },\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'toStatusId',\n title: '@reservation-management:reservation-status-transitions.entities.reservation-status-transition.fields.to-status-id.title',\n groupId: 'transition-details',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.reservationClassStatus.name}`,\n look: 'select',\n textField: 'title',\n valueField: 'id',\n columns: ['name', 'title'],\n expose: [\n { source: 'id', target: 'toStatus.id' },\n { source: 'title', target: 'toStatus.title' },\n { source: 'name', target: 'toStatus.name' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'reservationClassId',\n operator: { type: 'equal' },\n value: '{{ context.eval(\"reservationClassId.value\") }}',\n },\n ],\n },\n triggers: [\n {\n event: \"{{ events.context('reservationClassId') }}\",\n action: \"{{console.log(context.eval('reservationClassId'))}}\" //action: `{{ !context.eval('reservationClassId.value') ? widget.setValue(null) : widget.refresh() }}`,\n },\n ],\n },\n },\n },\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'fromStatusId', options: { dataPath: 'fromStatus.title' } },\n { name: 'toStatusId', options: { dataPath: 'toStatus.title' } },\n ],\n commands: {\n create: {\n execute: async (data) => {\n return { id: await dataService.insertOne(data) };\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query({\n skip: e.skip,\n take: e.take,\n filter: e.filter,\n sort: e.sort,\n });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'transition-details' }],\n properties: [\n { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'transition-details' }],\n properties: [\n { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n single: {\n title: '{{ title || (fromStatus?.title + \" → \" + toStatus?.title) }}',\n sections: [{ id: 'transition-details' }],\n properties: [\n { name: 'reservationClassId', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'fromStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'toStatusId', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [\n { name: 'fromStatusId', dir: 'asc' },\n { name: 'toStatusId', dir: 'asc' },\n ],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXJ2YXRpb24tc3RhdHVzLXRyYW5zaXRpb24uZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3Jlc2VydmF0aW9uLW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9yZXNlcnZhdGlvbi1zdGF0dXMtdHJhbnNpdGlvbi9yZXNlcnZhdGlvbi1zdGF0dXMtdHJhbnNpdGlvbi5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBRy9CLE9BQU8sRUFBYSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLDBEQUEwRCxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckgsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEYsWUFBWTtBQUVaLHNDQUFzQztBQUV0QyxNQUFNLENBQUMsS0FBSyxVQUFVLGtDQUFrQyxDQUFDLFFBQWtCO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsQ0FBQztJQUM3RixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDeEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFcEMsTUFBTSxTQUFTLEdBQWM7UUFDM0IsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQywyQkFB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QUFDLEVBQUUsRUFBRSxFQUFFLEVBQUU7cUJBQ3RFO29CQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztpQkFDMUM7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxDQUFDLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztvQkFDdkMsS0FBSyxFQUFFO3dCQUNMLGtCQUFrQixDQUFDOzRCQUNqQixLQUFLLEVBQUU7Z0NBQ0wsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7Z0NBQ3BDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFOzZCQUNuQzt5QkFDRixDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhQV2lkZ2V0c0xpc3QgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5UXVlcnlUeXBlLCBjcmVhdGVBbGxRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBlbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucywgZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzQ2F0YWxvZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3dpZGdldC1jb3JlJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhQUmVzZXJ2YXRpb25NYW5hZ2VtZW50UmVzZXJ2YXRpb25TdGF0dXNUcmFuc2l0aW9uU2VydmljZSB9IGZyb20gJy4vcmVzZXJ2YXRpb24tc3RhdHVzLXRyYW5zaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgRW50aXR5IEZhY3RvcnkgICAtLS0tXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNlcnZhdGlvblN0YXR1c1RyYW5zaXRpb25GYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWFBSZXNlcnZhdGlvbk1hbmFnZW1lbnRSZXNlcnZhdGlvblN0YXR1c1RyYW5zaXRpb25TZXJ2aWNlKTtcbiAgY29uc3QgZW50aXR5UmVnaXN0cnkgPSBpbmplY3Rvci5nZXQoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuXG4gIGNvbnN0IGVudGl0eURlZjogQVhQRW50aXR5ID0ge1xuICAgIG1vZHVsZTogUm9vdENvbmZpZy5tb2R1bGUubmFtZSxcbiAgICBuYW1lOiBSb290Q29uZmlnLmVudGl0aWVzLnJlc2VydmF0aW9uU3RhdHVzVHJhbnNpdGlvbi5uYW1lLFxuICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLnJlc2VydmF0aW9uU3RhdHVzVHJhbnNpdGlvbi50aXRsZSxcbiAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLnJlc2VydmF0aW9uU3RhdHVzVHJhbnNpdGlvbi5pY29uLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6IFJvb3RDb25maWcuZW50aXRpZXMucmVzZXJ2YXRpb25TdGF0dXNUcmFuc2l0aW9uLnRpdGxlLFxuICAgICAgcGx1cmFsOiBSb290Q29uZmlnLmVudGl0aWVzLnJlc2VydmF0aW9uU3RhdHVzVHJhbnNpdGlvbi50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIHx8IChmcm9tU3RhdHVzPy50aXRsZSArIFwiIOKGkiBcIiArIHRvU3RhdHVzPy50aXRsZSkgfX0nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ3t7IHJlc2VydmF0aW9uQ2xhc3M/LnRpdGxlIH19JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBncm91cHM6IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICd0cmFuc2l0aW9uLWRldGFpbHMnLFxuICAgICAgICB0aXRsZTogJ0ByZXNlcnZhdGlvbi1tYW5hZ2VtZW50OnJlc2VydmF0aW9uLXN0YXR1cy10cmFuc2l0aW9ucy5lbnRpdGllcy5yZXNlcnZhdGlvbi1zdGF0dXMtdHJhbnNpdGlvbi5ncm91cHMudHJhbnNpdGlvbi1kZXRhaWxzJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwbHVnaW5zIDogWyBdICxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29tbW9uLmlkJyxcbiAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAndXVpZCcsIHZpc2libGU6IGZhbHNlLCBudWxsYWJsZTogZmFsc2UsIHJlYWRvbmx5OiB0cnVlLCB1bmlxdWU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmVzZXJ2YXRpb25DbGFzc0lkJyxcbiAgICAgICAgdGl0bGU6ICdAcmVzZXJ2YXRpb24tbWFuYWdlbWVudDpyZXNlcnZhdGlvbi1zdGF0dXMtdHJhbnNpdGlvbnMuZW50aXRpZXMucmVzZXJ2YXRpb24tc3RhdHVzLXRyYW5zaXRpb24uZmllbGRzLnJlc2VydmF0aW9uLWNsYXNzLWlkLnRpdGxlJyxcbiAgICAgICAgZ3JvdXBJZDogJ3RyYW5zaXRpb24tZGV0YWlscycsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICB2aXNpYmxlIDogZmFsc2UgLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubG9va3VwLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5yZXNlcnZhdGlvbkNsYXNzLm5hbWV9YCxcbiAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgICBjb2x1bW5zOiBbJ2NvZGUnLCAndGl0bGUnXSxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ3Jlc2VydmF0aW9uQ2xhc3MuaWQnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd0aXRsZScsIHRhcmdldDogJ3Jlc2VydmF0aW9uQ2xhc3MudGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdjb2RlJywgdGFyZ2V0OiAncmVzZXJ2YXRpb25DbGFzcy5jb2RlJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDogeyBlbmFibGVkOiB0cnVlIH0sXG4gICAgICAgICAgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2Zyb21TdGF0dXNJZCcsXG4gICAgICAgIHRpdGxlOiAnQHJlc2VydmF0aW9uLW1hbmFnZW1lbnQ6cmVzZXJ2YXRpb24tc3RhdHVzLXRyYW5zaXRpb25zLmVudGl0aWVzLnJlc2VydmF0aW9uLXN0YXR1cy10cmFuc2l0aW9uLmZpZWxkcy5mcm9tLXN0YXR1cy1pZC50aXRsZScsXG4gICAgICAgIGdyb3VwSWQ6ICd0cmFuc2l0aW9uLWRldGFpbHMnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5sb29rdXAsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLnJlc2VydmF0aW9uQ2xhc3NTdGF0dXMubmFtZX1gLFxuICAgICAgICAgICAgICBsb29rOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgdGV4dEZpZWxkOiAndGl0bGUnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnaWQnLFxuICAgICAgICAgICAgICBjb2x1bW5zOiBbJ25hbWUnLCAndGl0bGUnLCAnY29sb3InXSxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2Zyb21TdGF0dXMuaWQnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd0aXRsZScsIHRhcmdldDogJ2Zyb21TdGF0dXMudGl0bGUnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICduYW1lJywgdGFyZ2V0OiAnZnJvbVN0YXR1cy5uYW1lJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogJ3Jlc2VydmF0aW9uQ2xhc3NJZCcsXG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd7eyBjb250ZXh0LmV2YWwoXCJyZXNlcnZhdGlvbkNsYXNzSWQudmFsdWVcIikgfX0nLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50OiBcInt7IGV2ZW50cy5jb250ZXh0KCdyZXNlcnZhdGlvbkNsYXNzSWQnKSB9fVwiLFxuICAgICAgICAgICAgICAgICAgLy9hY3Rpb246XCJ7e2NvbnNvbGUubG9nKGNvbnRleHQuZXZhbCgncmVzZXJ2YXRpb25DbGFzc0lkJykpfX1cIlxuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBge3sgIHdpZGdldC5yZWZyZXNoKCkgfX1gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndG9TdGF0dXNJZCcsXG4gICAgICAgIHRpdGxlOiAnQHJlc2VydmF0aW9uLW1hbmFnZW1lbnQ6cmVzZXJ2YXRpb24tc3RhdHVzLXRyYW5zaXRpb25zLmVudGl0aWVzLnJlc2VydmF0aW9uLXN0YXR1cy10cmFuc2l0aW9uLmZpZWxkcy50by1zdGF0dXMtaWQudGl0bGUnLFxuICAgICAgICBncm91cElkOiAndHJhbnNpdGlvbi1kZXRhaWxzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cubG9va3VwLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5yZXNlcnZhdGlvbkNsYXNzU3RhdHVzLm5hbWV9YCxcbiAgICAgICAgICAgICAgbG9vazogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgICAgY29sdW1uczogWyduYW1lJywgJ3RpdGxlJyBdLFxuICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAndG9TdGF0dXMuaWQnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd0aXRsZScsIHRhcmdldDogJ3RvU3RhdHVzLnRpdGxlJyB9LFxuICAgICAgICAgICAgICAgIHsgc291cmNlOiAnbmFtZScsIHRhcmdldDogJ3RvU3RhdHVzLm5hbWUnIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgICAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzZXJ2YXRpb25DbGFzc0lkJyxcbiAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3t7IGNvbnRleHQuZXZhbChcInJlc2VydmF0aW9uQ2xhc3NJZC52YWx1ZVwiKSB9fScsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ3Jlc2VydmF0aW9uQ2xhc3NJZCcpIH19XCIsXG4gICAgICAgICAgICAgICAgICBhY3Rpb246XCJ7e2NvbnNvbGUubG9nKGNvbnRleHQuZXZhbCgncmVzZXJ2YXRpb25DbGFzc0lkJykpfX1cIiAgLy9hY3Rpb246IGB7eyAhY29udGV4dC5ldmFsKCdyZXNlcnZhdGlvbkNsYXNzSWQudmFsdWUnKSA/IHdpZGdldC5zZXRWYWx1ZShudWxsKSA6IHdpZGdldC5yZWZyZXNoKCkgfX1gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSxcbiAgICAgICAgICBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW1xuICAgICAgeyBuYW1lOiAnZnJvbVN0YXR1c0lkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ2Zyb21TdGF0dXMudGl0bGUnIH0gfSxcbiAgICAgIHsgbmFtZTogJ3RvU3RhdHVzSWQnLCBvcHRpb25zOiB7IGRhdGFQYXRoOiAndG9TdGF0dXMudGl0bGUnIH0gfSxcbiAgICBdLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiB7IGlkOiBhd2FpdCBkYXRhU2VydmljZS5pbnNlcnRPbmUoZGF0YSkgfTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBhd2FpdCBkYXRhU2VydmljZS51cGRhdGVPbmUoZGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcXVlcmllczoge1xuICAgICAgYnlLZXk6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UuZ2V0T25lKGlkKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLlNpbmdsZSxcbiAgICAgIH0sXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoe1xuICAgICAgICAgICAgc2tpcDogZS5za2lwLFxuICAgICAgICAgICAgdGFrZTogZS50YWtlLFxuICAgICAgICAgICAgZmlsdGVyOiBlLmZpbHRlcixcbiAgICAgICAgICAgIHNvcnQ6IGUuc29ydCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QsXG4gICAgICB9LFxuICAgIH0sXG4gICAgaW50ZXJmYWNlczoge1xuICAgICAgbWFzdGVyOiB7XG4gICAgICAgIGNyZWF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbIHsgaWQ6ICd0cmFuc2l0aW9uLWRldGFpbHMnIH1dLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3Jlc2VydmF0aW9uQ2xhc3NJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdmcm9tU3RhdHVzSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3RvU3RhdHVzSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogWyAgeyBpZDogJ3RyYW5zaXRpb24tZGV0YWlscycgfV0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgeyBuYW1lOiAncmVzZXJ2YXRpb25DbGFzc0lkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAndGl0bGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSwgXG4gICAgICAgICAgICB7IG5hbWU6ICdmcm9tU3RhdHVzSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3RvU3RhdHVzSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIHx8IChmcm9tU3RhdHVzPy50aXRsZSArIFwiIOKGkiBcIiArIHRvU3RhdHVzPy50aXRsZSkgfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbIHsgaWQ6ICd0cmFuc2l0aW9uLWRldGFpbHMnIH1dLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3Jlc2VydmF0aW9uQ2xhc3NJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3RpdGxlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sIFxuICAgICAgICAgICAgeyBuYW1lOiAnZnJvbVN0YXR1c0lkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICd0b1N0YXR1c0lkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucygpXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSxcbiAgICAgICAgICB2aWV3czogW1xuICAgICAgICAgICAgY3JlYXRlQWxsUXVlcnlWaWV3KHtcbiAgICAgICAgICAgICAgc29ydHM6IFtcbiAgICAgICAgICAgICAgICB7IG5hbWU6ICdmcm9tU3RhdHVzSWQnLCBkaXI6ICdhc2MnIH0sXG4gICAgICAgICAgICAgICAgeyBuYW1lOiAndG9TdGF0dXNJZCcsIGRpcjogJ2FzYycgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGVudGl0eURlZjtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbiJdfQ=="],"names":[],"mappings":"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"}