@acorex/modules 20.7.4 → 20.7.5
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.
- package/document-management/index.d.ts +3 -2
- package/fesm2022/acorex-modules-document-management.mjs +106 -20
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CITYAroH.mjs → acorex-modules-human-capital-management-leave-request.entity-Dn2LLbuq.mjs} +20 -3
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-Dn2LLbuq.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +558 -103
- package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-vstmaa5b.mjs → acorex-modules-workflow-management-index-BIl8No8o.mjs} +16 -10
- package/fesm2022/acorex-modules-workflow-management-index-BIl8No8o.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +36 -4
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/human-capital-management/index.d.ts +58 -1
- package/package.json +6 -6
- package/workflow-management/index.d.ts +2 -0
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-CITYAroH.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-vstmaa5b.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-human-capital-management.mjs","sources":["../tmp-esm2022/human-capital-management/lib/const.js","../tmp-esm2022/human-capital-management/lib/entities/index.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/services/leave-request-dialog.service.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/workflow-tasks/leave-request.task.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/badge.provider.js","../tmp-esm2022/human-capital-management/lib/features.keys.js","../tmp-esm2022/human-capital-management/lib/feature-definition.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/leave-request-status.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/leave-request.module.js","../tmp-esm2022/human-capital-management/lib/features/shared/identifiers/employee-code-identifier-rule.provider.js","../tmp-esm2022/human-capital-management/lib/manifest.js","../tmp-esm2022/human-capital-management/lib/permission.keys.js","../tmp-esm2022/human-capital-management/lib/permission-definition.provider.js","../tmp-esm2022/human-capital-management/lib/menu.keys.js","../tmp-esm2022/human-capital-management/lib/menu.provider.js","../tmp-esm2022/human-capital-management/lib/entity.provider.js","../tmp-esm2022/human-capital-management/lib/human-capital-management.module.js","../tmp-esm2022/human-capital-management/acorex-modules-human-capital-management.js"],"sourcesContent":["const config = {\n i18n: 'human-capital-management',\n module: 'HumanCapitalManagement',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'human-capital-management',\n name: config.module,\n title: '@human-capital-management:module.title',\n icon: 'fa-light fa-users',\n },\n entities: {\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: '@human-capital-management:employees.entities.employee.title',\n titlePlural: '@human-capital-management:employees.entities.employee.plural',\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: '@human-capital-management:employment-types.entities.employment-type.title',\n titlePlural: '@human-capital-management:employment-types.entities.employment-type.plural',\n icon: 'fa-light fa-file-signature',\n },\n positionAssignment: {\n name: 'PositionAssignment',\n source: `${config.module}.PositionAssignment`,\n title: '@human-capital-management:position-assignments.entities.position-assignment.title',\n titlePlural: '@human-capital-management:position-assignments.entities.position-assignment.plural',\n icon: 'fa-light fa-user-tie-hair',\n },\n leaveType: {\n name: 'LeaveType',\n source: `${config.module}.LeaveType`,\n title: '@human-capital-management:leave-types.entities.leave-type.title',\n titlePlural: '@human-capital-management:leave-types.entities.leave-type.plural',\n icon: 'fa-light fa-calendar-days',\n },\n leaveRequest: {\n name: 'LeaveRequest',\n source: `${config.module}.LeaveRequest`,\n title: '@human-capital-management:leave-requests.entities.leave-request.title',\n titlePlural: '@human-capital-management:leave-requests.entities.leave-request.plural',\n icon: 'fa-light fa-plane-departure',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsMEJBQTBCO0lBQ2hDLE1BQU0sRUFBRSx3QkFBd0I7Q0FDakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixNQUFNO0lBQ04sTUFBTSxFQUFFO1FBQ04sS0FBSyxFQUFFLDBCQUEwQjtRQUNqQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDbkIsS0FBSyxFQUFFLHdDQUF3QztRQUMvQyxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sV0FBVztZQUNuQyxLQUFLLEVBQUUsNkRBQTZEO1lBQ3BFLFdBQVcsRUFBRSw4REFBOEQ7WUFDM0UsSUFBSSxFQUFFLDBCQUEwQjtTQUNqQztRQUNELGNBQWMsRUFBRTtZQUNkLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0saUJBQWlCO1lBQ3pDLEtBQUssRUFBRSwyRUFBMkU7WUFDbEYsV0FBVyxFQUFFLDRFQUE0RTtZQUN6RixJQUFJLEVBQUUsNEJBQTRCO1NBQ25DO1FBQ0Qsa0JBQWtCLEVBQUU7WUFDbEIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxxQkFBcUI7WUFDN0MsS0FBSyxFQUFFLG1GQUFtRjtZQUMxRixXQUFXLEVBQUUsb0ZBQW9GO1lBQ2pHLElBQUksRUFBRSwyQkFBMkI7U0FDbEM7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsV0FBVztZQUNqQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxZQUFZO1lBQ3BDLEtBQUssRUFBRSxpRUFBaUU7WUFDeEUsV0FBVyxFQUFFLGtFQUFrRTtZQUMvRSxJQUFJLEVBQUUsMkJBQTJCO1NBQ2xDO1FBQ0QsWUFBWSxFQUFFO1lBQ1osSUFBSSxFQUFFLGNBQWM7WUFDcEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sZUFBZTtZQUN2QyxLQUFLLEVBQUUsdUVBQXVFO1lBQzlFLFdBQVcsRUFBRSx3RUFBd0U7WUFDckYsSUFBSSxFQUFFLDZCQUE2QjtTQUNwQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbmZpZyA9IHtcbiAgaTE4bjogJ2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudCcsXG4gIG1vZHVsZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFJvb3RDb25maWcgPSB7XG4gIGNvbmZpZyxcbiAgbW9kdWxlOiB7XG4gICAgcm91dGU6ICdodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6IGNvbmZpZy5tb2R1bGUsXG4gICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS50aXRsZScsXG4gICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVzZXJzJyxcbiAgfSxcbiAgZW50aXRpZXM6IHtcbiAgICBlbXBsb3llZToge1xuICAgICAgbmFtZTogJ0VtcGxveWVlJyxcbiAgICAgIHNvdXJjZTogYCR7Y29uZmlnLm1vZHVsZX0uRW1wbG95ZWVgLFxuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5lbnRpdGllcy5lbXBsb3llZS50aXRsZScsXG4gICAgICB0aXRsZVBsdXJhbDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLmVudGl0aWVzLmVtcGxveWVlLnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYWRkcmVzcy1jYXJkJyxcbiAgICB9LFxuICAgIGVtcGxveW1lbnRUeXBlOiB7XG4gICAgICBuYW1lOiAnRW1wbG95bWVudFR5cGUnLFxuICAgICAgc291cmNlOiBgJHtjb25maWcubW9kdWxlfS5FbXBsb3ltZW50VHlwZWAsXG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5lbnRpdGllcy5lbXBsb3ltZW50LXR5cGUudGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMuZW50aXRpZXMuZW1wbG95bWVudC10eXBlLnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1zaWduYXR1cmUnLFxuICAgIH0sXG4gICAgcG9zaXRpb25Bc3NpZ25tZW50OiB7XG4gICAgICBuYW1lOiAnUG9zaXRpb25Bc3NpZ25tZW50JyxcbiAgICAgIHNvdXJjZTogYCR7Y29uZmlnLm1vZHVsZX0uUG9zaXRpb25Bc3NpZ25tZW50YCxcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5lbnRpdGllcy5wb3NpdGlvbi1hc3NpZ25tZW50LnRpdGxlJyxcbiAgICAgIHRpdGxlUGx1cmFsOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5lbnRpdGllcy5wb3NpdGlvbi1hc3NpZ25tZW50LnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdXNlci10aWUtaGFpcicsXG4gICAgfSxcbiAgICBsZWF2ZVR5cGU6IHtcbiAgICAgIG5hbWU6ICdMZWF2ZVR5cGUnLFxuICAgICAgc291cmNlOiBgJHtjb25maWcubW9kdWxlfS5MZWF2ZVR5cGVgLFxuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLmVudGl0aWVzLmxlYXZlLXR5cGUudGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLmVudGl0aWVzLmxlYXZlLXR5cGUucGx1cmFsJyxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1jYWxlbmRhci1kYXlzJyxcbiAgICB9LFxuICAgIGxlYXZlUmVxdWVzdDoge1xuICAgICAgbmFtZTogJ0xlYXZlUmVxdWVzdCcsXG4gICAgICBzb3VyY2U6IGAke2NvbmZpZy5tb2R1bGV9LkxlYXZlUmVxdWVzdGAsXG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC50aXRsZScsXG4gICAgICB0aXRsZVBsdXJhbDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC5wbHVyYWwnLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsYW5lLWRlcGFydHVyZScsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","// Entity exports - services and modules removed, handled by middleware\n// Exporting entity types for use in feature components\nexport * from './employee/employee.types';\nexport * from './employment-type/employment-type.types';\nexport * from './leave-request/leave-request.types';\nexport * from './leave-type/leave-type.types';\nexport * from './position-assignment/position-assignment.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUVBQXVFO0FBQ3ZFLHVEQUF1RDtBQUV2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFbnRpdHkgZXhwb3J0cyAtIHNlcnZpY2VzIGFuZCBtb2R1bGVzIHJlbW92ZWQsIGhhbmRsZWQgYnkgbWlkZGxld2FyZVxuLy8gRXhwb3J0aW5nIGVudGl0eSB0eXBlcyBmb3IgdXNlIGluIGZlYXR1cmUgY29tcG9uZW50c1xuXG5leHBvcnQgKiBmcm9tICcuL2VtcGxveWVlL2VtcGxveWVlLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZW1wbG95bWVudC10eXBlL2VtcGxveW1lbnQtdHlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYXZlLXJlcXVlc3QvbGVhdmUtcmVxdWVzdC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYXZlLXR5cGUvbGVhdmUtdHlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uLWFzc2lnbm1lbnQvcG9zaXRpb24tYXNzaWdubWVudC50eXBlcyc7XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nexport class AXPLeaveRequestDialogService {\n constructor() {\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.translationService = inject(AXTranslationService);\n }\n async showRejectionDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.reject.title')\n .setMessage('@human-capital-management:leave-requests.components.rejection-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.reject.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n reason: formData['reason'],\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n async showCancellationDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.cancel.title')\n .setMessage('@human-capital-management:leave-requests.components.cancellation-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.close.title').submit('@general:actions.cancel.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n reason: formData['reason'],\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n async showApprovalDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.approve.title')\n .setMessage('@human-capital-management:leave-requests.components.approval-dialog.message')\n .setContext({ note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.approval-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.approval-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.approve.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9sZWF2ZS1yZXF1ZXN0L3NlcnZpY2VzL2xlYXZlLXJlcXVlc3QtZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBV2hFLE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQXVIdEU7SUFySEcsS0FBSyxDQUFDLG1CQUFtQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhO2FBQ3JDLE1BQU0sRUFBRTthQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNiLE1BQU07aUJBQ0QsUUFBUSxDQUFDLCtCQUErQixDQUFDO2lCQUN6QyxVQUFVLENBQUMsOEVBQThFLENBQUM7aUJBQzFGLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1osSUFBSTtxQkFDQyxZQUFZLENBQUMsUUFBUSxDQUFDO3FCQUN0QixTQUFTLENBQUMsMEZBQTBGLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzNHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxD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U0FBUyxFQUFFLE1BQU0sS0FBSyxRQUFRO1NBQ2pDLENBQUM7SUFDTixDQUFDOytHQXhIUSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzs0RkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdCB7XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIG5vdGU/OiBzdHJpbmc7XG4gICAgY2FuY2VsbGVkOiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0QnVpbGRlciA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgc2hvd1JlamVjdGlvbkRpYWxvZygpOiBQcm9taXNlPExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICAgICAgICAgIGRpYWxvZ1xuICAgICAgICAgICAgICAgICAgICAuc2V0VGl0bGUoJ0BnZW5lcmFsOmFjdGlvbnMucmVqZWN0LnRpdGxlJylcbiAgICAgICAgICAgICAgICAgICAgLnNldE1lc3NhZ2UoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5yZWplY3Rpb24tZGlhbG9nLm1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAuc2V0Q29udGV4dCh7IHJlYXNvbjogJycsIG5vdGU6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLnJlamVjdGlvbi1kaWFsb2cuZmllbGRzLnJlYXNvbi1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgncmVhc29uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmxhcmdlVGV4dEJveCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5yZWplY3Rpb24tZGlhbG9nLmZpZWxkcy5yZWFzb24tcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiA1MDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMucmVqZWN0aW9uLWRpYWxvZy5maWVsZHMubm90ZS1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgnbm90ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMucmVqZWN0aW9uLWRpYWxvZy5maWVsZHMubm90ZS1wbGFjZWhvbGRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDEwMDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5zZXRBY3Rpb25zKGFjdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5jYW5jZWwoJ0BnZW5lcmFsOmFjdGlvbnMuY2FuY2VsLnRpdGxlJykuc3VibWl0KCdAZ2VuZXJhbDphY3Rpb25zLnJlamVjdC50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlYXNvbjogZm9ybURhdGFbJ3JlYXNvbiddLFxuICAgICAgICAgICAgbm90ZTogZm9ybURhdGFbJ25vdGUnXSxcbiAgICAgICAgICAgIGNhbmNlbGxlZDogYWN0aW9uID09PSAnY2FuY2VsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGFzeW5jIHNob3dDYW5jZWxsYXRpb25EaWFsb2coKTogUHJvbWlzZTxMZWF2ZVJlcXVlc3RBY3Rpb25EaWFsb2dSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgICAgICAgICBkaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgLnNldFRpdGxlKCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpXG4gICAgICAgICAgICAgICAgICAgIC5zZXRNZXNzYWdlKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuY2FuY2VsbGF0aW9uLWRpYWxvZy5tZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgLnNldENvbnRleHQoeyByZWFzb246ICcnLCBub3RlOiAnJyB9KVxuICAgICAgICAgICAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0RGlyZWN0aW9uKCdjb2x1bW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5jYW5jZWxsYXRpb24tZGlhbG9nLmZpZWxkcy5yZWFzb24tbGFiZWwnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ3JlYXNvbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuY2FuY2VsbGF0aW9uLWRpYWxvZy5maWVsZHMucmVhc29uLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aDogNTAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmNhbmNlbGxhdGlvbi1kaWFsb2cuZmllbGRzLm5vdGUtbGFiZWwnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ25vdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQubGFyZ2VUZXh0Qm94KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmNhbmNlbGxhdGlvbi1kaWFsb2cuZmllbGRzLm5vdGUtcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAxMDAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAZ2VuZXJhbDphY3Rpb25zLmNsb3NlLnRpdGxlJykuc3VibWl0KCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlYXNvbjogZm9ybURhdGFbJ3JlYXNvbiddLFxuICAgICAgICAgICAgbm90ZTogZm9ybURhdGFbJ25vdGUnXSxcbiAgICAgICAgICAgIGNhbmNlbGxlZDogYWN0aW9uID09PSAnY2FuY2VsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGFzeW5jIHNob3dBcHByb3ZhbERpYWxvZygpOiBQcm9taXNlPExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICAgICAgICAgIGRpYWxvZ1xuICAgICAgICAgICAgICAgICAgICAuc2V0VGl0bGUoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwcm92ZS50aXRsZScpXG4gICAgICAgICAgICAgICAgICAgIC5zZXRNZXNzYWdlKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuYXBwcm92YWwtZGlhbG9nLm1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAuc2V0Q29udGV4dCh7IG5vdGU6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmFwcHJvdmFsLWRpYWxvZy5maWVsZHMubm90ZS1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgnbm90ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuYXBwcm92YWwtZGlhbG9nLmZpZWxkcy5ub3RlLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aDogMTAwMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnNldEFjdGlvbnMoYWN0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLmNhbmNlbCgnQGdlbmVyYWw6YWN0aW9ucy5jYW5jZWwudGl0bGUnKS5zdWJtaXQoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwcm92ZS50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5vdGU6IGZvcm1EYXRhWydub3RlJ10sXG4gICAgICAgICAgICBjYW5jZWxsZWQ6IGFjdGlvbiA9PT0gJ2NhbmNlbCdcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowTaskProvider, } from '@acorex/modules/task-management';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXPLeaveRequestDialogService } from '../services/leave-request-dialog.service';\nexport class AXMLeaveRequestTaskProvider extends AXPWorkflowTaskProvider {\n constructor() {\n super(...arguments);\n this.entityService = inject(AXPEntityService);\n this.leaveRequestData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data();\n this.commandExecutor = inject(AXPCommandExecutor);\n this.translationService = inject(AXTranslationService);\n this.dialogService = inject(AXPLeaveRequestDialogService);\n }\n get name() {\n return 'leave-request';\n }\n get title() {\n return RootConfig.entities.leaveRequest.titlePlural;\n }\n get icon() {\n return 'fa-light fa-plane-departure';\n }\n async getTasks(options) {\n const baseFilter = { logic: 'and', filters: [] };\n baseFilter.filters?.push({\n field: 'statusId',\n operator: { type: 'equal', negative: true },\n value: AXPSystemStatuses.Cancelled.name,\n });\n // Filter for tasks that OVERLAP with the given date range\n // A task overlaps if: task.startDate <= range.end AND task.endDate >= range.from\n if (options?.range?.end) {\n baseFilter.filters?.push({ field: 'startDate', operator: { type: 'lte' }, value: options.range.end });\n }\n if (options?.range?.from) {\n baseFilter.filters?.push({ field: 'endDate', operator: { type: 'gte' }, value: options.range.from });\n }\n if (options?.assigneeIds && options.assigneeIds.length > 0) {\n // Filter by manager (assignee) of the employee requesting leave\n baseFilter.filters?.push({\n field: 'employee.manager.userId',\n operator: { type: 'in' },\n value: options.assigneeIds,\n });\n }\n const { items, total } = await this.leaveRequestData.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 20,\n filter: baseFilter,\n });\n const tasks = items.map((item) => {\n const statusId = item.statusId ?? item.status?.id ?? AXPSystemStatuses.Pending.name;\n const statusTitle = item.status?.title ??\n this.translationService.translateSync(`@human-capital-management:leave-requests.states.${statusId}`);\n return {\n id: item.id,\n title: `${item.employee?.person?.displayName} - ${this.translationService.translateSync(item.leaveType?.title ?? '')}`,\n description: item.reason ?? '',\n startDate: item.startDate ?? new Date(),\n endDate: item.endDate ?? new Date(),\n // Leave requests are all-day events by default (they span full days)\n allDay: true,\n assignee: {\n id: item.employee?.userId ?? '',\n type: 'user',\n fullName: item.employee?.manager?.person?.displayName ?? '',\n },\n index: 2,\n status: { id: statusId, title: statusTitle },\n priority: this.getPriorityFromStatus(statusId),\n reporter: {\n id: item.employee?.userId ?? item.employeeId,\n type: 'user',\n fullName: item.employee?.person?.displayName ?? '',\n },\n payload: item,\n };\n });\n return { items: tasks, total };\n }\n async updateTasks(tasksToUpdate) {\n // Update each task in the backend\n const updatedTasks = [];\n for (const task of tasksToUpdate) {\n try {\n // Build update payload with all changed fields\n const updatePayload = {};\n // Update status if present\n if (task.status?.id) {\n const statusId = task.status.id;\n updatePayload['statusId'] = statusId;\n }\n // Update dates if present\n if (task.startDate) {\n updatePayload['startDate'] = task.startDate;\n }\n if (task.endDate) {\n updatePayload['endDate'] = task.endDate;\n }\n // Only update if there's something to update\n if (Object.keys(updatePayload).length > 0) {\n await this.leaveRequestData.update(String(task.id), updatePayload);\n }\n // Return the task as-is (already updated in the task object)\n updatedTasks.push(task);\n }\n catch (error) {\n console.error(`[LeaveRequestTaskProvider] Failed to update task ${task.id}:`, error);\n // Still include the task even if update failed\n updatedTasks.push(task);\n }\n }\n return updatedTasks;\n }\n async executeCommand(command) {\n if (!command?.name)\n return { success: true };\n const leaveRequestId = command.options?.['id'] ?? '';\n switch (command.name) {\n case 'approveLeave': {\n // Show approval dialog\n const dialogResult = await this.dialogService.showApprovalDialog();\n // If dialog was cancelled, return early\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Execute the command - use fallback pattern like JSA\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Approve', {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n // Return result if exists, otherwise default to success (command might not be registered yet)\n return result ?? { success: true };\n }\n case 'rejectLeave': {\n // Show rejection dialog\n const dialogResult = await this.dialogService.showRejectionDialog();\n // If dialog was cancelled, return early\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Execute the command - use fallback pattern like JSA\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Reject', {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n // Return result if exists, otherwise default to success (command might not be registered yet)\n return result ?? { success: true };\n }\n case 'cancelLeave': {\n // Show cancellation dialog\n const dialogResult = await this.dialogService.showCancellationDialog();\n // If dialog was cancelled, return early\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Execute the command - use fallback pattern like JSA\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Cancel', {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n // Return result if exists, otherwise default to success (command might not be registered yet)\n return result ?? { success: true };\n }\n }\n return { success: true };\n }\n async getActions(task) {\n const actions = [];\n // Add approve action for pending requests\n if (task?.status?.id === AXPSystemStatuses.Pending.name || task?.status?.id === AXPSystemStatuses.Rejected.name) {\n actions.push({\n name: 'approveLeave',\n title: this.translationService.translateSync('@general:actions.approve.title'),\n icon: 'fa-light fa-check',\n color: 'success',\n command: { name: 'approveLeave', options: { id: task?.id ?? '' } },\n });\n }\n // Add reject action for pending or approved requests\n if (task?.status?.id === AXPSystemStatuses.Pending.name || task?.status?.id === AXPSystemStatuses.Approved.name) {\n actions.push({\n name: 'rejectLeave',\n title: this.translationService.translateSync('@general:actions.reject.title'),\n icon: 'fa-light fa-xmark',\n color: 'danger',\n command: { name: 'rejectLeave', options: { id: task?.id ?? '' } },\n });\n }\n // Add cancel action for pending or approved requests\n if (task?.status?.id === AXPSystemStatuses.Pending.name || task?.status?.id === AXPSystemStatuses.Approved.name) {\n actions.push({\n name: 'rejectLeave',\n title: this.translationService.translateSync('@general:actions.cancel.title'),\n icon: 'fa-light fa-ban',\n color: 'secondary',\n command: { name: 'cancelLeave', options: { id: task?.id ?? '' } },\n });\n }\n return actions;\n }\n async getExtraFields() {\n return [];\n }\n async getStatuses() {\n return [\n {\n index: 0,\n key: AXPSystemStatuses.Pending.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.pending'),\n color: 'warning',\n },\n {\n index: 1,\n key: AXPSystemStatuses.Approved.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.approved'),\n color: 'success',\n },\n {\n index: 2,\n key: AXPSystemStatuses.Rejected.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.rejected'),\n color: 'danger',\n },\n {\n index: 3,\n key: AXPSystemStatuses.Cancelled.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.cancelled'),\n color: 'secondary',\n },\n ];\n }\n getPriorityFromStatus(statusId) {\n switch (statusId) {\n case AXPSystemStatuses.Pending.name:\n return 'medium';\n case AXPSystemStatuses.Approved.name:\n return 'lowest';\n case AXPSystemStatuses.Rejected.name:\n return 'high';\n default:\n return 'medium';\n }\n }\n getComponent() {\n return () => import('./leave-request-task-popover.component').then((m) => m.AXMLeaveRequestTaskPopoverComponent);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC50YXNrLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2xlYXZlLXJlcXVlc3Qvd29ya2Zsb3ctdGFza3MvbGVhdmUtcmVxdWVzdC50YXNrLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFNTCx1QkFBdUIsR0FDeEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV4RixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsdUJBQXlFO0lBQTFIOztRQUNtQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhO2FBQ25ELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7YUFDekUsSUFBSSxFQUE0RCxDQUFDO1FBQ25ELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsTUFBTSxDQUFD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QUFRLENBQUMsSUFBSTtnQkFDcEMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQywwREFBMEQsQ0FBQztnQkFDL0csS0FBSyxFQUFFLFFBQVE7YUFDaEI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQztnQkFDUixHQUFHLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUk7Z0JBQ3JDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQ2pELDJEQUEyRCxDQUM1RDtnQkFDRCxLQUFLLEVBQUUsV0FBVzthQUNuQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBZ0I7UUFDNUMsUUFBUSxRQUFRLEVBQUUsQ0FBQztZQUNqQixLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUNqQyxPQUFPLFFBQVEsQ0FBQztZQUNsQixLQUFLLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNsQyxPQUFPLFFBQVEsQ0FBQztZQUNsQixLQUFLLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNsQyxPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVRLFlBQVk7UUFDbkIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQge1xuICBBWFBFeHRyYUZpZWxkLFxuICBBWFBUYXNrLFxuICBBWFBUYXNrRmlsdGVyLFxuICBBWFBUYXNrUG9wb3ZlckNvbXBvbmVudCxcbiAgQVhQVGFza1N0YXR1cyxcbiAgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXIsXG59IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90YXNrLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQU3lzdGVtU3RhdHVzZXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQQ29tbWFuZEV4ZWN1dG9yIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0JztcbmltcG9ydCB7XG4gIEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbCxcbiAgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdFN0YXR1cyxcbn0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0LnR5cGVzJztcbmltcG9ydCB7IEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sZWF2ZS1yZXF1ZXN0LWRpYWxvZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIEFYTUxlYXZlUmVxdWVzdFRhc2tQcm92aWRlciBleHRlbmRzIEFYUFdvcmtmbG93VGFza1Byb3ZpZGVyPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGVhdmVSZXF1ZXN0RGF0YSA9IHRoaXMuZW50aXR5U2VydmljZVxuICAgIC53aXRoRW50aXR5KFJvb3RDb25maWcubW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWUpXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZEV4ZWN1dG9yID0gaW5qZWN0KEFYUENvbW1hbmRFeGVjdXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2UpO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsZWF2ZS1yZXF1ZXN0JztcbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlUmVxdWVzdC50aXRsZVBsdXJhbDtcbiAgfVxuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdmYS1saWdodCBmYS1wbGFuZS1kZXBhcnR1cmUnO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGFza3MoXG4gICAgb3B0aW9uczogQVhQVGFza0ZpbHRlcixcbiAgKTogUHJvbWlzZTx7IGl0ZW1zOiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD5bXTsgdG90YWw6IG51bWJlciB9PiB7XG4gICAgY29uc3QgYmFzZUZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0geyBsb2dpYzogJ2FuZCcsIGZpbHRlcnM6IFtdIH07XG4gICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHtcbiAgICAgIGZpZWxkOiAnc3RhdHVzSWQnLFxuICAgICAgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJywgbmVnYXRpdmU6IHRydWUgfSxcbiAgICAgIHZhbHVlOiBBWFBTeXN0ZW1TdGF0dXNlcy5DYW5jZWxsZWQubmFtZSxcbiAgICB9KTtcblxuICAgIC8vIEZpbHRlciBmb3IgdGFza3MgdGhhdCBPVkVSTEFQIHdpdGggdGhlIGdpdmVuIGRhdGUgcmFuZ2VcbiAgICAvLyBBIHRhc2sgb3ZlcmxhcHMgaWY6IHRhc2suc3RhcnREYXRlIDw9IHJhbmdlLmVuZCBBTkQgdGFzay5lbmREYXRlID49IHJhbmdlLmZyb21cbiAgICBpZiAob3B0aW9ucz8ucmFuZ2U/LmVuZCkge1xuICAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHsgZmllbGQ6ICdzdGFydERhdGUnLCBvcGVyYXRvcjogeyB0eXBlOiAnbHRlJyB9LCB2YWx1ZTogb3B0aW9ucy5yYW5nZS5lbmQgfSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zPy5yYW5nZT8uZnJvbSkge1xuICAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHsgZmllbGQ6ICdlbmREYXRlJywgb3BlcmF0b3I6IHsgdHlwZTogJ2d0ZScgfSwgdmFsdWU6IG9wdGlvbnMucmFuZ2UuZnJvbSB9KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnM/LmFzc2lnbmVlSWRzICYmIG9wdGlvbnMuYXNzaWduZWVJZHMubGVuZ3RoID4gMCkge1xuICAgICAgLy8gRmlsdGVyIGJ5IG1hbmFnZXIgKGFzc2lnbmVlKSBvZiB0aGUgZW1wbG95ZWUgcmVxdWVzdGluZyBsZWF2ZVxuICAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgZmllbGQ6ICdlbXBsb3llZS5tYW5hZ2VyLnVzZXJJZCcsXG4gICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSxcbiAgICAgICAgdmFsdWU6IG9wdGlvbnMuYXNzaWduZWVJZHMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGl0ZW1zLCB0b3RhbCB9ID0gYXdhaXQgdGhpcy5sZWF2ZVJlcXVlc3REYXRhLnF1ZXJ5KHtcbiAgICAgIHNraXA6IG9wdGlvbnM/LnNraXAgPz8gMCxcbiAgICAgIHRha2U6IG9wdGlvbnM/LnRha2UgPz8gMjAsXG4gICAgICBmaWx0ZXI6IGJhc2VGaWx0ZXIsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0YXNrczogQVhQVGFzazxBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+W10gPSBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IHN0YXR1c0lkID0gaXRlbS5zdGF0dXNJZCA/PyBpdGVtLnN0YXR1cz8uaWQgPz8gQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lO1xuICAgICAgY29uc3Qgc3RhdHVzVGl0bGUgPVxuICAgICAgICBpdGVtLnN0YXR1cz8udGl0bGUgPz9cbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYyhgQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMuJHtzdGF0dXNJZH1gKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgIHRpdGxlOiBgJHtpdGVtLmVtcGxveWVlPy5wZXJzb24/LmRpc3BsYXlOYW1lfSAtICR7dGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYyhpdGVtLmxlYXZlVHlwZT8udGl0bGUgPz8gJycpfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLnJlYXNvbiA/PyAnJyxcbiAgICAgICAgc3RhcnREYXRlOiBpdGVtLnN0YXJ0RGF0ZSA/PyBuZXcgRGF0ZSgpLFxuICAgICAgICBlbmREYXRlOiBpdGVtLmVuZERhdGUgPz8gbmV3IERhdGUoKSxcbiAgICAgICAgLy8gTGVhdmUgcmVxdWVzdHMgYXJlIGFsbC1kYXkgZXZlbnRzIGJ5IGRlZmF1bHQgKHRoZXkgc3BhbiBmdWxsIGRheXMpXG4gICAgICAgIGFsbERheTogdHJ1ZSxcbiAgICAgICAgYXNzaWduZWU6IHtcbiAgICAgICAgICBpZDogaXRlbS5lbXBsb3llZT8udXNlcklkID8/ICcnLFxuICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICBmdWxsTmFtZTogaXRlbS5lbXBsb3llZT8ubWFuYWdlcj8ucGVyc29uPy5kaXNwbGF5TmFtZSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5kZXg6IDIsXG4gICAgICAgIHN0YXR1czogeyBpZDogc3RhdHVzSWQsIHRpdGxlOiBzdGF0dXNUaXRsZSB9LFxuICAgICAgICBwcmlvcml0eTogdGhpcy5nZXRQcmlvcml0eUZyb21TdGF0dXMoc3RhdHVzSWQpLFxuICAgICAgICByZXBvcnRlcjoge1xuICAgICAgICAgIGlkOiBpdGVtLmVtcGxveWVlPy51c2VySWQgPz8gaXRlbS5lbXBsb3llZUlkLFxuICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICBmdWxsTmFtZTogaXRlbS5lbXBsb3llZT8ucGVyc29uPy5kaXNwbGF5TmFtZSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGF5bG9hZDogaXRlbSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBpdGVtczogdGFza3MsIHRvdGFsIH07XG4gIH1cblxuICBhc3luYyB1cGRhdGVUYXNrcyhcbiAgICB0YXNrc1RvVXBkYXRlOiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD5bXSxcbiAgKTogUHJvbWlzZTxBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD5bXT4ge1xuICAgIC8vIFVwZGF0ZSBlYWNoIHRhc2sgaW4gdGhlIGJhY2tlbmRcbiAgICBjb25zdCB1cGRhdGVkVGFza3M6IEFYUFRhc2s8QVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsPltdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3NUb1VwZGF0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQnVpbGQgdXBkYXRlIHBheWxvYWQgd2l0aCBhbGwgY2hhbmdlZCBmaWVsZHNcbiAgICAgICAgY29uc3QgdXBkYXRlUGF5bG9hZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gICAgICAgIC8vIFVwZGF0ZSBzdGF0dXMgaWYgcHJlc2VudFxuICAgICAgICBpZiAodGFzay5zdGF0dXM/LmlkKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHVzSWQgPSB0YXNrLnN0YXR1cy5pZCBhcyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0U3RhdHVzO1xuICAgICAgICAgIHVwZGF0ZVBheWxvYWRbJ3N0YXR1c0lkJ10gPSBzdGF0dXNJZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFVwZGF0ZSBkYXRlcyBpZiBwcmVzZW50XG4gICAgICAgIGlmICh0YXNrLnN0YXJ0RGF0ZSkge1xuICAgICAgICAgIHVwZGF0ZVBheWxvYWRbJ3N0YXJ0RGF0ZSddID0gdGFzay5zdGFydERhdGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhc2suZW5kRGF0ZSkge1xuICAgICAgICAgIHVwZGF0ZVBheWxvYWRbJ2VuZERhdGUnXSA9IHRhc2suZW5kRGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXBkYXRlIGlmIHRoZXJlJ3Mgc29tZXRoaW5nIHRvIHVwZGF0ZVxuICAgICAgICBpZiAoT2JqZWN0LmtleXModXBkYXRlUGF5bG9hZCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMubGVhdmVSZXF1ZXN0RGF0YS51cGRhdGUoU3RyaW5nKHRhc2suaWQpLCB1cGRhdGVQYXlsb2FkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgdGFzayBhcy1pcyAoYWxyZWFkeSB1cGRhdGVkIGluIHRoZSB0YXNrIG9iamVjdClcbiAgICAgICAgdXBkYXRlZFRhc2tzLnB1c2godGFzayk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSBGYWlsZWQgdG8gdXBkYXRlIHRhc2sgJHt0YXNrLmlkfTpgLCBlcnJvcik7XG4gICAgICAgIC8vIFN0aWxsIGluY2x1ZGUgdGhlIHRhc2sgZXZlbiBpZiB1cGRhdGUgZmFpbGVkXG4gICAgICAgIHVwZGF0ZWRUYXNrcy5wdXNoKHRhc2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkVGFza3M7XG4gIH1cblxuICBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ+IHtcbiAgICBpZiAoIWNvbW1hbmQ/Lm5hbWUpIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcblxuICAgIGNvbnN0IGxlYXZlUmVxdWVzdElkID0gY29tbWFuZC5vcHRpb25zPy5bJ2lkJ10gPz8gJyc7XG5cbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnYXBwcm92ZUxlYXZlJzoge1xuICAgICAgICAvLyBTaG93IGFwcHJvdmFsIGRpYWxvZ1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0FwcHJvdmFsRGlhbG9nKCk7XG5cbiAgICAgICAgLy8gSWYgZGlhbG9nIHdhcyBjYW5jZWxsZWQsIHJldHVybiBlYXJseVxuICAgICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgY29tbWFuZCAtIHVzZSBmYWxsYmFjayBwYXR0ZXJuIGxpa2UgSlNBXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkFwcHJvdmUnLCB7XG4gICAgICAgICAgaWQ6IGxlYXZlUmVxdWVzdElkLFxuICAgICAgICAgIHJlYXNvbjogZGlhbG9nUmVzdWx0Py5yZWFzb24sXG4gICAgICAgICAgbm90ZTogZGlhbG9nUmVzdWx0Py5ub3RlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBSZXR1cm4gcmVzdWx0IGlmIGV4aXN0cywgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gc3VjY2VzcyAoY29tbWFuZCBtaWdodCBub3QgYmUgcmVnaXN0ZXJlZCB5ZXQpXG4gICAgICAgIHJldHVybiByZXN1bHQgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlamVjdExlYXZlJzoge1xuICAgICAgICAvLyBTaG93IHJlamVjdGlvbiBkaWFsb2dcbiAgICAgICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dSZWplY3Rpb25EaWFsb2coKTtcblxuICAgICAgICAvLyBJZiBkaWFsb2cgd2FzIGNhbmNlbGxlZCwgcmV0dXJuIGVhcmx5XG4gICAgICAgIGlmIChkaWFsb2dSZXN1bHQ/LmNhbmNlbGxlZCkge1xuICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBjb21tYW5kIC0gdXNlIGZhbGxiYWNrIHBhdHRlcm4gbGlrZSBKU0FcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZSgnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6UmVqZWN0Jywge1xuICAgICAgICAgIGlkOiBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgICByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLFxuICAgICAgICAgIG5vdGU6IGRpYWxvZ1Jlc3VsdD8ubm90ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHJlc3VsdCBpZiBleGlzdHMsIG90aGVyd2lzZSBkZWZhdWx0IHRvIHN1Y2Nlc3MgKGNvbW1hbmQgbWlnaHQgbm90IGJlIHJlZ2lzdGVyZWQgeWV0KVxuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjYW5jZWxMZWF2ZSc6IHtcbiAgICAgICAgLy8gU2hvdyBjYW5jZWxsYXRpb24gZGlhbG9nXG4gICAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93Q2FuY2VsbGF0aW9uRGlhbG9nKCk7XG5cbiAgICAgICAgLy8gSWYgZGlhbG9nIHdhcyBjYW5jZWxsZWQsIHJldHVybiBlYXJseVxuICAgICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgY29tbWFuZCAtIHVzZSBmYWxsYmFjayBwYXR0ZXJuIGxpa2UgSlNBXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkNhbmNlbCcsIHtcbiAgICAgICAgICBpZDogbGVhdmVSZXF1ZXN0SWQsXG4gICAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgICBub3RlOiBkaWFsb2dSZXN1bHQ/Lm5vdGUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFJldHVybiByZXN1bHQgaWYgZXhpc3RzLCBvdGhlcndpc2UgZGVmYXVsdCB0byBzdWNjZXNzIChjb21tYW5kIG1pZ2h0IG5vdCBiZSByZWdpc3RlcmVkIHlldClcbiAgICAgICAgcmV0dXJuIHJlc3VsdCA/PyB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gIH1cblxuICBhc3luYyBnZXRBY3Rpb25zKHRhc2s/OiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD4pOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBjb25zdCBhY3Rpb25zOiBBWFBBY3Rpb25NZW51SXRlbVtdID0gW107XG5cbiAgICAvLyBBZGQgYXBwcm92ZSBhY3Rpb24gZm9yIHBlbmRpbmcgcmVxdWVzdHNcbiAgICBpZiAodGFzaz8uc3RhdHVzPy5pZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lIHx8IHRhc2s/LnN0YXR1cz8uaWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLlJlamVjdGVkLm5hbWUpIHtcbiAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdhcHByb3ZlTGVhdmUnLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYygnQGdlbmVyYWw6YWN0aW9ucy5hcHByb3ZlLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGVjaycsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGNvbW1hbmQ6IHsgbmFtZTogJ2FwcHJvdmVMZWF2ZScsIG9wdGlvbnM6IHsgaWQ6IHRhc2s/LmlkID8/ICcnIH0gfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCByZWplY3QgYWN0aW9uIGZvciBwZW5kaW5nIG9yIGFwcHJvdmVkIHJlcXVlc3RzXG4gICAgaWYgKHRhc2s/LnN0YXR1cz8uaWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZSB8fCB0YXNrPy5zdGF0dXM/LmlkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5BcHByb3ZlZC5uYW1lKSB7XG4gICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICBuYW1lOiAncmVqZWN0TGVhdmUnLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYygnQGdlbmVyYWw6YWN0aW9ucy5yZWplY3QudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXhtYXJrJyxcbiAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICBjb21tYW5kOiB7IG5hbWU6ICdyZWplY3RMZWF2ZScsIG9wdGlvbnM6IHsgaWQ6IHRhc2s/LmlkID8/ICcnIH0gfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBjYW5jZWwgYWN0aW9uIGZvciBwZW5kaW5nIG9yIGFwcHJvdmVkIHJlcXVlc3RzXG4gICAgaWYgKHRhc2s/LnN0YXR1cz8uaWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZSB8fCB0YXNrPy5zdGF0dXM/LmlkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5BcHByb3ZlZC5uYW1lKSB7XG4gICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICBuYW1lOiAncmVqZWN0TGVhdmUnLFxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYygnQGdlbmVyYWw6YWN0aW9ucy5jYW5jZWwudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWJhbicsXG4gICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgY29tbWFuZDogeyBuYW1lOiAnY2FuY2VsTGVhdmUnLCBvcHRpb25zOiB7IGlkOiB0YXNrPy5pZCA/PyAnJyB9IH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIGFzeW5jIGdldEV4dHJhRmllbGRzKCk6IFByb21pc2U8QVhQRXh0cmFGaWVsZFtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhdHVzZXMoKTogUHJvbWlzZTxBWFBUYXNrU3RhdHVzW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpbmRleDogMCxcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMucGVuZGluZycpLFxuICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXg6IDEsXG4gICAgICAgIGtleTogQVhQU3lzdGVtU3RhdHVzZXMuQXBwcm92ZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5hcHByb3ZlZCcpLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXg6IDIsXG4gICAgICAgIGtleTogQVhQU3lzdGVtU3RhdHVzZXMuUmVqZWN0ZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5yZWplY3RlZCcpLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleDogMyxcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1TdGF0dXNlcy5DYW5jZWxsZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgICAgICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5jYW5jZWxsZWQnLFxuICAgICAgICApLFxuICAgICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGdldFByaW9yaXR5RnJvbVN0YXR1cyhzdGF0dXNJZDogc3RyaW5nKTogJ2hpZ2hlc3QnIHwgJ2hpZ2gnIHwgJ21lZGl1bScgfCAnbG93JyB8ICdsb3dlc3QnIHtcbiAgICBzd2l0Y2ggKHN0YXR1c0lkKSB7XG4gICAgICBjYXNlIEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZTpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgICAgY2FzZSBBWFBTeXN0ZW1TdGF0dXNlcy5BcHByb3ZlZC5uYW1lOlxuICAgICAgICByZXR1cm4gJ2xvd2VzdCc7XG4gICAgICBjYXNlIEFYUFN5c3RlbVN0YXR1c2VzLlJlamVjdGVkLm5hbWU6XG4gICAgICAgIHJldHVybiAnaGlnaCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ21lZGl1bSc7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0Q29tcG9uZW50KCk6ICgoKSA9PiBQcm9taXNlPFR5cGU8QVhQVGFza1BvcG92ZXJDb21wb25lbnQ+PikgfCBUeXBlPEFYUFRhc2tQb3BvdmVyQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuICgpID0+IGltcG9ydCgnLi9sZWF2ZS1yZXF1ZXN0LXRhc2stcG9wb3Zlci5jb21wb25lbnQnKS50aGVuKChtKSA9PiBtLkFYTUxlYXZlUmVxdWVzdFRhc2tQb3BvdmVyQ29tcG9uZW50KTtcbiAgfVxufVxuIl19","import { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPTaskBadgeProvider } from '@acorex/platform/layout/components';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandEventsService } from '@acorex/platform/runtime';\nimport { DestroyRef, inject, Injectable, signal } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Task Badge Provider ----\nexport class AXMLeaveRequestBadgeProvider extends AXPTaskBadgeProvider {\n //#endregion\n constructor() {\n super();\n //#region ---- Services & Dependencies ----\n this.entityService = inject(AXPEntityService);\n this.leaveRequestData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data();\n this.commandEvents = inject(AXPCommandEventsService);\n this.destroyRef = inject(DestroyRef);\n //#endregion\n //#region ---- Signals & Properties ----\n this.key = 'leave-request-badge';\n this.count = signal(0, ...(ngDevMode ? [{ debugName: \"count\" }] : []));\n void this.refresh();\n const unsubscribe = this.commandEvents.listen((event) => this.handleCommandEvent(event));\n this.destroyRef.onDestroy(unsubscribe);\n }\n //#region ---- Badge Actions ----\n /**\n * Forces badge count recalculation by querying the leave request entity service.\n */\n async refresh() {\n const baseFilters = [\n {\n field: 'statusId',\n operator: { type: 'equal' },\n value: AXPSystemStatuses.Pending.name,\n },\n ];\n const result = await this.leaveRequestData.query({\n skip: 0,\n take: 99,\n filter: {\n logic: 'and',\n filters: baseFilters,\n },\n });\n this.count.set(result.total);\n }\n /**\n * Handles command execution events and refreshes the badge when targeted leave request commands succeed.\n */\n async handleCommandEvent(event) {\n if (!event || event.stage !== 'after' || !event.success) {\n return;\n }\n await this.refresh();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9iYWRnZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQTRCLE1BQU0sMEJBQTBCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxZQUFZO0FBRVosMkNBQTJDO0FBRzNDLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxvQkFBb0I7SUFpQnBFLFlBQVk7SUFFWjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkJWLCtDQUErQztRQUU5QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhO2FBQ25ELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7YUFDekUsSUFBSSxFQUE0RCxDQUFDO1FBQ25ELGtCQUFhLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRCxZQUFZO1FBRVosNENBQTRDO1FBRTVDLFFBQUcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1QixVQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsaURBQUMsQ0FBQztRQU9oQixLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHFDQUFxQztJQUVyQzs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxXQUFXLEdBQStCO1lBQzlDO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBZ0IsRUFBRTtnQkFDcEMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJO2FBQ3RDO1NBQ0YsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMvQyxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksRUFBRSxFQUFFO1lBQ1IsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxXQUFXO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFnQztRQUMvRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FoRVUsNEJBQTRCO21IQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBTeXN0ZW1TdGF0dXNlcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFRhc2tCYWRnZVByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUENvbW1hbmRFdmVudHNTZXJ2aWNlLCBBWFBDb21tYW5kRXhlY3V0aW9uRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QudHlwZXMnO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBUYXNrIEJhZGdlIFByb3ZpZGVyICAgLS0tLVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0QmFkZ2VQcm92aWRlciBleHRlbmRzIEFYUFRhc2tCYWRnZVByb3ZpZGVyIHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGVhdmVSZXF1ZXN0RGF0YSA9IHRoaXMuZW50aXR5U2VydmljZVxuICAgIC53aXRoRW50aXR5KFJvb3RDb25maWcubW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWUpXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZEV2ZW50cyA9IGluamVjdChBWFBDb21tYW5kRXZlbnRzU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFNpZ25hbHMgJiBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIGtleSA9ICdsZWF2ZS1yZXF1ZXN0LWJhZGdlJztcbiAgY291bnQgPSBzaWduYWwoMCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHZvaWQgdGhpcy5yZWZyZXNoKCk7XG5cbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHRoaXMuY29tbWFuZEV2ZW50cy5saXN0ZW4oKGV2ZW50KSA9PiB0aGlzLmhhbmRsZUNvbW1hbmRFdmVudChldmVudCkpO1xuXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSh1bnN1YnNjcmliZSk7XG4gIH1cblxuICAvLyNyZWdpb24gLS0tLSAgIEJhZGdlIEFjdGlvbnMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEZvcmNlcyBiYWRnZSBjb3VudCByZWNhbGN1bGF0aW9uIGJ5IHF1ZXJ5aW5nIHRoZSBsZWF2ZSByZXF1ZXN0IGVudGl0eSBzZXJ2aWNlLlxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBiYXNlRmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSBbXG4gICAgICB7XG4gICAgICAgIGZpZWxkOiAnc3RhdHVzSWQnLFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIGFzIGNvbnN0IH0sXG4gICAgICAgIHZhbHVlOiBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmxlYXZlUmVxdWVzdERhdGEucXVlcnkoe1xuICAgICAgc2tpcDogMCxcbiAgICAgIHRha2U6IDk5LFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgICAgZmlsdGVyczogYmFzZUZpbHRlcnMsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb3VudC5zZXQocmVzdWx0LnRvdGFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNvbW1hbmQgZXhlY3V0aW9uIGV2ZW50cyBhbmQgcmVmcmVzaGVzIHRoZSBiYWRnZSB3aGVuIHRhcmdldGVkIGxlYXZlIHJlcXVlc3QgY29tbWFuZHMgc3VjY2VlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlQ29tbWFuZEV2ZW50KGV2ZW50PzogQVhQQ29tbWFuZEV4ZWN1dGlvbkV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFldmVudCB8fCBldmVudC5zdGFnZSAhPT0gJ2FmdGVyJyB8fCAhZXZlbnQuc3VjY2Vzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","export const AXPHumanCapitalManagementFeatureKeys = {\n EmployeeManagement: 'HumanCapitalManagement:Feature:Employee.Management',\n LeaveManagement: 'HumanCapitalManagement:Feature:Leave.Management',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMua2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy5rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHO0lBQ2xELGtCQUFrQixFQUFFLG9EQUFvRDtJQUN4RSxlQUFlLEVBQUUsaURBQWlEO0NBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzID0ge1xuICBFbXBsb3llZU1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OkZlYXR1cmU6RW1wbG95ZWUuTWFuYWdlbWVudCcsXG4gIExlYXZlTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6RmVhdHVyZTpMZWF2ZS5NYW5hZ2VtZW50Jyxcbn0gYXMgY29uc3Q7XG5cbiJdfQ==","//#region ---- Imports ----\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\n//#endregion\n//#region ---- Feature Definition Provider ----\n/**\n * Human Capital Management Feature Definition Provider.\n * Provides feature definitions for the Human Capital Management module.\n */\nexport class AXPHumanCapitalManagementFeatureDefinitionProvider {\n async provide(context) {\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.EmployeeManagement, {\n title: '@human-capital-management:features.employee-management.title',\n description: '@human-capital-management:features.employee-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.LeaveManagement, {\n title: '@human-capital-management:features.leave-management.title',\n description: '@human-capital-management:features.leave-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmUtZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFNL0IsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkUsWUFBWTtBQUVaLG1EQUFtRDtBQUVuRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0RBQWtEO0lBQzdELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFFeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxRSxLQUFLLEVBQUUsOERBQThEO1lBQ3JFLFdBQVcsRUFBRSxvRUFBb0U7WUFDakYsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxlQUFlLEVBQUU7WUFDdkUsS0FBSyxFQUFFLDJEQUEyRDtZQUNsRSxXQUFXLEVBQUUsaUVBQWlFO1lBQzlFLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7XG4gIEFYUEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXIsXG4gIEFYUEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzIH0gZnJvbSAnLi9mZWF0dXJlcy5rZXlzJztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgRmVhdHVyZSBEZWZpbml0aW9uIFByb3ZpZGVyICAgLS0tLVxuXG4vKipcbiAqIEh1bWFuIENhcGl0YWwgTWFuYWdlbWVudCBGZWF0dXJlIERlZmluaXRpb24gUHJvdmlkZXIuXG4gKiBQcm92aWRlcyBmZWF0dXJlIGRlZmluaXRpb25zIGZvciB0aGUgSHVtYW4gQ2FwaXRhbCBNYW5hZ2VtZW50IG1vZHVsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyIGltcGxlbWVudHMgQVhQRmVhdHVyZURlZmluaXRpb25Qcm92aWRlciB7XG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQRmVhdHVyZURlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcblxuICAgIGNvbnRleHQuYWRkRmVhdHVyZShBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50RmVhdHVyZUtleXMuRW1wbG95ZWVNYW5hZ2VtZW50LCB7XG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZmVhdHVyZXMuZW1wbG95ZWUtbWFuYWdlbWVudC50aXRsZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZmVhdHVyZXMuZW1wbG95ZWUtbWFuYWdlbWVudC5kZXNjcmlwdGlvbicsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmFkZEZlYXR1cmUoQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkxlYXZlTWFuYWdlbWVudCwge1xuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmZlYXR1cmVzLmxlYXZlLW1hbmFnZW1lbnQudGl0bGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmZlYXR1cmVzLmxlYXZlLW1hbmFnZW1lbnQuZGVzY3JpcHRpb24nLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0pO1xuICB9XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","//#region ---- Imports ----\nimport { AXPStatusProvider, AXPSystemStatusType, systemStatusToDefinition, } from '@acorex/platform/common';\n//#endregion\n//#region ---- Leave Request Status Provider ----\n/**\n * Leave request status provider defining lifecycle states: Pending, Approved, Rejected, Cancelled.\n * Used by the status plugin to manage leave request status transitions and metadata.\n */\nexport class AXMLeaveRequestStatusProvider extends AXPStatusProvider {\n constructor() {\n super(...arguments);\n this.key = 'human-capital-management.status.leave-request';\n this.statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@human-capital-management:leave-requests.states.pending',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@human-capital-management:leave-requests.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@human-capital-management:leave-requests.states.rejected',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Cancelled, {\n title: '@human-capital-management:leave-requests.states.cancelled',\n generateView: true,\n }),\n ];\n this.transitions = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Approved,\n title: '@general:statuses.transitions.approve',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Rejected,\n title: '@general:statuses.transitions.reject',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n ];\n this.defaultStatus = AXPSystemStatusType.Pending;\n }\n}\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC1zdGF0dXMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0LXN0YXR1cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixtQkFBbUIsRUFDbkIsd0JBQXdCLEdBQ3pCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsWUFBWTtBQUVaLHFEQUFxRDtBQUVyRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsaUJBQWlCO0lBQXBFOztRQUNXLFFBQUcsR0FBRywrQ0FBK0MsQ0FBQztRQUV0RCxhQUFRLEdBQUc7WUFDbEIsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFO2dCQUNwRCxLQUFLLEVBQUUseURBQXlEO2dCQUNoRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxLQUFLLEVBQUUsMERBQTBEO2dCQUNqRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxLQUFLLEVBQUUsMERBQTBEO2dCQUNqRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFO2dCQUN0RCxLQUFLLEVBQUUsMkRBQTJEO2dCQUNsRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1NBQ0gsQ0FBQztRQUVPLGdCQUFXLEdBQTBCO1lBQzVDO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQkFDaEMsS0FBSyxFQUFFLHVDQUF1QztnQkFDOUMsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQkFDaEMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsU0FBUztnQkFDakMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRO2dCQUNsQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsU0FBUztnQkFDakMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtTQUNGLENBQUM7UUFFTyxrQkFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztJQUN2RCxDQUFDO0NBQUE7QUFFRCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQge1xuICBBWFBTdGF0dXNQcm92aWRlcixcbiAgQVhQU3RhdHVzVHJhbnNpdGlvbixcbiAgQVhQU3lzdGVtU3RhdHVzVHlwZSxcbiAgc3lzdGVtU3RhdHVzVG9EZWZpbml0aW9uLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIExlYXZlIFJlcXVlc3QgU3RhdHVzIFByb3ZpZGVyICAgLS0tLVxuXG4vKipcbiAqIExlYXZlIHJlcXVlc3Qgc3RhdHVzIHByb3ZpZGVyIGRlZmluaW5nIGxpZmVjeWNsZSBzdGF0ZXM6IFBlbmRpbmcsIEFwcHJvdmVkLCBSZWplY3RlZCwgQ2FuY2VsbGVkLlxuICogVXNlZCBieSB0aGUgc3RhdHVzIHBsdWdpbiB0byBtYW5hZ2UgbGVhdmUgcmVxdWVzdCBzdGF0dXMgdHJhbnNpdGlvbnMgYW5kIG1ldGFkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0U3RhdHVzUHJvdmlkZXIgZXh0ZW5kcyBBWFBTdGF0dXNQcm92aWRlciB7XG4gIHJlYWRvbmx5IGtleSA9ICdodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQuc3RhdHVzLmxlYXZlLXJlcXVlc3QnO1xuXG4gIHJlYWRvbmx5IHN0YXR1c2VzID0gW1xuICAgIHN5c3RlbVN0YXR1c1RvRGVmaW5pdGlvbihBWFBTeXN0ZW1TdGF0dXNUeXBlLlBlbmRpbmcsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMucGVuZGluZycsXG4gICAgICBnZW5lcmF0ZVZpZXc6IHRydWUsXG4gICAgfSksXG4gICAgc3lzdGVtU3RhdHVzVG9EZWZpbml0aW9uKEFYUFN5c3RlbVN0YXR1c1R5cGUuQXBwcm92ZWQsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMuYXBwcm92ZWQnLFxuICAgICAgZ2VuZXJhdGVWaWV3OiB0cnVlLFxuICAgIH0pLFxuICAgIHN5c3RlbVN0YXR1c1RvRGVmaW5pdGlvbihBWFBTeXN0ZW1TdGF0dXNUeXBlLlJlamVjdGVkLCB7XG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuc3RhdGVzLnJlamVjdGVkJyxcbiAgICAgIGdlbmVyYXRlVmlldzogdHJ1ZSxcbiAgICB9KSxcbiAgICBzeXN0ZW1TdGF0dXNUb0RlZmluaXRpb24oQVhQU3lzdGVtU3RhdHVzVHlwZS5DYW5jZWxsZWQsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMuY2FuY2VsbGVkJyxcbiAgICAgIGdlbmVyYXRlVmlldzogdHJ1ZSxcbiAgICB9KSxcbiAgXTtcblxuICByZWFkb25seSB0cmFuc2l0aW9uczogQVhQU3RhdHVzVHJhbnNpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIGZyb206IEFYUFN5c3RlbVN0YXR1c1R5cGUuUGVuZGluZyxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLkFwcHJvdmVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5hcHByb3ZlJyxcbiAgICAgIHJlcXVpcmVzQXBwcm92YWw6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIGZyb206IEFYUFN5c3RlbVN0YXR1c1R5cGUuUGVuZGluZyxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLlJlamVjdGVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5yZWplY3QnLFxuICAgICAgcmVxdWlyZXNBcHByb3ZhbDogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgZnJvbTogQVhQU3lzdGVtU3RhdHVzVHlwZS5QZW5kaW5nLFxuICAgICAgdG86IEFYUFN5c3RlbVN0YXR1c1R5cGUuQ2FuY2VsbGVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5jYW5jZWwnLFxuICAgICAgcmVxdWlyZXNBcHByb3ZhbDogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgZnJvbTogQVhQU3lzdGVtU3RhdHVzVHlwZS5BcHByb3ZlZCxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLkNhbmNlbGxlZCxcbiAgICAgIHRpdGxlOiAnQGdlbmVyYWw6c3RhdHVzZXMudHJhbnNpdGlvbnMuY2FuY2VsJyxcbiAgICAgIHJlcXVpcmVzQXBwcm92YWw6IHRydWVcbiAgICB9LFxuICBdO1xuXG4gIHJlYWRvbmx5IGRlZmF1bHRTdGF0dXMgPSBBWFBTeXN0ZW1TdGF0dXNUeXBlLlBlbmRpbmc7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","import { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXMLeaveRequestBadgeProvider } from './badge.provider';\nimport { AXMLeaveRequestStatusProvider } from './leave-request-status.provider';\nimport { AXMLeaveRequestTaskProvider } from './workflow-tasks/leave-request.task.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMLeaveRequestFeatureModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, imports: [CommonModule, AXPRuntimeModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, providers: [\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMLeaveRequestBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMLeaveRequestTaskProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLeaveRequestStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'HumanCapitalManagement.LeaveRequest:Approve',\n command: () => import('./commands/approve-leave-request.command').then((c) => c.ApproveLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Reject',\n command: () => import('./commands/reject-leave-request.command').then((c) => c.RejectLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Cancel',\n command: () => import('./commands/cancel-leave-request.command').then((c) => c.CancelLeaveRequestCommand),\n },\n ]),\n ], imports: [CommonModule, AXPRuntimeModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXPRuntimeModule],\n providers: [\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMLeaveRequestBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMLeaveRequestTaskProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLeaveRequestStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'HumanCapitalManagement.LeaveRequest:Approve',\n command: () => import('./commands/approve-leave-request.command').then((c) => c.ApproveLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Reject',\n command: () => import('./commands/reject-leave-request.command').then((c) => c.RejectLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Cancel',\n command: () => import('./commands/cancel-leave-request.command').then((c) => c.CancelLeaveRequestCommand),\n },\n ]),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFvQzNGLE1BQU0sT0FBTyw0QkFBNEI7K0dBQTVCLDRCQUE0QjtnSEFBNUIsNEJBQTRCLFlBakM3QixZQUFZLEVBQUUsZ0JBQWdCO2dIQWlDN0IsNEJBQTRCLGFBaEM1QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx3QkFBd0I7Z0JBQ2pDLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELG9CQUFvQixDQUFDO2dCQUNuQjtvQkFDRSxHQUFHLEVBQUUsNkNBQTZDO29CQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7aUJBQzVHO2dCQUNEO29CQUNFLEdBQUcsRUFBRSw0Q0FBNEM7b0JBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDMUc7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLDRDQUE0QztvQkFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO2lCQUMxRzthQUNGLENBQUM7U0FDSCxZQS9CUyxZQUFZLEVBQUUsZ0JBQWdCOzs0RkFpQzdCLDRCQUE0QjtrQkFsQ3hDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLDRCQUE0Qjs0QkFDdEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLDZCQUE2Qjs0QkFDdkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Qsb0JBQW9CLENBQUM7NEJBQ25CO2dDQUNFLEdBQUcsRUFBRSw2Q0FBNkM7Z0NBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQzs2QkFDNUc7NEJBQ0Q7Z0NBQ0UsR0FBRyxFQUFFLDRDQUE0QztnQ0FDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDOzZCQUMxRzs0QkFDRDtnQ0FDRSxHQUFHLEVBQUUsNENBQTRDO2dDQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7NkJBQzFHO3lCQUNGLENBQUM7cUJBQ0g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfV09SS0ZMT1dfVEFTS19QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90YXNrLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQX1NUQVRVU19QUk9WSURFUlMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFJ1bnRpbWVNb2R1bGUsIHByb3ZpZGVDb21tYW5kU2V0dXBzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RCYWRnZVByb3ZpZGVyIH0gZnJvbSAnLi9iYWRnZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RTdGF0dXNQcm92aWRlciB9IGZyb20gJy4vbGVhdmUtcmVxdWVzdC1zdGF0dXMucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyIH0gZnJvbSAnLi93b3JrZmxvdy10YXNrcy9sZWF2ZS1yZXF1ZXN0LnRhc2sucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBSdW50aW1lTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1RBU0tfQkFER0VfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IEFYTUxlYXZlUmVxdWVzdEJhZGdlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9XT1JLRkxPV19UQVNLX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTUxlYXZlUmVxdWVzdFRhc2tQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NUQVRVU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogQVhNTGVhdmVSZXF1ZXN0U3RhdHVzUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHByb3ZpZGVDb21tYW5kU2V0dXBzKFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6QXBwcm92ZScsXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9jb21tYW5kcy9hcHByb3ZlLWxlYXZlLXJlcXVlc3QuY29tbWFuZCcpLnRoZW4oKGMpID0+IGMuQXBwcm92ZUxlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6UmVqZWN0JyxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2NvbW1hbmRzL3JlamVjdC1sZWF2ZS1yZXF1ZXN0LmNvbW1hbmQnKS50aGVuKChjKSA9PiBjLlJlamVjdExlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6Q2FuY2VsJyxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2NvbW1hbmRzL2NhbmNlbC1sZWF2ZS1yZXF1ZXN0LmNvbW1hbmQnKS50aGVuKChjKSA9PiBjLkNhbmNlbExlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0RmVhdHVyZU1vZHVsZSB7fVxuIl19","export const AXM_EMPLOYEE_CODE_IDENTIFIER_RULE = {\n id: 'employee-code',\n title: 'Employee Code',\n entity: 'HumanCapitalManagement.Employee',\n pattern: 'EMP-{date:YYYYMM}-{seq:4}',\n enabled: true,\n priority: 1,\n scopeConfig: { byTenant: false, period: 'yearly', minValue: 100, blockSize: 0 },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtY29kZS1pZGVudGlmaWVyLXJ1bGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvc2hhcmVkL2lkZW50aWZpZXJzL2VtcGxveWVlLWNvZGUtaWRlbnRpZmllci1ydWxlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFzQjtJQUNoRSxFQUFFLEVBQUUsZUFBZTtJQUNuQixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsaUNBQWlDO0lBQ3pDLE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsQ0FBQztJQUNYLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7Q0FDbEYsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUElkZW50aWZpZXJSdWxlIH0gZnJvbSBcIkBhY29yZXgvbW9kdWxlcy9pZGVudGlmaWVyLW1hbmFnZW1lbnRcIjtcblxuZXhwb3J0IGNvbnN0IEFYTV9FTVBMT1lFRV9DT0RFX0lERU5USUZJRVJfUlVMRTogQVhQSWRlbnRpZmllclJ1bGUgPSB7XG4gICAgaWQ6ICdlbXBsb3llZS1jb2RlJyxcbiAgICB0aXRsZTogJ0VtcGxveWVlIENvZGUnLFxuICAgIGVudGl0eTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUnLFxuICAgIHBhdHRlcm46ICdFTVAte2RhdGU6WVlZWU1NfS17c2VxOjR9JyxcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHByaW9yaXR5OiAxLFxuICAgIHNjb3BlQ29uZmlnOiB7IGJ5VGVuYW50OiBmYWxzZSwgcGVyaW9kOiAneWVhcmx5JywgbWluVmFsdWU6IDEwMCwgYmxvY2tTaXplOiAwIH0sXG59Il19","//#region ---- Imports ----\nimport { RootConfig } from './const';\n//#endregion\n//#region ---- Manifest Definition ----\n/**\n * Human Capital Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const HumanCapitalManagementManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n // Module dependencies\n dependencies: [\n 'OrganizationManagement',\n 'PersonManagement',\n 'LocationManagement',\n 'ContactManagement',\n 'DocumentManagement',\n ],\n};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBRy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsWUFBWTtBQUVaLDJDQUEyQztBQUUzQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBc0I7SUFDL0QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtJQUM1QixPQUFPLEVBQUUsT0FBTztJQUNoQixLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO0lBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7SUFDNUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtJQUU1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFO1FBQ1osd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLG9CQUFvQjtLQUNyQjtDQUNGLENBQUM7QUFFRixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBBWFBNb2R1bGVNYW5pZmVzdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi9jb25zdCc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIE1hbmlmZXN0IERlZmluaXRpb24gICAtLS0tXG5cbi8qKlxuICogSHVtYW4gQ2FwaXRhbCBNYW5hZ2VtZW50IE1vZHVsZSBNYW5pZmVzdC5cbiAqIERlZmluZXMgbW9kdWxlIG1ldGFkYXRhLCBmZWF0dXJlcywgYW5kIHByb3ZpZGVyIHJlZmVyZW5jZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWFuaWZlc3Q6IEFYUE1vZHVsZU1hbmlmZXN0ID0ge1xuICBuYW1lOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICB0aXRsZTogUm9vdENvbmZpZy5tb2R1bGUudGl0bGUsXG4gIGljb246IFJvb3RDb25maWcubW9kdWxlLmljb24sXG4gIGkxOG46IFJvb3RDb25maWcuY29uZmlnLmkxOG4sXG5cbiAgLy8gTW9kdWxlIGRlcGVuZGVuY2llc1xuICBkZXBlbmRlbmNpZXM6IFtcbiAgICAnT3JnYW5pemF0aW9uTWFuYWdlbWVudCcsXG4gICAgJ1BlcnNvbk1hbmFnZW1lbnQnLFxuICAgICdMb2NhdGlvbk1hbmFnZW1lbnQnLFxuICAgICdDb250YWN0TWFuYWdlbWVudCcsXG4gICAgJ0RvY3VtZW50TWFuYWdlbWVudCcsXG4gIF0sXG59O1xuXG4vLyNlbmRyZWdpb25cblxuIl19","export const AXMPermissionsKeys = {\n HumanCapitalManagement: {\n Employee: {\n Management: 'HumanCapitalManagement:Permission:Employee.Management',\n View: 'HumanCapitalManagement:Permission:Employee.View',\n Edit: 'HumanCapitalManagement:Permission:Employee.Edit',\n Delete: 'HumanCapitalManagement:Permission:Employee.Delete',\n Create: 'HumanCapitalManagement:Permission:Employee.Create',\n },\n EmploymentType: {\n Management: 'HumanCapitalManagement:Permission:EmploymentType.Management',\n View: 'HumanCapitalManagement:Permission:EmploymentType.View',\n Edit: 'HumanCapitalManagement:Permission:EmploymentType.Edit',\n Delete: 'HumanCapitalManagement:Permission:EmploymentType.Delete',\n Create: 'HumanCapitalManagement:Permission:EmploymentType.Create',\n },\n PositionAssignment: {\n Management: 'HumanCapitalManagement:Permission:PositionAssignment.Management',\n View: 'HumanCapitalManagement:Permission:PositionAssignment.View',\n Edit: 'HumanCapitalManagement:Permission:PositionAssignment.Edit',\n Delete: 'HumanCapitalManagement:Permission:PositionAssignment.Delete',\n Create: 'HumanCapitalManagement:Permission:PositionAssignment.Create',\n },\n LeaveType: {\n Management: 'HumanCapitalManagement:Permission:LeaveType.Management',\n View: 'HumanCapitalManagement:Permission:LeaveType.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveType.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveType.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveType.Create',\n },\n LeaveRequest: {\n Management: 'HumanCapitalManagement:Permission:LeaveRequest.Management',\n View: 'HumanCapitalManagement:Permission:LeaveRequest.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveRequest.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveRequest.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveRequest.Create',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24ua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxzQkFBc0IsRUFBRTtRQUN0QixRQUFRLEVBQUU7WUFDUixVQUFVLEVBQUUsdURBQXVEO1lBQ25FLElBQUksRUFBRSxpREFBaUQ7WUFDdkQsSUFBSSxFQUFFLGlEQUFpRDtZQUN2RCxNQUFNLEVBQUUsbURBQW1EO1lBQzNELE1BQU0sRUFBRSxtREFBbUQ7U0FDNUQ7UUFDRCxjQUFjLEVBQUU7WUFDZCxVQUFVLEVBQUUsNkRBQTZEO1lBQ3pFLElBQUksRUFBRSx1REFBdUQ7WUFDN0QsSUFBSSxFQUFFLHVEQUF1RDtZQUM3RCxNQUFNLEVBQUUseURBQXlEO1lBQ2pFLE1BQU0sRUFBRSx5REFBeUQ7U0FDbEU7UUFDRCxrQkFBa0IsRUFBRTtZQUNsQixVQUFVLEVBQUUsaUVBQWlFO1lBQzdFLElBQUksRUFBRSwyREFBMkQ7WUFDakUsSUFBSSxFQUFFLDJEQUEyRDtZQUNqRSxNQUFNLEVBQUUsNkRBQTZEO1lBQ3JFLE1BQU0sRUFBRSw2REFBNkQ7U0FDdEU7UUFDRCxTQUFTLEVBQUU7WUFDVCxVQUFVLEVBQUUsd0RBQXdEO1lBQ3BFLElBQUksRUFBRSxrREFBa0Q7WUFDeEQsSUFBSSxFQUFFLGtEQUFrRDtZQUN4RCxNQUFNLEVBQUUsb0RBQW9EO1lBQzVELE1BQU0sRUFBRSxvREFBb0Q7U0FDN0Q7UUFDRCxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsMkRBQTJEO1lBQ3ZFLElBQUksRUFBRSxxREFBcUQ7WUFDM0QsSUFBSSxFQUFFLHFEQUFxRDtZQUMzRCxNQUFNLEVBQUUsdURBQXVEO1lBQy9ELE1BQU0sRUFBRSx1REFBdUQ7U0FDaEU7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhNUGVybWlzc2lvbnNLZXlzID0ge1xuICBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OiB7XG4gICAgRW1wbG95ZWU6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95ZWUuTWFuYWdlbWVudCcsXG4gICAgICBWaWV3OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveWVlLlZpZXcnLFxuICAgICAgRWRpdDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3llZS5FZGl0JyxcbiAgICAgIERlbGV0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3llZS5EZWxldGUnLFxuICAgICAgQ3JlYXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveWVlLkNyZWF0ZScsXG4gICAgfSxcbiAgICBFbXBsb3ltZW50VHlwZToge1xuICAgICAgTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3ltZW50VHlwZS5NYW5hZ2VtZW50JyxcbiAgICAgIFZpZXc6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95bWVudFR5cGUuVmlldycsXG4gICAgICBFZGl0OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveW1lbnRUeXBlLkVkaXQnLFxuICAgICAgRGVsZXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveW1lbnRUeXBlLkRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95bWVudFR5cGUuQ3JlYXRlJyxcbiAgICB9LFxuICAgIFBvc2l0aW9uQXNzaWdubWVudDoge1xuICAgICAgTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpQb3NpdGlvbkFzc2lnbm1lbnQuTWFuYWdlbWVudCcsXG4gICAgICBWaWV3OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5WaWV3JyxcbiAgICAgIEVkaXQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246UG9zaXRpb25Bc3NpZ25tZW50LkVkaXQnLFxuICAgICAgRGVsZXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5EZWxldGUnLFxuICAgICAgQ3JlYXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5DcmVhdGUnLFxuICAgIH0sXG4gICAgTGVhdmVUeXBlOiB7XG4gICAgICBNYW5hZ2VtZW50OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkxlYXZlVHlwZS5NYW5hZ2VtZW50JyxcbiAgICAgIFZpZXc6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLlZpZXcnLFxuICAgICAgRWRpdDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVR5cGUuRWRpdCcsXG4gICAgICBEZWxldGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLkRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLkNyZWF0ZScsXG4gICAgfSxcbiAgICBMZWF2ZVJlcXVlc3Q6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVSZXF1ZXN0Lk1hbmFnZW1lbnQnLFxuICAgICAgVmlldzogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuVmlldycsXG4gICAgICBFZGl0OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkxlYXZlUmVxdWVzdC5FZGl0JyxcbiAgICAgIERlbGV0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuRGVsZXRlJyxcbiAgICAgIENyZWF0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuQ3JlYXRlJyxcbiAgICB9LFxuICB9LFxufTtcblxuIl19","import { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMPermissionDefinitionProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async define(context) {\n const keys = AXMPermissionsKeys.HumanCapitalManagement;\n const moduleTitle = await this.translateService.translateAsync('@human-capital-management:module.permissions.title');\n const moduleDescription = await this.translateService.translateAsync('@human-capital-management:module.permissions.description');\n context.addGroup(RootConfig.module.name, moduleTitle, moduleDescription)\n //\n .addPermission(keys.Employee.Management, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.description'))\n .addChild(keys.Employee.View, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.description'))\n .addChild(keys.Employee.Create, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.description'))\n .addChild(keys.Employee.Edit, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.description'))\n .addChild(keys.Employee.Delete, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.EmploymentType.Management, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.description'))\n .addChild(keys.EmploymentType.View, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.description'))\n .addChild(keys.EmploymentType.Create, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.description'))\n .addChild(keys.EmploymentType.Edit, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.description'))\n .addChild(keys.EmploymentType.Delete, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.PositionAssignment.Management, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.description'))\n .addChild(keys.PositionAssignment.View, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.description'))\n .addChild(keys.PositionAssignment.Create, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.description'))\n .addChild(keys.PositionAssignment.Edit, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.description'))\n .addChild(keys.PositionAssignment.Delete, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.LeaveType.Management, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.description'))\n .addChild(keys.LeaveType.View, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.description'))\n .addChild(keys.LeaveType.Create, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.description'))\n .addChild(keys.LeaveType.Edit, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.description'))\n .addChild(keys.LeaveType.Delete, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.LeaveRequest.Management, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.description'))\n .addChild(keys.LeaveRequest.View, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.description'))\n .addChild(keys.LeaveRequest.Create, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.description'))\n .addChild(keys.LeaveRequest.Edit, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.description'))\n .addChild(keys.LeaveRequest.Delete, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.description'))\n .endPermission()\n //\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUdyQyxNQUFNLE9BQU8sK0JBQStCO0lBRzFDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFDMUQsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7UUFFdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDckgsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUVqSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztZQUN0RSxFQUFFO2FBQ0QsYUFBYSxDQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxF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YyxDQUFDLGdHQUFnRyxDQUFDLENBQUM7YUFDeFQsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyx3RkFBd0YsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyw4RkFBOEYsQ0FBQyxDQUFDO2FBQ2xULFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsMEZBQTBGLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsZ0dBQWdHLENBQUMsQ0FBQzthQUN4VCxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELFFBQVEsRUFBRSxDQUFDO0lBQ2hCLENBQUM7K0dBdkVVLCtCQUErQjttSEFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciwgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVBlcm1pc3Npb25zS2V5cyB9IGZyb20gJy4vcGVybWlzc2lvbi5rZXlzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBBWFRyYW5zbGF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGRlZmluZShjb250ZXh0OiBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGtleXMgPSBBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudDtcblxuICAgIGNvbnN0IG1vZHVsZVRpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS5wZXJtaXNzaW9ucy50aXRsZScpO1xuICAgIGNvbnN0IG1vZHVsZURlc2NyaXB0aW9uID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS5wZXJtaXNzaW9ucy5kZXNjcmlwdGlvbicpO1xuXG4gICAgY29udGV4dC5hZGRHcm91cChSb290Q29uZmlnLm1vZHVsZS5uYW1lLCBtb2R1bGVUaXRsZSwgbW9kdWxlRGVzY3JpcHRpb24pXG4gICAgICAvL1xuICAgICAgLmFkZFBlcm1pc3Npb24oXG4gICAgICAgIGtleXMuRW1wbG95ZWUuTWFuYWdlbWVudCxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuZGVzY3JpcHRpb24nKVxuICAgICAgKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuVmlldywgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuYWN0aW9ucy52aWV3LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZXMucGVybWlzc2lvbnMuZW1wbG95ZWVzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmNyZWF0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuRWRpdCwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZXMucGVybWlzc2lvbnMuZW1wbG95ZWVzLmFjdGlvbnMuZWRpdC5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuRGVsZXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5hZGRQZXJtaXNzaW9uKFxuICAgICAgICBrZXlzLkVtcGxveW1lbnRUeXBlLk1hbmFnZW1lbnQsXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMucGVybWlzc2lvbnMuZW1wbG95bWVudC10eXBlcy5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5FbXBsb3ltZW50VHlwZS5WaWV3LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMudmlldy50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95bWVudFR5cGUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMuY3JlYXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkVtcGxveW1lbnRUeXBlLkVkaXQsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5FbXBsb3ltZW50VHlwZS5EZWxldGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5kZWxldGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMucGVybWlzc2lvbnMuZW1wbG95bWVudC10eXBlcy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5hZGRQZXJtaXNzaW9uKFxuICAgICAgICBrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5NYW5hZ2VtZW50LFxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OnBvc2l0aW9uLWFzc2lnbm1lbnRzLnBlcm1pc3Npb25zLnBvc2l0aW9uLWFzc2lnbm1lbnRzLmRlc2NyaXB0aW9uJylcbiAgICAgIClcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5WaWV3LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy52aWV3LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5DcmVhdGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5FZGl0LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmVkaXQuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5EZWxldGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5kZWxldGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihcbiAgICAgICAga2V5cy5MZWF2ZVR5cGUuTWFuYWdlbWVudCxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLnRpdGxlJyksXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS10eXBlcy5wZXJtaXNzaW9ucy5sZWF2ZS10eXBlcy5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuVmlldywgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMudmlldy50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy52aWV3LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuY3JlYXRlLmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuRWRpdCwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuZWRpdC50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuRGVsZXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5kZWxldGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuZGVsZXRlLmRlc2NyaXB0aW9uJykpXG4gICAgICAuZW5kUGVybWlzc2lvbigpXG4gICAgICAvL1xuICAgICAgLmFkZFBlcm1pc3Npb24oXG4gICAgICAgIGtleXMuTGVhdmVSZXF1ZXN0Lk1hbmFnZW1lbnQsXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMucGVybWlzc2lvbnMubGVhdmUtcmVxdWVzdHMuZGVzY3JpcHRpb24nKVxuICAgICAgKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LlZpZXcsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLnZpZXcudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkNyZWF0ZSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuY3JlYXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmNyZWF0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkVkaXQsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmVkaXQudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuZWRpdC5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkRlbGV0ZSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuZGVsZXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5lbmRHcm91cCgpO1xuICB9XG59XG5cbiJdfQ==","export const AXPHumanCapitalManagementMenuKeys = {\n Root: 'HumanCapitalManagement:Menu',\n Employees: 'HumanCapitalManagement:Menu:Employees',\n EmploymentTypes: 'HumanCapitalManagement:Menu:EmploymentTypes',\n Divider1: 'HumanCapitalManagement:Menu:Divider1',\n PositionAssignments: 'HumanCapitalManagement:Menu:PositionAssignments',\n Divider2: 'HumanCapitalManagement:Menu:Divider2',\n LeaveTypes: 'HumanCapitalManagement:Menu:LeaveTypes',\n LeaveRequests: 'HumanCapitalManagement:Menu:LeaveRequests',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL21lbnUua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRztJQUM3QyxJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLFNBQVMsRUFBRSx1Q0FBdUM7SUFDbEQsZUFBZSxFQUFFLDZDQUE2QztJQUM5RCxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELG1CQUFtQixFQUFFLGlEQUFpRDtJQUN0RSxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsYUFBYSxFQUFFLDJDQUEyQztDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cyA9IHtcbiAgICBSb290OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpNZW51JyxcbiAgICBFbXBsb3llZXM6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50Ok1lbnU6RW1wbG95ZWVzJyxcbiAgICBFbXBsb3ltZW50VHlwZXM6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50Ok1lbnU6RW1wbG95bWVudFR5cGVzJyxcbiAgICBEaXZpZGVyMTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpEaXZpZGVyMScsXG4gICAgUG9zaXRpb25Bc3NpZ25tZW50czogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpQb3NpdGlvbkFzc2lnbm1lbnRzJyxcbiAgICBEaXZpZGVyMjogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpEaXZpZGVyMicsXG4gICAgTGVhdmVUeXBlczogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpMZWF2ZVR5cGVzJyxcbiAgICBMZWF2ZVJlcXVlc3RzOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpNZW51OkxlYXZlUmVxdWVzdHMnLFxufSBhcyBjb25zdDtcblxuIl19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPHumanCapitalManagementMenuKeys } from './menu.keys';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n const module = RootConfig.module;\n context.addItems([\n {\n name: AXPHumanCapitalManagementMenuKeys.Root,\n priority: 9001,\n text: '@human-capital-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: AXPHumanCapitalManagementMenuKeys.Employees,\n text: '@human-capital-management:employees.menus.employees.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 10,\n icon: RootConfig.entities.employee.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.EmploymentTypes,\n text: '@human-capital-management:employment-types.menus.employment-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 11,\n icon: RootConfig.entities.employmentType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.Divider1,\n text: '',\n type: 'break',\n priority: 14,\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.PositionAssignments,\n text: '@human-capital-management:position-assignments.menus.position-assignments.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.positionAssignment.name),\n priority: 15,\n icon: RootConfig.entities.positionAssignment.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.Divider2,\n text: '',\n type: 'break',\n priority: 16,\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveTypes,\n text: '@human-capital-management:leave-types.menus.leave-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveType.name),\n priority: 17,\n icon: RootConfig.entities.leaveType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveType.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveRequests,\n text: '@human-capital-management:leave-requests.menus.leave-requests.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveRequest.name),\n priority: 18,\n icon: RootConfig.entities.leaveRequest.icon,\n badgeKey: 'leave-request-badge',\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveRequest.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n ],\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RSxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUNVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQTRGckQsQ0FBQztJQTFGQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQyxDQUFDLElB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Q04sV0FBVyxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQzs0QkFDN0UsUUFBUSxFQUFFLENBQUMsb0NBQW9DLENBQUMsZUFBZSxDQUFDO3lCQUNqRTtxQkFDRjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsaUNBQWlDLENBQUMsYUFBYTt3QkFDckQsSUFBSSxFQUFFLHFFQUFxRTt3QkFDM0UsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO3dCQUN2RixRQUFRLEVBQUUsRUFBRTt3QkFDWixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTt3QkFDM0MsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsTUFBTSxFQUFFOzRCQUNOLFdBQVcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7NEJBQ2hGLFFBQVEsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLGVBQWUsQ0FBQzt5QkFDakU7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzIH0gZnJvbSAnLi9tZW51LmtleXMnO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbnNLZXlzIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmtleXMnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzIH0gZnJvbSAnLi9mZWF0dXJlcy5rZXlzJztcblxuZXhwb3J0IGNsYXNzIEFYTU1lbnVQcm92aWRlciBpbXBsZW1lbnRzIEFYUE1lbnVQcm92aWRlciB7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgYXN5bmMgcHJvdmlkZShjb250ZXh0OiBBWFBNZW51UHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXNBdXRob3JpemVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZXNzaW9uU2VydmljZS5pc0F1dGhvcml6ZWQkKTtcbiAgICBpZiAoIWlzQXV0aG9yaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZSA9IFJvb3RDb25maWcubW9kdWxlO1xuXG4gICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cy5Sb290LFxuICAgICAgICBwcmlvcml0eTogOTAwMSxcbiAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bW9kdWxlLm1lbnVzLnJvb3QudGl0bGUnLFxuICAgICAgICBpY29uOiBtb2R1bGUuaWNvbixcbiAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgZmVhdHVyZXM6IFttb2R1bGUubmFtZV0sXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkVtcGxveWVlcyxcbiAgICAgICAgICAgIHRleHQ6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5tZW51cy5lbXBsb3llZXMudGl0bGUnLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveWVlLmljb24sXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5FbXBsb3llZS5NYW5hZ2VtZW50XSxcbiAgICAgICAgICAgICAgZmVhdHVyZXM6IFtBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50RmVhdHVyZUtleXMuRW1wbG95ZWVNYW5hZ2VtZW50XSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWVudUtleXMuRW1wbG95bWVudFR5cGVzLFxuICAgICAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5tZW51cy5lbXBsb3ltZW50LXR5cGVzLnRpdGxlJyxcbiAgICAgICAgICAgIHBhdGg6IHRoaXMuZW50aXR5U2VydmljZS5jcmVhdGVQYXRoKG1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveW1lbnRUeXBlLm5hbWUpLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDExLFxuICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5lbXBsb3ltZW50VHlwZS5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkVtcGxveWVlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkRpdmlkZXIxLFxuICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB0eXBlOiAnYnJlYWsnLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLlBvc2l0aW9uQXNzaWdubWVudHMsXG4gICAgICAgICAgICB0ZXh0OiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5tZW51cy5wb3NpdGlvbi1hc3NpZ25tZW50cy50aXRsZScsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5wb3NpdGlvbkFzc2lnbm1lbnQubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTUsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLnBvc2l0aW9uQXNzaWdubWVudC5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkVtcGxveWVlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkRpdmlkZXIyLFxuICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB0eXBlOiAnYnJlYWsnLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE2LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkxlYXZlVHlwZXMsXG4gICAgICAgICAgICB0ZXh0OiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS10eXBlcy5tZW51cy5sZWF2ZS10eXBlcy50aXRsZScsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVR5cGUubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTcsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlVHlwZS5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVUeXBlLk1hbmFnZW1lbnRdLFxuICAgICAgICAgICAgICBmZWF0dXJlczogW0FYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlS2V5cy5MZWF2ZU1hbmFnZW1lbnRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cy5MZWF2ZVJlcXVlc3RzLFxuICAgICAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMubWVudXMubGVhdmUtcmVxdWVzdHMudGl0bGUnLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWUpLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE4LFxuICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QuaWNvbixcbiAgICAgICAgICAgIGJhZGdlS2V5OiAnbGVhdmUtcmVxdWVzdC1iYWRnZScsXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3QuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkxlYXZlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG59XG4iXX0=","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMHumanCapitalModuleEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.employee.name:\n return (await import('./entities/employee/employee.entity')).factory();\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory();\n case RootConfig.entities.positionAssignment?.name:\n return (await import('./entities/position-assignment/position-assignment.entity')).factory();\n case RootConfig.entities.leaveType.name:\n return (await import('./entities/leave-type/leave-type.entity')).factory();\n case RootConfig.entities.leaveRequest.name:\n return (await import('./entities/leave-request/leave-request.entity')).factory();\n }\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0eS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHckMsTUFBTSxPQUFPLG1DQUFtQztJQURoRDtRQVVVLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FtQnJDO0lBM0JRLE9BQU87UUFDWixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUUsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBSUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJO29CQUNwQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6RSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUk7b0JBQzFDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxtREFBbUQsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZGLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJO29CQUMvQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvRixLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUk7b0JBQ3JDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTtvQkFDeEMsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyRixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0EzQlUsbUNBQW1DO21IQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyLCBBWFBFbnRpdHlQcmVsb2FkRW50aXR5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUh1bWFuQ2FwaXRhbE1vZHVsZUVudGl0eVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlciB7XG4gIHB1YmxpYyBwcmVsb2FkKCk6IEFYUEVudGl0eVByZWxvYWRFbnRpdHlbXSB7XG4gICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGUubmFtZTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShPYmplY3QudmFsdWVzKFJvb3RDb25maWcuZW50aXRpZXMpKS5tYXAoKGVudGl0eTogYW55KSA9PiAoe1xuICAgICAgbW9kdWxlOiBtb2R1bGUsXG4gICAgICBlbnRpdHk6IGVudGl0eS5uYW1lLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgIGlmIChtb2R1bGVOYW1lID09IFJvb3RDb25maWcubW9kdWxlLm5hbWUpIHtcbiAgICAgIHN3aXRjaCAoZW50aXR5TmFtZSkge1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbXBsb3llZS9lbXBsb3llZS5lbnRpdHknKSkuZmFjdG9yeSgpO1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95bWVudFR5cGUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbXBsb3ltZW50LXR5cGUvZW1wbG95bWVudC10eXBlLmVudGl0eScpKS5mYWN0b3J5KCk7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5wb3NpdGlvbkFzc2lnbm1lbnQ/Lm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvcG9zaXRpb24tYXNzaWdubWVudC9wb3NpdGlvbi1hc3NpZ25tZW50LmVudGl0eScpKS5mYWN0b3J5KCk7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVR5cGUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9sZWF2ZS10eXBlL2xlYXZlLXR5cGUuZW50aXR5JykpLmZhY3RvcnkoKTtcbiAgICAgICAgY2FzZSBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlUmVxdWVzdC5uYW1lOlxuICAgICAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KCcuL2VudGl0aWVzL2xlYXZlLXJlcXVlc3QvbGVhdmUtcmVxdWVzdC5lbnRpdHknKSkuZmFjdG9yeSgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","import { AXP_IDENTIFIER_RULES } from '@acorex/modules/identifier-management';\nimport { AXP_MODULE_MANIFEST_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPRuntimeModule } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXMLeaveRequestFeatureModule } from './features/leave-request/leave-request.module';\nimport { AXM_EMPLOYEE_CODE_IDENTIFIER_RULE } from './features/shared/identifiers/employee-code-identifier-rule.provider';\nimport { HumanCapitalManagementManifest } from './manifest';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMHumanCapitalModuleEntityProvider } from './entity.provider';\nimport { AXPHumanCapitalManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMHumanCapitalManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXP_IDENTIFIER_RULES,\n multi: true,\n useValue: AXM_EMPLOYEE_CODE_IDENTIFIER_RULE,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: HumanCapitalManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMHumanCapitalModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPHumanCapitalManagementFeatureDefinitionProvider,\n multi: true,\n },\n ], imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule],\n providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXP_IDENTIFIER_RULES,\n multi: true,\n useValue: AXM_EMPLOYEE_CODE_IDENTIFIER_RULE,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: HumanCapitalManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMHumanCapitalModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPHumanCapitalManagementFeatureDefinitionProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBd0NuRyxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7Z0hBQS9CLCtCQUErQixZQXJDaEMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0QjtnSEFxQzNELCtCQUErQixhQXBDL0I7WUFDVCwwREFBMEQ7WUFDMUQ7Z0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLGlDQUFpQzthQUM1QztZQUNELDJCQUEyQjtZQUMzQjtnQkFDRSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QseUNBQXlDO1lBQ3pDO2dCQUNFLE9BQU8sRUFBRSxrQ0FBa0M7Z0JBQzNDLFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsZUFBZTtnQkFDekIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxRQUFRLEVBQUUsa0RBQWtEO2dCQUM1RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFuQ1MsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0Qjs7NEZBcUMzRCwrQkFBK0I7a0JBdEMzQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztvQkFDdkUsU0FBUyxFQUFFO3dCQUNULDBEQUEwRDt3QkFDMUQ7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsS0FBSyxFQUFFLElBQUk7NEJBQ1gsUUFBUSxFQUFFLGlDQUFpQzt5QkFDNUM7d0JBQ0QsMkJBQTJCO3dCQUMzQjs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsOEJBQThCOzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCx5Q0FBeUM7d0JBQ3pDOzRCQUNFLE9BQU8sRUFBRSxrQ0FBa0M7NEJBQzNDLFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxlQUFlOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsbUNBQW1DOzRCQUM3QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsa0RBQWtEOzRCQUM1RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9JREVOVElGSUVSX1JVTEVTIH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2lkZW50aWZpZXItbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBBWFBfTU9EVUxFX01BTklGRVNUX1BST1ZJREVSLCBBWFBfRkVBVFVSRV9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfTUVOVV9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFJ1bnRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RGZWF0dXJlTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QubW9kdWxlJztcbmltcG9ydCB7IEFYTV9FTVBMT1lFRV9DT0RFX0lERU5USUZJRVJfUlVMRSB9IGZyb20gJy4vZmVhdHVyZXMvc2hhcmVkL2lkZW50aWZpZXJzL2VtcGxveWVlLWNvZGUtaWRlbnRpZmllci1ydWxlLnByb3ZpZGVyJztcbmltcG9ydCB7IEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNYW5pZmVzdCB9IGZyb20gJy4vbWFuaWZlc3QnO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTU1lbnVQcm92aWRlciB9IGZyb20gJy4vbWVudS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNb2R1bGVFbnRpdHlQcm92aWRlciB9IGZyb20gJy4vZW50aXR5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlLWRlZmluaXRpb24ucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBSdW50aW1lTW9kdWxlLCBBWE1MZWF2ZVJlcXVlc3RGZWF0dXJlTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gTW9kdWxlLXNwZWNpZmljIHByb3ZpZGVycyAobm90IHBhcnQgb2YgbWFuaWZlc3Qgc3lzdGVtKVxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9JREVOVElGSUVSX1JVTEVTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogQVhNX0VNUExPWUVFX0NPREVfSURFTlRJRklFUl9SVUxFLFxuICAgIH0sXG4gICAgLy8gTW9kdWxlIE1hbmlmZXN0IFByb3ZpZGVyXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01PRFVMRV9NQU5JRkVTVF9QUk9WSURFUixcbiAgICAgIHVzZVZhbHVlOiBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWFuaWZlc3QsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIFByb3ZpZGVyIHJlZmVyZW5jZXMgKG5vdyB1c2luZyB0b2tlbnMpXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTUVOVV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1NZW51UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNSHVtYW5DYXBpdGFsTW9kdWxlRW50aXR5UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9GRUFUVVJFX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvYWNvcmV4LW1vZHVsZXMtaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-human-capital-management.mjs","sources":["../tmp-esm2022/human-capital-management/lib/const.js","../tmp-esm2022/human-capital-management/lib/entities/index.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/services/leave-request-dialog.service.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/workflow-tasks/leave-request.task.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/badge.provider.js","../tmp-esm2022/human-capital-management/lib/features.keys.js","../tmp-esm2022/human-capital-management/lib/feature-definition.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/leave-request-status.provider.js","../tmp-esm2022/human-capital-management/lib/features/leave-request/leave-request.module.js","../tmp-esm2022/human-capital-management/lib/features/shared/identifiers/employee-code-identifier-rule.provider.js","../tmp-esm2022/human-capital-management/lib/manifest.js","../tmp-esm2022/human-capital-management/lib/permission.keys.js","../tmp-esm2022/human-capital-management/lib/permission-definition.provider.js","../tmp-esm2022/human-capital-management/lib/menu.keys.js","../tmp-esm2022/human-capital-management/lib/menu.provider.js","../tmp-esm2022/human-capital-management/lib/entity.provider.js","../tmp-esm2022/human-capital-management/lib/human-capital-management.module.js","../tmp-esm2022/human-capital-management/acorex-modules-human-capital-management.js"],"sourcesContent":["const config = {\n i18n: 'human-capital-management',\n module: 'HumanCapitalManagement',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'human-capital-management',\n name: config.module,\n title: '@human-capital-management:module.title',\n icon: 'fa-light fa-users',\n },\n entities: {\n employee: {\n name: 'Employee',\n source: `${config.module}.Employee`,\n title: '@human-capital-management:employees.entities.employee.title',\n titlePlural: '@human-capital-management:employees.entities.employee.plural',\n icon: 'fa-light fa-address-card',\n },\n employmentType: {\n name: 'EmploymentType',\n source: `${config.module}.EmploymentType`,\n title: '@human-capital-management:employment-types.entities.employment-type.title',\n titlePlural: '@human-capital-management:employment-types.entities.employment-type.plural',\n icon: 'fa-light fa-file-signature',\n },\n positionAssignment: {\n name: 'PositionAssignment',\n source: `${config.module}.PositionAssignment`,\n title: '@human-capital-management:position-assignments.entities.position-assignment.title',\n titlePlural: '@human-capital-management:position-assignments.entities.position-assignment.plural',\n icon: 'fa-light fa-user-tie-hair',\n },\n leaveType: {\n name: 'LeaveType',\n source: `${config.module}.LeaveType`,\n title: '@human-capital-management:leave-types.entities.leave-type.title',\n titlePlural: '@human-capital-management:leave-types.entities.leave-type.plural',\n icon: 'fa-light fa-calendar-days',\n },\n leaveRequest: {\n name: 'LeaveRequest',\n source: `${config.module}.LeaveRequest`,\n title: '@human-capital-management:leave-requests.entities.leave-request.title',\n titlePlural: '@human-capital-management:leave-requests.entities.leave-request.plural',\n icon: 'fa-light fa-plane-departure',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxNQUFNLEdBQUc7SUFDYixJQUFJLEVBQUUsMEJBQTBCO0lBQ2hDLE1BQU0sRUFBRSx3QkFBd0I7Q0FDakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixNQUFNO0lBQ04sTUFBTSxFQUFFO1FBQ04sS0FBSyxFQUFFLDBCQUEwQjtRQUNqQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDbkIsS0FBSyxFQUFFLHdDQUF3QztRQUMvQyxJQUFJLEVBQUUsbUJBQW1CO0tBQzFCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sV0FBVztZQUNuQyxLQUFLLEVBQUUsNkRBQTZEO1lBQ3BFLFdBQVcsRUFBRSw4REFBOEQ7WUFDM0UsSUFBSSxFQUFFLDBCQUEwQjtTQUNqQztRQUNELGNBQWMsRUFBRTtZQUNkLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0saUJBQWlCO1lBQ3pDLEtBQUssRUFBRSwyRUFBMkU7WUFDbEYsV0FBVyxFQUFFLDRFQUE0RTtZQUN6RixJQUFJLEVBQUUsNEJBQTRCO1NBQ25DO1FBQ0Qsa0JBQWtCLEVBQUU7WUFDbEIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxxQkFBcUI7WUFDN0MsS0FBSyxFQUFFLG1GQUFtRjtZQUMxRixXQUFXLEVBQUUsb0ZBQW9GO1lBQ2pHLElBQUksRUFBRSwyQkFBMkI7U0FDbEM7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsV0FBVztZQUNqQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxZQUFZO1lBQ3BDLEtBQUssRUFBRSxpRUFBaUU7WUFDeEUsV0FBVyxFQUFFLGtFQUFrRTtZQUMvRSxJQUFJLEVBQUUsMkJBQTJCO1NBQ2xDO1FBQ0QsWUFBWSxFQUFFO1lBQ1osSUFBSSxFQUFFLGNBQWM7WUFDcEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sZUFBZTtZQUN2QyxLQUFLLEVBQUUsdUVBQXVFO1lBQzlFLFdBQVcsRUFBRSx3RUFBd0U7WUFDckYsSUFBSSxFQUFFLDZCQUE2QjtTQUNwQztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNvbmZpZyA9IHtcbiAgaTE4bjogJ2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudCcsXG4gIG1vZHVsZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQnLFxufTtcblxuZXhwb3J0IGNvbnN0IFJvb3RDb25maWcgPSB7XG4gIGNvbmZpZyxcbiAgbW9kdWxlOiB7XG4gICAgcm91dGU6ICdodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQnLFxuICAgIG5hbWU6IGNvbmZpZy5tb2R1bGUsXG4gICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS50aXRsZScsXG4gICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXVzZXJzJyxcbiAgfSxcbiAgZW50aXRpZXM6IHtcbiAgICBlbXBsb3llZToge1xuICAgICAgbmFtZTogJ0VtcGxveWVlJyxcbiAgICAgIHNvdXJjZTogYCR7Y29uZmlnLm1vZHVsZX0uRW1wbG95ZWVgLFxuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5lbnRpdGllcy5lbXBsb3llZS50aXRsZScsXG4gICAgICB0aXRsZVBsdXJhbDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLmVudGl0aWVzLmVtcGxveWVlLnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtYWRkcmVzcy1jYXJkJyxcbiAgICB9LFxuICAgIGVtcGxveW1lbnRUeXBlOiB7XG4gICAgICBuYW1lOiAnRW1wbG95bWVudFR5cGUnLFxuICAgICAgc291cmNlOiBgJHtjb25maWcubW9kdWxlfS5FbXBsb3ltZW50VHlwZWAsXG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5lbnRpdGllcy5lbXBsb3ltZW50LXR5cGUudGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMuZW50aXRpZXMuZW1wbG95bWVudC10eXBlLnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsZS1zaWduYXR1cmUnLFxuICAgIH0sXG4gICAgcG9zaXRpb25Bc3NpZ25tZW50OiB7XG4gICAgICBuYW1lOiAnUG9zaXRpb25Bc3NpZ25tZW50JyxcbiAgICAgIHNvdXJjZTogYCR7Y29uZmlnLm1vZHVsZX0uUG9zaXRpb25Bc3NpZ25tZW50YCxcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5lbnRpdGllcy5wb3NpdGlvbi1hc3NpZ25tZW50LnRpdGxlJyxcbiAgICAgIHRpdGxlUGx1cmFsOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5lbnRpdGllcy5wb3NpdGlvbi1hc3NpZ25tZW50LnBsdXJhbCcsXG4gICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdXNlci10aWUtaGFpcicsXG4gICAgfSxcbiAgICBsZWF2ZVR5cGU6IHtcbiAgICAgIG5hbWU6ICdMZWF2ZVR5cGUnLFxuICAgICAgc291cmNlOiBgJHtjb25maWcubW9kdWxlfS5MZWF2ZVR5cGVgLFxuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLmVudGl0aWVzLmxlYXZlLXR5cGUudGl0bGUnLFxuICAgICAgdGl0bGVQbHVyYWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLmVudGl0aWVzLmxlYXZlLXR5cGUucGx1cmFsJyxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1jYWxlbmRhci1kYXlzJyxcbiAgICB9LFxuICAgIGxlYXZlUmVxdWVzdDoge1xuICAgICAgbmFtZTogJ0xlYXZlUmVxdWVzdCcsXG4gICAgICBzb3VyY2U6IGAke2NvbmZpZy5tb2R1bGV9LkxlYXZlUmVxdWVzdGAsXG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC50aXRsZScsXG4gICAgICB0aXRsZVBsdXJhbDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuZW50aXRpZXMubGVhdmUtcmVxdWVzdC5wbHVyYWwnLFxuICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsYW5lLWRlcGFydHVyZScsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=","// Entity exports - services and modules removed, handled by middleware\n// Exporting entity types for use in feature components\nexport * from './employee/employee.types';\nexport * from './employment-type/employment-type.types';\nexport * from './leave-request/leave-request.types';\nexport * from './leave-type/leave-type.types';\nexport * from './position-assignment/position-assignment.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUVBQXVFO0FBQ3ZFLHVEQUF1RDtBQUV2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFbnRpdHkgZXhwb3J0cyAtIHNlcnZpY2VzIGFuZCBtb2R1bGVzIHJlbW92ZWQsIGhhbmRsZWQgYnkgbWlkZGxld2FyZVxuLy8gRXhwb3J0aW5nIGVudGl0eSB0eXBlcyBmb3IgdXNlIGluIGZlYXR1cmUgY29tcG9uZW50c1xuXG5leHBvcnQgKiBmcm9tICcuL2VtcGxveWVlL2VtcGxveWVlLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZW1wbG95bWVudC10eXBlL2VtcGxveW1lbnQtdHlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYXZlLXJlcXVlc3QvbGVhdmUtcmVxdWVzdC50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYXZlLXR5cGUvbGVhdmUtdHlwZS50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uLWFzc2lnbm1lbnQvcG9zaXRpb24tYXNzaWdubWVudC50eXBlcyc7XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport * as i0 from \"@angular/core\";\nexport class AXPLeaveRequestDialogService {\n constructor() {\n this.layoutBuilder = inject(AXPLayoutBuilderService);\n this.translationService = inject(AXTranslationService);\n }\n async showRejectionDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.reject.title')\n .setMessage('@human-capital-management:leave-requests.components.rejection-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.rejection-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.rejection-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.reject.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n reason: formData['reason'],\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n async showCancellationDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.cancel.title')\n .setMessage('@human-capital-management:leave-requests.components.cancellation-dialog.message')\n .setContext({ reason: '', note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-label', field => {\n field.path('reason');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.reason-placeholder',\n maxLength: 500\n });\n })\n .formField('@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.cancellation-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.close.title').submit('@general:actions.cancel.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n reason: formData['reason'],\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n async showApprovalDialog() {\n const dialogRef = await this.layoutBuilder\n .create()\n .dialog(dialog => {\n dialog\n .setTitle('@general:actions.approve.title')\n .setMessage('@human-capital-management:leave-requests.components.approval-dialog.message')\n .setContext({ note: '' })\n .content(flex => {\n flex\n .setDirection('column')\n .formField('@human-capital-management:leave-requests.components.approval-dialog.fields.note-label', field => {\n field.path('note');\n field.largeTextBox({\n placeholder: '@human-capital-management:leave-requests.components.approval-dialog.fields.note-placeholder',\n maxLength: 1000\n });\n });\n })\n .setActions(actions => {\n actions.cancel('@general:actions.cancel.title').submit('@general:actions.approve.title');\n });\n })\n .show();\n const formData = dialogRef.context();\n const action = dialogRef.action();\n dialogRef.close();\n return {\n note: formData['note'],\n cancelled: action === 'cancel'\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPLeaveRequestDialogService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9sZWF2ZS1yZXF1ZXN0L3NlcnZpY2VzL2xlYXZlLXJlcXVlc3QtZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBV2hFLE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQXVIdEU7SUFySEcsS0FBSyxDQUFDLG1CQUFtQjtRQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhO2FBQ3JDLE1BQU0sRUFBRTthQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNiLE1BQU07aUJBQ0QsUUFBUSxDQUFDLCtCQUErQixDQUFDO2lCQUN6QyxVQUFVLENBQUMsOEVBQThFLENBQUM7aUJBQzFGLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2lCQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1osSUFBSTtxQkFDQyxZQUFZLENBQUMsUUFBUSxDQUFDO3FCQUN0QixTQUFTLENBQUMsMEZBQTBGLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzNHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxD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U0FBUyxFQUFFLE1BQU0sS0FBSyxRQUFRO1NBQ2pDLENBQUM7SUFDTixDQUFDOytHQXhIUSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQUZ6QixNQUFNOzs0RkFFVCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdCB7XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIG5vdGU/OiBzdHJpbmc7XG4gICAgY2FuY2VsbGVkOiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0QnVpbGRlciA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gICAgYXN5bmMgc2hvd1JlamVjdGlvbkRpYWxvZygpOiBQcm9taXNlPExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICAgICAgICAgIGRpYWxvZ1xuICAgICAgICAgICAgICAgICAgICAuc2V0VGl0bGUoJ0BnZW5lcmFsOmFjdGlvbnMucmVqZWN0LnRpdGxlJylcbiAgICAgICAgICAgICAgICAgICAgLnNldE1lc3NhZ2UoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5yZWplY3Rpb24tZGlhbG9nLm1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAuc2V0Q29udGV4dCh7IHJlYXNvbjogJycsIG5vdGU6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLnJlamVjdGlvbi1kaWFsb2cuZmllbGRzLnJlYXNvbi1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgncmVhc29uJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLmxhcmdlVGV4dEJveCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5yZWplY3Rpb24tZGlhbG9nLmZpZWxkcy5yZWFzb24tcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiA1MDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybUZpZWxkKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMucmVqZWN0aW9uLWRpYWxvZy5maWVsZHMubm90ZS1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgnbm90ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMucmVqZWN0aW9uLWRpYWxvZy5maWVsZHMubm90ZS1wbGFjZWhvbGRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDEwMDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5zZXRBY3Rpb25zKGFjdGlvbnMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5jYW5jZWwoJ0BnZW5lcmFsOmFjdGlvbnMuY2FuY2VsLnRpdGxlJykuc3VibWl0KCdAZ2VuZXJhbDphY3Rpb25zLnJlamVjdC50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlYXNvbjogZm9ybURhdGFbJ3JlYXNvbiddLFxuICAgICAgICAgICAgbm90ZTogZm9ybURhdGFbJ25vdGUnXSxcbiAgICAgICAgICAgIGNhbmNlbGxlZDogYWN0aW9uID09PSAnY2FuY2VsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGFzeW5jIHNob3dDYW5jZWxsYXRpb25EaWFsb2coKTogUHJvbWlzZTxMZWF2ZVJlcXVlc3RBY3Rpb25EaWFsb2dSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gYXdhaXQgdGhpcy5sYXlvdXRCdWlsZGVyXG4gICAgICAgICAgICAuY3JlYXRlKClcbiAgICAgICAgICAgIC5kaWFsb2coZGlhbG9nID0+IHtcbiAgICAgICAgICAgICAgICBkaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgLnNldFRpdGxlKCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpXG4gICAgICAgICAgICAgICAgICAgIC5zZXRNZXNzYWdlKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuY2FuY2VsbGF0aW9uLWRpYWxvZy5tZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgLnNldENvbnRleHQoeyByZWFzb246ICcnLCBub3RlOiAnJyB9KVxuICAgICAgICAgICAgICAgICAgICAuY29udGVudChmbGV4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2V0RGlyZWN0aW9uKCdjb2x1bW4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtRmllbGQoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuY29tcG9uZW50cy5jYW5jZWxsYXRpb24tZGlhbG9nLmZpZWxkcy5yZWFzb24tbGFiZWwnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ3JlYXNvbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuY2FuY2VsbGF0aW9uLWRpYWxvZy5maWVsZHMucmVhc29uLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aDogNTAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmNhbmNlbGxhdGlvbi1kaWFsb2cuZmllbGRzLm5vdGUtbGFiZWwnLCBmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkLnBhdGgoJ25vdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQubGFyZ2VUZXh0Qm94KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmNhbmNlbGxhdGlvbi1kaWFsb2cuZmllbGRzLm5vdGUtcGxhY2Vob2xkZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAxMDAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuc2V0QWN0aW9ucyhhY3Rpb25zID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMuY2FuY2VsKCdAZ2VuZXJhbDphY3Rpb25zLmNsb3NlLnRpdGxlJykuc3VibWl0KCdAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlYXNvbjogZm9ybURhdGFbJ3JlYXNvbiddLFxuICAgICAgICAgICAgbm90ZTogZm9ybURhdGFbJ25vdGUnXSxcbiAgICAgICAgICAgIGNhbmNlbGxlZDogYWN0aW9uID09PSAnY2FuY2VsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGFzeW5jIHNob3dBcHByb3ZhbERpYWxvZygpOiBQcm9taXNlPExlYXZlUmVxdWVzdEFjdGlvbkRpYWxvZ1Jlc3VsdD4ge1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSBhd2FpdCB0aGlzLmxheW91dEJ1aWxkZXJcbiAgICAgICAgICAgIC5jcmVhdGUoKVxuICAgICAgICAgICAgLmRpYWxvZyhkaWFsb2cgPT4ge1xuICAgICAgICAgICAgICAgIGRpYWxvZ1xuICAgICAgICAgICAgICAgICAgICAuc2V0VGl0bGUoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwcm92ZS50aXRsZScpXG4gICAgICAgICAgICAgICAgICAgIC5zZXRNZXNzYWdlKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuYXBwcm92YWwtZGlhbG9nLm1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAuc2V0Q29udGV4dCh7IG5vdGU6ICcnIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50KGZsZXggPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zZXREaXJlY3Rpb24oJ2NvbHVtbicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1GaWVsZCgnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5jb21wb25lbnRzLmFwcHJvdmFsLWRpYWxvZy5maWVsZHMubm90ZS1sYWJlbCcsIGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQucGF0aCgnbm90ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC5sYXJnZVRleHRCb3goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLmNvbXBvbmVudHMuYXBwcm92YWwtZGlhbG9nLmZpZWxkcy5ub3RlLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heExlbmd0aDogMTAwMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnNldEFjdGlvbnMoYWN0aW9ucyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLmNhbmNlbCgnQGdlbmVyYWw6YWN0aW9ucy5jYW5jZWwudGl0bGUnKS5zdWJtaXQoJ0BnZW5lcmFsOmFjdGlvbnMuYXBwcm92ZS50aXRsZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc2hvdygpO1xuXG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gZGlhbG9nUmVmLmNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZGlhbG9nUmVmLmFjdGlvbigpO1xuICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5vdGU6IGZvcm1EYXRhWydub3RlJ10sXG4gICAgICAgICAgICBjYW5jZWxsZWQ6IGFjdGlvbiA9PT0gJ2NhbmNlbCdcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=","//#region ---- Imports ----\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowTaskProvider, } from '@acorex/modules/task-management';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXPLeaveRequestDialogService } from '../services/leave-request-dialog.service';\n//#endregion\n/**\n * Leave Request Task Provider\n *\n * Integrates with workflow engine to show leave request tasks from work items.\n * Uses work items created by workflow engine for human-task activities.\n *\n * Architecture:\n * - Queries work items filtered by entityRefType = 'HumanCapitalManagement.LeaveRequest'\n * - Loads related entity data from entityRefId\n * - Maps work item status to task board status\n * - Provides actions based on workflow activity definitions\n */\nexport class AXMLeaveRequestTaskProvider extends AXPWorkflowTaskProvider {\n constructor() {\n //#region ---- Services & Dependencies ----\n super(...arguments);\n this.entityService = inject(AXPEntityService);\n this.entityRegistry = inject(AXPEntityDefinitionRegistryService);\n this.workItemData = this.entityService\n .withEntity('WorkflowManagement', 'WorkItem')\n .data();\n this.leaveRequestData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data();\n this.commandExecutor = inject(AXPCommandExecutor);\n this.translationService = inject(AXTranslationService);\n this.dialogService = inject(AXPLeaveRequestDialogService);\n //#endregion\n }\n //#endregion\n //#region ---- Provider Metadata ----\n get name() {\n return 'leave-request';\n }\n get title() {\n return RootConfig.entities.leaveRequest.titlePlural;\n }\n get icon() {\n return 'fa-light fa-plane-departure';\n }\n //#endregion\n //#region ---- Task Retrieval ----\n /**\n * Get tasks from work items for leave requests.\n *\n * Queries work items filtered by:\n * - entityRefType = 'HumanCapitalManagement.LeaveRequest'\n * - status (Pending, Claimed, InProgress)\n * - assignee/claimant (if filter provided)\n * - date range (if provided)\n *\n * Then loads related entity data and maps to task board format.\n */\n async getTasks(options) {\n console.log(`[LeaveRequestTaskProvider] 🔍 getTasks called with options:`, {\n skip: options?.skip,\n take: options?.take,\n assigneeIds: options?.assigneeIds,\n range: options?.range,\n types: options?.types,\n });\n // Build filter for work items\n const baseFilter = { logic: 'and', filters: [] };\n const entityTypeValue = `${RootConfig.module.name}.${RootConfig.entities.leaveRequest.name}`;\n const workflowNameValue = 'create-leave-request';\n console.log(`[LeaveRequestTaskProvider] 📋 Building filters:`, {\n entityType: entityTypeValue,\n workflowName: workflowNameValue,\n });\n // Filter by entity type OR workflow instance definitionId\n // Primary: entityRefType (set after entity creation)\n // Fallback: instanceId from workflow instances with definitionId = 'create-leave-request'\n // We'll use OR logic to catch both cases\n const entityTypeFilter = {\n field: 'entityRefType',\n operator: { type: 'equal' },\n value: entityTypeValue,\n };\n // Try to get workflow instance IDs for fallback\n let workflowInstanceIds = [];\n try {\n const workflowInstanceData = this.entityService\n .withEntity('WorkflowManagement', 'WorkflowInstance')\n .data();\n const instances = await workflowInstanceData.query({\n skip: 0,\n take: 100,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'definitionId',\n operator: { type: 'equal' },\n value: workflowNameValue,\n },\n ],\n },\n });\n workflowInstanceIds = instances.items.map((inst) => inst.id);\n console.log(`[LeaveRequestTaskProvider] 🔍 Found ${workflowInstanceIds.length} workflow instances for '${workflowNameValue}'`);\n }\n catch (error) {\n console.warn(`[LeaveRequestTaskProvider] ⚠️ Failed to query workflow instances:`, error);\n }\n // Build OR filter: entityRefType OR instanceId in workflowInstanceIds\n if (workflowInstanceIds.length > 0) {\n baseFilter.filters?.push({\n logic: 'or',\n filters: [\n entityTypeFilter,\n {\n field: 'instanceId',\n operator: { type: 'in' },\n value: workflowInstanceIds,\n },\n ],\n });\n }\n else {\n // Only use entityRefType if no workflow instances found\n baseFilter.filters?.push(entityTypeFilter);\n }\n // Filter by status (exclude completed/cancelled)\n baseFilter.filters?.push({\n field: 'status',\n operator: { type: 'in' },\n value: ['Pending', 'Claimed', 'InProgress'],\n });\n // Filter by date range if provided\n // Work items don't have startDate/endDate directly, but we can filter by createdAt or dueDate\n // For now, we'll skip date range filtering to ensure work items are found\n // TODO: Implement proper date range filtering based on entity data (startDate/endDate)\n // if (options?.range?.from || options?.range?.end) {\n // if (options.range.from) {\n // baseFilter.filters?.push({\n // field: 'createdAt',\n // operator: { type: 'gte' as const },\n // value: options.range.from,\n // });\n // }\n // \n // if (options.range.end) {\n // // For end date, we want: dueDate <= end OR dueDate is null\n // // This allows work items without dueDate to still appear\n // baseFilter.filters?.push({\n // logic: 'or',\n // filters: [\n // {\n // field: 'dueDate',\n // operator: { type: 'lte' as const },\n // value: options.range.end,\n // },\n // {\n // field: 'dueDate',\n // operator: { type: 'isNull' as const },\n // },\n // ],\n // });\n // }\n // }\n // Filter by assignee/claimant\n if (options?.assigneeIds && options.assigneeIds.length > 0) {\n baseFilter.filters?.push({\n logic: 'or',\n filters: [\n {\n field: 'assignedUserId',\n operator: { type: 'in' },\n value: options.assigneeIds,\n },\n {\n field: 'claimedByUserId',\n operator: { type: 'in' },\n value: options.assigneeIds,\n },\n ],\n });\n }\n console.log(`[LeaveRequestTaskProvider] 🔎 Query filter:`, JSON.stringify(baseFilter, null, 2));\n // Query work items\n const { items: workItems, total } = await this.workItemData.query({\n skip: options?.skip ?? 0,\n take: options?.take ?? 20,\n filter: baseFilter,\n });\n console.log(`[LeaveRequestTaskProvider] 📦 Query result:`, {\n total,\n itemsCount: workItems.length,\n workItems: workItems.map((wi) => ({\n id: wi.id,\n title: wi.title,\n status: wi.status,\n entityRefType: wi.entityRefType,\n entityRefId: wi.entityRefId,\n instanceId: wi.instanceId,\n instanceDefinitionId: wi.instance?.definitionId,\n instanceName: wi.instance?.name,\n activityNodeId: wi.activityNodeId,\n activityName: wi.activityName,\n createdAt: wi.createdAt,\n dueDate: wi.dueDate,\n })),\n });\n // Debug: Log if no work items found\n if (workItems.length === 0) {\n console.warn(`[LeaveRequestTaskProvider] ⚠️ No work items found!`, {\n filter: baseFilter,\n entityTypeValue: `${RootConfig.module.name}.${RootConfig.entities.leaveRequest.name}`,\n workflowNameValue: 'create-leave-request',\n suggestion: 'Check if: 1) Workflow was started, 2) Human-task activity exists, 3) Work item was created, 4) entityRefType was set after entity creation',\n });\n // Fallback: Try to query all work items to see what we have\n const allWorkItems = await this.workItemData.query({\n skip: 0,\n take: 10,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'status',\n operator: { type: 'in' },\n value: ['Pending', 'Claimed', 'InProgress'],\n },\n ],\n },\n });\n console.log(`[LeaveRequestTaskProvider] 🔍 Fallback: Found ${allWorkItems.items.length} work items total (any entity):`, {\n workItems: allWorkItems.items.map((wi) => ({\n id: wi.id,\n title: wi.title,\n entityRefType: wi.entityRefType,\n entityRefId: wi.entityRefId,\n instanceId: wi.instanceId,\n status: wi.status,\n })),\n });\n }\n // Load entity data for each work item and map to tasks\n const tasks = [];\n console.log(`[LeaveRequestTaskProvider] 🔄 Processing ${workItems.length} work items...`);\n for (const workItem of workItems) {\n try {\n console.log(`[LeaveRequestTaskProvider] 📝 Processing work item:`, {\n id: workItem.id,\n title: workItem.title,\n entityRefId: workItem.entityRefId,\n entityRefType: workItem.entityRefType,\n instanceId: workItem.instanceId,\n instanceDefinitionId: workItem.instance?.definitionId,\n });\n // Load entity data if entityRefId is available\n let entityData = null;\n if (workItem.entityRefId) {\n try {\n console.log(`[LeaveRequestTaskProvider] 🔍 Loading entity data for entityRefId: ${workItem.entityRefId}`);\n entityData = await this.leaveRequestData.byKey(workItem.entityRefId);\n console.log(`[LeaveRequestTaskProvider] ✅ Entity data loaded:`, {\n id: entityData?.id,\n employee: entityData?.employee?.person?.displayName,\n startDate: entityData?.startDate,\n endDate: entityData?.endDate,\n });\n }\n catch (error) {\n console.warn(`[LeaveRequestTaskProvider] ⚠️ Failed to load entity data for ${workItem.entityRefId}:`, error);\n // Continue without entity data - use work item data only\n }\n }\n else {\n console.log(`[LeaveRequestTaskProvider] ℹ️ No entityRefId, using work item data only`);\n }\n // Map work item to task\n const task = this.mapWorkItemToTask(workItem, entityData);\n console.log(`[LeaveRequestTaskProvider] ✅ Mapped to task:`, {\n id: task.id,\n title: task.title,\n startDate: task.startDate,\n endDate: task.endDate,\n status: task.status,\n });\n tasks.push(task);\n }\n catch (error) {\n console.error(`[LeaveRequestTaskProvider] ❌ Failed to process work item ${workItem.id}:`, error);\n // Skip this work item and continue\n }\n }\n console.log(`[LeaveRequestTaskProvider] ✅ Returning ${tasks.length} tasks (total: ${total})`);\n return { items: tasks, total };\n }\n /**\n * Map work item to task board task format.\n */\n mapWorkItemToTask(workItem, entityData) {\n // Use entity data if available, otherwise use work item metadata\n const statusId = entityData?.statusId ?? entityData?.status?.id ?? AXPSystemStatuses.Pending.name;\n const statusTitle = entityData?.status?.title ??\n this.translationService.translateSync(`@human-capital-management:leave-requests.states.${statusId}`);\n // Extract dates from entity data or use work item dates\n const startDate = entityData?.startDate\n ? new Date(entityData.startDate)\n : (workItem.dueDate ? new Date(workItem.dueDate) : new Date());\n const endDate = entityData?.endDate\n ? new Date(entityData.endDate)\n : (workItem.dueDate ? new Date(workItem.dueDate) : new Date());\n // Build title from entity data or work item\n let title = workItem.title;\n if (entityData) {\n title = `${entityData.employee?.person?.displayName ?? ''} - ${this.translationService.translateSync(entityData.leaveType?.title ?? '')}`.trim();\n if (!title)\n title = workItem.title;\n }\n // Map work item status to task status\n const taskStatus = this.mapWorkItemStatusToTaskStatus(workItem.status);\n return {\n id: workItem.id, // Use work item ID as task ID\n title,\n description: entityData?.reason ?? workItem.description ?? '',\n startDate,\n endDate,\n allDay: true, // Leave requests are all-day events\n assignee: workItem.assignedUser\n ? {\n id: workItem.assignedUser.id,\n type: 'user',\n fullName: workItem.assignedUser.displayName,\n }\n : workItem.claimedByUser\n ? {\n id: workItem.claimedByUser.id,\n type: 'user',\n fullName: workItem.claimedByUser.displayName,\n }\n : undefined,\n index: 2,\n status: taskStatus,\n priority: this.mapWorkItemPriorityToTaskPriority(workItem.priority),\n reporter: entityData?.employee\n ? {\n id: entityData.employee.userId ?? entityData.employeeId,\n type: 'user',\n fullName: entityData.employee.person?.displayName ?? '',\n }\n : workItem.createdByUser\n ? {\n id: workItem.createdByUser.id,\n type: 'user',\n fullName: workItem.createdByUser.displayName,\n }\n : {\n id: '',\n type: 'user',\n fullName: '',\n },\n data: {\n // Store entity data and work item metadata\n entityData: entityData ?? null,\n workItem: workItem,\n workItemId: workItem.id,\n instanceId: workItem.instanceId,\n activityNodeId: workItem.activityNodeId,\n entityRefId: workItem.entityRefId,\n entityRefType: workItem.entityRefType,\n }, // Additional metadata for task processing\n };\n }\n /**\n * Map work item status to task board status.\n */\n mapWorkItemStatusToTaskStatus(workItemStatus) {\n // Map work item status to entity status\n switch (workItemStatus) {\n case 'Pending':\n return {\n id: AXPSystemStatuses.Pending.name,\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.pending'),\n };\n case 'Claimed':\n case 'InProgress':\n return {\n id: AXPSystemStatuses.Pending.name, // Still pending from entity perspective\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.pending'),\n };\n case 'Completed':\n return {\n id: AXPSystemStatuses.Approved.name, // Completed work item = approved\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.approved'),\n };\n case 'Rejected':\n return {\n id: AXPSystemStatuses.Rejected.name,\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.rejected'),\n };\n case 'Cancelled':\n return {\n id: AXPSystemStatuses.Cancelled.name,\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.cancelled'),\n };\n default:\n return {\n id: AXPSystemStatuses.Pending.name,\n title: this.translationService.translateSync('@human-capital-management:leave-requests.states.pending'),\n };\n }\n }\n /**\n * Map work item priority to task board priority.\n */\n mapWorkItemPriorityToTaskPriority(workItemPriority) {\n switch (workItemPriority) {\n case 'Urgent':\n return 'highest';\n case 'High':\n return 'high';\n case 'Normal':\n return 'medium';\n case 'Low':\n return 'low';\n default:\n return 'medium';\n }\n }\n //#endregion\n //#region ---- Task Updates ----\n /**\n * Update tasks (work items and/or entity data).\n *\n * Updates both work item (if task ID is work item ID) and entity data (if entityRefId is available).\n */\n async updateTasks(tasksToUpdate) {\n const updatedTasks = [];\n for (const task of tasksToUpdate) {\n try {\n const taskData = task.data;\n const workItemId = taskData?.workItemId ?? task.id;\n const entityRefId = taskData?.entityRefId;\n // Update work item if task ID is work item ID\n if (workItemId) {\n const workItemUpdate = {};\n if (task.status?.id) {\n // Map task status back to work item status\n const workItemStatus = this.mapTaskStatusToWorkItemStatus(String(task.status.id));\n if (workItemStatus) {\n workItemUpdate['status'] = workItemStatus;\n }\n }\n if (task.assignee?.id) {\n workItemUpdate['assignedUserId'] = task.assignee.id;\n }\n if (Object.keys(workItemUpdate).length > 0) {\n await this.workItemData.update(workItemId, workItemUpdate);\n }\n }\n // Update entity data if entityRefId is available\n if (entityRefId) {\n const entityUpdate = {};\n if (task.status?.id) {\n const statusId = task.status.id;\n entityUpdate['statusId'] = statusId;\n }\n if (task.startDate) {\n entityUpdate['startDate'] = task.startDate;\n }\n if (task.endDate) {\n entityUpdate['endDate'] = task.endDate;\n }\n if (Object.keys(entityUpdate).length > 0) {\n await this.leaveRequestData.update(entityRefId, entityUpdate);\n }\n }\n updatedTasks.push(task);\n }\n catch (error) {\n console.error(`[LeaveRequestTaskProvider] Failed to update task ${task.id}:`, error);\n updatedTasks.push(task); // Still include the task even if update failed\n }\n }\n return updatedTasks;\n }\n /**\n * Map task status to work item status.\n */\n mapTaskStatusToWorkItemStatus(taskStatusId) {\n switch (taskStatusId) {\n case AXPSystemStatuses.Pending.name:\n return 'Pending';\n case AXPSystemStatuses.Approved.name:\n return 'Completed';\n case AXPSystemStatuses.Rejected.name:\n return 'Rejected';\n case AXPSystemStatuses.Cancelled.name:\n return 'Cancelled';\n default:\n return null;\n }\n }\n //#endregion\n //#region ---- Command Execution ----\n /**\n * Execute commands on tasks.\n *\n * Supports:\n * - Workflow work item commands (Claim, Complete, Cancel)\n * - Leave request business commands (Approve, Reject, Cancel)\n */\n async executeCommand(command) {\n if (!command?.name)\n return { success: true };\n const workItemId = command.options?.['workItemId'] ?? command.options?.['id'] ?? '';\n const entityRefId = command.options?.['entityRefId'] ?? '';\n // Handle workflow work item commands\n if (command.name === 'WorkflowManagement.WorkItem:Claim') {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Claim', {\n id: workItemId,\n });\n return result ?? { success: true };\n }\n if (command.name === 'WorkflowManagement.WorkItem:Complete') {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Complete', {\n id: workItemId,\n output: command.options?.['output'] ?? {},\n outcome: command.options?.['outcome'] ?? 'Done',\n });\n return result ?? { success: true };\n }\n if (command.name === 'WorkflowManagement.WorkItem:Cancel') {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Cancel', {\n id: workItemId,\n });\n return result ?? { success: true };\n }\n // Handle leave request business commands (for backward compatibility)\n switch (command.name) {\n case 'approveLeave': {\n const dialogResult = await this.dialogService.showApprovalDialog();\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Try to complete work item if available, otherwise use entity command\n if (workItemId) {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Complete', {\n id: workItemId,\n output: { reason: dialogResult?.reason, note: dialogResult?.note },\n outcome: 'Approved',\n });\n return result ?? { success: true };\n }\n // Fallback to entity command\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Approve', {\n id: entityRefId || workItemId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n return result ?? { success: true };\n }\n case 'rejectLeave': {\n const dialogResult = await this.dialogService.showRejectionDialog();\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Try to complete work item if available, otherwise use entity command\n if (workItemId) {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Complete', {\n id: workItemId,\n output: { reason: dialogResult?.reason, note: dialogResult?.note },\n outcome: 'Rejected',\n });\n return result ?? { success: true };\n }\n // Fallback to entity command\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Reject', {\n id: entityRefId || workItemId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n return result ?? { success: true };\n }\n case 'cancelLeave': {\n const dialogResult = await this.dialogService.showCancellationDialog();\n if (dialogResult?.cancelled) {\n return { success: false };\n }\n // Try to cancel work item if available, otherwise use entity command\n if (workItemId) {\n const result = await this.commandExecutor.execute('WorkflowManagement.WorkItem:Cancel', {\n id: workItemId,\n });\n return result ?? { success: true };\n }\n // Fallback to entity command\n const result = await this.commandExecutor.execute('HumanCapitalManagement.LeaveRequest:Cancel', {\n id: entityRefId || workItemId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n return result ?? { success: true };\n }\n }\n return { success: true };\n }\n //#endregion\n //#region ---- Actions & Statuses ----\n /**\n * Get available actions for a task.\n *\n * Provides actions based on work item status and workflow activity.\n */\n async getActions(task) {\n const actions = [];\n if (!task)\n return actions;\n const taskData = task.data;\n const workItemId = taskData?.workItemId ?? task.id;\n const entityRefId = taskData?.entityRefId;\n // Add workflow work item actions\n if (task.status?.id === AXPSystemStatuses.Pending.name) {\n // Claim action (if not already claimed)\n actions.push({\n name: 'WorkflowManagement.WorkItem:Claim',\n title: this.translationService.translateSync('@workflow-management:work-items.actions.claim.title'),\n icon: 'fa-light fa-hand',\n color: 'primary',\n command: {\n name: 'WorkflowManagement.WorkItem:Claim',\n options: { id: workItemId, workItemId },\n },\n });\n // Complete action (with approve/reject outcomes)\n actions.push({\n name: 'approveLeave',\n title: this.translationService.translateSync('@general:actions.approve.title'),\n icon: 'fa-light fa-check',\n color: 'success',\n command: {\n name: 'approveLeave',\n options: { id: entityRefId || workItemId, workItemId, entityRefId },\n },\n });\n actions.push({\n name: 'rejectLeave',\n title: this.translationService.translateSync('@general:actions.reject.title'),\n icon: 'fa-light fa-xmark',\n color: 'danger',\n command: {\n name: 'rejectLeave',\n options: { id: entityRefId || workItemId, workItemId, entityRefId },\n },\n });\n }\n // Add cancel action\n if (task.status?.id === AXPSystemStatuses.Pending.name ||\n task.status?.id === AXPSystemStatuses.Approved.name) {\n actions.push({\n name: 'cancelLeave',\n title: this.translationService.translateSync('@general:actions.cancel.title'),\n icon: 'fa-light fa-ban',\n color: 'secondary',\n command: {\n name: 'cancelLeave',\n options: { id: entityRefId || workItemId, workItemId, entityRefId },\n },\n });\n }\n return actions;\n }\n async getExtraFields() {\n return [];\n }\n async getStatuses() {\n return [\n {\n index: 0,\n key: AXPSystemStatuses.Pending.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.pending'),\n color: 'warning',\n },\n {\n index: 1,\n key: AXPSystemStatuses.Approved.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.approved'),\n color: 'success',\n },\n {\n index: 2,\n key: AXPSystemStatuses.Rejected.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.rejected'),\n color: 'danger',\n },\n {\n index: 3,\n key: AXPSystemStatuses.Cancelled.name,\n title: await this.translationService.translateAsync('@human-capital-management:leave-requests.states.cancelled'),\n color: 'secondary',\n },\n ];\n }\n //#endregion\n //#region ---- Component ----\n getComponent() {\n return () => import('./leave-request-task-popover.component').then((m) => m.AXMLeaveRequestTaskPopoverComponent);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC50YXNrLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2xlYXZlLXJlcXVlc3Qvd29ya2Zsb3ctdGFza3MvbGVhdmUtcmVxdWVzdC50YXNrLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUcvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBTUwsdUJBQXVCLEdBQ3hCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLNUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHeEYsWUFBWTtBQUVaOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF5RTtJQUExSDtRQUNFLCtDQUErQzs7UUFFOUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzVELGlCQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDL0MsVUFBVSxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQzthQUM1QyxJQUFJLEVBQW9ELENBQUM7UUFDM0MscUJB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S0FBSyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNwQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLDBEQUEwRCxDQUFDO2dCQUMvRyxLQUFLLEVBQUUsU0FBUzthQUNqQjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDO2dCQUNSLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDcEMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQywwREFBMEQsQ0FBQztnQkFDL0csS0FBSyxFQUFFLFFBQVE7YUFDaEI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQztnQkFDUixHQUFHLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUk7Z0JBQ3JDLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQ2pELDJEQUEyRCxDQUM1RDtnQkFDRCxLQUFLLEVBQUUsV0FBVzthQUNuQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWTtJQUVaLGlDQUFpQztJQUV4QixZQUFZO1FBQ25CLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUNuSCxDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQge1xuICBBWFBFeHRyYUZpZWxkLFxuICBBWFBUYXNrLFxuICBBWFBUYXNrRmlsdGVyLFxuICBBWFBUYXNrUG9wb3ZlckNvbXBvbmVudCxcbiAgQVhQVGFza1N0YXR1cyxcbiAgQVhQV29ya2Zsb3dUYXNrUHJvdmlkZXIsXG59IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90YXNrLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQU3lzdGVtU3RhdHVzZXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUEV4ZWN1dGVDb21tYW5kUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UsIEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQQ29tbWFuZEV4ZWN1dG9yIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0JztcbmltcG9ydCB7XG4gIEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbCxcbiAgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdFN0YXR1cyxcbn0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0LnR5cGVzJztcbmltcG9ydCB7IEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sZWF2ZS1yZXF1ZXN0LWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IEFYTVdvcmtmbG93TWFuYWdlbWVudFdvcmtJdGVtRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvd29ya2Zsb3ctbWFuYWdlbWVudCc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vKipcbiAqIExlYXZlIFJlcXVlc3QgVGFzayBQcm92aWRlclxuICogXG4gKiBJbnRlZ3JhdGVzIHdpdGggd29ya2Zsb3cgZW5naW5lIHRvIHNob3cgbGVhdmUgcmVxdWVzdCB0YXNrcyBmcm9tIHdvcmsgaXRlbXMuXG4gKiBVc2VzIHdvcmsgaXRlbXMgY3JlYXRlZCBieSB3b3JrZmxvdyBlbmdpbmUgZm9yIGh1bWFuLXRhc2sgYWN0aXZpdGllcy5cbiAqIFxuICogQXJjaGl0ZWN0dXJlOlxuICogLSBRdWVyaWVzIHdvcmsgaXRlbXMgZmlsdGVyZWQgYnkgZW50aXR5UmVmVHlwZSA9ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdCdcbiAqIC0gTG9hZHMgcmVsYXRlZCBlbnRpdHkgZGF0YSBmcm9tIGVudGl0eVJlZklkXG4gKiAtIE1hcHMgd29yayBpdGVtIHN0YXR1cyB0byB0YXNrIGJvYXJkIHN0YXR1c1xuICogLSBQcm92aWRlcyBhY3Rpb25zIGJhc2VkIG9uIHdvcmtmbG93IGFjdGl2aXR5IGRlZmluaXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBBWE1MZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXIgZXh0ZW5kcyBBWFBXb3JrZmxvd1Rhc2tQcm92aWRlcjxBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+IHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50aXR5UmVnaXN0cnkgPSBpbmplY3QoQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya0l0ZW1EYXRhID0gdGhpcy5lbnRpdHlTZXJ2aWNlXG4gICAgLndpdGhFbnRpdHkoJ1dvcmtmbG93TWFuYWdlbWVudCcsICdXb3JrSXRlbScpXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1Xb3JrZmxvd01hbmFnZW1lbnRXb3JrSXRlbUVudGl0eU1vZGVsPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxlYXZlUmVxdWVzdERhdGEgPSB0aGlzLmVudGl0eVNlcnZpY2VcbiAgICAud2l0aEVudGl0eShSb290Q29uZmlnLm1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlUmVxdWVzdC5uYW1lKVxuICAgIC5kYXRhPHN0cmluZywgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRFeGVjdXRvciA9IGluamVjdChBWFBDb21tYW5kRXhlY3V0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdChBWFBMZWF2ZVJlcXVlc3REaWFsb2dTZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFByb3ZpZGVyIE1ldGFkYXRhICAgLS0tLVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdsZWF2ZS1yZXF1ZXN0JztcbiAgfVxuXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlUmVxdWVzdC50aXRsZVBsdXJhbDtcbiAgfVxuXG4gIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdmYS1saWdodCBmYS1wbGFuZS1kZXBhcnR1cmUnO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBUYXNrIFJldHJpZXZhbCAgIC0tLS1cblxuICAvKipcbiAgICogR2V0IHRhc2tzIGZyb20gd29yayBpdGVtcyBmb3IgbGVhdmUgcmVxdWVzdHMuXG4gICAqIFxuICAgKiBRdWVyaWVzIHdvcmsgaXRlbXMgZmlsdGVyZWQgYnk6XG4gICAqIC0gZW50aXR5UmVmVHlwZSA9ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdCdcbiAgICogLSBzdGF0dXMgKFBlbmRpbmcsIENsYWltZWQsIEluUHJvZ3Jlc3MpXG4gICAqIC0gYXNzaWduZWUvY2xhaW1hbnQgKGlmIGZpbHRlciBwcm92aWRlZClcbiAgICogLSBkYXRlIHJhbmdlIChpZiBwcm92aWRlZClcbiAgICogXG4gICAqIFRoZW4gbG9hZHMgcmVsYXRlZCBlbnRpdHkgZGF0YSBhbmQgbWFwcyB0byB0YXNrIGJvYXJkIGZvcm1hdC5cbiAgICovXG4gIGFzeW5jIGdldFRhc2tzKFxuICAgIG9wdGlvbnM6IEFYUFRhc2tGaWx0ZXIsXG4gICk6IFByb21pc2U8eyBpdGVtczogQVhQVGFzazxBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+W107IHRvdGFsOiBudW1iZXIgfT4ge1xuICAgIGNvbnNvbGUubG9nKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSDwn5SNIGdldFRhc2tzIGNhbGxlZCB3aXRoIG9wdGlvbnM6YCwge1xuICAgICAgc2tpcDogb3B0aW9ucz8uc2tpcCxcbiAgICAgIHRha2U6IG9wdGlvbnM/LnRha2UsXG4gICAgICBhc3NpZ25lZUlkczogb3B0aW9ucz8uYXNzaWduZWVJZHMsXG4gICAgICByYW5nZTogb3B0aW9ucz8ucmFuZ2UsXG4gICAgICB0eXBlczogb3B0aW9ucz8udHlwZXMsXG4gICAgfSk7XG5cbiAgICAvLyBCdWlsZCBmaWx0ZXIgZm9yIHdvcmsgaXRlbXNcbiAgICBjb25zdCBiYXNlRmlsdGVyOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7IGxvZ2ljOiAnYW5kJywgZmlsdGVyczogW10gfTtcblxuICAgIGNvbnN0IGVudGl0eVR5cGVWYWx1ZSA9IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QubmFtZX1gO1xuICAgIGNvbnN0IHdvcmtmbG93TmFtZVZhbHVlID0gJ2NyZWF0ZS1sZWF2ZS1yZXF1ZXN0JztcblxuICAgIGNvbnNvbGUubG9nKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSDwn5OLIEJ1aWxkaW5nIGZpbHRlcnM6YCwge1xuICAgICAgZW50aXR5VHlwZTogZW50aXR5VHlwZVZhbHVlLFxuICAgICAgd29ya2Zsb3dOYW1lOiB3b3JrZmxvd05hbWVWYWx1ZSxcbiAgICB9KTtcblxuICAgIC8vIEZpbHRlciBieSBlbnRpdHkgdHlwZSBPUiB3b3JrZmxvdyBpbnN0YW5jZSBkZWZpbml0aW9uSWRcbiAgICAvLyBQcmltYXJ5OiBlbnRpdHlSZWZUeXBlIChzZXQgYWZ0ZXIgZW50aXR5IGNyZWF0aW9uKVxuICAgIC8vIEZhbGxiYWNrOiBpbnN0YW5jZUlkIGZyb20gd29ya2Zsb3cgaW5zdGFuY2VzIHdpdGggZGVmaW5pdGlvbklkID0gJ2NyZWF0ZS1sZWF2ZS1yZXF1ZXN0J1xuICAgIC8vIFdlJ2xsIHVzZSBPUiBsb2dpYyB0byBjYXRjaCBib3RoIGNhc2VzXG4gICAgY29uc3QgZW50aXR5VHlwZUZpbHRlciA9IHtcbiAgICAgIGZpZWxkOiAnZW50aXR5UmVmVHlwZScsXG4gICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIGFzIGNvbnN0IH0sXG4gICAgICB2YWx1ZTogZW50aXR5VHlwZVZhbHVlLFxuICAgIH07XG5cbiAgICAvLyBUcnkgdG8gZ2V0IHdvcmtmbG93IGluc3RhbmNlIElEcyBmb3IgZmFsbGJhY2tcbiAgICBsZXQgd29ya2Zsb3dJbnN0YW5jZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgd29ya2Zsb3dJbnN0YW5jZURhdGEgPSB0aGlzLmVudGl0eVNlcnZpY2VcbiAgICAgICAgLndpdGhFbnRpdHkoJ1dvcmtmbG93TWFuYWdlbWVudCcsICdXb3JrZmxvd0luc3RhbmNlJylcbiAgICAgICAgLmRhdGE8c3RyaW5nLCBhbnk+KCk7XG4gICAgICBcbiAgICAgIGNvbnN0IGluc3RhbmNlcyA9IGF3YWl0IHdvcmtmbG93SW5zdGFuY2VEYXRhLnF1ZXJ5KHtcbiAgICAgICAgc2tpcDogMCxcbiAgICAgICAgdGFrZTogMTAwLFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWVsZDogJ2RlZmluaXRpb25JZCcsXG4gICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdlcXVhbCcgfSxcbiAgICAgICAgICAgICAgdmFsdWU6IHdvcmtmbG93TmFtZVZhbHVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHdvcmtmbG93SW5zdGFuY2VJZHMgPSBpbnN0YW5jZXMuaXRlbXMubWFwKChpbnN0OiBhbnkpID0+IGluc3QuaWQpO1xuICAgICAgY29uc29sZS5sb2coYFtMZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXJdIPCflI0gRm91bmQgJHt3b3JrZmxvd0luc3RhbmNlSWRzLmxlbmd0aH0gd29ya2Zsb3cgaW5zdGFuY2VzIGZvciAnJHt3b3JrZmxvd05hbWVWYWx1ZX0nYCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g4pqg77iPIEZhaWxlZCB0byBxdWVyeSB3b3JrZmxvdyBpbnN0YW5jZXM6YCwgZXJyb3IpO1xuICAgIH1cblxuICAgIC8vIEJ1aWxkIE9SIGZpbHRlcjogZW50aXR5UmVmVHlwZSBPUiBpbnN0YW5jZUlkIGluIHdvcmtmbG93SW5zdGFuY2VJZHNcbiAgICBpZiAod29ya2Zsb3dJbnN0YW5jZUlkcy5sZW5ndGggPiAwKSB7XG4gICAgICBiYXNlRmlsdGVyLmZpbHRlcnM/LnB1c2goe1xuICAgICAgICBsb2dpYzogJ29yJyxcbiAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgIGVudGl0eVR5cGVGaWx0ZXIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdpbnN0YW5jZUlkJyxcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgYXMgY29uc3QgfSxcbiAgICAgICAgICAgIHZhbHVlOiB3b3JrZmxvd0luc3RhbmNlSWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gT25seSB1c2UgZW50aXR5UmVmVHlwZSBpZiBubyB3b3JrZmxvdyBpbnN0YW5jZXMgZm91bmRcbiAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaChlbnRpdHlUeXBlRmlsdGVyKTtcbiAgICB9XG5cbiAgICAvLyBGaWx0ZXIgYnkgc3RhdHVzIChleGNsdWRlIGNvbXBsZXRlZC9jYW5jZWxsZWQpXG4gICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHtcbiAgICAgIGZpZWxkOiAnc3RhdHVzJyxcbiAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSxcbiAgICAgIHZhbHVlOiBbJ1BlbmRpbmcnLCAnQ2xhaW1lZCcsICdJblByb2dyZXNzJ10sXG4gICAgfSk7XG5cbiAgICAvLyBGaWx0ZXIgYnkgZGF0ZSByYW5nZSBpZiBwcm92aWRlZFxuICAgIC8vIFdvcmsgaXRlbXMgZG9uJ3QgaGF2ZSBzdGFydERhdGUvZW5kRGF0ZSBkaXJlY3RseSwgYnV0IHdlIGNhbiBmaWx0ZXIgYnkgY3JlYXRlZEF0IG9yIGR1ZURhdGVcbiAgICAvLyBGb3Igbm93LCB3ZSdsbCBza2lwIGRhdGUgcmFuZ2UgZmlsdGVyaW5nIHRvIGVuc3VyZSB3b3JrIGl0ZW1zIGFyZSBmb3VuZFxuICAgIC8vIFRPRE86IEltcGxlbWVudCBwcm9wZXIgZGF0ZSByYW5nZSBmaWx0ZXJpbmcgYmFzZWQgb24gZW50aXR5IGRhdGEgKHN0YXJ0RGF0ZS9lbmREYXRlKVxuICAgIC8vIGlmIChvcHRpb25zPy5yYW5nZT8uZnJvbSB8fCBvcHRpb25zPy5yYW5nZT8uZW5kKSB7XG4gICAgLy8gICBpZiAob3B0aW9ucy5yYW5nZS5mcm9tKSB7XG4gICAgLy8gICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7XG4gICAgLy8gICAgICAgZmllbGQ6ICdjcmVhdGVkQXQnLFxuICAgIC8vICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdndGUnIGFzIGNvbnN0IH0sXG4gICAgLy8gICAgICAgdmFsdWU6IG9wdGlvbnMucmFuZ2UuZnJvbSxcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gICB9XG4gICAgLy8gICBcbiAgICAvLyAgIGlmIChvcHRpb25zLnJhbmdlLmVuZCkge1xuICAgIC8vICAgICAvLyBGb3IgZW5kIGRhdGUsIHdlIHdhbnQ6IGR1ZURhdGUgPD0gZW5kIE9SIGR1ZURhdGUgaXMgbnVsbFxuICAgIC8vICAgICAvLyBUaGlzIGFsbG93cyB3b3JrIGl0ZW1zIHdpdGhvdXQgZHVlRGF0ZSB0byBzdGlsbCBhcHBlYXJcbiAgICAvLyAgICAgYmFzZUZpbHRlci5maWx0ZXJzPy5wdXNoKHtcbiAgICAvLyAgICAgICBsb2dpYzogJ29yJyxcbiAgICAvLyAgICAgICBmaWx0ZXJzOiBbXG4gICAgLy8gICAgICAgICB7XG4gICAgLy8gICAgICAgICAgIGZpZWxkOiAnZHVlRGF0ZScsXG4gICAgLy8gICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdsdGUnIGFzIGNvbnN0IH0sXG4gICAgLy8gICAgICAgICAgIHZhbHVlOiBvcHRpb25zLnJhbmdlLmVuZCxcbiAgICAvLyAgICAgICAgIH0sXG4gICAgLy8gICAgICAgICB7XG4gICAgLy8gICAgICAgICAgIGZpZWxkOiAnZHVlRGF0ZScsXG4gICAgLy8gICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpc051bGwnIGFzIGNvbnN0IH0sXG4gICAgLy8gICAgICAgICB9LFxuICAgIC8vICAgICAgIF0sXG4gICAgLy8gICAgIH0pO1xuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIC8vIEZpbHRlciBieSBhc3NpZ25lZS9jbGFpbWFudFxuICAgIGlmIChvcHRpb25zPy5hc3NpZ25lZUlkcyAmJiBvcHRpb25zLmFzc2lnbmVlSWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGJhc2VGaWx0ZXIuZmlsdGVycz8ucHVzaCh7XG4gICAgICAgIGxvZ2ljOiAnb3InLFxuICAgICAgICBmaWx0ZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGQ6ICdhc3NpZ25lZFVzZXJJZCcsXG4gICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnaW4nIH0sXG4gICAgICAgICAgICB2YWx1ZTogb3B0aW9ucy5hc3NpZ25lZUlkcyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiAnY2xhaW1lZEJ5VXNlcklkJyxcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSxcbiAgICAgICAgICAgIHZhbHVlOiBvcHRpb25zLmFzc2lnbmVlSWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g8J+UjiBRdWVyeSBmaWx0ZXI6YCwgSlNPTi5zdHJpbmdpZnkoYmFzZUZpbHRlciwgbnVsbCwgMikpO1xuXG4gICAgLy8gUXVlcnkgd29yayBpdGVtc1xuICAgIGNvbnN0IHsgaXRlbXM6IHdvcmtJdGVtcywgdG90YWwgfSA9IGF3YWl0IHRoaXMud29ya0l0ZW1EYXRhLnF1ZXJ5KHtcbiAgICAgIHNraXA6IG9wdGlvbnM/LnNraXAgPz8gMCxcbiAgICAgIHRha2U6IG9wdGlvbnM/LnRha2UgPz8gMjAsXG4gICAgICBmaWx0ZXI6IGJhc2VGaWx0ZXIsXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g8J+TpiBRdWVyeSByZXN1bHQ6YCwge1xuICAgICAgdG90YWwsXG4gICAgICBpdGVtc0NvdW50OiB3b3JrSXRlbXMubGVuZ3RoLFxuICAgICAgd29ya0l0ZW1zOiB3b3JrSXRlbXMubWFwKCh3aSkgPT4gKHtcbiAgICAgICAgaWQ6IHdpLmlkLFxuICAgICAgICB0aXRsZTogd2kudGl0bGUsXG4gICAgICAgIHN0YXR1czogd2kuc3RhdHVzLFxuICAgICAgICBlbnRpdHlSZWZUeXBlOiB3aS5lbnRpdHlSZWZUeXBlLFxuICAgICAgICBlbnRpdHlSZWZJZDogd2kuZW50aXR5UmVmSWQsXG4gICAgICAgIGluc3RhbmNlSWQ6IHdpLmluc3RhbmNlSWQsXG4gICAgICAgIGluc3RhbmNlRGVmaW5pdGlvbklkOiB3aS5pbnN0YW5jZT8uZGVmaW5pdGlvbklkLFxuICAgICAgICBpbnN0YW5jZU5hbWU6IHdpLmluc3RhbmNlPy5uYW1lLFxuICAgICAgICBhY3Rpdml0eU5vZGVJZDogd2kuYWN0aXZpdHlOb2RlSWQsXG4gICAgICAgIGFjdGl2aXR5TmFtZTogd2kuYWN0aXZpdHlOYW1lLFxuICAgICAgICBjcmVhdGVkQXQ6IHdpLmNyZWF0ZWRBdCxcbiAgICAgICAgZHVlRGF0ZTogd2kuZHVlRGF0ZSxcbiAgICAgIH0pKSxcbiAgICB9KTtcblxuICAgIC8vIERlYnVnOiBMb2cgaWYgbm8gd29yayBpdGVtcyBmb3VuZFxuICAgIGlmICh3b3JrSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtMZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXJdIOKaoO+4jyBObyB3b3JrIGl0ZW1zIGZvdW5kIWAsIHtcbiAgICAgICAgZmlsdGVyOiBiYXNlRmlsdGVyLFxuICAgICAgICBlbnRpdHlUeXBlVmFsdWU6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QubmFtZX1gLFxuICAgICAgICB3b3JrZmxvd05hbWVWYWx1ZTogJ2NyZWF0ZS1sZWF2ZS1yZXF1ZXN0JyxcbiAgICAgICAgc3VnZ2VzdGlvbjogJ0NoZWNrIGlmOiAxKSBXb3JrZmxvdyB3YXMgc3RhcnRlZCwgMikgSHVtYW4tdGFzayBhY3Rpdml0eSBleGlzdHMsIDMpIFdvcmsgaXRlbSB3YXMgY3JlYXRlZCwgNCkgZW50aXR5UmVmVHlwZSB3YXMgc2V0IGFmdGVyIGVudGl0eSBjcmVhdGlvbicsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgLy8gRmFsbGJhY2s6IFRyeSB0byBxdWVyeSBhbGwgd29yayBpdGVtcyB0byBzZWUgd2hhdCB3ZSBoYXZlXG4gICAgICBjb25zdCBhbGxXb3JrSXRlbXMgPSBhd2FpdCB0aGlzLndvcmtJdGVtRGF0YS5xdWVyeSh7XG4gICAgICAgIHNraXA6IDAsXG4gICAgICAgIHRha2U6IDEwLFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWVsZDogJ3N0YXR1cycsXG4gICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6ICdpbicgfSxcbiAgICAgICAgICAgICAgdmFsdWU6IFsnUGVuZGluZycsICdDbGFpbWVkJywgJ0luUHJvZ3Jlc3MnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc29sZS5sb2coYFtMZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXJdIPCflI0gRmFsbGJhY2s6IEZvdW5kICR7YWxsV29ya0l0ZW1zLml0ZW1zLmxlbmd0aH0gd29yayBpdGVtcyB0b3RhbCAoYW55IGVudGl0eSk6YCwge1xuICAgICAgICB3b3JrSXRlbXM6IGFsbFdvcmtJdGVtcy5pdGVtcy5tYXAoKHdpOiBhbnkpID0+ICh7XG4gICAgICAgICAgaWQ6IHdpLmlkLFxuICAgICAgICAgIHRpdGxlOiB3aS50aXRsZSxcbiAgICAgICAgICBlbnRpdHlSZWZUeXBlOiB3aS5lbnRpdHlSZWZUeXBlLFxuICAgICAgICAgIGVudGl0eVJlZklkOiB3aS5lbnRpdHlSZWZJZCxcbiAgICAgICAgICBpbnN0YW5jZUlkOiB3aS5pbnN0YW5jZUlkLFxuICAgICAgICAgIHN0YXR1czogd2kuc3RhdHVzLFxuICAgICAgICB9KSksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBMb2FkIGVudGl0eSBkYXRhIGZvciBlYWNoIHdvcmsgaXRlbSBhbmQgbWFwIHRvIHRhc2tzXG4gICAgY29uc3QgdGFza3M6IEFYUFRhc2s8QVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsPltdID0gW107XG5cbiAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g8J+UhCBQcm9jZXNzaW5nICR7d29ya0l0ZW1zLmxlbmd0aH0gd29yayBpdGVtcy4uLmApO1xuXG4gICAgZm9yIChjb25zdCB3b3JrSXRlbSBvZiB3b3JrSXRlbXMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSDwn5OdIFByb2Nlc3Npbmcgd29yayBpdGVtOmAsIHtcbiAgICAgICAgICBpZDogd29ya0l0ZW0uaWQsXG4gICAgICAgICAgdGl0bGU6IHdvcmtJdGVtLnRpdGxlLFxuICAgICAgICAgIGVudGl0eVJlZklkOiB3b3JrSXRlbS5lbnRpdHlSZWZJZCxcbiAgICAgICAgICBlbnRpdHlSZWZUeXBlOiB3b3JrSXRlbS5lbnRpdHlSZWZUeXBlLFxuICAgICAgICAgIGluc3RhbmNlSWQ6IHdvcmtJdGVtLmluc3RhbmNlSWQsXG4gICAgICAgICAgaW5zdGFuY2VEZWZpbml0aW9uSWQ6IHdvcmtJdGVtLmluc3RhbmNlPy5kZWZpbml0aW9uSWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIExvYWQgZW50aXR5IGRhdGEgaWYgZW50aXR5UmVmSWQgaXMgYXZhaWxhYmxlXG4gICAgICAgIGxldCBlbnRpdHlEYXRhOiBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwgfCBudWxsID0gbnVsbDtcbiAgICAgICAgXG4gICAgICAgIGlmICh3b3JrSXRlbS5lbnRpdHlSZWZJZCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g8J+UjSBMb2FkaW5nIGVudGl0eSBkYXRhIGZvciBlbnRpdHlSZWZJZDogJHt3b3JrSXRlbS5lbnRpdHlSZWZJZH1gKTtcbiAgICAgICAgICAgIGVudGl0eURhdGEgPSBhd2FpdCB0aGlzLmxlYXZlUmVxdWVzdERhdGEuYnlLZXkod29ya0l0ZW0uZW50aXR5UmVmSWQpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFtMZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXJdIOKchSBFbnRpdHkgZGF0YSBsb2FkZWQ6YCwge1xuICAgICAgICAgICAgICBpZDogZW50aXR5RGF0YT8uaWQsXG4gICAgICAgICAgICAgIGVtcGxveWVlOiBlbnRpdHlEYXRhPy5lbXBsb3llZT8ucGVyc29uPy5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgc3RhcnREYXRlOiBlbnRpdHlEYXRhPy5zdGFydERhdGUsXG4gICAgICAgICAgICAgIGVuZERhdGU6IGVudGl0eURhdGE/LmVuZERhdGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSDimqDvuI8gRmFpbGVkIHRvIGxvYWQgZW50aXR5IGRhdGEgZm9yICR7d29ya0l0ZW0uZW50aXR5UmVmSWR9OmAsIGVycm9yKTtcbiAgICAgICAgICAgIC8vIENvbnRpbnVlIHdpdGhvdXQgZW50aXR5IGRhdGEgLSB1c2Ugd29yayBpdGVtIGRhdGEgb25seVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g4oS577iPIE5vIGVudGl0eVJlZklkLCB1c2luZyB3b3JrIGl0ZW0gZGF0YSBvbmx5YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNYXAgd29yayBpdGVtIHRvIHRhc2tcbiAgICAgICAgY29uc3QgdGFzayA9IHRoaXMubWFwV29ya0l0ZW1Ub1Rhc2sod29ya0l0ZW0sIGVudGl0eURhdGEpO1xuICAgICAgICBjb25zb2xlLmxvZyhgW0xlYXZlUmVxdWVzdFRhc2tQcm92aWRlcl0g4pyFIE1hcHBlZCB0byB0YXNrOmAsIHtcbiAgICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgICB0aXRsZTogdGFzay50aXRsZSxcbiAgICAgICAgICBzdGFydERhdGU6IHRhc2suc3RhcnREYXRlLFxuICAgICAgICAgIGVuZERhdGU6IHRhc2suZW5kRGF0ZSxcbiAgICAgICAgICBzdGF0dXM6IHRhc2suc3RhdHVzLFxuICAgICAgICB9KTtcbiAgICAgICAgdGFza3MucHVzaCh0YXNrKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFtMZWF2ZVJlcXVlc3RUYXNrUHJvdmlkZXJdIOKdjCBGYWlsZWQgdG8gcHJvY2VzcyB3b3JrIGl0ZW0gJHt3b3JrSXRlbS5pZH06YCwgZXJyb3IpO1xuICAgICAgICAvLyBTa2lwIHRoaXMgd29yayBpdGVtIGFuZCBjb250aW51ZVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSDinIUgUmV0dXJuaW5nICR7dGFza3MubGVuZ3RofSB0YXNrcyAodG90YWw6ICR7dG90YWx9KWApO1xuXG4gICAgcmV0dXJuIHsgaXRlbXM6IHRhc2tzLCB0b3RhbCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB3b3JrIGl0ZW0gdG8gdGFzayBib2FyZCB0YXNrIGZvcm1hdC5cbiAgICovXG4gIHByaXZhdGUgbWFwV29ya0l0ZW1Ub1Rhc2soXG4gICAgd29ya0l0ZW06IEFYTVdvcmtmbG93TWFuYWdlbWVudFdvcmtJdGVtRW50aXR5TW9kZWwsXG4gICAgZW50aXR5RGF0YTogQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsIHwgbnVsbFxuICApOiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD4ge1xuICAgIC8vIFVzZSBlbnRpdHkgZGF0YSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugd29yayBpdGVtIG1ldGFkYXRhXG4gICAgY29uc3Qgc3RhdHVzSWQgPSBlbnRpdHlEYXRhPy5zdGF0dXNJZCA/PyBlbnRpdHlEYXRhPy5zdGF0dXM/LmlkID8/IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZTtcbiAgICBjb25zdCBzdGF0dXNUaXRsZSA9XG4gICAgICBlbnRpdHlEYXRhPy5zdGF0dXM/LnRpdGxlID8/XG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKGBAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy4ke3N0YXR1c0lkfWApO1xuXG4gICAgLy8gRXh0cmFjdCBkYXRlcyBmcm9tIGVudGl0eSBkYXRhIG9yIHVzZSB3b3JrIGl0ZW0gZGF0ZXNcbiAgICBjb25zdCBzdGFydERhdGUgPSBlbnRpdHlEYXRhPy5zdGFydERhdGUgXG4gICAgICA/IG5ldyBEYXRlKGVudGl0eURhdGEuc3RhcnREYXRlKSBcbiAgICAgIDogKHdvcmtJdGVtLmR1ZURhdGUgPyBuZXcgRGF0ZSh3b3JrSXRlbS5kdWVEYXRlKSA6IG5ldyBEYXRlKCkpO1xuICAgIGNvbnN0IGVuZERhdGUgPSBlbnRpdHlEYXRhPy5lbmREYXRlIFxuICAgICAgPyBuZXcgRGF0ZShlbnRpdHlEYXRhLmVuZERhdGUpIFxuICAgICAgOiAod29ya0l0ZW0uZHVlRGF0ZSA/IG5ldyBEYXRlKHdvcmtJdGVtLmR1ZURhdGUpIDogbmV3IERhdGUoKSk7XG5cbiAgICAvLyBCdWlsZCB0aXRsZSBmcm9tIGVudGl0eSBkYXRhIG9yIHdvcmsgaXRlbVxuICAgIGxldCB0aXRsZSA9IHdvcmtJdGVtLnRpdGxlO1xuICAgIGlmIChlbnRpdHlEYXRhKSB7XG4gICAgICB0aXRsZSA9IGAke2VudGl0eURhdGEuZW1wbG95ZWU/LnBlcnNvbj8uZGlzcGxheU5hbWUgPz8gJyd9IC0gJHt0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKGVudGl0eURhdGEubGVhdmVUeXBlPy50aXRsZSA/PyAnJyl9YC50cmltKCk7XG4gICAgICBpZiAoIXRpdGxlKSB0aXRsZSA9IHdvcmtJdGVtLnRpdGxlO1xuICAgIH1cblxuICAgIC8vIE1hcCB3b3JrIGl0ZW0gc3RhdHVzIHRvIHRhc2sgc3RhdHVzXG4gICAgY29uc3QgdGFza1N0YXR1cyA9IHRoaXMubWFwV29ya0l0ZW1TdGF0dXNUb1Rhc2tTdGF0dXMod29ya0l0ZW0uc3RhdHVzKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpZDogd29ya0l0ZW0uaWQsIC8vIFVzZSB3b3JrIGl0ZW0gSUQgYXMgdGFzayBJRFxuICAgICAgdGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogZW50aXR5RGF0YT8ucmVhc29uID8/IHdvcmtJdGVtLmRlc2NyaXB0aW9uID8/ICcnLFxuICAgICAgc3RhcnREYXRlLFxuICAgICAgZW5kRGF0ZSxcbiAgICAgIGFsbERheTogdHJ1ZSwgLy8gTGVhdmUgcmVxdWVzdHMgYXJlIGFsbC1kYXkgZXZlbnRzXG4gICAgICBhc3NpZ25lZTogd29ya0l0ZW0uYXNzaWduZWRVc2VyXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaWQ6IHdvcmtJdGVtLmFzc2lnbmVkVXNlci5pZCxcbiAgICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiB3b3JrSXRlbS5hc3NpZ25lZFVzZXIuZGlzcGxheU5hbWUsXG4gICAgICAgICAgfVxuICAgICAgICA6IHdvcmtJdGVtLmNsYWltZWRCeVVzZXJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBpZDogd29ya0l0ZW0uY2xhaW1lZEJ5VXNlci5pZCxcbiAgICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiB3b3JrSXRlbS5jbGFpbWVkQnlVc2VyLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBpbmRleDogMixcbiAgICAgIHN0YXR1czogdGFza1N0YXR1cyxcbiAgICAgIHByaW9yaXR5OiB0aGlzLm1hcFdvcmtJdGVtUHJpb3JpdHlUb1Rhc2tQcmlvcml0eSh3b3JrSXRlbS5wcmlvcml0eSksXG4gICAgICByZXBvcnRlcjogZW50aXR5RGF0YT8uZW1wbG95ZWVcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBpZDogZW50aXR5RGF0YS5lbXBsb3llZS51c2VySWQgPz8gZW50aXR5RGF0YS5lbXBsb3llZUlkLFxuICAgICAgICAgICAgdHlwZTogJ3VzZXInLFxuICAgICAgICAgICAgZnVsbE5hbWU6IGVudGl0eURhdGEuZW1wbG95ZWUucGVyc29uPy5kaXNwbGF5TmFtZSA/PyAnJyxcbiAgICAgICAgICB9XG4gICAgICAgIDogd29ya0l0ZW0uY3JlYXRlZEJ5VXNlclxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiB3b3JrSXRlbS5jcmVhdGVkQnlVc2VyLmlkLFxuICAgICAgICAgICAgdHlwZTogJ3VzZXInLFxuICAgICAgICAgICAgZnVsbE5hbWU6IHdvcmtJdGVtLmNyZWF0ZWRCeVVzZXIuZGlzcGxheU5hbWUsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICAgIHR5cGU6ICd1c2VyJyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiAnJyxcbiAgICAgICAgICB9LFxuICAgICAgZGF0YToge1xuICAgICAgICAvLyBTdG9yZSBlbnRpdHkgZGF0YSBhbmQgd29yayBpdGVtIG1ldGFkYXRhXG4gICAgICAgIGVudGl0eURhdGE6IGVudGl0eURhdGEgPz8gbnVsbCxcbiAgICAgICAgd29ya0l0ZW06IHdvcmtJdGVtLFxuICAgICAgICB3b3JrSXRlbUlkOiB3b3JrSXRlbS5pZCxcbiAgICAgICAgaW5zdGFuY2VJZDogd29ya0l0ZW0uaW5zdGFuY2VJZCxcbiAgICAgICAgYWN0aXZpdHlOb2RlSWQ6IHdvcmtJdGVtLmFjdGl2aXR5Tm9kZUlkLFxuICAgICAgICBlbnRpdHlSZWZJZDogd29ya0l0ZW0uZW50aXR5UmVmSWQsXG4gICAgICAgIGVudGl0eVJlZlR5cGU6IHdvcmtJdGVtLmVudGl0eVJlZlR5cGUsXG4gICAgICB9IGFzIGFueSwgLy8gQWRkaXRpb25hbCBtZXRhZGF0YSBmb3IgdGFzayBwcm9jZXNzaW5nXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXAgd29yayBpdGVtIHN0YXR1cyB0byB0YXNrIGJvYXJkIHN0YXR1cy5cbiAgICovXG4gIHByaXZhdGUgbWFwV29ya0l0ZW1TdGF0dXNUb1Rhc2tTdGF0dXMod29ya0l0ZW1TdGF0dXM6IHN0cmluZyk6IHsgaWQ6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9IHtcbiAgICAvLyBNYXAgd29yayBpdGVtIHN0YXR1cyB0byBlbnRpdHkgc3RhdHVzXG4gICAgc3dpdGNoICh3b3JrSXRlbVN0YXR1cykge1xuICAgICAgY2FzZSAnUGVuZGluZyc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZSxcbiAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlU3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMucGVuZGluZycpLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnQ2xhaW1lZCc6XG4gICAgICBjYXNlICdJblByb2dyZXNzJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lLCAvLyBTdGlsbCBwZW5kaW5nIGZyb20gZW50aXR5IHBlcnNwZWN0aXZlXG4gICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuc3RhdGVzLnBlbmRpbmcnKSxcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgJ0NvbXBsZXRlZCc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IEFYUFN5c3RlbVN0YXR1c2VzLkFwcHJvdmVkLm5hbWUsIC8vIENvbXBsZXRlZCB3b3JrIGl0ZW0gPSBhcHByb3ZlZFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5hcHByb3ZlZCcpLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnUmVqZWN0ZWQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBBWFBTeXN0ZW1TdGF0dXNlcy5SZWplY3RlZC5uYW1lLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5yZWplY3RlZCcpLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnQ2FuY2VsbGVkJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogQVhQU3lzdGVtU3RhdHVzZXMuQ2FuY2VsbGVkLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuc3RhdGVzLmNhbmNlbGxlZCcpLFxuICAgICAgICB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lLFxuICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5wZW5kaW5nJyksXG4gICAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1hcCB3b3JrIGl0ZW0gcHJpb3JpdHkgdG8gdGFzayBib2FyZCBwcmlvcml0eS5cbiAgICovXG4gIHByaXZhdGUgbWFwV29ya0l0ZW1Qcmlvcml0eVRvVGFza1ByaW9yaXR5KFxuICAgIHdvcmtJdGVtUHJpb3JpdHk6IHN0cmluZ1xuICApOiAnaGlnaGVzdCcgfCAnaGlnaCcgfCAnbWVkaXVtJyB8ICdsb3cnIHwgJ2xvd2VzdCcge1xuICAgIHN3aXRjaCAod29ya0l0ZW1Qcmlvcml0eSkge1xuICAgICAgY2FzZSAnVXJnZW50JzpcbiAgICAgICAgcmV0dXJuICdoaWdoZXN0JztcbiAgICAgIGNhc2UgJ0hpZ2gnOlxuICAgICAgICByZXR1cm4gJ2hpZ2gnO1xuICAgICAgY2FzZSAnTm9ybWFsJzpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgICAgY2FzZSAnTG93JzpcbiAgICAgICAgcmV0dXJuICdsb3cnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdtZWRpdW0nO1xuICAgIH1cbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVGFzayBVcGRhdGVzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGFza3MgKHdvcmsgaXRlbXMgYW5kL29yIGVudGl0eSBkYXRhKS5cbiAgICogXG4gICAqIFVwZGF0ZXMgYm90aCB3b3JrIGl0ZW0gKGlmIHRhc2sgSUQgaXMgd29yayBpdGVtIElEKSBhbmQgZW50aXR5IGRhdGEgKGlmIGVudGl0eVJlZklkIGlzIGF2YWlsYWJsZSkuXG4gICAqL1xuICBhc3luYyB1cGRhdGVUYXNrcyhcbiAgICB0YXNrc1RvVXBkYXRlOiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD5bXSxcbiAgKTogUHJvbWlzZTxBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD5bXT4ge1xuICAgIGNvbnN0IHVwZGF0ZWRUYXNrczogQVhQVGFzazxBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgdGFzayBvZiB0YXNrc1RvVXBkYXRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0YXNrRGF0YSA9IHRhc2suZGF0YSBhcyBhbnk7XG4gICAgICAgIGNvbnN0IHdvcmtJdGVtSWQgPSB0YXNrRGF0YT8ud29ya0l0ZW1JZCA/PyB0YXNrLmlkO1xuICAgICAgICBjb25zdCBlbnRpdHlSZWZJZCA9IHRhc2tEYXRhPy5lbnRpdHlSZWZJZDtcblxuICAgICAgICAvLyBVcGRhdGUgd29yayBpdGVtIGlmIHRhc2sgSUQgaXMgd29yayBpdGVtIElEXG4gICAgICAgIGlmICh3b3JrSXRlbUlkKSB7XG4gICAgICAgICAgY29uc3Qgd29ya0l0ZW1VcGRhdGU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgICAgICAgIGlmICh0YXNrLnN0YXR1cz8uaWQpIHtcbiAgICAgICAgICAgIC8vIE1hcCB0YXNrIHN0YXR1cyBiYWNrIHRvIHdvcmsgaXRlbSBzdGF0dXNcbiAgICAgICAgICAgIGNvbnN0IHdvcmtJdGVtU3RhdHVzID0gdGhpcy5tYXBUYXNrU3RhdHVzVG9Xb3JrSXRlbVN0YXR1cyhTdHJpbmcodGFzay5zdGF0dXMuaWQpKTtcbiAgICAgICAgICAgIGlmICh3b3JrSXRlbVN0YXR1cykge1xuICAgICAgICAgICAgICB3b3JrSXRlbVVwZGF0ZVsnc3RhdHVzJ10gPSB3b3JrSXRlbVN0YXR1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGFzay5hc3NpZ25lZT8uaWQpIHtcbiAgICAgICAgICAgIHdvcmtJdGVtVXBkYXRlWydhc3NpZ25lZFVzZXJJZCddID0gdGFzay5hc3NpZ25lZS5pZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMod29ya0l0ZW1VcGRhdGUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMud29ya0l0ZW1EYXRhLnVwZGF0ZSh3b3JrSXRlbUlkLCB3b3JrSXRlbVVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIGVudGl0eSBkYXRhIGlmIGVudGl0eVJlZklkIGlzIGF2YWlsYWJsZVxuICAgICAgICBpZiAoZW50aXR5UmVmSWQpIHtcbiAgICAgICAgICBjb25zdCBlbnRpdHlVcGRhdGU6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAgICAgICAgIGlmICh0YXNrLnN0YXR1cz8uaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXR1c0lkID0gdGFzay5zdGF0dXMuaWQgYXMgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdFN0YXR1cztcbiAgICAgICAgICAgIGVudGl0eVVwZGF0ZVsnc3RhdHVzSWQnXSA9IHN0YXR1c0lkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0YXNrLnN0YXJ0RGF0ZSkge1xuICAgICAgICAgICAgZW50aXR5VXBkYXRlWydzdGFydERhdGUnXSA9IHRhc2suc3RhcnREYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0YXNrLmVuZERhdGUpIHtcbiAgICAgICAgICAgIGVudGl0eVVwZGF0ZVsnZW5kRGF0ZSddID0gdGFzay5lbmREYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhlbnRpdHlVcGRhdGUpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubGVhdmVSZXF1ZXN0RGF0YS51cGRhdGUoZW50aXR5UmVmSWQsIGVudGl0eVVwZGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlZFRhc2tzLnB1c2godGFzayk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyXSBGYWlsZWQgdG8gdXBkYXRlIHRhc2sgJHt0YXNrLmlkfTpgLCBlcnJvcik7XG4gICAgICAgIHVwZGF0ZWRUYXNrcy5wdXNoKHRhc2spOyAvLyBTdGlsbCBpbmNsdWRlIHRoZSB0YXNrIGV2ZW4gaWYgdXBkYXRlIGZhaWxlZFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkVGFza3M7XG4gIH1cblxuICAvKipcbiAgICogTWFwIHRhc2sgc3RhdHVzIHRvIHdvcmsgaXRlbSBzdGF0dXMuXG4gICAqL1xuICBwcml2YXRlIG1hcFRhc2tTdGF0dXNUb1dvcmtJdGVtU3RhdHVzKHRhc2tTdGF0dXNJZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgc3dpdGNoICh0YXNrU3RhdHVzSWQpIHtcbiAgICAgIGNhc2UgQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lOlxuICAgICAgICByZXR1cm4gJ1BlbmRpbmcnO1xuICAgICAgY2FzZSBBWFBTeXN0ZW1TdGF0dXNlcy5BcHByb3ZlZC5uYW1lOlxuICAgICAgICByZXR1cm4gJ0NvbXBsZXRlZCc7XG4gICAgICBjYXNlIEFYUFN5c3RlbVN0YXR1c2VzLlJlamVjdGVkLm5hbWU6XG4gICAgICAgIHJldHVybiAnUmVqZWN0ZWQnO1xuICAgICAgY2FzZSBBWFBTeXN0ZW1TdGF0dXNlcy5DYW5jZWxsZWQubmFtZTpcbiAgICAgICAgcmV0dXJuICdDYW5jZWxsZWQnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21tYW5kIEV4ZWN1dGlvbiAgIC0tLS1cblxuICAvKipcbiAgICogRXhlY3V0ZSBjb21tYW5kcyBvbiB0YXNrcy5cbiAgICogXG4gICAqIFN1cHBvcnRzOlxuICAgKiAtIFdvcmtmbG93IHdvcmsgaXRlbSBjb21tYW5kcyAoQ2xhaW0sIENvbXBsZXRlLCBDYW5jZWwpXG4gICAqIC0gTGVhdmUgcmVxdWVzdCBidXNpbmVzcyBjb21tYW5kcyAoQXBwcm92ZSwgUmVqZWN0LCBDYW5jZWwpXG4gICAqL1xuICBhc3luYyBleGVjdXRlQ29tbWFuZChjb21tYW5kOiBBWFBFeGVjdXRlQ29tbWFuZCk6IFByb21pc2U8QVhQRXhlY3V0ZUNvbW1hbmRSZXN1bHQ+IHtcbiAgICBpZiAoIWNvbW1hbmQ/Lm5hbWUpIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcblxuICAgIGNvbnN0IHdvcmtJdGVtSWQgPSBjb21tYW5kLm9wdGlvbnM/Llsnd29ya0l0ZW1JZCddID8/IGNvbW1hbmQub3B0aW9ucz8uWydpZCddID8/ICcnO1xuICAgIGNvbnN0IGVudGl0eVJlZklkID0gY29tbWFuZC5vcHRpb25zPy5bJ2VudGl0eVJlZklkJ10gPz8gJyc7XG5cbiAgICAvLyBIYW5kbGUgd29ya2Zsb3cgd29yayBpdGVtIGNvbW1hbmRzXG4gICAgaWYgKGNvbW1hbmQubmFtZSA9PT0gJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDbGFpbScpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDbGFpbScsIHtcbiAgICAgICAgaWQ6IHdvcmtJdGVtSWQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgfVxuXG4gICAgaWYgKGNvbW1hbmQubmFtZSA9PT0gJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDb21wbGV0ZScpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDb21wbGV0ZScsIHtcbiAgICAgICAgaWQ6IHdvcmtJdGVtSWQsXG4gICAgICAgIG91dHB1dDogY29tbWFuZC5vcHRpb25zPy5bJ291dHB1dCddID8/IHt9LFxuICAgICAgICBvdXRjb21lOiBjb21tYW5kLm9wdGlvbnM/Llsnb3V0Y29tZSddID8/ICdEb25lJyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdCA/PyB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoY29tbWFuZC5uYW1lID09PSAnV29ya2Zsb3dNYW5hZ2VtZW50LldvcmtJdGVtOkNhbmNlbCcpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDYW5jZWwnLCB7XG4gICAgICAgIGlkOiB3b3JrSXRlbUlkLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzdWx0ID8/IHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBsZWF2ZSByZXF1ZXN0IGJ1c2luZXNzIGNvbW1hbmRzIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnYXBwcm92ZUxlYXZlJzoge1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0FwcHJvdmFsRGlhbG9nKCk7XG4gICAgICAgIGlmIChkaWFsb2dSZXN1bHQ/LmNhbmNlbGxlZCkge1xuICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcnkgdG8gY29tcGxldGUgd29yayBpdGVtIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBlbnRpdHkgY29tbWFuZFxuICAgICAgICBpZiAod29ya0l0ZW1JZCkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ1dvcmtmbG93TWFuYWdlbWVudC5Xb3JrSXRlbTpDb21wbGV0ZScsIHtcbiAgICAgICAgICAgIGlkOiB3b3JrSXRlbUlkLFxuICAgICAgICAgICAgb3V0cHV0OiB7IHJlYXNvbjogZGlhbG9nUmVzdWx0Py5yZWFzb24sIG5vdGU6IGRpYWxvZ1Jlc3VsdD8ubm90ZSB9LFxuICAgICAgICAgICAgb3V0Y29tZTogJ0FwcHJvdmVkJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0ID8/IHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRmFsbGJhY2sgdG8gZW50aXR5IGNvbW1hbmRcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZSgnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6QXBwcm92ZScsIHtcbiAgICAgICAgICBpZDogZW50aXR5UmVmSWQgfHwgd29ya0l0ZW1JZCxcbiAgICAgICAgICByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLFxuICAgICAgICAgIG5vdGU6IGRpYWxvZ1Jlc3VsdD8ubm90ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlamVjdExlYXZlJzoge1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1JlamVjdGlvbkRpYWxvZygpO1xuICAgICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGNvbXBsZXRlIHdvcmsgaXRlbSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2UgZW50aXR5IGNvbW1hbmRcbiAgICAgICAgaWYgKHdvcmtJdGVtSWQpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKCdXb3JrZmxvd01hbmFnZW1lbnQuV29ya0l0ZW06Q29tcGxldGUnLCB7XG4gICAgICAgICAgICBpZDogd29ya0l0ZW1JZCxcbiAgICAgICAgICAgIG91dHB1dDogeyByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLCBub3RlOiBkaWFsb2dSZXN1bHQ/Lm5vdGUgfSxcbiAgICAgICAgICAgIG91dGNvbWU6ICdSZWplY3RlZCcsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdCA/PyB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGVudGl0eSBjb21tYW5kXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29tbWFuZEV4ZWN1dG9yLmV4ZWN1dGUoJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OlJlamVjdCcsIHtcbiAgICAgICAgICBpZDogZW50aXR5UmVmSWQgfHwgd29ya0l0ZW1JZCxcbiAgICAgICAgICByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLFxuICAgICAgICAgIG5vdGU6IGRpYWxvZ1Jlc3VsdD8ubm90ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2NhbmNlbExlYXZlJzoge1xuICAgICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0NhbmNlbGxhdGlvbkRpYWxvZygpO1xuICAgICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGNhbmNlbCB3b3JrIGl0ZW0gaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIGVudGl0eSBjb21tYW5kXG4gICAgICAgIGlmICh3b3JrSXRlbUlkKSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZSgnV29ya2Zsb3dNYW5hZ2VtZW50LldvcmtJdGVtOkNhbmNlbCcsIHtcbiAgICAgICAgICAgIGlkOiB3b3JrSXRlbUlkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiByZXN1bHQgPz8geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGYWxsYmFjayB0byBlbnRpdHkgY29tbWFuZFxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKCdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdDpDYW5jZWwnLCB7XG4gICAgICAgICAgaWQ6IGVudGl0eVJlZklkIHx8IHdvcmtJdGVtSWQsXG4gICAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgICBub3RlOiBkaWFsb2dSZXN1bHQ/Lm5vdGUsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IHsgc3VjY2VzczogdHJ1ZSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQWN0aW9ucyAmIFN0YXR1c2VzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBHZXQgYXZhaWxhYmxlIGFjdGlvbnMgZm9yIGEgdGFzay5cbiAgICogXG4gICAqIFByb3ZpZGVzIGFjdGlvbnMgYmFzZWQgb24gd29yayBpdGVtIHN0YXR1cyBhbmQgd29ya2Zsb3cgYWN0aXZpdHkuXG4gICAqL1xuICBhc3luYyBnZXRBY3Rpb25zKHRhc2s/OiBBWFBUYXNrPEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRMZWF2ZVJlcXVlc3RFbnRpdHlNb2RlbD4pOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBjb25zdCBhY3Rpb25zOiBBWFBBY3Rpb25NZW51SXRlbVtdID0gW107XG5cbiAgICBpZiAoIXRhc2spIHJldHVybiBhY3Rpb25zO1xuXG4gICAgY29uc3QgdGFza0RhdGEgPSB0YXNrLmRhdGEgYXMgYW55O1xuICAgIGNvbnN0IHdvcmtJdGVtSWQgPSB0YXNrRGF0YT8ud29ya0l0ZW1JZCA/PyB0YXNrLmlkO1xuICAgIGNvbnN0IGVudGl0eVJlZklkID0gdGFza0RhdGE/LmVudGl0eVJlZklkO1xuXG4gICAgLy8gQWRkIHdvcmtmbG93IHdvcmsgaXRlbSBhY3Rpb25zXG4gICAgaWYgKHRhc2suc3RhdHVzPy5pZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lKSB7XG4gICAgICAvLyBDbGFpbSBhY3Rpb24gKGlmIG5vdCBhbHJlYWR5IGNsYWltZWQpXG4gICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICBuYW1lOiAnV29ya2Zsb3dNYW5hZ2VtZW50LldvcmtJdGVtOkNsYWltJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0B3b3JrZmxvdy1tYW5hZ2VtZW50OndvcmstaXRlbXMuYWN0aW9ucy5jbGFpbS50aXRsZScpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtaGFuZCcsXG4gICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICBuYW1lOiAnV29ya2Zsb3dNYW5hZ2VtZW50LldvcmtJdGVtOkNsYWltJyxcbiAgICAgICAgICBvcHRpb25zOiB7IGlkOiB3b3JrSXRlbUlkLCB3b3JrSXRlbUlkIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gQ29tcGxldGUgYWN0aW9uICh3aXRoIGFwcHJvdmUvcmVqZWN0IG91dGNvbWVzKVxuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ2FwcHJvdmVMZWF2ZScsXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVTeW5jKCdAZ2VuZXJhbDphY3Rpb25zLmFwcHJvdmUudGl0bGUnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWNoZWNrJyxcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdhcHByb3ZlTGVhdmUnLFxuICAgICAgICAgIG9wdGlvbnM6IHsgaWQ6IGVudGl0eVJlZklkIHx8IHdvcmtJdGVtSWQsIHdvcmtJdGVtSWQsIGVudGl0eVJlZklkIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3JlamVjdExlYXZlJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMucmVqZWN0LnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS14bWFyaycsXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdyZWplY3RMZWF2ZScsXG4gICAgICAgICAgb3B0aW9uczogeyBpZDogZW50aXR5UmVmSWQgfHwgd29ya0l0ZW1JZCwgd29ya0l0ZW1JZCwgZW50aXR5UmVmSWQgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBjYW5jZWwgYWN0aW9uXG4gICAgaWYgKFxuICAgICAgdGFzay5zdGF0dXM/LmlkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUgfHxcbiAgICAgIHRhc2suc3RhdHVzPy5pZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuQXBwcm92ZWQubmFtZVxuICAgICkge1xuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ2NhbmNlbExlYXZlJyxcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ0BnZW5lcmFsOmFjdGlvbnMuY2FuY2VsLnRpdGxlJyksXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1iYW4nLFxuICAgICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICBuYW1lOiAnY2FuY2VsTGVhdmUnLFxuICAgICAgICAgIG9wdGlvbnM6IHsgaWQ6IGVudGl0eVJlZklkIHx8IHdvcmtJdGVtSWQsIHdvcmtJdGVtSWQsIGVudGl0eVJlZklkIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWN0aW9ucztcbiAgfVxuXG4gIGFzeW5jIGdldEV4dHJhRmllbGRzKCk6IFByb21pc2U8QVhQRXh0cmFGaWVsZFtdPiB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RhdHVzZXMoKTogUHJvbWlzZTxBWFBUYXNrU3RhdHVzW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpbmRleDogMCxcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMucGVuZGluZycpLFxuICAgICAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXg6IDEsXG4gICAgICAgIGtleTogQVhQU3lzdGVtU3RhdHVzZXMuQXBwcm92ZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5hcHByb3ZlZCcpLFxuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaW5kZXg6IDIsXG4gICAgICAgIGtleTogQVhQU3lzdGVtU3RhdHVzZXMuUmVqZWN0ZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5yZWplY3RlZCcpLFxuICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleDogMyxcbiAgICAgICAga2V5OiBBWFBTeXN0ZW1TdGF0dXNlcy5DYW5jZWxsZWQubmFtZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgICAgICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnN0YXRlcy5jYW5jZWxsZWQnLFxuICAgICAgICApLFxuICAgICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCAgIC0tLS1cblxuICBvdmVycmlkZSBnZXRDb21wb25lbnQoKTogKCgpID0+IFByb21pc2U8VHlwZTxBWFBUYXNrUG9wb3ZlckNvbXBvbmVudD4+KSB8IFR5cGU8QVhQVGFza1BvcG92ZXJDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gKCkgPT4gaW1wb3J0KCcuL2xlYXZlLXJlcXVlc3QtdGFzay1wb3BvdmVyLmNvbXBvbmVudCcpLnRoZW4oKG0pID0+IG0uQVhNTGVhdmVSZXF1ZXN0VGFza1BvcG92ZXJDb21wb25lbnQpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=","import { AXPSystemStatuses } from '@acorex/platform/common';\nimport { AXPTaskBadgeProvider } from '@acorex/platform/layout/components';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPCommandEventsService } from '@acorex/platform/runtime';\nimport { DestroyRef, inject, Injectable, signal } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\n//#endregion\n//#region ---- Task Badge Provider ----\nexport class AXMLeaveRequestBadgeProvider extends AXPTaskBadgeProvider {\n //#endregion\n constructor() {\n super();\n //#region ---- Services & Dependencies ----\n this.entityService = inject(AXPEntityService);\n this.leaveRequestData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data();\n this.commandEvents = inject(AXPCommandEventsService);\n this.destroyRef = inject(DestroyRef);\n //#endregion\n //#region ---- Signals & Properties ----\n this.key = 'leave-request-badge';\n this.count = signal(0, ...(ngDevMode ? [{ debugName: \"count\" }] : []));\n void this.refresh();\n const unsubscribe = this.commandEvents.listen((event) => this.handleCommandEvent(event));\n this.destroyRef.onDestroy(unsubscribe);\n }\n //#region ---- Badge Actions ----\n /**\n * Forces badge count recalculation by querying the leave request entity service.\n */\n async refresh() {\n const baseFilters = [\n {\n field: 'statusId',\n operator: { type: 'equal' },\n value: AXPSystemStatuses.Pending.name,\n },\n ];\n const result = await this.leaveRequestData.query({\n skip: 0,\n take: 99,\n filter: {\n logic: 'and',\n filters: baseFilters,\n },\n });\n this.count.set(result.total);\n }\n /**\n * Handles command execution events and refreshes the badge when targeted leave request commands succeed.\n */\n async handleCommandEvent(event) {\n if (!event || event.stage !== 'after' || !event.success) {\n return;\n }\n await this.refresh();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestBadgeProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9iYWRnZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQTRCLE1BQU0sMEJBQTBCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxZQUFZO0FBRVosMkNBQTJDO0FBRzNDLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxvQkFBb0I7SUFpQnBFLFlBQVk7SUFFWjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkJWLCtDQUErQztRQUU5QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxhQUFhO2FBQ25ELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7YUFDekUsSUFBSSxFQUE0RCxDQUFDO1FBQ25ELGtCQUFhLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqRCxZQUFZO1FBRVosNENBQTRDO1FBRTVDLFFBQUcsR0FBRyxxQkFBcUIsQ0FBQztRQUM1QixVQUFLLEdBQUcsTUFBTSxDQUFDLENBQUMsaURBQUMsQ0FBQztRQU9oQixLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHFDQUFxQztJQUVyQzs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxXQUFXLEdBQStCO1lBQzlDO2dCQUNFLEtBQUssRUFBRSxVQUFVO2dCQUNqQixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBZ0IsRUFBRTtnQkFDcEMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJO2FBQ3RDO1NBQ0YsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMvQyxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksRUFBRSxFQUFFO1lBQ1IsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxXQUFXO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFnQztRQUMvRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0FoRVUsNEJBQTRCO21IQUE1Qiw0QkFBNEI7OzRGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBTeXN0ZW1TdGF0dXNlcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFRhc2tCYWRnZVByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUENvbW1hbmRFdmVudHNTZXJ2aWNlLCBBWFBDb21tYW5kRXhlY3V0aW9uRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi9lbnRpdGllcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QudHlwZXMnO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBUYXNrIEJhZGdlIFByb3ZpZGVyICAgLS0tLVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0QmFkZ2VQcm92aWRlciBleHRlbmRzIEFYUFRhc2tCYWRnZVByb3ZpZGVyIHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGVhdmVSZXF1ZXN0RGF0YSA9IHRoaXMuZW50aXR5U2VydmljZVxuICAgIC53aXRoRW50aXR5KFJvb3RDb25maWcubW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWUpXG4gICAgLmRhdGE8c3RyaW5nLCBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWw+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZEV2ZW50cyA9IGluamVjdChBWFBDb21tYW5kRXZlbnRzU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFNpZ25hbHMgJiBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIGtleSA9ICdsZWF2ZS1yZXF1ZXN0LWJhZGdlJztcbiAgY291bnQgPSBzaWduYWwoMCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHZvaWQgdGhpcy5yZWZyZXNoKCk7XG5cbiAgICBjb25zdCB1bnN1YnNjcmliZSA9IHRoaXMuY29tbWFuZEV2ZW50cy5saXN0ZW4oKGV2ZW50KSA9PiB0aGlzLmhhbmRsZUNvbW1hbmRFdmVudChldmVudCkpO1xuXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSh1bnN1YnNjcmliZSk7XG4gIH1cblxuICAvLyNyZWdpb24gLS0tLSAgIEJhZGdlIEFjdGlvbnMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEZvcmNlcyBiYWRnZSBjb3VudCByZWNhbGN1bGF0aW9uIGJ5IHF1ZXJ5aW5nIHRoZSBsZWF2ZSByZXF1ZXN0IGVudGl0eSBzZXJ2aWNlLlxuICAgKi9cbiAgYXN5bmMgcmVmcmVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBiYXNlRmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSBbXG4gICAgICB7XG4gICAgICAgIGZpZWxkOiAnc3RhdHVzSWQnLFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIGFzIGNvbnN0IH0sXG4gICAgICAgIHZhbHVlOiBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmxlYXZlUmVxdWVzdERhdGEucXVlcnkoe1xuICAgICAgc2tpcDogMCxcbiAgICAgIHRha2U6IDk5LFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgICAgZmlsdGVyczogYmFzZUZpbHRlcnMsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb3VudC5zZXQocmVzdWx0LnRvdGFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGNvbW1hbmQgZXhlY3V0aW9uIGV2ZW50cyBhbmQgcmVmcmVzaGVzIHRoZSBiYWRnZSB3aGVuIHRhcmdldGVkIGxlYXZlIHJlcXVlc3QgY29tbWFuZHMgc3VjY2VlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlQ29tbWFuZEV2ZW50KGV2ZW50PzogQVhQQ29tbWFuZEV4ZWN1dGlvbkV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFldmVudCB8fCBldmVudC5zdGFnZSAhPT0gJ2FmdGVyJyB8fCAhZXZlbnQuc3VjY2Vzcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","export const AXPHumanCapitalManagementFeatureKeys = {\n EmployeeManagement: 'HumanCapitalManagement:Feature:Employee.Management',\n LeaveManagement: 'HumanCapitalManagement:Feature:Leave.Management',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMua2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy5rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHO0lBQ2xELGtCQUFrQixFQUFFLG9EQUFvRDtJQUN4RSxlQUFlLEVBQUUsaURBQWlEO0NBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzID0ge1xuICBFbXBsb3llZU1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OkZlYXR1cmU6RW1wbG95ZWUuTWFuYWdlbWVudCcsXG4gIExlYXZlTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6RmVhdHVyZTpMZWF2ZS5NYW5hZ2VtZW50Jyxcbn0gYXMgY29uc3Q7XG5cbiJdfQ==","//#region ---- Imports ----\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\n//#endregion\n//#region ---- Feature Definition Provider ----\n/**\n * Human Capital Management Feature Definition Provider.\n * Provides feature definitions for the Human Capital Management module.\n */\nexport class AXPHumanCapitalManagementFeatureDefinitionProvider {\n async provide(context) {\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.EmployeeManagement, {\n title: '@human-capital-management:features.employee-management.title',\n description: '@human-capital-management:features.employee-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n context.addFeature(AXPHumanCapitalManagementFeatureKeys.LeaveManagement, {\n title: '@human-capital-management:features.leave-management.title',\n description: '@human-capital-management:features.leave-management.description',\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmUtZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFNL0IsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkUsWUFBWTtBQUVaLG1EQUFtRDtBQUVuRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0RBQWtEO0lBQzdELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFFeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxrQkFBa0IsRUFBRTtZQUMxRSxLQUFLLEVBQUUsOERBQThEO1lBQ3JFLFdBQVcsRUFBRSxvRUFBb0U7WUFDakYsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxlQUFlLEVBQUU7WUFDdkUsS0FBSyxFQUFFLDJEQUEyRDtZQUNsRSxXQUFXLEVBQUUsaUVBQWlFO1lBQzlFLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7XG4gIEFYUEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXIsXG4gIEFYUEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzIH0gZnJvbSAnLi9mZWF0dXJlcy5rZXlzJztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgRmVhdHVyZSBEZWZpbml0aW9uIFByb3ZpZGVyICAgLS0tLVxuXG4vKipcbiAqIEh1bWFuIENhcGl0YWwgTWFuYWdlbWVudCBGZWF0dXJlIERlZmluaXRpb24gUHJvdmlkZXIuXG4gKiBQcm92aWRlcyBmZWF0dXJlIGRlZmluaXRpb25zIGZvciB0aGUgSHVtYW4gQ2FwaXRhbCBNYW5hZ2VtZW50IG1vZHVsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyIGltcGxlbWVudHMgQVhQRmVhdHVyZURlZmluaXRpb25Qcm92aWRlciB7XG4gIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQRmVhdHVyZURlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcblxuICAgIGNvbnRleHQuYWRkRmVhdHVyZShBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50RmVhdHVyZUtleXMuRW1wbG95ZWVNYW5hZ2VtZW50LCB7XG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZmVhdHVyZXMuZW1wbG95ZWUtbWFuYWdlbWVudC50aXRsZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZmVhdHVyZXMuZW1wbG95ZWUtbWFuYWdlbWVudC5kZXNjcmlwdGlvbicsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmFkZEZlYXR1cmUoQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkxlYXZlTWFuYWdlbWVudCwge1xuICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmZlYXR1cmVzLmxlYXZlLW1hbmFnZW1lbnQudGl0bGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmZlYXR1cmVzLmxlYXZlLW1hbmFnZW1lbnQuZGVzY3JpcHRpb24nLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIH0pO1xuICB9XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","//#region ---- Imports ----\nimport { AXPStatusProvider, AXPSystemStatusType, systemStatusToDefinition, } from '@acorex/platform/common';\n//#endregion\n//#region ---- Leave Request Status Provider ----\n/**\n * Leave request status provider defining lifecycle states: Pending, Approved, Rejected, Cancelled.\n * Used by the status plugin to manage leave request status transitions and metadata.\n */\nexport class AXMLeaveRequestStatusProvider extends AXPStatusProvider {\n constructor() {\n super(...arguments);\n this.key = 'human-capital-management.status.leave-request';\n this.statuses = [\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@human-capital-management:leave-requests.states.pending',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Approved, {\n title: '@human-capital-management:leave-requests.states.approved',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Rejected, {\n title: '@human-capital-management:leave-requests.states.rejected',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Cancelled, {\n title: '@human-capital-management:leave-requests.states.cancelled',\n generateView: true,\n }),\n ];\n this.transitions = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Approved,\n title: '@general:statuses.transitions.approve',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Rejected,\n title: '@general:statuses.transitions.reject',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n {\n from: AXPSystemStatusType.Approved,\n to: AXPSystemStatusType.Cancelled,\n title: '@general:statuses.transitions.cancel',\n requiresApproval: true\n },\n ];\n this.defaultStatus = AXPSystemStatusType.Pending;\n }\n}\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC1zdGF0dXMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0LXN0YXR1cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixtQkFBbUIsRUFDbkIsd0JBQXdCLEdBQ3pCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsWUFBWTtBQUVaLHFEQUFxRDtBQUVyRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsaUJBQWlCO0lBQXBFOztRQUNXLFFBQUcsR0FBRywrQ0FBK0MsQ0FBQztRQUV0RCxhQUFRLEdBQUc7WUFDbEIsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFO2dCQUNwRCxLQUFLLEVBQUUseURBQXlEO2dCQUNoRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxLQUFLLEVBQUUsMERBQTBEO2dCQUNqRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO2dCQUNyRCxLQUFLLEVBQUUsMERBQTBEO2dCQUNqRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1lBQ0Ysd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFO2dCQUN0RCxLQUFLLEVBQUUsMkRBQTJEO2dCQUNsRSxZQUFZLEVBQUUsSUFBSTthQUNuQixDQUFDO1NBQ0gsQ0FBQztRQUVPLGdCQUFXLEdBQTBCO1lBQzVDO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQkFDaEMsS0FBSyxFQUFFLHVDQUF1QztnQkFDOUMsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsUUFBUTtnQkFDaEMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO2dCQUNqQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsU0FBUztnQkFDakMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtZQUNEO2dCQUNFLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxRQUFRO2dCQUNsQyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsU0FBUztnQkFDakMsS0FBSyxFQUFFLHNDQUFzQztnQkFDN0MsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QjtTQUNGLENBQUM7UUFFTyxrQkFBYSxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztJQUN2RCxDQUFDO0NBQUE7QUFFRCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQge1xuICBBWFBTdGF0dXNQcm92aWRlcixcbiAgQVhQU3RhdHVzVHJhbnNpdGlvbixcbiAgQVhQU3lzdGVtU3RhdHVzVHlwZSxcbiAgc3lzdGVtU3RhdHVzVG9EZWZpbml0aW9uLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIExlYXZlIFJlcXVlc3QgU3RhdHVzIFByb3ZpZGVyICAgLS0tLVxuXG4vKipcbiAqIExlYXZlIHJlcXVlc3Qgc3RhdHVzIHByb3ZpZGVyIGRlZmluaW5nIGxpZmVjeWNsZSBzdGF0ZXM6IFBlbmRpbmcsIEFwcHJvdmVkLCBSZWplY3RlZCwgQ2FuY2VsbGVkLlxuICogVXNlZCBieSB0aGUgc3RhdHVzIHBsdWdpbiB0byBtYW5hZ2UgbGVhdmUgcmVxdWVzdCBzdGF0dXMgdHJhbnNpdGlvbnMgYW5kIG1ldGFkYXRhLlxuICovXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0U3RhdHVzUHJvdmlkZXIgZXh0ZW5kcyBBWFBTdGF0dXNQcm92aWRlciB7XG4gIHJlYWRvbmx5IGtleSA9ICdodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQuc3RhdHVzLmxlYXZlLXJlcXVlc3QnO1xuXG4gIHJlYWRvbmx5IHN0YXR1c2VzID0gW1xuICAgIHN5c3RlbVN0YXR1c1RvRGVmaW5pdGlvbihBWFBTeXN0ZW1TdGF0dXNUeXBlLlBlbmRpbmcsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMucGVuZGluZycsXG4gICAgICBnZW5lcmF0ZVZpZXc6IHRydWUsXG4gICAgfSksXG4gICAgc3lzdGVtU3RhdHVzVG9EZWZpbml0aW9uKEFYUFN5c3RlbVN0YXR1c1R5cGUuQXBwcm92ZWQsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMuYXBwcm92ZWQnLFxuICAgICAgZ2VuZXJhdGVWaWV3OiB0cnVlLFxuICAgIH0pLFxuICAgIHN5c3RlbVN0YXR1c1RvRGVmaW5pdGlvbihBWFBTeXN0ZW1TdGF0dXNUeXBlLlJlamVjdGVkLCB7XG4gICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMuc3RhdGVzLnJlamVjdGVkJyxcbiAgICAgIGdlbmVyYXRlVmlldzogdHJ1ZSxcbiAgICB9KSxcbiAgICBzeXN0ZW1TdGF0dXNUb0RlZmluaXRpb24oQVhQU3lzdGVtU3RhdHVzVHlwZS5DYW5jZWxsZWQsIHtcbiAgICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5zdGF0ZXMuY2FuY2VsbGVkJyxcbiAgICAgIGdlbmVyYXRlVmlldzogdHJ1ZSxcbiAgICB9KSxcbiAgXTtcblxuICByZWFkb25seSB0cmFuc2l0aW9uczogQVhQU3RhdHVzVHJhbnNpdGlvbltdID0gW1xuICAgIHtcbiAgICAgIGZyb206IEFYUFN5c3RlbVN0YXR1c1R5cGUuUGVuZGluZyxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLkFwcHJvdmVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5hcHByb3ZlJyxcbiAgICAgIHJlcXVpcmVzQXBwcm92YWw6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIGZyb206IEFYUFN5c3RlbVN0YXR1c1R5cGUuUGVuZGluZyxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLlJlamVjdGVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5yZWplY3QnLFxuICAgICAgcmVxdWlyZXNBcHByb3ZhbDogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgZnJvbTogQVhQU3lzdGVtU3RhdHVzVHlwZS5QZW5kaW5nLFxuICAgICAgdG86IEFYUFN5c3RlbVN0YXR1c1R5cGUuQ2FuY2VsbGVkLFxuICAgICAgdGl0bGU6ICdAZ2VuZXJhbDpzdGF0dXNlcy50cmFuc2l0aW9ucy5jYW5jZWwnLFxuICAgICAgcmVxdWlyZXNBcHByb3ZhbDogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgZnJvbTogQVhQU3lzdGVtU3RhdHVzVHlwZS5BcHByb3ZlZCxcbiAgICAgIHRvOiBBWFBTeXN0ZW1TdGF0dXNUeXBlLkNhbmNlbGxlZCxcbiAgICAgIHRpdGxlOiAnQGdlbmVyYWw6c3RhdHVzZXMudHJhbnNpdGlvbnMuY2FuY2VsJyxcbiAgICAgIHJlcXVpcmVzQXBwcm92YWw6IHRydWVcbiAgICB9LFxuICBdO1xuXG4gIHJlYWRvbmx5IGRlZmF1bHRTdGF0dXMgPSBBWFBTeXN0ZW1TdGF0dXNUeXBlLlBlbmRpbmc7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4iXX0=","import { AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';\nimport { AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';\nimport { AXPRuntimeModule, provideCommandSetups } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXMLeaveRequestBadgeProvider } from './badge.provider';\nimport { AXMLeaveRequestStatusProvider } from './leave-request-status.provider';\nimport { AXMLeaveRequestTaskProvider } from './workflow-tasks/leave-request.task.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMLeaveRequestFeatureModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, imports: [CommonModule, AXPRuntimeModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, providers: [\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMLeaveRequestBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMLeaveRequestTaskProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLeaveRequestStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'HumanCapitalManagement.LeaveRequest:Approve',\n command: () => import('./commands/approve-leave-request.command').then((c) => c.ApproveLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Reject',\n command: () => import('./commands/reject-leave-request.command').then((c) => c.RejectLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Cancel',\n command: () => import('./commands/cancel-leave-request.command').then((c) => c.CancelLeaveRequestCommand),\n },\n ]),\n ], imports: [CommonModule, AXPRuntimeModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMLeaveRequestFeatureModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXPRuntimeModule],\n providers: [\n {\n provide: AXP_TASK_BADGE_PROVIDERS,\n useClass: AXMLeaveRequestBadgeProvider,\n multi: true,\n },\n {\n provide: AXP_WORKFLOW_TASK_PROVIDER,\n useClass: AXMLeaveRequestTaskProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMLeaveRequestStatusProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'HumanCapitalManagement.LeaveRequest:Approve',\n command: () => import('./commands/approve-leave-request.command').then((c) => c.ApproveLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Reject',\n command: () => import('./commands/reject-leave-request.command').then((c) => c.RejectLeaveRequestCommand),\n },\n {\n key: 'HumanCapitalManagement.LeaveRequest:Cancel',\n command: () => import('./commands/cancel-leave-request.command').then((c) => c.CancelLeaveRequestCommand),\n },\n ]),\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvbGVhdmUtcmVxdWVzdC9sZWF2ZS1yZXF1ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFvQzNGLE1BQU0sT0FBTyw0QkFBNEI7K0dBQTVCLDRCQUE0QjtnSEFBNUIsNEJBQTRCLFlBakM3QixZQUFZLEVBQUUsZ0JBQWdCO2dIQWlDN0IsNEJBQTRCLGFBaEM1QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSx3QkFBd0I7Z0JBQ2pDLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELG9CQUFvQixDQUFDO2dCQUNuQjtvQkFDRSxHQUFHLEVBQUUsNkNBQTZDO29CQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7aUJBQzVHO2dCQUNEO29CQUNFLEdBQUcsRUFBRSw0Q0FBNEM7b0JBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDMUc7Z0JBQ0Q7b0JBQ0UsR0FBRyxFQUFFLDRDQUE0QztvQkFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDO2lCQUMxRzthQUNGLENBQUM7U0FDSCxZQS9CUyxZQUFZLEVBQUUsZ0JBQWdCOzs0RkFpQzdCLDRCQUE0QjtrQkFsQ3hDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLDRCQUE0Qjs0QkFDdEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLDZCQUE2Qjs0QkFDdkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Qsb0JBQW9CLENBQUM7NEJBQ25CO2dDQUNFLEdBQUcsRUFBRSw2Q0FBNkM7Z0NBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQzs2QkFDNUc7NEJBQ0Q7Z0NBQ0UsR0FBRyxFQUFFLDRDQUE0QztnQ0FDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDOzZCQUMxRzs0QkFDRDtnQ0FDRSxHQUFHLEVBQUUsNENBQTRDO2dDQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7NkJBQzFHO3lCQUNGLENBQUM7cUJBQ0g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfV09SS0ZMT1dfVEFTS19QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy90YXNrLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHsgQVhQX1NUQVRVU19QUk9WSURFUlMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBfVEFTS19CQURHRV9QUk9WSURFUlMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFJ1bnRpbWVNb2R1bGUsIHByb3ZpZGVDb21tYW5kU2V0dXBzIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RCYWRnZVByb3ZpZGVyIH0gZnJvbSAnLi9iYWRnZS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RTdGF0dXNQcm92aWRlciB9IGZyb20gJy4vbGVhdmUtcmVxdWVzdC1zdGF0dXMucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNTGVhdmVSZXF1ZXN0VGFza1Byb3ZpZGVyIH0gZnJvbSAnLi93b3JrZmxvdy10YXNrcy9sZWF2ZS1yZXF1ZXN0LnRhc2sucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBSdW50aW1lTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1RBU0tfQkFER0VfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IEFYTUxlYXZlUmVxdWVzdEJhZGdlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9XT1JLRkxPV19UQVNLX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTUxlYXZlUmVxdWVzdFRhc2tQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NUQVRVU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogQVhNTGVhdmVSZXF1ZXN0U3RhdHVzUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHByb3ZpZGVDb21tYW5kU2V0dXBzKFtcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6QXBwcm92ZScsXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9jb21tYW5kcy9hcHByb3ZlLWxlYXZlLXJlcXVlc3QuY29tbWFuZCcpLnRoZW4oKGMpID0+IGMuQXBwcm92ZUxlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6UmVqZWN0JyxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2NvbW1hbmRzL3JlamVjdC1sZWF2ZS1yZXF1ZXN0LmNvbW1hbmQnKS50aGVuKChjKSA9PiBjLlJlamVjdExlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3Q6Q2FuY2VsJyxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2NvbW1hbmRzL2NhbmNlbC1sZWF2ZS1yZXF1ZXN0LmNvbW1hbmQnKS50aGVuKChjKSA9PiBjLkNhbmNlbExlYXZlUmVxdWVzdENvbW1hbmQpLFxuICAgICAgfSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNTGVhdmVSZXF1ZXN0RmVhdHVyZU1vZHVsZSB7fVxuIl19","export const AXM_EMPLOYEE_CODE_IDENTIFIER_RULE = {\n id: 'employee-code',\n title: 'Employee Code',\n entity: 'HumanCapitalManagement.Employee',\n pattern: 'EMP-{date:YYYYMM}-{seq:4}',\n enabled: true,\n priority: 1,\n scopeConfig: { byTenant: false, period: 'yearly', minValue: 100, blockSize: 0 },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtY29kZS1pZGVudGlmaWVyLXJ1bGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvc2hhcmVkL2lkZW50aWZpZXJzL2VtcGxveWVlLWNvZGUtaWRlbnRpZmllci1ydWxlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFzQjtJQUNoRSxFQUFFLEVBQUUsZUFBZTtJQUNuQixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsaUNBQWlDO0lBQ3pDLE9BQU8sRUFBRSwyQkFBMkI7SUFDcEMsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsQ0FBQztJQUNYLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUU7Q0FDbEYsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUElkZW50aWZpZXJSdWxlIH0gZnJvbSBcIkBhY29yZXgvbW9kdWxlcy9pZGVudGlmaWVyLW1hbmFnZW1lbnRcIjtcblxuZXhwb3J0IGNvbnN0IEFYTV9FTVBMT1lFRV9DT0RFX0lERU5USUZJRVJfUlVMRTogQVhQSWRlbnRpZmllclJ1bGUgPSB7XG4gICAgaWQ6ICdlbXBsb3llZS1jb2RlJyxcbiAgICB0aXRsZTogJ0VtcGxveWVlIENvZGUnLFxuICAgIGVudGl0eTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUnLFxuICAgIHBhdHRlcm46ICdFTVAte2RhdGU6WVlZWU1NfS17c2VxOjR9JyxcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHByaW9yaXR5OiAxLFxuICAgIHNjb3BlQ29uZmlnOiB7IGJ5VGVuYW50OiBmYWxzZSwgcGVyaW9kOiAneWVhcmx5JywgbWluVmFsdWU6IDEwMCwgYmxvY2tTaXplOiAwIH0sXG59Il19","//#region ---- Imports ----\nimport { RootConfig } from './const';\n//#endregion\n//#region ---- Manifest Definition ----\n/**\n * Human Capital Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const HumanCapitalManagementManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n // Module dependencies\n dependencies: [\n 'OrganizationManagement',\n 'PersonManagement',\n 'LocationManagement',\n 'ContactManagement',\n 'DocumentManagement',\n ],\n};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50L3NyYy9saWIvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBRy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsWUFBWTtBQUVaLDJDQUEyQztBQUUzQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBc0I7SUFDL0QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtJQUM1QixPQUFPLEVBQUUsT0FBTztJQUNoQixLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLO0lBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7SUFDNUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSTtJQUU1QixzQkFBc0I7SUFDdEIsWUFBWSxFQUFFO1FBQ1osd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLG9CQUFvQjtLQUNyQjtDQUNGLENBQUM7QUFFRixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBBWFBNb2R1bGVNYW5pZmVzdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi9jb25zdCc7XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIE1hbmlmZXN0IERlZmluaXRpb24gICAtLS0tXG5cbi8qKlxuICogSHVtYW4gQ2FwaXRhbCBNYW5hZ2VtZW50IE1vZHVsZSBNYW5pZmVzdC5cbiAqIERlZmluZXMgbW9kdWxlIG1ldGFkYXRhLCBmZWF0dXJlcywgYW5kIHByb3ZpZGVyIHJlZmVyZW5jZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWFuaWZlc3Q6IEFYUE1vZHVsZU1hbmlmZXN0ID0ge1xuICBuYW1lOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICB2ZXJzaW9uOiAnMS4wLjAnLFxuICB0aXRsZTogUm9vdENvbmZpZy5tb2R1bGUudGl0bGUsXG4gIGljb246IFJvb3RDb25maWcubW9kdWxlLmljb24sXG4gIGkxOG46IFJvb3RDb25maWcuY29uZmlnLmkxOG4sXG5cbiAgLy8gTW9kdWxlIGRlcGVuZGVuY2llc1xuICBkZXBlbmRlbmNpZXM6IFtcbiAgICAnT3JnYW5pemF0aW9uTWFuYWdlbWVudCcsXG4gICAgJ1BlcnNvbk1hbmFnZW1lbnQnLFxuICAgICdMb2NhdGlvbk1hbmFnZW1lbnQnLFxuICAgICdDb250YWN0TWFuYWdlbWVudCcsXG4gICAgJ0RvY3VtZW50TWFuYWdlbWVudCcsXG4gIF0sXG59O1xuXG4vLyNlbmRyZWdpb25cblxuIl19","export const AXMPermissionsKeys = {\n HumanCapitalManagement: {\n Employee: {\n Management: 'HumanCapitalManagement:Permission:Employee.Management',\n View: 'HumanCapitalManagement:Permission:Employee.View',\n Edit: 'HumanCapitalManagement:Permission:Employee.Edit',\n Delete: 'HumanCapitalManagement:Permission:Employee.Delete',\n Create: 'HumanCapitalManagement:Permission:Employee.Create',\n },\n EmploymentType: {\n Management: 'HumanCapitalManagement:Permission:EmploymentType.Management',\n View: 'HumanCapitalManagement:Permission:EmploymentType.View',\n Edit: 'HumanCapitalManagement:Permission:EmploymentType.Edit',\n Delete: 'HumanCapitalManagement:Permission:EmploymentType.Delete',\n Create: 'HumanCapitalManagement:Permission:EmploymentType.Create',\n },\n PositionAssignment: {\n Management: 'HumanCapitalManagement:Permission:PositionAssignment.Management',\n View: 'HumanCapitalManagement:Permission:PositionAssignment.View',\n Edit: 'HumanCapitalManagement:Permission:PositionAssignment.Edit',\n Delete: 'HumanCapitalManagement:Permission:PositionAssignment.Delete',\n Create: 'HumanCapitalManagement:Permission:PositionAssignment.Create',\n },\n LeaveType: {\n Management: 'HumanCapitalManagement:Permission:LeaveType.Management',\n View: 'HumanCapitalManagement:Permission:LeaveType.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveType.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveType.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveType.Create',\n },\n LeaveRequest: {\n Management: 'HumanCapitalManagement:Permission:LeaveRequest.Management',\n View: 'HumanCapitalManagement:Permission:LeaveRequest.View',\n Edit: 'HumanCapitalManagement:Permission:LeaveRequest.Edit',\n Delete: 'HumanCapitalManagement:Permission:LeaveRequest.Delete',\n Create: 'HumanCapitalManagement:Permission:LeaveRequest.Create',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24ua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxzQkFBc0IsRUFBRTtRQUN0QixRQUFRLEVBQUU7WUFDUixVQUFVLEVBQUUsdURBQXVEO1lBQ25FLElBQUksRUFBRSxpREFBaUQ7WUFDdkQsSUFBSSxFQUFFLGlEQUFpRDtZQUN2RCxNQUFNLEVBQUUsbURBQW1EO1lBQzNELE1BQU0sRUFBRSxtREFBbUQ7U0FDNUQ7UUFDRCxjQUFjLEVBQUU7WUFDZCxVQUFVLEVBQUUsNkRBQTZEO1lBQ3pFLElBQUksRUFBRSx1REFBdUQ7WUFDN0QsSUFBSSxFQUFFLHVEQUF1RDtZQUM3RCxNQUFNLEVBQUUseURBQXlEO1lBQ2pFLE1BQU0sRUFBRSx5REFBeUQ7U0FDbEU7UUFDRCxrQkFBa0IsRUFBRTtZQUNsQixVQUFVLEVBQUUsaUVBQWlFO1lBQzdFLElBQUksRUFBRSwyREFBMkQ7WUFDakUsSUFBSSxFQUFFLDJEQUEyRDtZQUNqRSxNQUFNLEVBQUUsNkRBQTZEO1lBQ3JFLE1BQU0sRUFBRSw2REFBNkQ7U0FDdEU7UUFDRCxTQUFTLEVBQUU7WUFDVCxVQUFVLEVBQUUsd0RBQXdEO1lBQ3BFLElBQUksRUFBRSxrREFBa0Q7WUFDeEQsSUFBSSxFQUFFLGtEQUFrRDtZQUN4RCxNQUFNLEVBQUUsb0RBQW9EO1lBQzVELE1BQU0sRUFBRSxvREFBb0Q7U0FDN0Q7UUFDRCxZQUFZLEVBQUU7WUFDWixVQUFVLEVBQUUsMkRBQTJEO1lBQ3ZFLElBQUksRUFBRSxxREFBcUQ7WUFDM0QsSUFBSSxFQUFFLHFEQUFxRDtZQUMzRCxNQUFNLEVBQUUsdURBQXVEO1lBQy9ELE1BQU0sRUFBRSx1REFBdUQ7U0FDaEU7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVhNUGVybWlzc2lvbnNLZXlzID0ge1xuICBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OiB7XG4gICAgRW1wbG95ZWU6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95ZWUuTWFuYWdlbWVudCcsXG4gICAgICBWaWV3OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveWVlLlZpZXcnLFxuICAgICAgRWRpdDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3llZS5FZGl0JyxcbiAgICAgIERlbGV0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3llZS5EZWxldGUnLFxuICAgICAgQ3JlYXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveWVlLkNyZWF0ZScsXG4gICAgfSxcbiAgICBFbXBsb3ltZW50VHlwZToge1xuICAgICAgTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpFbXBsb3ltZW50VHlwZS5NYW5hZ2VtZW50JyxcbiAgICAgIFZpZXc6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95bWVudFR5cGUuVmlldycsXG4gICAgICBFZGl0OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveW1lbnRUeXBlLkVkaXQnLFxuICAgICAgRGVsZXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkVtcGxveW1lbnRUeXBlLkRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246RW1wbG95bWVudFR5cGUuQ3JlYXRlJyxcbiAgICB9LFxuICAgIFBvc2l0aW9uQXNzaWdubWVudDoge1xuICAgICAgTWFuYWdlbWVudDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpQb3NpdGlvbkFzc2lnbm1lbnQuTWFuYWdlbWVudCcsXG4gICAgICBWaWV3OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5WaWV3JyxcbiAgICAgIEVkaXQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246UG9zaXRpb25Bc3NpZ25tZW50LkVkaXQnLFxuICAgICAgRGVsZXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5EZWxldGUnLFxuICAgICAgQ3JlYXRlOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOlBvc2l0aW9uQXNzaWdubWVudC5DcmVhdGUnLFxuICAgIH0sXG4gICAgTGVhdmVUeXBlOiB7XG4gICAgICBNYW5hZ2VtZW50OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkxlYXZlVHlwZS5NYW5hZ2VtZW50JyxcbiAgICAgIFZpZXc6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLlZpZXcnLFxuICAgICAgRWRpdDogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVR5cGUuRWRpdCcsXG4gICAgICBEZWxldGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLkRlbGV0ZScsXG4gICAgICBDcmVhdGU6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVUeXBlLkNyZWF0ZScsXG4gICAgfSxcbiAgICBMZWF2ZVJlcXVlc3Q6IHtcbiAgICAgIE1hbmFnZW1lbnQ6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50OlBlcm1pc3Npb246TGVhdmVSZXF1ZXN0Lk1hbmFnZW1lbnQnLFxuICAgICAgVmlldzogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuVmlldycsXG4gICAgICBFZGl0OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpQZXJtaXNzaW9uOkxlYXZlUmVxdWVzdC5FZGl0JyxcbiAgICAgIERlbGV0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuRGVsZXRlJyxcbiAgICAgIENyZWF0ZTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6UGVybWlzc2lvbjpMZWF2ZVJlcXVlc3QuQ3JlYXRlJyxcbiAgICB9LFxuICB9LFxufTtcblxuIl19","import { AXTranslationService } from '@acorex/core/translation';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMPermissionDefinitionProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async define(context) {\n const keys = AXMPermissionsKeys.HumanCapitalManagement;\n const moduleTitle = await this.translateService.translateAsync('@human-capital-management:module.permissions.title');\n const moduleDescription = await this.translateService.translateAsync('@human-capital-management:module.permissions.description');\n context.addGroup(RootConfig.module.name, moduleTitle, moduleDescription)\n //\n .addPermission(keys.Employee.Management, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.description'))\n .addChild(keys.Employee.View, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.view.description'))\n .addChild(keys.Employee.Create, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.create.description'))\n .addChild(keys.Employee.Edit, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.edit.description'))\n .addChild(keys.Employee.Delete, await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employees.permissions.employees.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.EmploymentType.Management, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.description'))\n .addChild(keys.EmploymentType.View, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.view.description'))\n .addChild(keys.EmploymentType.Create, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.create.description'))\n .addChild(keys.EmploymentType.Edit, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.edit.description'))\n .addChild(keys.EmploymentType.Delete, await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:employment-types.permissions.employment-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.PositionAssignment.Management, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.description'))\n .addChild(keys.PositionAssignment.View, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.view.description'))\n .addChild(keys.PositionAssignment.Create, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.create.description'))\n .addChild(keys.PositionAssignment.Edit, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.edit.description'))\n .addChild(keys.PositionAssignment.Delete, await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:position-assignments.permissions.position-assignments.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.LeaveType.Management, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.description'))\n .addChild(keys.LeaveType.View, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.view.description'))\n .addChild(keys.LeaveType.Create, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.create.description'))\n .addChild(keys.LeaveType.Edit, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.edit.description'))\n .addChild(keys.LeaveType.Delete, await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-types.permissions.leave-types.actions.delete.description'))\n .endPermission()\n //\n .addPermission(keys.LeaveRequest.Management, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.description'))\n .addChild(keys.LeaveRequest.View, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.view.description'))\n .addChild(keys.LeaveRequest.Create, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.create.description'))\n .addChild(keys.LeaveRequest.Edit, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.edit.description'))\n .addChild(keys.LeaveRequest.Delete, await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.title'), await this.translateService.translateAsync('@human-capital-management:leave-requests.permissions.leave-requests.actions.delete.description'))\n .endPermission()\n //\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMPermissionDefinitionProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL3Blcm1pc3Npb24tZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUdyQyxNQUFNLE9BQU8sK0JBQStCO0lBRzFDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFDMUQsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsc0JBQXNCLENBQUM7UUFFdkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDckgsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUVqSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQztZQUN0RSxFQUFFO2FBQ0QsYUFBYSxDQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxF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YyxDQUFDLGdHQUFnRyxDQUFDLENBQUM7YUFDeFQsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyx3RkFBd0YsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyw4RkFBOEYsQ0FBQyxDQUFDO2FBQ2xULFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsMEZBQTBGLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsZ0dBQWdHLENBQUMsQ0FBQzthQUN4VCxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELFFBQVEsRUFBRSxDQUFDO0lBQ2hCLENBQUM7K0dBdkVVLCtCQUErQjttSEFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciwgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVBlcm1pc3Npb25zS2V5cyB9IGZyb20gJy4vcGVybWlzc2lvbi5rZXlzJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBBWFRyYW5zbGF0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGRlZmluZShjb250ZXh0OiBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGtleXMgPSBBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudDtcblxuICAgIGNvbnN0IG1vZHVsZVRpdGxlID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS5wZXJtaXNzaW9ucy50aXRsZScpO1xuICAgIGNvbnN0IG1vZHVsZURlc2NyaXB0aW9uID0gYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Om1vZHVsZS5wZXJtaXNzaW9ucy5kZXNjcmlwdGlvbicpO1xuXG4gICAgY29udGV4dC5hZGRHcm91cChSb290Q29uZmlnLm1vZHVsZS5uYW1lLCBtb2R1bGVUaXRsZSwgbW9kdWxlRGVzY3JpcHRpb24pXG4gICAgICAvL1xuICAgICAgLmFkZFBlcm1pc3Npb24oXG4gICAgICAgIGtleXMuRW1wbG95ZWUuTWFuYWdlbWVudCxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuZGVzY3JpcHRpb24nKVxuICAgICAgKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuVmlldywgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuYWN0aW9ucy52aWV3LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZXMucGVybWlzc2lvbnMuZW1wbG95ZWVzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmNyZWF0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuRWRpdCwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5wZXJtaXNzaW9ucy5lbXBsb3llZXMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZXMucGVybWlzc2lvbnMuZW1wbG95ZWVzLmFjdGlvbnMuZWRpdC5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95ZWUuRGVsZXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWVzLnBlcm1pc3Npb25zLmVtcGxveWVlcy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5hZGRQZXJtaXNzaW9uKFxuICAgICAgICBrZXlzLkVtcGxveW1lbnRUeXBlLk1hbmFnZW1lbnQsXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMucGVybWlzc2lvbnMuZW1wbG95bWVudC10eXBlcy5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5FbXBsb3ltZW50VHlwZS5WaWV3LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMudmlldy50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRW1wbG95bWVudFR5cGUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5wZXJtaXNzaW9ucy5lbXBsb3ltZW50LXR5cGVzLmFjdGlvbnMuY3JlYXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkVtcGxveW1lbnRUeXBlLkVkaXQsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5FbXBsb3ltZW50VHlwZS5EZWxldGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3ltZW50LXR5cGVzLnBlcm1pc3Npb25zLmVtcGxveW1lbnQtdHlwZXMuYWN0aW9ucy5kZWxldGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveW1lbnQtdHlwZXMucGVybWlzc2lvbnMuZW1wbG95bWVudC10eXBlcy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5hZGRQZXJtaXNzaW9uKFxuICAgICAgICBrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5NYW5hZ2VtZW50LFxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMudGl0bGUnKSxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OnBvc2l0aW9uLWFzc2lnbm1lbnRzLnBlcm1pc3Npb25zLnBvc2l0aW9uLWFzc2lnbm1lbnRzLmRlc2NyaXB0aW9uJylcbiAgICAgIClcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5WaWV3LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy52aWV3LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5DcmVhdGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5FZGl0LCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5lZGl0LnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmVkaXQuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlBvc2l0aW9uQXNzaWdubWVudC5EZWxldGUsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5wZXJtaXNzaW9ucy5wb3NpdGlvbi1hc3NpZ25tZW50cy5hY3Rpb25zLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudHMucGVybWlzc2lvbnMucG9zaXRpb24tYXNzaWdubWVudHMuYWN0aW9ucy5kZWxldGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihcbiAgICAgICAga2V5cy5MZWF2ZVR5cGUuTWFuYWdlbWVudCxcbiAgICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLnRpdGxlJyksXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS10eXBlcy5wZXJtaXNzaW9ucy5sZWF2ZS10eXBlcy5kZXNjcmlwdGlvbicpXG4gICAgICApXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuVmlldywgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMudmlldy50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy52aWV3LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuQ3JlYXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuY3JlYXRlLmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuRWRpdCwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuZWRpdC50aXRsZScpLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5MZWF2ZVR5cGUuRGVsZXRlLCBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtdHlwZXMucGVybWlzc2lvbnMubGVhdmUtdHlwZXMuYWN0aW9ucy5kZWxldGUudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXR5cGVzLnBlcm1pc3Npb25zLmxlYXZlLXR5cGVzLmFjdGlvbnMuZGVsZXRlLmRlc2NyaXB0aW9uJykpXG4gICAgICAuZW5kUGVybWlzc2lvbigpXG4gICAgICAvL1xuICAgICAgLmFkZFBlcm1pc3Npb24oXG4gICAgICAgIGtleXMuTGVhdmVSZXF1ZXN0Lk1hbmFnZW1lbnQsXG4gICAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMucGVybWlzc2lvbnMubGVhdmUtcmVxdWVzdHMuZGVzY3JpcHRpb24nKVxuICAgICAgKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LlZpZXcsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLnZpZXcudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMudmlldy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkNyZWF0ZSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuY3JlYXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmNyZWF0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkVkaXQsIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmVkaXQudGl0bGUnKSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuZWRpdC5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuTGVhdmVSZXF1ZXN0LkRlbGV0ZSwgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3RzLnBlcm1pc3Npb25zLmxlYXZlLXJlcXVlc3RzLmFjdGlvbnMuZGVsZXRlLnRpdGxlJyksIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS1yZXF1ZXN0cy5wZXJtaXNzaW9ucy5sZWF2ZS1yZXF1ZXN0cy5hY3Rpb25zLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmVuZFBlcm1pc3Npb24oKVxuICAgICAgLy9cbiAgICAgIC5lbmRHcm91cCgpO1xuICB9XG59XG5cbiJdfQ==","export const AXPHumanCapitalManagementMenuKeys = {\n Root: 'HumanCapitalManagement:Menu',\n Employees: 'HumanCapitalManagement:Menu:Employees',\n EmploymentTypes: 'HumanCapitalManagement:Menu:EmploymentTypes',\n Divider1: 'HumanCapitalManagement:Menu:Divider1',\n PositionAssignments: 'HumanCapitalManagement:Menu:PositionAssignments',\n Divider2: 'HumanCapitalManagement:Menu:Divider2',\n LeaveTypes: 'HumanCapitalManagement:Menu:LeaveTypes',\n LeaveRequests: 'HumanCapitalManagement:Menu:LeaveRequests',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5rZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL21lbnUua2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRztJQUM3QyxJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLFNBQVMsRUFBRSx1Q0FBdUM7SUFDbEQsZUFBZSxFQUFFLDZDQUE2QztJQUM5RCxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELG1CQUFtQixFQUFFLGlEQUFpRDtJQUN0RSxRQUFRLEVBQUUsc0NBQXNDO0lBQ2hELFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsYUFBYSxFQUFFLDJDQUEyQztDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cyA9IHtcbiAgICBSb290OiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpNZW51JyxcbiAgICBFbXBsb3llZXM6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50Ok1lbnU6RW1wbG95ZWVzJyxcbiAgICBFbXBsb3ltZW50VHlwZXM6ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50Ok1lbnU6RW1wbG95bWVudFR5cGVzJyxcbiAgICBEaXZpZGVyMTogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpEaXZpZGVyMScsXG4gICAgUG9zaXRpb25Bc3NpZ25tZW50czogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpQb3NpdGlvbkFzc2lnbm1lbnRzJyxcbiAgICBEaXZpZGVyMjogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpEaXZpZGVyMicsXG4gICAgTGVhdmVUeXBlczogJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQ6TWVudTpMZWF2ZVR5cGVzJyxcbiAgICBMZWF2ZVJlcXVlc3RzOiAnSHVtYW5DYXBpdGFsTWFuYWdlbWVudDpNZW51OkxlYXZlUmVxdWVzdHMnLFxufSBhcyBjb25zdDtcblxuIl19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\nimport { AXPHumanCapitalManagementMenuKeys } from './menu.keys';\nimport { AXMPermissionsKeys } from './permission.keys';\nimport { AXPHumanCapitalManagementFeatureKeys } from './features.keys';\nexport class AXMMenuProvider {\n constructor() {\n this.entityService = inject(AXPEntityService);\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n const module = RootConfig.module;\n context.addItems([\n {\n name: AXPHumanCapitalManagementMenuKeys.Root,\n priority: 9001,\n text: '@human-capital-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: AXPHumanCapitalManagementMenuKeys.Employees,\n text: '@human-capital-management:employees.menus.employees.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employee.name),\n priority: 10,\n icon: RootConfig.entities.employee.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.EmploymentTypes,\n text: '@human-capital-management:employment-types.menus.employment-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.employmentType.name),\n priority: 11,\n icon: RootConfig.entities.employmentType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.Divider1,\n text: '',\n type: 'break',\n priority: 14,\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.PositionAssignments,\n text: '@human-capital-management:position-assignments.menus.position-assignments.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.positionAssignment.name),\n priority: 15,\n icon: RootConfig.entities.positionAssignment.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.Employee.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.EmployeeManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.Divider2,\n text: '',\n type: 'break',\n priority: 16,\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveTypes,\n text: '@human-capital-management:leave-types.menus.leave-types.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveType.name),\n priority: 17,\n icon: RootConfig.entities.leaveType.icon,\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveType.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n {\n name: AXPHumanCapitalManagementMenuKeys.LeaveRequests,\n text: '@human-capital-management:leave-requests.menus.leave-requests.title',\n path: this.entityService.createPath(module.name, RootConfig.entities.leaveRequest.name),\n priority: 18,\n icon: RootConfig.entities.leaveRequest.icon,\n badgeKey: 'leave-request-badge',\n policy: {\n permissions: [AXMPermissionsKeys.HumanCapitalManagement.LeaveRequest.Management],\n features: [AXPHumanCapitalManagementFeatureKeys.LeaveManagement],\n },\n },\n ],\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RSxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUNVLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQTRGckQsQ0FBQztJQTFGQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQStCO1FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2Y7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQyxDQUFDLElB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Q04sV0FBVyxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQzs0QkFDN0UsUUFBUSxFQUFFLENBQUMsb0NBQW9DLENBQUMsZUFBZSxDQUFDO3lCQUNqRTtxQkFDRjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsaUNBQWlDLENBQUMsYUFBYTt3QkFDckQsSUFBSSxFQUFFLHFFQUFxRTt3QkFDM0UsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO3dCQUN2RixRQUFRLEVBQUUsRUFBRTt3QkFDWixJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTt3QkFDM0MsUUFBUSxFQUFFLHFCQUFxQjt3QkFDL0IsTUFBTSxFQUFFOzRCQUNOLFdBQVcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7NEJBQ2hGLFFBQVEsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLGVBQWUsQ0FBQzt5QkFDakU7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUEVudGl0eVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzIH0gZnJvbSAnLi9tZW51LmtleXMnO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbnNLZXlzIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmtleXMnO1xuaW1wb3J0IHsgQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzIH0gZnJvbSAnLi9mZWF0dXJlcy5rZXlzJztcblxuZXhwb3J0IGNsYXNzIEFYTU1lbnVQcm92aWRlciBpbXBsZW1lbnRzIEFYUE1lbnVQcm92aWRlciB7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG5cbiAgYXN5bmMgcHJvdmlkZShjb250ZXh0OiBBWFBNZW51UHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXNBdXRob3JpemVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5zZXNzaW9uU2VydmljZS5pc0F1dGhvcml6ZWQkKTtcbiAgICBpZiAoIWlzQXV0aG9yaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZHVsZSA9IFJvb3RDb25maWcubW9kdWxlO1xuXG4gICAgY29udGV4dC5hZGRJdGVtcyhbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cy5Sb290LFxuICAgICAgICBwcmlvcml0eTogOTAwMSxcbiAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bW9kdWxlLm1lbnVzLnJvb3QudGl0bGUnLFxuICAgICAgICBpY29uOiBtb2R1bGUuaWNvbixcbiAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgZmVhdHVyZXM6IFttb2R1bGUubmFtZV0sXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkVtcGxveWVlcyxcbiAgICAgICAgICAgIHRleHQ6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlcy5tZW51cy5lbXBsb3llZXMudGl0bGUnLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveWVlLmljb24sXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5FbXBsb3llZS5NYW5hZ2VtZW50XSxcbiAgICAgICAgICAgICAgZmVhdHVyZXM6IFtBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50RmVhdHVyZUtleXMuRW1wbG95ZWVNYW5hZ2VtZW50XSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBBWFBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWVudUtleXMuRW1wbG95bWVudFR5cGVzLFxuICAgICAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95bWVudC10eXBlcy5tZW51cy5lbXBsb3ltZW50LXR5cGVzLnRpdGxlJyxcbiAgICAgICAgICAgIHBhdGg6IHRoaXMuZW50aXR5U2VydmljZS5jcmVhdGVQYXRoKG1vZHVsZS5uYW1lLCBSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveW1lbnRUeXBlLm5hbWUpLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDExLFxuICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5lbXBsb3ltZW50VHlwZS5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkVtcGxveWVlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkRpdmlkZXIxLFxuICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB0eXBlOiAnYnJlYWsnLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLlBvc2l0aW9uQXNzaWdubWVudHMsXG4gICAgICAgICAgICB0ZXh0OiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpwb3NpdGlvbi1hc3NpZ25tZW50cy5tZW51cy5wb3NpdGlvbi1hc3NpZ25tZW50cy50aXRsZScsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5wb3NpdGlvbkFzc2lnbm1lbnQubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTUsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLnBvc2l0aW9uQXNzaWdubWVudC5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuRW1wbG95ZWUuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkVtcGxveWVlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkRpdmlkZXIyLFxuICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICB0eXBlOiAnYnJlYWsnLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE2LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudE1lbnVLZXlzLkxlYXZlVHlwZXMsXG4gICAgICAgICAgICB0ZXh0OiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDpsZWF2ZS10eXBlcy5tZW51cy5sZWF2ZS10eXBlcy50aXRsZScsXG4gICAgICAgICAgICBwYXRoOiB0aGlzLmVudGl0eVNlcnZpY2UuY3JlYXRlUGF0aChtb2R1bGUubmFtZSwgUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVR5cGUubmFtZSksXG4gICAgICAgICAgICBwcmlvcml0eTogMTcsXG4gICAgICAgICAgICBpY29uOiBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlVHlwZS5pY29uLFxuICAgICAgICAgICAgcG9saWN5OiB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbQVhNUGVybWlzc2lvbnNLZXlzLkh1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVUeXBlLk1hbmFnZW1lbnRdLFxuICAgICAgICAgICAgICBmZWF0dXJlczogW0FYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlS2V5cy5MZWF2ZU1hbmFnZW1lbnRdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNZW51S2V5cy5MZWF2ZVJlcXVlc3RzLFxuICAgICAgICAgICAgdGV4dDogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6bGVhdmUtcmVxdWVzdHMubWVudXMubGVhdmUtcmVxdWVzdHMudGl0bGUnLFxuICAgICAgICAgICAgcGF0aDogdGhpcy5lbnRpdHlTZXJ2aWNlLmNyZWF0ZVBhdGgobW9kdWxlLm5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWUpLFxuICAgICAgICAgICAgcHJpb3JpdHk6IDE4LFxuICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVJlcXVlc3QuaWNvbixcbiAgICAgICAgICAgIGJhZGdlS2V5OiAnbGVhdmUtcmVxdWVzdC1iYWRnZScsXG4gICAgICAgICAgICBwb2xpY3k6IHtcbiAgICAgICAgICAgICAgcGVybWlzc2lvbnM6IFtBWE1QZXJtaXNzaW9uc0tleXMuSHVtYW5DYXBpdGFsTWFuYWdlbWVudC5MZWF2ZVJlcXVlc3QuTWFuYWdlbWVudF0sXG4gICAgICAgICAgICAgIGZlYXR1cmVzOiBbQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVLZXlzLkxlYXZlTWFuYWdlbWVudF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG59XG4iXX0=","import { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport * as i0 from \"@angular/core\";\nexport class AXMHumanCapitalModuleEntityProvider {\n constructor() {\n this.injector = inject(Injector);\n }\n preload() {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity) => ({\n module: module,\n entity: entity.name,\n }));\n }\n async get(moduleName, entityName) {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.employee.name:\n return (await import('./entities/employee/employee.entity')).factory();\n case RootConfig.entities.employmentType.name:\n return (await import('./entities/employment-type/employment-type.entity')).factory();\n case RootConfig.entities.positionAssignment?.name:\n return (await import('./entities/position-assignment/position-assignment.entity')).factory();\n case RootConfig.entities.leaveType.name:\n return (await import('./entities/leave-type/leave-type.entity')).factory();\n case RootConfig.entities.leaveRequest.name:\n return (await import('./entities/leave-request/leave-request.entity')).factory();\n }\n }\n return null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalModuleEntityProvider, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0eS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHckMsTUFBTSxPQUFPLG1DQUFtQztJQURoRDtRQVVVLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FtQnJDO0lBM0JRLE9BQU87UUFDWixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUUsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBSUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzlDLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekMsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJO29CQUNwQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6RSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUk7b0JBQzFDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxtREFBbUQsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZGLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJO29CQUMvQyxPQUFPLENBQUMsTUFBTSxNQUFNLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvRixLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUk7b0JBQ3JDLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSTtvQkFDeEMsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyRixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0EzQlUsbUNBQW1DO21IQUFuQyxtQ0FBbUM7OzRGQUFuQyxtQ0FBbUM7a0JBRC9DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyLCBBWFBFbnRpdHlQcmVsb2FkRW50aXR5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUh1bWFuQ2FwaXRhbE1vZHVsZUVudGl0eVByb3ZpZGVyIGltcGxlbWVudHMgQVhQRW50aXR5RGVmaW5pdGlvbkxvYWRlciB7XG4gIHB1YmxpYyBwcmVsb2FkKCk6IEFYUEVudGl0eVByZWxvYWRFbnRpdHlbXSB7XG4gICAgY29uc3QgbW9kdWxlID0gUm9vdENvbmZpZy5tb2R1bGUubmFtZTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShPYmplY3QudmFsdWVzKFJvb3RDb25maWcuZW50aXRpZXMpKS5tYXAoKGVudGl0eTogYW55KSA9PiAoe1xuICAgICAgbW9kdWxlOiBtb2R1bGUsXG4gICAgICBlbnRpdHk6IGVudGl0eS5uYW1lLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGFzeW5jIGdldChtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICAgIGlmIChtb2R1bGVOYW1lID09IFJvb3RDb25maWcubW9kdWxlLm5hbWUpIHtcbiAgICAgIHN3aXRjaCAoZW50aXR5TmFtZSkge1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbXBsb3llZS9lbXBsb3llZS5lbnRpdHknKSkuZmFjdG9yeSgpO1xuICAgICAgICBjYXNlIFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95bWVudFR5cGUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbXBsb3ltZW50LXR5cGUvZW1wbG95bWVudC10eXBlLmVudGl0eScpKS5mYWN0b3J5KCk7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5wb3NpdGlvbkFzc2lnbm1lbnQ/Lm5hbWU6XG4gICAgICAgICAgcmV0dXJuIChhd2FpdCBpbXBvcnQoJy4vZW50aXRpZXMvcG9zaXRpb24tYXNzaWdubWVudC9wb3NpdGlvbi1hc3NpZ25tZW50LmVudGl0eScpKS5mYWN0b3J5KCk7XG4gICAgICAgIGNhc2UgUm9vdENvbmZpZy5lbnRpdGllcy5sZWF2ZVR5cGUubmFtZTpcbiAgICAgICAgICByZXR1cm4gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9sZWF2ZS10eXBlL2xlYXZlLXR5cGUuZW50aXR5JykpLmZhY3RvcnkoKTtcbiAgICAgICAgY2FzZSBSb290Q29uZmlnLmVudGl0aWVzLmxlYXZlUmVxdWVzdC5uYW1lOlxuICAgICAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KCcuL2VudGl0aWVzL2xlYXZlLXJlcXVlc3QvbGVhdmUtcmVxdWVzdC5lbnRpdHknKSkuZmFjdG9yeSgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19","import { AXP_IDENTIFIER_RULES } from '@acorex/modules/identifier-management';\nimport { AXP_MODULE_MANIFEST_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPRuntimeModule } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXMLeaveRequestFeatureModule } from './features/leave-request/leave-request.module';\nimport { AXM_EMPLOYEE_CODE_IDENTIFIER_RULE } from './features/shared/identifiers/employee-code-identifier-rule.provider';\nimport { HumanCapitalManagementManifest } from './manifest';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMHumanCapitalModuleEntityProvider } from './entity.provider';\nimport { AXPHumanCapitalManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXMHumanCapitalManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXP_IDENTIFIER_RULES,\n multi: true,\n useValue: AXM_EMPLOYEE_CODE_IDENTIFIER_RULE,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: HumanCapitalManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMHumanCapitalModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPHumanCapitalManagementFeatureDefinitionProvider,\n multi: true,\n },\n ], imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXMHumanCapitalManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, AXPRuntimeModule, AXMLeaveRequestFeatureModule],\n providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXP_IDENTIFIER_RULES,\n multi: true,\n useValue: AXM_EMPLOYEE_CODE_IDENTIFIER_RULE,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: HumanCapitalManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMHumanCapitalModuleEntityProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXPHumanCapitalManagementFeatureDefinitionProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQvc3JjL2xpYi9odW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBd0NuRyxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7Z0hBQS9CLCtCQUErQixZQXJDaEMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0QjtnSEFxQzNELCtCQUErQixhQXBDL0I7WUFDVCwwREFBMEQ7WUFDMUQ7Z0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLGlDQUFpQzthQUM1QztZQUNELDJCQUEyQjtZQUMzQjtnQkFDRSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QseUNBQXlDO1lBQ3pDO2dCQUNFLE9BQU8sRUFBRSxrQ0FBa0M7Z0JBQzNDLFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixRQUFRLEVBQUUsZUFBZTtnQkFDekIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSw0QkFBNEI7Z0JBQ3JDLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxRQUFRLEVBQUUsa0RBQWtEO2dCQUM1RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFuQ1MsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0Qjs7NEZBcUMzRCwrQkFBK0I7a0JBdEMzQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztvQkFDdkUsU0FBUyxFQUFFO3dCQUNULDBEQUEwRDt3QkFDMUQ7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsS0FBSyxFQUFFLElBQUk7NEJBQ1gsUUFBUSxFQUFFLGlDQUFpQzt5QkFDNUM7d0JBQ0QsMkJBQTJCO3dCQUMzQjs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsOEJBQThCOzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCx5Q0FBeUM7d0JBQ3pDOzRCQUNFLE9BQU8sRUFBRSxrQ0FBa0M7NEJBQzNDLFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxlQUFlOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxRQUFRLEVBQUUsbUNBQW1DOzRCQUM3QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsa0RBQWtEOzRCQUM1RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUF9JREVOVElGSUVSX1JVTEVTIH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2lkZW50aWZpZXItbWFuYWdlbWVudCc7XG5pbXBvcnQgeyBBWFBfTU9EVUxFX01BTklGRVNUX1BST1ZJREVSLCBBWFBfRkVBVFVSRV9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfTUVOVV9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFJ1bnRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1MZWF2ZVJlcXVlc3RGZWF0dXJlTW9kdWxlIH0gZnJvbSAnLi9mZWF0dXJlcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QubW9kdWxlJztcbmltcG9ydCB7IEFYTV9FTVBMT1lFRV9DT0RFX0lERU5USUZJRVJfUlVMRSB9IGZyb20gJy4vZmVhdHVyZXMvc2hhcmVkL2lkZW50aWZpZXJzL2VtcGxveWVlLWNvZGUtaWRlbnRpZmllci1ydWxlLnByb3ZpZGVyJztcbmltcG9ydCB7IEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRNYW5pZmVzdCB9IGZyb20gJy4vbWFuaWZlc3QnO1xuaW1wb3J0IHsgQVhNUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciB9IGZyb20gJy4vcGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYTU1lbnVQcm92aWRlciB9IGZyb20gJy4vbWVudS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNb2R1bGVFbnRpdHlQcm92aWRlciB9IGZyb20gJy4vZW50aXR5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUEh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRGZWF0dXJlRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9mZWF0dXJlLWRlZmluaXRpb24ucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWFBSdW50aW1lTW9kdWxlLCBBWE1MZWF2ZVJlcXVlc3RGZWF0dXJlTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgLy8gTW9kdWxlLXNwZWNpZmljIHByb3ZpZGVycyAobm90IHBhcnQgb2YgbWFuaWZlc3Qgc3lzdGVtKVxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9JREVOVElGSUVSX1JVTEVTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZTogQVhNX0VNUExPWUVFX0NPREVfSURFTlRJRklFUl9SVUxFLFxuICAgIH0sXG4gICAgLy8gTW9kdWxlIE1hbmlmZXN0IFByb3ZpZGVyXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01PRFVMRV9NQU5JRkVTVF9QUk9WSURFUixcbiAgICAgIHVzZVZhbHVlOiBIdW1hbkNhcGl0YWxNYW5hZ2VtZW50TWFuaWZlc3QsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIFByb3ZpZGVyIHJlZmVyZW5jZXMgKG5vdyB1c2luZyB0b2tlbnMpXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1QZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfTUVOVV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1NZW51UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNSHVtYW5DYXBpdGFsTW9kdWxlRW50aXR5UHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9GRUFUVVJFX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQSHVtYW5DYXBpdGFsTWFuYWdlbWVudEZlYXR1cmVEZWZpbml0aW9uUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvYWNvcmV4LW1vZHVsZXMtaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|