@acorex/modules 20.3.0-next.19 → 20.3.0-next.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/common/index.d.ts +11 -2
  2. package/fesm2022/acorex-modules-common.mjs +913 -5
  3. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  4. package/fesm2022/acorex-modules-content-management.mjs +4 -4
  5. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  6. package/fesm2022/acorex-modules-data-management.mjs +0 -1
  7. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  8. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-D39vzY_d.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BwmZR-qY.mjs} +9 -9
  9. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-D39vzY_d.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BwmZR-qY.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-Dd6cSked.mjs → acorex-modules-human-capital-management-employee-skill.entity-tBHFvJSk.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-Dd6cSked.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-tBHFvJSk.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BtenRYTI.mjs → acorex-modules-human-capital-management-employee.entity-ycy1OPim.mjs} +3 -3
  13. package/fesm2022/acorex-modules-human-capital-management-employee.entity-ycy1OPim.mjs.map +1 -0
  14. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-D_jB5gh2.mjs → acorex-modules-human-capital-management-employment-type.entity-vBzJD4oD.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-D_jB5gh2.mjs.map → acorex-modules-human-capital-management-employment-type.entity-vBzJD4oD.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-iX5YQBQy.mjs → acorex-modules-human-capital-management-leave-request.entity-iVWdJM_r.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-iX5YQBQy.mjs.map → acorex-modules-human-capital-management-leave-request.entity-iVWdJM_r.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-BRPpSgMR.mjs → acorex-modules-human-capital-management-leave-type.entity-C_f9HA6B.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-BRPpSgMR.mjs.map → acorex-modules-human-capital-management-leave-type.entity-C_f9HA6B.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-Bl5GznJG.mjs → acorex-modules-human-capital-management-position-assignment.entity-CQLcD6LO.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-Bl5GznJG.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-CQLcD6LO.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-C2JSzWDw.mjs → acorex-modules-human-capital-management-skill-level.entity-CoBQ9Jbt.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-C2JSzWDw.mjs.map → acorex-modules-human-capital-management-skill-level.entity-CoBQ9Jbt.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-hW9jC2GU.mjs → acorex-modules-human-capital-management-skill.entity-BhKcpZiD.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-hW9jC2GU.mjs.map → acorex-modules-human-capital-management-skill.entity-BhKcpZiD.mjs.map} +1 -1
  26. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  27. package/fesm2022/acorex-modules-locale-management.mjs +12 -87
  28. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  29. package/fesm2022/acorex-modules-location-management.mjs +7 -109
  30. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  31. package/fesm2022/acorex-modules-report-management.mjs +78 -50
  32. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  33. package/fesm2022/acorex-modules-task-management.mjs +12 -187
  34. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-training-management.mjs +7 -0
  36. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  37. package/fesm2022/acorex-modules-workflow-management-overview.command-BY_DtTDo.mjs +31 -0
  38. package/fesm2022/acorex-modules-workflow-management-overview.command-BY_DtTDo.mjs.map +1 -0
  39. package/fesm2022/acorex-modules-workflow-management.mjs +257 -81
  40. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  41. package/package.json +6 -6
  42. package/report-management/index.d.ts +4 -4
  43. package/workflow-management/index.d.ts +1 -1
  44. package/fesm2022/acorex-modules-human-capital-management-employee.entity-BtenRYTI.mjs.map +0 -1
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@acorex/modules",
3
- "version": "20.3.0-next.19",
3
+ "version": "20.3.0-next.20",
4
4
  "peerDependencies": {
5
- "@acorex/platform": "20.3.0-next.19",
5
+ "@acorex/platform": "20.3.0-next.20",
6
6
  "@angular/service-worker": "^20.0.0",
7
7
  "angular-oauth2-oidc": "^15.0.0",
8
8
  "d3": "^7.0.0",
@@ -20,14 +20,14 @@
20
20
  "types": "./index.d.ts",
21
21
  "default": "./fesm2022/acorex-modules.mjs"
22
22
  },
23
- "./application-management": {
24
- "types": "./application-management/index.d.ts",
25
- "default": "./fesm2022/acorex-modules-application-management.mjs"
26
- },
27
23
  "./auth": {
28
24
  "types": "./auth/index.d.ts",
29
25
  "default": "./fesm2022/acorex-modules-auth.mjs"
30
26
  },
27
+ "./application-management": {
28
+ "types": "./application-management/index.d.ts",
29
+ "default": "./fesm2022/acorex-modules-application-management.mjs"
30
+ },
31
31
  "./calendar-management": {
32
32
  "types": "./calendar-management/index.d.ts",
33
33
  "default": "./fesm2022/acorex-modules-calendar-management.mjs"
@@ -164,6 +164,7 @@ declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
164
164
  isLoading: _angular_core.Signal<boolean>;
165
165
  isExecuting: _angular_core.Signal<boolean>;
166
166
  hasError: _angular_core.Signal<boolean>;
167
+ canExecute: _angular_core.Signal<boolean>;
167
168
  hasMultipleLayouts: _angular_core.Signal<boolean>;
168
169
  title: _angular_core.Signal<string>;
169
170
  description: _angular_core.Signal<string | null>;
@@ -171,7 +172,6 @@ declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
171
172
  isTableLayout: _angular_core.Signal<boolean>;
172
173
  isChartLayout: _angular_core.Signal<boolean>;
173
174
  hasUnappliedFilters: _angular_core.Signal<boolean>;
174
- canExecute: _angular_core.Signal<boolean>;
175
175
  canSwitchLayout: _angular_core.Signal<boolean>;
176
176
  canSelectRows: _angular_core.Signal<boolean | undefined>;
177
177
  loadReport: (reportId: string) => Promise<void>;
@@ -686,6 +686,7 @@ declare const AXPReportViewerViewModel: _angular_core.Type<{
686
686
  isLoading: _angular_core.Signal<boolean>;
687
687
  isExecuting: _angular_core.Signal<boolean>;
688
688
  hasError: _angular_core.Signal<boolean>;
689
+ canExecute: _angular_core.Signal<boolean>;
689
690
  hasMultipleLayouts: _angular_core.Signal<boolean>;
690
691
  title: _angular_core.Signal<string>;
691
692
  description: _angular_core.Signal<string | null>;
@@ -693,7 +694,6 @@ declare const AXPReportViewerViewModel: _angular_core.Type<{
693
694
  isTableLayout: _angular_core.Signal<boolean>;
694
695
  isChartLayout: _angular_core.Signal<boolean>;
695
696
  hasUnappliedFilters: _angular_core.Signal<boolean>;
696
- canExecute: _angular_core.Signal<boolean>;
697
697
  canSwitchLayout: _angular_core.Signal<boolean>;
698
698
  canSelectRows: _angular_core.Signal<boolean | undefined>;
699
699
  loadReport: (reportId: string) => Promise<void>;
@@ -742,6 +742,7 @@ declare class AXPReportBarChartViewComponent {
742
742
  isLoading: _angular_core.Signal<boolean>;
743
743
  isExecuting: _angular_core.Signal<boolean>;
744
744
  hasError: _angular_core.Signal<boolean>;
745
+ canExecute: _angular_core.Signal<boolean>;
745
746
  hasMultipleLayouts: _angular_core.Signal<boolean>;
746
747
  title: _angular_core.Signal<string>;
747
748
  description: _angular_core.Signal<string | null>;
@@ -749,7 +750,6 @@ declare class AXPReportBarChartViewComponent {
749
750
  isTableLayout: _angular_core.Signal<boolean>;
750
751
  isChartLayout: _angular_core.Signal<boolean>;
751
752
  hasUnappliedFilters: _angular_core.Signal<boolean>;
752
- canExecute: _angular_core.Signal<boolean>;
753
753
  canSwitchLayout: _angular_core.Signal<boolean>;
754
754
  canSelectRows: _angular_core.Signal<boolean | undefined>;
755
755
  loadReport: (reportId: string) => Promise<void>;
@@ -837,6 +837,7 @@ declare class AXPReportTableViewComponent {
837
837
  isLoading: _angular_core.Signal<boolean>;
838
838
  isExecuting: _angular_core.Signal<boolean>;
839
839
  hasError: _angular_core.Signal<boolean>;
840
+ canExecute: _angular_core.Signal<boolean>;
840
841
  hasMultipleLayouts: _angular_core.Signal<boolean>;
841
842
  title: _angular_core.Signal<string>;
842
843
  description: _angular_core.Signal<string | null>;
@@ -844,7 +845,6 @@ declare class AXPReportTableViewComponent {
844
845
  isTableLayout: _angular_core.Signal<boolean>;
845
846
  isChartLayout: _angular_core.Signal<boolean>;
846
847
  hasUnappliedFilters: _angular_core.Signal<boolean>;
847
- canExecute: _angular_core.Signal<boolean>;
848
848
  canSwitchLayout: _angular_core.Signal<boolean>;
849
849
  canSelectRows: _angular_core.Signal<boolean | undefined>;
850
850
  loadReport: (reportId: string) => Promise<void>;
@@ -43,7 +43,7 @@ declare class AXMCommonDistributionPopupAction extends AXPWorkflowAction {
43
43
  * Action to create distribution records and update document status
44
44
  */
45
45
  declare class AXMCommonCreateDistributionRecordsAction extends AXPWorkflowAction {
46
- private injector;
46
+ private readonly commandExecutor;
47
47
  execute(context: AXPWorkflowContext): Promise<void>;
48
48
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMCommonCreateDistributionRecordsAction, never>;
49
49
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMCommonCreateDistributionRecordsAction>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-employee.entity-BtenRYTI.mjs","sources":["../tmp-esm2022/human-capital-management/lib/entities/employee/employee.entity.js"],"sourcesContent":["import { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityDetailsCrudActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterRecordActions, } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\nimport { AXMHumanCapitalManagementEmployeeEntityService } from './employee.service';\nexport async function factory(injector) {\n const dataService = injector.get(AXMHumanCapitalManagementEmployeeEntityService);\n const i18n = RootConfig.config.i18n;\n const entityName = 'employee';\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.employee.name,\n title: '@human-capital-management:employee.individual-title',\n icon: 'fa-light fa-building',\n formats: {\n individual: '@human-capital-management:employee.individual-title',\n plural: '@human-capital-management:employee.plural-title',\n displayName: 'Employment Information',\n searchResult: { title: '{{ party.displayName }}', description: RootConfig.module.title },\n },\n plugins: [\n { name: 'identifier', options: { field: 'employeeCode', rule: 'employee-code' } },\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n { name: 'extra-properties' },\n { name: 'attachments', options: { accept: '.jpg,.jpeg,.png,.pdf', multiple: true, fileEditable: true } },\n { name: 'archive' },\n {\n name: 'computed-property',\n options: {\n fields: [\n {\n name: 'manager',\n title: '@human-capital-management:employee.manager',\n value: \"{{ context.eval('manager.party.displayName') }}\",\n group: { id: 'organizationalStructure' },\n showAs: { type: AXPWidgetsCatalog.text },\n },\n {\n name: 'activePosition',\n title: '@human-capital-management:employee.active-position',\n value: 'Engineering Manager (placeholder)',\n group: { id: 'organizationalStructure' },\n showAs: { type: AXPWidgetsCatalog.text },\n },\n ],\n },\n },\n ],\n relatedEntities: [\n {\n entity: `PartyManagement.Party`,\n title: 'Personal Information',\n conditions: [{ name: 'id', operator: { type: 'equal' }, value: '{{ context.eval(\"partyId\") }}' }],\n layout: { type: 'merge-detail' },\n persistence: {\n dataPath: 'party',\n strategy: 'referenced',\n idField: 'partyId',\n },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.leaveRequest.name}`,\n title: '@human-capital-management:leave-request.plural-title',\n columns: ['leaveTypeId', 'startDate', 'endDate', 'durationDays', 'status', 'reason'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 4 },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employeeSkill.name}`,\n title: 'Skills',\n columns: ['skillId', 'level', 'yearsOfExperience', 'lastUsedDate'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 2 },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.positionAssignment.name}`,\n title: '@human-capital-management:position-assignment.plural-title',\n columns: ['positionId', 'businessUnitId', 'startDate', 'endDate', 'isPrimary'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 3 },\n },\n {\n entity: `SecurityManagement.User`,\n title: 'Security Information',\n icon: 'fa-light fa-lock',\n conditions: [{ name: 'id', operator: { type: 'equal' }, value: '{{ context.eval(\"userId\") }}' }],\n layout: { type: 'page-detail', position: 'after', order: 1 },\n persistence: {\n dataPath: 'user',\n strategy: 'referenced',\n idField: 'userId',\n hydrate: 'eager',\n map: {\n displayName: '$parent.party.displayName',\n },\n },\n },\n ],\n groups: [\n { id: 'organizationalStructure', title: '@human-capital-management:employee.organizational-structure' },\n { id: 'employmentProfile', title: '@human-capital-management:employee.employment-profile' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'personalInformation',\n schema: { dataType: 'uuid', hidden: true, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeCode',\n title: '@human-capital-management:employee.employee-code',\n groupId: 'employmentProfile',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'roleId',\n title: '@human-capital-management:employee.roleId',\n groupId: 'organizationalStructure',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `OrganizationManagement.Role`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'role.id' },\n { source: 'title', target: 'role.title' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'employmentTypeId',\n title: '@human-capital-management:employee.employmentTypeId',\n groupId: 'employmentProfile',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employmentType.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n expose: [\n { source: 'id', target: 'employmentType.id' },\n { source: 'title', target: 'employmentType.title' },\n ],\n },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'hireDate',\n title: '@human-capital-management:employee.hire-date',\n groupId: 'employmentProfile',\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n {\n name: 'party.displayName',\n title: '@general:terms.common.display-name',\n showAs: { type: AXPWidgetsCatalog.text },\n },\n {\n name: 'party.primaryContact',\n title: '@general:terms.communication.email',\n options: { width: '350px' },\n showAs: { type: AXPWidgetsCatalog.contact, options: { type: 'email' } },\n },\n // { name: 'party.mobile', title: '@general:terms.communication.mobile', options: { width: '250px' }, showAs: { type: AXPWidgetsCatalog.contact, options: { type: 'phone' } } },\n { name: 'user.username', title: '@general:terms.contact.username', showAs: { type: AXPWidgetsCatalog.text } },\n { name: 'employeeCode' },\n { name: 'roleId', options: { dataPath: 'role.title' } },\n { name: 'employmentTypeId', options: { dataPath: 'employmentType.title' } },\n { name: 'hireDate' },\n ],\n commands: {\n create: { execute: async (data) => ({ id: await dataService.insertOne(data) }) },\n delete: { execute: async (id) => await dataService.deleteOne(id) },\n update: { execute: async (data) => await dataService.updateOne(data.id, data) },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n const item = await dataService.getOne(id);\n return item;\n },\n type: AXPEntityQueryType.Single,\n },\n list: { execute: async (e) => await dataService.query(e), type: AXPEntityQueryType.List },\n },\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'personalInformation' }, { id: 'organizationalStructure' }, { id: 'employmentProfile' }],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'personalInformation' }, { id: 'organizationalStructure' }, { id: 'employmentProfile' }],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n single: {\n title: '{{party.displayName}}',\n sections: [\n { id: 'personalInformation', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'employmentProfile', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'organizationalStructure', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: 'Create Employee',\n command: 'HumanCapitalManagement.Employee:Create',\n type: 'create',\n priority: 'primary',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'party.displayName', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2VtcGxveWVlL2VtcGxveWVlLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFhLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkgsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixHQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEYsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQUMsUUFBa0I7SUFDOUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUU5QixNQUFNLFNBQVMsR0FBYztRQUMzQixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQ3ZDLEtBQUssRUFBRSxxREFBcUQ7UUFDNUQsSUFBSSxFQUFFLHNCQUFzQjtRQUM1QixPQUFPLEVBQUU7WUFDUCxVQUFVLEVBQUUs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RUFBRTt3QkFDUCxHQUFHLHVCQUF1QixFQUFFO3dCQUM1Qjs0QkFDRSxLQUFLLEVBQUUsaUJBQWlCOzRCQUN4QixPQUFPLEVBQUUsd0NBQXdDOzRCQUNqRCxJQUFJLEVBQUUsUUFBUTs0QkFDZCxRQUFRLEVBQUUsU0FBUzs0QkFDbkIsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFNBQVM7eUJBQ3ZDO3FCQUNGO29CQUNELEtBQUssRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eUNvbW1hbmRTY29wZSwgQVhQRW50aXR5UXVlcnlUeXBlLCBjcmVhdGVBbGxRdWVyeVZpZXcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQge1xuICBlbnRpdHlEZXRhaWxzQ3J1ZEFjdGlvbnMsXG4gIGVudGl0eURldGFpbHNTaW1wbGVDb25kaXRpb24sXG4gIGVudGl0eU1hc3RlckNydWRBY3Rpb25zLFxuICBlbnRpdHlNYXN0ZXJSZWNvcmRBY3Rpb25zLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC93aWRnZXQtY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRFbXBsb3llZUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2VtcGxveWVlLnNlcnZpY2UnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgY29uc3QgZGF0YVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudEVtcGxveWVlRW50aXR5U2VydmljZSk7XG4gIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuICBjb25zdCBlbnRpdHlOYW1lID0gJ2VtcGxveWVlJztcblxuICBjb25zdCBlbnRpdHlEZWY6IEFYUEVudGl0eSA9IHtcbiAgICBtb2R1bGU6IFJvb3RDb25maWcubW9kdWxlLm5hbWUsXG4gICAgbmFtZTogUm9vdENvbmZpZy5lbnRpdGllcy5lbXBsb3llZS5uYW1lLFxuICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5pbmRpdmlkdWFsLXRpdGxlJyxcbiAgICBpY29uOiAnZmEtbGlnaHQgZmEtYnVpbGRpbmcnLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmluZGl2aWR1YWwtdGl0bGUnLFxuICAgICAgcGx1cmFsOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5wbHVyYWwtdGl0bGUnLFxuICAgICAgZGlzcGxheU5hbWU6ICdFbXBsb3ltZW50IEluZm9ybWF0aW9uJyxcbiAgICAgIHNlYXJjaFJlc3VsdDogeyB0aXRsZTogJ3t7IHBhcnR5LmRpc3BsYXlOYW1lIH19JywgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICB7IG5hbWU6ICdpZGVudGlmaWVyJywgb3B0aW9uczogeyBmaWVsZDogJ2VtcGxveWVlQ29kZScsIHJ1bGU6ICdlbXBsb3llZS1jb2RlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdoaXN0b3J5JyB9LFxuICAgICAgeyBuYW1lOiAnbG9jaycgfSxcbiAgICAgIHsgbmFtZTogJ2NvbXBhcmUnIH0sXG4gICAgICB7IG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyB9LFxuICAgICAgeyBuYW1lOiAnYXR0YWNobWVudHMnLCBvcHRpb25zOiB7IGFjY2VwdDogJy5qcGcsLmpwZWcsLnBuZywucGRmJywgbXVsdGlwbGU6IHRydWUsIGZpbGVFZGl0YWJsZTogdHJ1ZSB9IH0sXG4gICAgICB7IG5hbWU6ICdhcmNoaXZlJyB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29tcHV0ZWQtcHJvcGVydHknLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdtYW5hZ2VyJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLm1hbmFnZXInLFxuICAgICAgICAgICAgICB2YWx1ZTogXCJ7eyBjb250ZXh0LmV2YWwoJ21hbmFnZXIucGFydHkuZGlzcGxheU5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICBncm91cDogeyBpZDogJ29yZ2FuaXphdGlvbmFsU3RydWN0dXJlJyB9LFxuICAgICAgICAgICAgICBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2FjdGl2ZVBvc2l0aW9uJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmFjdGl2ZS1wb3NpdGlvbicsXG4gICAgICAgICAgICAgIHZhbHVlOiAnRW5naW5lZXJpbmcgTWFuYWdlciAocGxhY2Vob2xkZXIpJyxcbiAgICAgICAgICAgICAgZ3JvdXA6IHsgaWQ6ICdvcmdhbml6YXRpb25hbFN0cnVjdHVyZScgfSxcbiAgICAgICAgICAgICAgc2hvd0FzOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWxhdGVkRW50aXRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgZW50aXR5OiBgUGFydHlNYW5hZ2VtZW50LlBhcnR5YCxcbiAgICAgICAgdGl0bGU6ICdQZXJzb25hbCBJbmZvcm1hdGlvbicsXG4gICAgICAgIGNvbmRpdGlvbnM6IFt7IG5hbWU6ICdpZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSwgdmFsdWU6ICd7eyBjb250ZXh0LmV2YWwoXCJwYXJ0eUlkXCIpIH19JyB9XSxcbiAgICAgICAgbGF5b3V0OiB7IHR5cGU6ICdtZXJnZS1kZXRhaWwnIH0sXG4gICAgICAgIHBlcnNpc3RlbmNlOiB7XG4gICAgICAgICAgZGF0YVBhdGg6ICdwYXJ0eScsXG4gICAgICAgICAgc3RyYXRlZ3k6ICdyZWZlcmVuY2VkJyxcbiAgICAgICAgICBpZEZpZWxkOiAncGFydHlJZCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QubmFtZX1gLFxuICAgICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdC5wbHVyYWwtdGl0bGUnLFxuICAgICAgICBjb2x1bW5zOiBbJ2xlYXZlVHlwZUlkJywgJ3N0YXJ0RGF0ZScsICdlbmREYXRlJywgJ2R1cmF0aW9uRGF5cycsICdzdGF0dXMnLCAncmVhc29uJ10sXG4gICAgICAgIGNvbmRpdGlvbnM6IFtlbnRpdHlEZXRhaWxzU2ltcGxlQ29uZGl0aW9uKCdlbXBsb3llZUlkJyldLFxuICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5RGV0YWlsc0NydWRBY3Rpb25zKCdlbXBsb3llZUlkJyldLFxuICAgICAgICBsYXlvdXQ6IHsgdHlwZTogJ3BhZ2UtbGlzdCcsIHBvc2l0aW9uOiAnYWZ0ZXInLCBvcmRlcjogNCB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWVTa2lsbC5uYW1lfWAsXG4gICAgICAgIHRpdGxlOiAnU2tpbGxzJyxcbiAgICAgICAgY29sdW1uczogWydza2lsbElkJywgJ2xldmVsJywgJ3llYXJzT2ZFeHBlcmllbmNlJywgJ2xhc3RVc2VkRGF0ZSddLFxuICAgICAgICBjb25kaXRpb25zOiBbZW50aXR5RGV0YWlsc1NpbXBsZUNvbmRpdGlvbignZW1wbG95ZWVJZCcpXSxcbiAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eURldGFpbHNDcnVkQWN0aW9ucygnZW1wbG95ZWVJZCcpXSxcbiAgICAgICAgbGF5b3V0OiB7IHR5cGU6ICdwYWdlLWxpc3QnLCBwb3NpdGlvbjogJ2FmdGVyJywgb3JkZXI6IDIgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLnBvc2l0aW9uQXNzaWdubWVudC5uYW1lfWAsXG4gICAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50LnBsdXJhbC10aXRsZScsXG4gICAgICAgIGNvbHVtbnM6IFsncG9zaXRpb25JZCcsICdidXNpbmVzc1VuaXRJZCcsICdzdGFydERhdGUnLCAnZW5kRGF0ZScsICdpc1ByaW1hcnknXSxcbiAgICAgICAgY29uZGl0aW9uczogW2VudGl0eURldGFpbHNTaW1wbGVDb25kaXRpb24oJ2VtcGxveWVlSWQnKV0sXG4gICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlEZXRhaWxzQ3J1ZEFjdGlvbnMoJ2VtcGxveWVlSWQnKV0sXG4gICAgICAgIGxheW91dDogeyB0eXBlOiAncGFnZS1saXN0JywgcG9zaXRpb246ICdhZnRlcicsIG9yZGVyOiAzIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBlbnRpdHk6IGBTZWN1cml0eU1hbmFnZW1lbnQuVXNlcmAsXG4gICAgICAgIHRpdGxlOiAnU2VjdXJpdHkgSW5mb3JtYXRpb24nLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtbG9jaycsXG4gICAgICAgIGNvbmRpdGlvbnM6IFt7IG5hbWU6ICdpZCcsIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSwgdmFsdWU6ICd7eyBjb250ZXh0LmV2YWwoXCJ1c2VySWRcIikgfX0nIH1dLFxuICAgICAgICBsYXlvdXQ6IHsgdHlwZTogJ3BhZ2UtZGV0YWlsJywgcG9zaXRpb246ICdhZnRlcicsIG9yZGVyOiAxIH0sXG4gICAgICAgIHBlcnNpc3RlbmNlOiB7XG4gICAgICAgICAgZGF0YVBhdGg6ICd1c2VyJyxcbiAgICAgICAgICBzdHJhdGVneTogJ3JlZmVyZW5jZWQnLFxuICAgICAgICAgIGlkRmllbGQ6ICd1c2VySWQnLFxuICAgICAgICAgIGh5ZHJhdGU6ICdlYWdlcicsXG4gICAgICAgICAgbWFwOiB7XG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogJyRwYXJlbnQucGFydHkuZGlzcGxheU5hbWUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7IGlkOiAnb3JnYW5pemF0aW9uYWxTdHJ1Y3R1cmUnLCB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUub3JnYW5pemF0aW9uYWwtc3RydWN0dXJlJyB9LFxuICAgICAgeyBpZDogJ2VtcGxveW1lbnRQcm9maWxlJywgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmVtcGxveW1lbnQtcHJvZmlsZScgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdGl0bGU6ICdJRCcsXG4gICAgICAgIGdyb3VwSWQ6ICdwZXJzb25hbEluZm9ybWF0aW9uJyxcbiAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAndXVpZCcsIGhpZGRlbjogdHJ1ZSwgbnVsbGFibGU6IGZhbHNlLCByZWFkb25seTogdHJ1ZSwgdW5pcXVlOiB7IGVuYWJsZWQ6IHRydWUgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2VtcGxveWVlQ29kZScsXG4gICAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5lbXBsb3llZS1jb2RlJyxcbiAgICAgICAgZ3JvdXBJZDogJ2VtcGxveW1lbnRQcm9maWxlJyxcbiAgICAgICAgc2NoZW1hOiB7IGRhdGFUeXBlOiAnc3RyaW5nJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQgfSB9LFxuICAgICAgICBvcHRpb25zOiB7IHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LCBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyb2xlSWQnLFxuICAgICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUucm9sZUlkJyxcbiAgICAgICAgZ3JvdXBJZDogJ29yZ2FuaXphdGlvbmFsU3RydWN0dXJlJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Mb29rdXBCb3gsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGVudGl0eTogYE9yZ2FuaXphdGlvbk1hbmFnZW1lbnQuUm9sZWAsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgICAgbG9vazogJ3NlbGVjdCcsXG4gICAgICAgICAgICAgIGV4cG9zZTogW1xuICAgICAgICAgICAgICAgIHsgc291cmNlOiAnaWQnLCB0YXJnZXQ6ICdyb2xlLmlkJyB9LFxuICAgICAgICAgICAgICAgIHsgc291cmNlOiAndGl0bGUnLCB0YXJnZXQ6ICdyb2xlLnRpdGxlJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7IHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LCBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbXBsb3ltZW50VHlwZUlkJyxcbiAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmVtcGxveW1lbnRUeXBlSWQnLFxuICAgICAgICBncm91cElkOiAnZW1wbG95bWVudFByb2ZpbGUnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkxvb2t1cEJveCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZW1wbG95bWVudFR5cGUubmFtZX1gLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdpZCcsXG4gICAgICAgICAgICAgIGxvb2s6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICBleHBvc2U6IFtcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ2lkJywgdGFyZ2V0OiAnZW1wbG95bWVudFR5cGUuaWQnIH0sXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICd0aXRsZScsIHRhcmdldDogJ2VtcGxveW1lbnRUeXBlLnRpdGxlJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zOiB7IHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LCBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdoaXJlRGF0ZScsXG4gICAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5oaXJlLWRhdGUnLFxuICAgICAgICBncm91cElkOiAnZW1wbG95bWVudFByb2ZpbGUnLFxuICAgICAgICBzY2hlbWE6IHsgZGF0YVR5cGU6ICdkYXRlJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmRhdGVUaW1lIH0gfSxcbiAgICAgICAgb3B0aW9uczogeyBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSwgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0gfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgY29sdW1uczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncGFydHkuZGlzcGxheU5hbWUnLFxuICAgICAgICB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW1vbi5kaXNwbGF5LW5hbWUnLFxuICAgICAgICBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3BhcnR5LnByaW1hcnlDb250YWN0JyxcbiAgICAgICAgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5jb21tdW5pY2F0aW9uLmVtYWlsJyxcbiAgICAgICAgb3B0aW9uczogeyB3aWR0aDogJzM1MHB4JyB9LFxuICAgICAgICBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuY29udGFjdCwgb3B0aW9uczogeyB0eXBlOiAnZW1haWwnIH0gfSxcbiAgICAgIH0sXG4gICAgICAvLyB7IG5hbWU6ICdwYXJ0eS5tb2JpbGUnLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmNvbW11bmljYXRpb24ubW9iaWxlJywgb3B0aW9uczogeyB3aWR0aDogJzI1MHB4JyB9LCBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuY29udGFjdCwgb3B0aW9uczogeyB0eXBlOiAncGhvbmUnIH0gfSB9LFxuICAgICAgeyBuYW1lOiAndXNlci51c2VybmFtZScsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuY29udGFjdC51c2VybmFtZScsIHNob3dBczogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0gfSxcbiAgICAgIHsgbmFtZTogJ2VtcGxveWVlQ29kZScgfSxcbiAgICAgIHsgbmFtZTogJ3JvbGVJZCcsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdyb2xlLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdlbXBsb3ltZW50VHlwZUlkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ2VtcGxveW1lbnRUeXBlLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdoaXJlRGF0ZScgfSxcbiAgICBdLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gKHsgaWQ6IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKSB9KSB9LFxuICAgICAgZGVsZXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpIH0sXG4gICAgICB1cGRhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlLFxuICAgICAgfSxcbiAgICAgIGxpc3Q6IHsgZXhlY3V0ZTogYXN5bmMgKGU6IGFueSkgPT4gYXdhaXQgZGF0YVNlcnZpY2UucXVlcnkoZSksIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0IH0sXG4gICAgfSxcbiAgICBpbnRlcmZhY2VzOiB7XG4gICAgICBtYXN0ZXI6IHtcbiAgICAgICAgY3JlYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFt7IGlkOiAncGVyc29uYWxJbmZvcm1hdGlvbicgfSwgeyBpZDogJ29yZ2FuaXphdGlvbmFsU3RydWN0dXJlJyB9LCB7IGlkOiAnZW1wbG95bWVudFByb2ZpbGUnIH1dLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2VtcGxveWVlQ29kZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncm9sZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3ltZW50VHlwZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdoaXJlRGF0ZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZToge1xuICAgICAgICAgIHNlY3Rpb25zOiBbeyBpZDogJ3BlcnNvbmFsSW5mb3JtYXRpb24nIH0sIHsgaWQ6ICdvcmdhbml6YXRpb25hbFN0cnVjdHVyZScgfSwgeyBpZDogJ2VtcGxveW1lbnRQcm9maWxlJyB9XSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3llZUNvZGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3JvbGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZW1wbG95bWVudFR5cGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaGlyZURhdGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBzaW5nbGU6IHtcbiAgICAgICAgICB0aXRsZTogJ3t7cGFydHkuZGlzcGxheU5hbWV9fScsXG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHsgaWQ6ICdwZXJzb25hbEluZm9ybWF0aW9uJywgb3JkZXI6IDIsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgaWQ6ICdlbXBsb3ltZW50UHJvZmlsZScsIG9yZGVyOiAzLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH0sXG4gICAgICAgICAgICB7IGlkOiAnb3JnYW5pemF0aW9uYWxTdHJ1Y3R1cmUnLCBvcmRlcjogNCwgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgeyBuYW1lOiAnZW1wbG95ZWVDb2RlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdyb2xlSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2VtcGxveW1lbnRUeXBlSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2hpcmVEYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5TWFzdGVyUmVjb3JkQWN0aW9ucygpXSxcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdDoge1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIC4uLmVudGl0eU1hc3RlckNydWRBY3Rpb25zKCksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAnQ3JlYXRlIEVtcGxveWVlJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWU6Q3JlYXRlJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2NyZWF0ZScsXG4gICAgICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuVHlwZUxldmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZpZXdzOiBbY3JlYXRlQWxsUXVlcnlWaWV3KHsgc29ydHM6IFt7IG5hbWU6ICdwYXJ0eS5kaXNwbGF5TmFtZScsIGRpcjogJ2FzYycgfV0gfSldLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0="],"names":[],"mappings":"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"}