@acorex/platform 20.2.0-next.2 → 20.2.0-next.3
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/common/index.d.ts +25 -42
- package/core/index.d.ts +104 -9
- package/fesm2022/acorex-platform-auth.mjs +20 -20
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +133 -115
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +276 -37
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain.mjs +16 -16
- package/fesm2022/acorex-platform-domain.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs +88 -67
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +137 -83
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs +262 -218
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +1040 -104
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +15 -15
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-native.mjs +7 -7
- package/fesm2022/acorex-platform-native.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs +40 -40
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-CzHp6G3a.mjs → acorex-platform-themes-default-create-entity-view.component-DBkuhSDb.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-create-entity-view.component-CzHp6G3a.mjs.map → acorex-platform-themes-default-create-entity-view.component-DBkuhSDb.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-8S2CXBAi.mjs +115 -0
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-8S2CXBAi.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C8UhVBSM.mjs → acorex-platform-themes-default-entity-master-list-view.component-Bf8N5e5h.mjs} +23 -23
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-C8UhVBSM.mjs.map → acorex-platform-themes-default-entity-master-list-view.component-Bf8N5e5h.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-Cn-0fTWn.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DF0gS61P.mjs} +5 -5
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DF0gS61P.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-B8XrO58H.mjs → acorex-platform-themes-default-entity-master-single-view.component-CEnHe_cU.mjs} +8 -8
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CEnHe_cU.mjs.map +1 -0
- package/fesm2022/{acorex-platform-themes-default-error-401.component-Ycd9latx.mjs → acorex-platform-themes-default-error-401.component-BYI4xP23.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-401.component-Ycd9latx.mjs.map → acorex-platform-themes-default-error-401.component-BYI4xP23.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DHbzH27Q.mjs → acorex-platform-themes-default-error-404.component-1gM0Vlbv.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-404.component-DHbzH27Q.mjs.map → acorex-platform-themes-default-error-404.component-1gM0Vlbv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BSdZOCbW.mjs → acorex-platform-themes-default-error-offline.component-Y3w3K60c.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-default-error-offline.component-BSdZOCbW.mjs.map → acorex-platform-themes-default-error-offline.component-Y3w3K60c.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs +39 -39
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-EZGn900W.mjs → acorex-platform-themes-shared-color-chooser-column.component-BLFvyMvH.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-column.component-EZGn900W.mjs.map → acorex-platform-themes-shared-color-chooser-column.component-BLFvyMvH.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DTLYX00a.mjs → acorex-platform-themes-shared-color-chooser-view.component-CN1lEEOY.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-color-chooser-view.component-DTLYX00a.mjs.map → acorex-platform-themes-shared-color-chooser-view.component-CN1lEEOY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-DMPET9Fu.mjs → acorex-platform-themes-shared-icon-chooser-view.component-UJ2abdzQ.mjs} +4 -4
- package/fesm2022/{acorex-platform-themes-shared-icon-chooser-view.component-DMPET9Fu.mjs.map → acorex-platform-themes-shared-icon-chooser-view.component-UJ2abdzQ.mjs.map} +1 -1
- package/fesm2022/acorex-platform-themes-shared.mjs +41 -41
- package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BUx-nksc.mjs → acorex-platform-widgets-button-widget-designer.component-BMsEt6Lq.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-button-widget-designer.component-BUx-nksc.mjs.map → acorex-platform-widgets-button-widget-designer.component-BMsEt6Lq.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CezBQ0iO.mjs +85 -0
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CezBQ0iO.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-Dj3Go0tj.mjs → acorex-platform-widgets-checkbox-widget-designer.component-BkH4hBUc.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-designer.component-Dj3Go0tj.mjs.map → acorex-platform-widgets-checkbox-widget-designer.component-BkH4hBUc.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-Y12esByc.mjs → acorex-platform-widgets-checkbox-widget-view.component-BwlHVBRW.mjs} +19 -6
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BwlHVBRW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CihtTd0F.mjs → acorex-platform-widgets-color-box-widget-designer.component-BPLG8mY4.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-color-box-widget-designer.component-CihtTd0F.mjs.map → acorex-platform-widgets-color-box-widget-designer.component-BPLG8mY4.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-n3nuXZNq.mjs → acorex-platform-widgets-file-list-popup.component-Bwbrw1xo.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-file-list-popup.component-n3nuXZNq.mjs.map → acorex-platform-widgets-file-list-popup.component-Bwbrw1xo.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-file-rename-popup.component-DBRV6X7W.mjs → acorex-platform-widgets-file-rename-popup.component-CXRHtjFu.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-file-rename-popup.component-DBRV6X7W.mjs.map → acorex-platform-widgets-file-rename-popup.component-CXRHtjFu.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-D_970YBz.mjs → acorex-platform-widgets-page-widget-designer.component-Cf5bTu-k.mjs} +6 -6
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-Cf5bTu-k.mjs.map +1 -0
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DPuTM42n.mjs → acorex-platform-widgets-rich-text-popup.component-DOGwSrH1.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-rich-text-popup.component-DPuTM42n.mjs.map → acorex-platform-widgets-rich-text-popup.component-DOGwSrH1.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BH1_BkJh.mjs → acorex-platform-widgets-tabular-data-edit-popup.component-CFg2-tyF.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-tabular-data-edit-popup.component-BH1_BkJh.mjs.map → acorex-platform-widgets-tabular-data-edit-popup.component-CFg2-tyF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-DCsLuXR9.mjs → acorex-platform-widgets-tabular-data-view-popup.component-BvVF-vJF.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-tabular-data-view-popup.component-DCsLuXR9.mjs.map → acorex-platform-widgets-tabular-data-view-popup.component-BvVF-vJF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-C_iu3jCG.mjs → acorex-platform-widgets-text-block-widget-designer.component-BhXq3JZ1.mjs} +4 -4
- package/fesm2022/{acorex-platform-widgets-text-block-widget-designer.component-C_iu3jCG.mjs.map → acorex-platform-widgets-text-block-widget-designer.component-BhXq3JZ1.mjs.map} +1 -1
- package/fesm2022/acorex-platform-widgets.mjs +744 -701
- package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-workflow.mjs +33 -25
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/layout/builder/index.d.ts +6 -29
- package/layout/components/index.d.ts +62 -2
- package/layout/designer/index.d.ts +11 -20
- package/layout/entity/index.d.ts +302 -7
- package/package.json +5 -5
- package/widgets/index.d.ts +14 -16
- package/workflow/index.d.ts +154 -18
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-nzWNHDO7.mjs +0 -115
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-nzWNHDO7.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-Cn-0fTWn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-B8XrO58H.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-C7mpTEda.mjs +0 -56
- package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-C7mpTEda.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-Y12esByc.mjs.map +0 -1
- package/fesm2022/acorex-platform-widgets-page-widget-designer.component-D_970YBz.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-common.mjs","sources":["../tmp-esm2022/common/lib/app/app-version.provider.js","../tmp-esm2022/common/lib/app/application.types.js","../tmp-esm2022/common/lib/app/operators.js","../tmp-esm2022/common/lib/home-page/home-page.types.js","../tmp-esm2022/common/lib/settings/setting.builder.js","../tmp-esm2022/common/lib/settings/setting-definition.service.js","../tmp-esm2022/common/lib/settings/settings.provider.js","../tmp-esm2022/common/lib/settings/settings.service.js","../tmp-esm2022/common/lib/home-page/home-page-settings.key.js","../tmp-esm2022/common/lib/home-page/home-page.service.js","../tmp-esm2022/common/lib/home-page/home-page.routes.js","../tmp-esm2022/common/lib/home-page/home-page-settings.provider.js","../tmp-esm2022/common/lib/home-page/home-page.module.js","../tmp-esm2022/common/lib/data/data-provider.types.js","../tmp-esm2022/common/lib/data/operators.service.js","../tmp-esm2022/common/lib/data/filter-middleware.service.js","../tmp-esm2022/common/lib/errors/error-handler-registry.service.js","../tmp-esm2022/common/lib/errors/global-error-handler.js","../tmp-esm2022/common/lib/layout/grid-layout/grid-layout.directive.js","../tmp-esm2022/common/lib/layout/sticky.directive.js","../tmp-esm2022/common/lib/layout/logo/logo.component.js","../tmp-esm2022/common/lib/layout/menu/menu.provider.js","../tmp-esm2022/common/lib/layout/menu/menu.service.js","../tmp-esm2022/common/lib/layout/menu/search-definition.provider.js","../tmp-esm2022/common/lib/layout/menu/search.provider.js","../tmp-esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.js","../tmp-esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.js","../tmp-esm2022/common/lib/search/search-definition.builder.js","../tmp-esm2022/common/lib/search/search-definition.provider.js","../tmp-esm2022/common/lib/search/search.provider.js","../tmp-esm2022/common/lib/search/search.service.js","../tmp-esm2022/common/lib/workflows/common.workflow.js","../tmp-esm2022/common/lib/workflows/navigate.workflow.js","../tmp-esm2022/common/lib/workflows/error-handler.js","../tmp-esm2022/common/lib/global-variables/global-variable-definition.provider.js","../tmp-esm2022/common/lib/global-variables/global-variable-definition.service.js","../tmp-esm2022/common/lib/global-variables/global-variable-evaluator-scope.provider.js","../tmp-esm2022/common/lib/common.module.js","../tmp-esm2022/common/lib/configs/app.config.js","../tmp-esm2022/common/lib/configs/config.types.js","../tmp-esm2022/common/lib/file-storage/file-storage.service.js","../tmp-esm2022/common/lib/file-storage/file-storage.types.js","../tmp-esm2022/common/lib/file-type/file-type.provider.js","../tmp-esm2022/common/lib/lock-system/lock.service.js","../tmp-esm2022/common/lib/reports/report.types.js","../tmp-esm2022/common/lib/reports/report-definition.provider.js","../tmp-esm2022/common/lib/reports/report-definition.service.js","../tmp-esm2022/common/lib/reports/report-mapper.js","../tmp-esm2022/common/lib/utils/clipboard-service.js","../tmp-esm2022/common/lib/utils/export-popup.js","../tmp-esm2022/common/lib/utils/export.service.js","../tmp-esm2022/common/lib/utils/filter-cleaner.js","../tmp-esm2022/common/lib/utils/regional-util.service.js","../tmp-esm2022/common/acorex-platform-common.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const AXP_APP_VERSION_PROVIDER = new InjectionToken('AXP_APP_VERSION_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPAppVersionDefaultProvider();\n },\n});\nclass AXPAppVersionDefaultProvider {\n async provider() {\n return {\n version: '1.0.0',\n build: 1,\n date: new Date(),\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2FwcC9hcHAtdmVyc2lvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF3QiwwQkFBMEIsRUFBRTtJQUM1RyxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osT0FBTyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDNUMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sNEJBQTRCO0lBQ2hDLEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTztZQUNMLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFwcFZlcnNpb24ge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGJ1aWxkOiBudW1iZXI7XG4gIGRhdGU6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQXBwVmVyc2lvblByb3ZpZGVyIHtcbiAgcHJvdmlkZXIoKTogUHJvbWlzZTxBWFBBcHBWZXJzaW9uPjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9BUFBfVkVSU0lPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBBcHBWZXJzaW9uUHJvdmlkZXI+KCdBWFBfQVBQX1ZFUlNJT05fUFJPVklERVInLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiBuZXcgQVhQQXBwVmVyc2lvbkRlZmF1bHRQcm92aWRlcigpO1xuICB9LFxufSk7XG5cbmNsYXNzIEFYUEFwcFZlcnNpb25EZWZhdWx0UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBBcHBWZXJzaW9uUHJvdmlkZXIge1xuICBhc3luYyBwcm92aWRlcigpOiBQcm9taXNlPEFYUEFwcFZlcnNpb24+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICAgIGJ1aWxkOiAxLFxuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=","import { kebabCase } from 'lodash-es';\nexport var AXPRelationshipKind;\n(function (AXPRelationshipKind) {\n AXPRelationshipKind[AXPRelationshipKind[\"Association\"] = 0] = \"Association\";\n AXPRelationshipKind[AXPRelationshipKind[\"Composition\"] = 1] = \"Composition\";\n AXPRelationshipKind[AXPRelationshipKind[\"Aggregation\"] = 2] = \"Aggregation\";\n})(AXPRelationshipKind || (AXPRelationshipKind = {}));\nexport var AXPRelationshipCardinality;\n(function (AXPRelationshipCardinality) {\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"OneToOne\"] = 0] = \"OneToOne\";\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"OneToMany\"] = 1] = \"OneToMany\";\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"ManyToMany\"] = 2] = \"ManyToMany\";\n})(AXPRelationshipCardinality || (AXPRelationshipCardinality = {}));\nexport var AXPEntityCommandScope;\n(function (AXPEntityCommandScope) {\n AXPEntityCommandScope[\"TypeLevel\"] = \"typeLevel\";\n AXPEntityCommandScope[\"Selected\"] = \"selected\";\n AXPEntityCommandScope[\"Individual\"] = \"individual\";\n AXPEntityCommandScope[\"Section\"] = \"section\";\n})(AXPEntityCommandScope || (AXPEntityCommandScope = {}));\nexport var AXPEntityQueryType;\n(function (AXPEntityQueryType) {\n AXPEntityQueryType[\"Single\"] = \"single\";\n AXPEntityQueryType[\"List\"] = \"list\";\n})(AXPEntityQueryType || (AXPEntityQueryType = {}));\nexport function getEntityInfo(entity) {\n return {\n source: `${entity.module}.${entity.name}`,\n module: {\n route: kebabCase(entity.module),\n },\n entity: {\n route: kebabCase(entity.name),\n },\n };\n}\nexport function createQueryView(name, title, fixed, params = {\n columns: [],\n conditions: [],\n sorts: [],\n}) {\n params = Object.assign({ columns: [], sorts: [], conditions: [] }, params);\n return {\n name,\n title,\n fixed,\n columns: params.columns ?? [],\n conditions: params.conditions ?? [],\n sorts: params.sorts ?? [],\n };\n}\nexport function createAllQueryView(params = {\n columns: [],\n sorts: [],\n conditions: [],\n}) {\n params = Object.assign({ columns: [], sorts: [], conditions: [] }, params);\n return createQueryView('all', 't(\"allItem\", { scope: \"common\" })', true, {\n columns: params.columns ?? [],\n conditions: params.conditions ?? [],\n sorts: params.sorts ?? [],\n });\n}\nexport function resolveActionLook(tr) {\n const icon = 'fa-light';\n switch (tr.type) {\n case 'create':\n return { color: 'primary', icon: `${icon} fa-add` };\n case 'view':\n return { color: 'primary', icon: `${icon} fa-eye` };\n case 'info':\n return { color: 'primary', icon: `${icon} fa-info` };\n case 'delete':\n return { color: 'danger', icon: `${icon} fa-trash-can` };\n case 'update':\n return { color: 'accent2', icon: `${icon} fa-pen` };\n case 'print':\n return { color: 'accent3', icon: `${icon} fa-print` };\n case 'confirm':\n return { color: 'success', icon: `${icon} fa-check` };\n case 'archive':\n return { color: 'warning', icon: `${icon} fa-archive` };\n case 'design':\n return { color: 'accent2', icon: `${icon} fa-paintbrush` };\n case 'version-history':\n return { color: 'warning', icon: `${icon} fa-history` };\n case 'upload':\n return { color: 'accent2', icon: `${icon} fa-upload` };\n default:\n return { color: 'primary', icon: '' };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2FwcC9hcHBsaWNhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZXRDLE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0IsMkVBQVcsQ0FBQTtJQUNYLDJFQUFXLENBQUE7SUFDWCwyRUFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLENBQU4sSUFBWSwwQkFJWDtBQUpELFdBQVksMEJBQTBCO0lBQ3BDLG1GQUFRLENBQUE7SUFDUixxRkFBUyxDQUFBO0lBQ1QsdUZBQVUsQ0FBQTtBQUNaLENBQUMsRUFKVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBSXJDO0FBVUQsTUFBTSxDQUFOLElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixnREFBdUIsQ0FBQTtJQUN2Qiw4Q0FBcUIsQ0FBQTtJQUNyQixrREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUtoQztBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsdUNBQWlCLENBQUE7SUFDakIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBK01ELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBaUI7SUFDN0MsT0FBTztRQUNMLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUyxDQUFDLE1B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QixFQUFFLElBQUksRUFBRSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRixLQUFLLGlCQUFpQjtZQUNwQixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQTZCLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM5RSxLQUFLLFFBQVE7WUFDWCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQTZCLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RTtZQUNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZU9wZXJhdG9yLCBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUG9wdXBTaXplVHlwZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YSwgQVhQVmFsaWRhdGlvblJ1bGVzLCBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldFR5cGVzTWFwIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBrZWJhYkNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMgfSBmcm9tICcuLi9sYXlvdXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYRW50aXR5UHJvcGVydHlXaWRnZXQge1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBmb3JtdWxhPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXTtcbiAgbW9kZTogJ3ZpZXcnIHwgJ2VkaXQnIDtcbiAgb3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHRyaWdnZXJzPzogeyBldmVudDogc3RyaW5nOyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH1bXTtcbiAgdmFsdWVUcmFuc2Zvcm1zPzogQVhQVmFsdWVUcmFuc2Zvcm1lckZ1bmN0aW9ucztcbn1cblxuZXhwb3J0IGVudW0gQVhQUmVsYXRpb25zaGlwS2luZCB7XG4gIEFzc29jaWF0aW9uLFxuICBDb21wb3NpdGlvbixcbiAgQWdncmVnYXRpb24sXG59XG5cbmV4cG9ydCBlbnVtIEFYUFJlbGF0aW9uc2hpcENhcmRpbmFsaXR5IHtcbiAgT25lVG9PbmUsXG4gIE9uZVRvTWFueSxcbiAgTWFueVRvTWFueSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZWxhdGlvbnNoaXAge1xuICBpZDogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG4gIGtpbmQ6IEFYUFJlbGF0aW9uc2hpcEtpbmQ7XG4gIGNhcmRpbmFsaXR5OiBBWFBSZWxhdGlvbnNoaXBDYXJkaW5hbGl0eTtcbn1cblxuZXhwb3J0IGVudW0gQVhQRW50aXR5Q29tbWFuZFNjb3BlIHtcbiAgVHlwZUxldmVsID0gJ3R5cGVMZXZlbCcsXG4gIFNlbGVjdGVkID0gJ3NlbGVjdGVkJyxcbiAgSW5kaXZpZHVhbCA9ICdpbmRpdmlkdWFsJyxcbiAgU2VjdGlvbiA9ICdzZWN0aW9uJyxcbn1cblxuZXhwb3J0IGVudW0gQVhQRW50aXR5UXVlcnlUeXBlIHtcbiAgU2luZ2xlID0gJ3NpbmdsZScsXG4gIExpc3QgPSAnbGlzdCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UHJvcGVydHlMYXlvdXRDb25maWcgZXh0ZW5kcyBBWFBHcmlkTGF5b3V0T3B0aW9ucyB7XG4gIGxhYmVsPzoge1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICB9O1xuICBvcmRlcj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlQcm9wZXJ0eUdyb3VwIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UHJvcGVydHlWaWV3IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkYXRhUGF0aD86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgbGF5b3V0PzogQVhQRW50aXR5UHJvcGVydHlMYXlvdXRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UHJvcGVydHlVcGRhdGVWaWV3IGV4dGVuZHMgQVhQRW50aXR5UHJvcGVydHlWaWV3IHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVByb3BlcnR5Q3JlYXRlVmlldyBleHRlbmRzIEFYUEVudGl0eVByb3BlcnR5VmlldyB7XG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlTZWN0aW9uVmlldyB7XG4gIGlkOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBvcmRlcj86IG51bWJlcjtcbiAgbGF5b3V0PzogQVhQRW50aXR5UHJvcGVydHlMYXlvdXRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBncm91cElkPzogc3RyaW5nO1xuICByZWZlcmVuY2U/OiB7XG4gICAgcmVsYXRpb25JZDogc3RyaW5nO1xuICB9O1xuICBzY2hlbWE6IHtcbiAgICBkYXRhVHlwZTogc3RyaW5nO1xuICAgIG51bGxhYmxlPzogYm9vbGVhbjtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU/OiBhbnkgfCBzdHJpbmcgfCAoKGNvbnRleHQ6IGFueSB8IG51bGwpID0+IGFueSk7XG4gICAgdW5pcXVlPzoge1xuICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGludGVyZmFjZT86IFBhcnRpYWw8QVhFbnRpdHlQcm9wZXJ0eVdpZGdldD47XG4gIH07XG4gIG9wdGlvbnM/OiB7XG4gICAgZmlsdGVyPzoge1xuICAgICAgYWR2YW5jZT86IHtcbiAgICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICAgIHdpZGdldFR5cGU/OiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF07XG4gICAgICB9O1xuICAgICAgaW5saW5lPzoge1xuICAgICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBzb3J0Pzoge1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgdmFsaWRhdGlvbnM/OiBBWFBWYWxpZGF0aW9uUnVsZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5VGFibGVDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzb3J0Pzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIGRpcj86ICdhc2MnIHwgJ2Rlc2MnO1xuICB9O1xuICBvcHRpb25zPzoge1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIHdpZHRoPzogc3RyaW5nO1xuICAgIGRhdGFQYXRoPzogc3RyaW5nO1xuICAgIFtuYW1lOiBzdHJpbmddOiBhbnk7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5Q29tbWFuZCB7XG4gIGV4ZWN1dGU6IHN0cmluZyB8IEZ1bmN0aW9uOyAvLyBBcyBydW5uYWJsZSBleHByZXNzaW9uXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UXVlcnkge1xuICBleGVjdXRlOiBzdHJpbmcgfCBGdW5jdGlvbjsgLy8gQXMgcnVubmFibGUgZXhwcmVzc2lvblxuICB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGU7XG59XG5cbmV4cG9ydCB0eXBlIEFYUENvbW1hbmRBY3Rpb25UeXBlID1cbiAgfCAnY3JlYXRlJ1xuICB8ICd1cGRhdGUnXG4gIHwgJ2RlbGV0ZSdcbiAgfCAncHJpbnQnXG4gIHwgJ2NvbmZpcm0nXG4gIHwgJ3JlcG9ydCdcbiAgfCAnaW5mbydcbiAgfCAndmlldydcbiAgfCAnYXJjaGl2ZSdcbiAgfCAnZGVzaWduJ1xuICB8ICd1cGxvYWQnXG4gIHwgJ3ZlcnNpb24taGlzdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tbWFuZEFjdGlvbkxvb2sge1xuICBjb2xvcjogQVhTdHlsZUNvbG9yVHlwZTtcbiAgaWNvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBWFBDb21tYW5kQWN0aW9uUHJpb3JpdHkgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuLy9UT0RPOiByZW1vdmUgZXh0cmEgcHJvcHNcbmV4cG9ydCB0eXBlIEFYUENvbW1hbmRBY3Rpb25DYWxsYmFjayA9XG4gIHwgc3RyaW5nXG4gIHwge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcHRpb25zPzoge1xuICAgICAgZGVjb3JhdGlvbj86IHtcbiAgICAgICAgaGVhZGVyPzoge1xuICAgICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIHByb2Nlc3M/OiB7XG4gICAgICAgIGRhdGE/OiBhbnk7XG4gICAgICAgIFtuYW1lOiBzdHJpbmddOiBhbnk7XG4gICAgICB9O1xuICAgICAgbGF5b3V0Pzoge1xuICAgICAgICBzaXplPzogQVhQb3B1cFNpemVUeXBlO1xuICAgICAgfTtcbiAgICAgIFtuYW1lOiBzdHJpbmddOiBhbnk7XG4gICAgfTtcbiAgICBtZXRhZGF0YT86IEFYUE1ldGFEYXRhO1xuICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbW1hbmRBY3Rpb25EaXNwbGF5IGV4dGVuZHMgUGFydGlhbDxBWFBDb21tYW5kQWN0aW9uTG9vaz4ge1xuICBuYW1lPzogc3RyaW5nO1xuICBjb21tYW5kOiBBWFBDb21tYW5kQWN0aW9uQ2FsbGJhY2s7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHR5cGU6IEFYUENvbW1hbmRBY3Rpb25UeXBlO1xuICBwcmlvcml0eTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeSc7XG4gIHNlcGFyYXRlZD86IGJvb2xlYW47XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIGhpZGRlbj86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgZGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5QWN0aW9uIGV4dGVuZHMgQVhQQ29tbWFuZEFjdGlvbkRpc3BsYXkge1xuICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eSB7XG4gIG1vZHVsZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBwYXJlbnRLZXk/OiBzdHJpbmc7XG4gIGNhdGVnb3J5PzogQVhQQ2F0ZWdvcnlFbnRpdHk7XG4gIHZlcnNpb25IaXN0b3J5PzogQVhQRW50aXR5VmVyc2lvbkhpc3Rvcnk7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGZvcm1hdHM6IHtcbiAgICBpbmRpdmlkdWFsOiBzdHJpbmc7XG4gICAgcGx1cmFsOiBzdHJpbmc7XG4gICAgbG9va3VwPzogc3RyaW5nO1xuICAgIHNlYXJjaFJlc3VsdD86IHtcbiAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICByZWxhdGVkRW50aXRpZXM/OiBBWFBSZWxhdGVkRW50aXR5W107XG4gIGdyb3Vwcz86IEFYUEVudGl0eVByb3BlcnR5R3JvdXBbXTtcbiAgcHJvcGVydGllczogQVhQRW50aXR5UHJvcGVydHlbXTtcbiAgY29sdW1ucz86IEFYUEVudGl0eVRhYmxlQ29sdW1uW107XG4gIGNvbW1hbmRzPzoge1xuICAgIGNyZWF0ZTogQVhQRW50aXR5Q29tbWFuZCB8IHVuZGVmaW5lZDtcbiAgICB1cGRhdGU/OiBBWFBFbnRpdHlDb21tYW5kIHwgdW5kZWZpbmVkO1xuICAgIGRlbGV0ZT86IEFYUEVudGl0eUNvbW1hbmQgfCB1bmRlZmluZWQ7XG4gICAgW25hbWU6IHN0cmluZ106IEFYUEVudGl0eUNvbW1hbmQgfCB1bmRlZmluZWQ7XG4gIH07XG4gIHF1ZXJpZXM6IHtcbiAgICBieUtleTogQVhQRW50aXR5UXVlcnk7XG4gICAgbGlzdD86IEFYUEVudGl0eVF1ZXJ5O1xuICAgIGxvb2t1cD86IEFYUEVudGl0eVF1ZXJ5O1xuICAgIGhpc3Rvcnk/OiBBWFBFbnRpdHlRdWVyeTtcbiAgICBjb21tZW50cz86IEFYUEVudGl0eVF1ZXJ5O1xuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBFbnRpdHlRdWVyeSB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgdmFsaWRhdGlvbnM/OiBBWFBWYWxpZGF0aW9uUnVsZXM7XG4gIGludGVyZmFjZXM/OiB7XG4gICAgbWFzdGVyPzoge1xuICAgICAgc2luZ2xlPzogQVhQRW50aXR5TWFzdGVyU2luZ2xlTGF5b3V0VmlldztcbiAgICAgIGxpc3Q/OiBBWFBFbnRpdHlNYXN0ZXJMaXN0VmlldztcbiAgICAgIGNyZWF0ZT86IEFYUEVudGl0eU1hc3RlckNyZWF0ZUxheW91dFZpZXc7XG4gICAgICB1cGRhdGU/OiBBWFBFbnRpdHlNYXN0ZXJVcGRhdGVMYXlvdXRWaWV3O1xuICAgIH07XG4gICAgZGV0YWlsPzoge1xuICAgICAgbGlzdD86IEFYUEVudGl0eURldGFpbExpc3RWaWV3O1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnRpdHlJbmZvKGVudGl0eTogQVhQRW50aXR5KSB7XG4gIHJldHVybiB7XG4gICAgc291cmNlOiBgJHtlbnRpdHkubW9kdWxlfS4ke2VudGl0eS5uYW1lfWAsXG4gICAgbW9kdWxlOiB7XG4gICAgICByb3V0ZToga2ViYWJDYXNlKGVudGl0eS5tb2R1bGUpLFxuICAgIH0sXG4gICAgZW50aXR5OiB7XG4gICAgICByb3V0ZToga2ViYWJDYXNlKGVudGl0eS5uYW1lKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUXVlcnlWaWV3KFxuICBuYW1lOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIGZpeGVkOiBib29sZWFuLFxuICBwYXJhbXM6IHsgY29sdW1ucz86IHN0cmluZ1tdOyBjb25kaXRpb25zPzogQVhQUXVlcnlGaWx0ZXJbXTsgc29ydHM/OiBBWFBRdWVyeVNvcnRbXSB9ID0ge1xuICAgIGNvbHVtbnM6IFtdLFxuICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgIHNvcnRzOiBbXSxcbiAgfSxcbik6IEFYUFF1ZXJ5VmlldyB7XG4gIHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oeyBjb2x1bW5zOiBbXSwgc29ydHM6IFtdLCBjb25kaXRpb25zOiBbXSB9LCBwYXJhbXMpO1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdGl0bGUsXG4gICAgZml4ZWQsXG4gICAgY29sdW1uczogcGFyYW1zLmNvbHVtbnMgPz8gW10sXG4gICAgY29uZGl0aW9uczogcGFyYW1zLmNvbmRpdGlvbnMgPz8gW10sXG4gICAgc29ydHM6IHBhcmFtcy5zb3J0cyA/PyBbXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFsbFF1ZXJ5VmlldyhcbiAgcGFyYW1zOiB7IGNvbHVtbnM/OiBzdHJpbmdbXTsgY29uZGl0aW9ucz86IEFYUFF1ZXJ5RmlsdGVyW107IHNvcnRzPzogQVhQUXVlcnlTb3J0W10gfSB8IHVuZGVmaW5lZCA9IHtcbiAgICBjb2x1bW5zOiBbXSxcbiAgICBzb3J0czogW10sXG4gICAgY29uZGl0aW9uczogW10sXG4gIH0sXG4pOiBBWFBRdWVyeVZpZXcge1xuICBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHsgY29sdW1uczogW10sIHNvcnRzOiBbXSwgY29uZGl0aW9uczogW10gfSwgcGFyYW1zKTtcbiAgcmV0dXJuIGNyZWF0ZVF1ZXJ5VmlldygnYWxsJywgJ3QoXCJhbGxJdGVtXCIsIHsgc2NvcGU6IFwiY29tbW9uXCIgfSknLCB0cnVlLCB7XG4gICAgY29sdW1uczogcGFyYW1zLmNvbHVtbnMgPz8gW10sXG4gICAgY29uZGl0aW9uczogcGFyYW1zLmNvbmRpdGlvbnMgPz8gW10sXG4gICAgc29ydHM6IHBhcmFtcy5zb3J0cyA/PyBbXSxcbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVsYXRlZEVudGl0eSB7XG4gIGVudGl0eTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29sdW1ucz86IHN0cmluZ1tdO1xuICBjb25kaXRpb25zPzogQVhQUXVlcnlGaWx0ZXJbXTtcbiAgaGlkZGVuPzogYm9vbGVhbiB8IHN0cmluZztcbiAgYWN0aW9ucz86IEFYUEVudGl0eUFjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENhdGVnb3J5RW50aXR5IHtcbiAgZW50aXR5OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0ZXh0RmllbGQ/OiBzdHJpbmc7XG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM/OiBBWFBRdWVyeUZpbHRlcltdO1xuICBhcHBseUNvbmRpdGlvbnM/OiBBWFBRdWVyeUZpbHRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVZlcnNpb25IaXN0b3J5IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHNob3dJbkxpc3Q/OiBib29sZWFuO1xuICBzaG93SW5EZXRhaWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFnZ3JlZ2F0ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZW50aXRpZXM6IEFYUEVudGl0eVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUE1vZHVsZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgYWdncmVnYXRlczogQVhQQWdncmVnYXRlW107XG4gIHJlbGF0aW9uc2hpcHM/OiBBWFBSZWxhdGlvbnNoaXBbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBBcHBsaWNhdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgbW9kdWxlczogQVhQTW9kdWxlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5TWFzdGVyTGF5b3V0VmlldyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzZWN0aW9uczogQVhQRW50aXR5U2VjdGlvblZpZXdbXTtcbiAgcHJvcGVydGllcz86IEFYUEVudGl0eVByb3BlcnR5Vmlld1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3RlckNyZWF0ZUxheW91dFZpZXcgZXh0ZW5kcyBBWFBFbnRpdHlNYXN0ZXJMYXlvdXRWaWV3IHtcbiAgc3RlcHM/OiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXcgZXh0ZW5kcyBBWFBFbnRpdHlNYXN0ZXJMYXlvdXRWaWV3IHsgfVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3RlclNpbmdsZUxheW91dFZpZXcgZXh0ZW5kcyBBWFBFbnRpdHlNYXN0ZXJMYXlvdXRWaWV3IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGFjdGlvbnM/OiBBWFBFbnRpdHlBY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlNYXN0ZXJMaXN0VmlldyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYWN0aW9ucz86IEFYUEVudGl0eUFjdGlvbltdO1xuICB2aWV3czogQVhQUXVlcnlWaWV3W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXcge1xuICB0aXRsZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbHVtbnM6IEFYUEVudGl0eVRhYmxlQ29sdW1uW107XG4gIGFjdGlvbnM/OiBBWFBFbnRpdHlBY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBRdWVyeVZpZXcge1xuICBuYW1lOiBzdHJpbmc7XG4gIGZpeGVkOiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBjb2x1bW5zOiBzdHJpbmdbXTtcbiAgY29uZGl0aW9uczogQVhQUXVlcnlGaWx0ZXJbXTtcbiAgc29ydHM6IEFYUFF1ZXJ5U29ydFtdO1xuICBpbmRleENvbD86IGJvb2xlYW47XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFF1ZXJ5RmlsdGVyIHtcbiAgbmFtZTogc3RyaW5nOyAvLyBlbnRpdHkgcHJvcGVydHkgbmFtZVxuICBvcGVyYXRvcjogQVhEYXRhU291cmNlT3BlcmF0b3I7XG4gIHZhbHVlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUXVlcnlTb3J0IHtcbiAgbmFtZTogc3RyaW5nOyAvLyBlbnRpdHkgcHJvcGVydHkgbmFtZVxuICBkaXI6ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUFjdGlvbkxvb2sodHI6IEFYUEVudGl0eUFjdGlvbik6IEFYUENvbW1hbmRBY3Rpb25Mb29rIHtcbiAgY29uc3QgaWNvbiA9ICdmYS1saWdodCc7XG4gIHN3aXRjaCAodHIudHlwZSkge1xuICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3ByaW1hcnknLCBpY29uOiBgJHtpY29ufSBmYS1hZGRgIH07XG4gICAgY2FzZSAndmlldyc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3ByaW1hcnknLCBpY29uOiBgJHtpY29ufSBmYS1leWVgIH07XG4gICAgY2FzZSAnaW5mbyc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3ByaW1hcnknLCBpY29uOiBgJHtpY29ufSBmYS1pbmZvYCB9O1xuICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ2RhbmdlcicsIGljb246IGAke2ljb259IGZhLXRyYXNoLWNhbmAgfTtcbiAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICdhY2NlbnQyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLCBpY29uOiBgJHtpY29ufSAgZmEtcGVuYCB9O1xuICAgIGNhc2UgJ3ByaW50JzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnYWNjZW50MycgYXMgQVhTdHlsZUNvbG9yVHlwZSwgaWNvbjogYCR7aWNvbn0gZmEtcHJpbnRgIH07XG4gICAgY2FzZSAnY29uZmlybSc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3N1Y2Nlc3MnLCBpY29uOiBgJHtpY29ufSBmYS1jaGVja2AgfTtcbiAgICBjYXNlICdhcmNoaXZlJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnd2FybmluZycsIGljb246IGAke2ljb259IGZhLWFyY2hpdmVgIH07XG4gICAgY2FzZSAnZGVzaWduJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnYWNjZW50MicgYXMgQVhTdHlsZUNvbG9yVHlwZSwgaWNvbjogYCR7aWNvbn0gZmEtcGFpbnRicnVzaGAgfTtcbiAgICBjYXNlICd2ZXJzaW9uLWhpc3RvcnknOlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICd3YXJuaW5nJyBhcyBBWFN0eWxlQ29sb3JUeXBlLCBpY29uOiBgJHtpY29ufSBmYS1oaXN0b3J5YCB9O1xuICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ2FjY2VudDInIGFzIEFYU3R5bGVDb2xvclR5cGUsIGljb246IGAke2ljb259IGZhLXVwbG9hZGAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICdwcmltYXJ5JywgaWNvbjogJycgfTtcbiAgfVxufVxuIl19","export const EQ_OPER = { name: 'equal', title: 'Equal', hasValue: true };\nexport const NOT_EQ_OPER = { name: 'notEqual', title: 'Not Equal', hasValue: true };\nexport const GT_OPER = { name: 'greaterThan', title: 'Greater Than', hasValue: true };\nexport const LT_OPER = { name: 'lessThan', title: 'Less Than', hasValue: true };\nexport const GTE_OPER = {\n name: 'greaterThanOrEqual',\n title: 'Greater Than or Equal',\n hasValue: true,\n};\nexport const LTE_OPER = { name: 'lessThanOrEqual', title: 'Less Than or Equal', hasValue: true };\nexport const CONTAINS_OPER = { name: 'contains', title: 'Contains', hasValue: true };\nexport const NOT_CONTAINS_OPER = { name: 'notContains', title: 'Does Not Contain', hasValue: true };\nexport const STARTS_WITH_OPER = { name: 'startsWith', title: 'Starts With', hasValue: true };\nexport const ENDS_WITH_OPER = { name: 'endsWith', title: 'Ends With', hasValue: true };\nexport const IS_EMPTY_OPER = { name: 'isEmpty', title: 'Is Empty', hasValue: false };\nexport const IS_NOT_EMPTY_OPER = { name: 'isNotEmpty', title: 'Is Not Empty', hasValue: false };\nexport const BETWEEN_OPER = { name: 'between', title: 'Between', hasValue: true };\nexport const STRING_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n CONTAINS_OPER,\n NOT_CONTAINS_OPER,\n STARTS_WITH_OPER,\n ENDS_WITH_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const NUMBER_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n BETWEEN_OPER,\n GT_OPER,\n GTE_OPER,\n LT_OPER,\n LTE_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const BOOLEAN_OPERATORS = [EQ_OPER];\nexport const DATE_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n GT_OPER,\n GTE_OPER,\n LT_OPER,\n LTE_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const ALL_DEFAULT_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n GT_OPER,\n LT_OPER,\n GTE_OPER,\n LTE_OPER,\n CONTAINS_OPER,\n NOT_CONTAINS_OPER,\n STARTS_WITH_OPER,\n ENDS_WITH_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n BETWEEN_OPER,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9hcHAvb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBc0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3pHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBc0I7SUFDekMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBc0IsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNwSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUN4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDdkgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNoSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMxRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ25ILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBRXJHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLE9BQU87SUFDUCxXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGFBQWE7SUFDYixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLE9BQU87SUFDUCxRQUFRO0lBQ1IsT0FBTztJQUNQLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxRQUFRO0lBQ1IsT0FBTztJQUNQLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixZQUFZO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhQRmlsdGVyT3BlcmF0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhhc1ZhbHVlOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgRVFfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdlcXVhbCcsIHRpdGxlOiAnRXF1YWwnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IE5PVF9FUV9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ25vdEVxdWFsJywgdGl0bGU6ICdOb3QgRXF1YWwnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IEdUX09QRVI6IEFYUEZpbHRlck9wZXJhdG9yID0geyBuYW1lOiAnZ3JlYXRlclRoYW4nLCB0aXRsZTogJ0dyZWF0ZXIgVGhhbicsIGhhc1ZhbHVlOiB0cnVlIH07XG5leHBvcnQgY29uc3QgTFRfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdsZXNzVGhhbicsIHRpdGxlOiAnTGVzcyBUaGFuJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBHVEVfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7XG4gIG5hbWU6ICdncmVhdGVyVGhhbk9yRXF1YWwnLFxuICB0aXRsZTogJ0dyZWF0ZXIgVGhhbiBvciBFcXVhbCcsXG4gIGhhc1ZhbHVlOiB0cnVlLFxufTtcbmV4cG9ydCBjb25zdCBMVEVfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdsZXNzVGhhbk9yRXF1YWwnLCB0aXRsZTogJ0xlc3MgVGhhbiBvciBFcXVhbCcsIGhhc1ZhbHVlOiB0cnVlIH07XG5leHBvcnQgY29uc3QgQ09OVEFJTlNfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdjb250YWlucycsIHRpdGxlOiAnQ29udGFpbnMnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IE5PVF9DT05UQUlOU19PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ25vdENvbnRhaW5zJywgdGl0bGU6ICdEb2VzIE5vdCBDb250YWluJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBTVEFSVFNfV0lUSF9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ3N0YXJ0c1dpdGgnLCB0aXRsZTogJ1N0YXJ0cyBXaXRoJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBFTkRTX1dJVEhfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdlbmRzV2l0aCcsIHRpdGxlOiAnRW5kcyBXaXRoJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBJU19FTVBUWV9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ2lzRW1wdHknLCB0aXRsZTogJ0lzIEVtcHR5JywgaGFzVmFsdWU6IGZhbHNlIH07XG5leHBvcnQgY29uc3QgSVNfTk9UX0VNUFRZX09QRVI6IEFYUEZpbHRlck9wZXJhdG9yID0geyBuYW1lOiAnaXNOb3RFbXB0eScsIHRpdGxlOiAnSXMgTm90IEVtcHR5JywgaGFzVmFsdWU6IGZhbHNlIH07XG5leHBvcnQgY29uc3QgQkVUV0VFTl9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ2JldHdlZW4nLCB0aXRsZTogJ0JldHdlZW4nLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuXG5leHBvcnQgY29uc3QgU1RSSU5HX09QRVJBVE9SUyA9IFtcbiAgRVFfT1BFUixcbiAgTk9UX0VRX09QRVIsXG4gIENPTlRBSU5TX09QRVIsXG4gIE5PVF9DT05UQUlOU19PUEVSLFxuICBTVEFSVFNfV0lUSF9PUEVSLFxuICBFTkRTX1dJVEhfT1BFUixcbiAgSVNfRU1QVFlfT1BFUixcbiAgSVNfTk9UX0VNUFRZX09QRVIsXG5dO1xuXG5leHBvcnQgY29uc3QgTlVNQkVSX09QRVJBVE9SUyA9IFtcbiAgRVFfT1BFUixcbiAgTk9UX0VRX09QRVIsXG4gIEJFVFdFRU5fT1BFUixcbiAgR1RfT1BFUixcbiAgR1RFX09QRVIsXG4gIExUX09QRVIsXG4gIExURV9PUEVSLFxuICBJU19FTVBUWV9PUEVSLFxuICBJU19OT1RfRU1QVFlfT1BFUixcbl07XG5cbmV4cG9ydCBjb25zdCBCT09MRUFOX09QRVJBVE9SUyA9IFtFUV9PUEVSXTtcblxuZXhwb3J0IGNvbnN0IERBVEVfT1BFUkFUT1JTID0gW1xuICBFUV9PUEVSLFxuICBOT1RfRVFfT1BFUixcbiAgR1RfT1BFUixcbiAgR1RFX09QRVIsXG4gIExUX09QRVIsXG4gIExURV9PUEVSLFxuICBJU19FTVBUWV9PUEVSLFxuICBJU19OT1RfRU1QVFlfT1BFUixcbl07XG5cbmV4cG9ydCBjb25zdCBBTExfREVGQVVMVF9PUEVSQVRPUlMgPSBbXG4gIEVRX09QRVIsXG4gIE5PVF9FUV9PUEVSLFxuICBHVF9PUEVSLFxuICBMVF9PUEVSLFxuICBHVEVfT1BFUixcbiAgTFRFX09QRVIsXG4gIENPTlRBSU5TX09QRVIsXG4gIE5PVF9DT05UQUlOU19PUEVSLFxuICBTVEFSVFNfV0lUSF9PUEVSLFxuICBFTkRTX1dJVEhfT1BFUixcbiAgSVNfRU1QVFlfT1BFUixcbiAgSVNfTk9UX0VNUFRZX09QRVIsXG4gIEJFVFdFRU5fT1BFUixcbl07XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AXP_HOME_PAGES = new InjectionToken('AXP_HOME_PAGES');\nexport const AXP_HOME_PAGE_DEFAULT_KEY = new InjectionToken('AXP_HOME_PAGE_DEFAULT_KEY', {\n factory: () => 'home'\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9ob21lLXBhZ2UvaG9tZS1wYWdlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUEwQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFTLDJCQUEyQixFQUFFO0lBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNO0NBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQSG9tZVBhZ2VEZWZpbml0aW9uIHtcbiAgICBrZXk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHJvdXRlOiBSb3V0ZVxufVxuXG5cbmV4cG9ydCBjb25zdCBBWFBfSE9NRV9QQUdFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBIb21lUGFnZURlZmluaXRpb25bXT4oJ0FYUF9IT01FX1BBR0VTJyk7XG5leHBvcnQgY29uc3QgQVhQX0hPTUVfUEFHRV9ERUZBVUxUX0tFWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBWFBfSE9NRV9QQUdFX0RFRkFVTFRfS0VZJywge1xuICAgIGZhY3Rvcnk6ICgpID0+ICdob21lJ1xufSk7XG5cbiJdfQ==","import { merge } from 'lodash-es';\nexport class AXPSettingDefinitionProviderContext {\n constructor() {\n this.rootGroups = [];\n this.groupMap = new Map();\n }\n addGroup(name, title, description, icon) {\n const newGroup = {\n name,\n title,\n description,\n icon,\n groups: [],\n sections: [],\n };\n this.rootGroups.push(newGroup);\n this.groupMap.set(name, newGroup); // Index by name\n return new AXPSettingDefinitionGroupBuilder(this, newGroup);\n }\n group(name) {\n const foundGroup = this.groupMap.get(name);\n if (!foundGroup) {\n console.error(`Group with name \"${name}\" not found.`);\n return null;\n }\n return new AXPSettingDefinitionGroupBuilder(this, foundGroup);\n }\n getGroups() {\n return this.rootGroups;\n }\n // Expose groupMap for controlled access\n hasGroup(name) {\n return this.groupMap.has(name);\n }\n getGroup(name) {\n return this.groupMap.get(name);\n }\n}\nexport class AXPSettingDefinitionGroupBuilder {\n constructor(context, group) {\n this.context = context;\n this.group = group;\n }\n addSection(name, title, description) {\n const newSection = {\n name,\n title,\n description: description,\n settings: [],\n };\n this.group.sections.push(newSection);\n return new AXPSettingDefinitionSectionBuilder(this, newSection);\n }\n section(name) {\n const foundSection = this.group.sections.find((section) => section.name === name);\n if (!foundSection) {\n throw new Error(`Section with name \"${name}\" not found in group \"${this.group.name}\".`);\n }\n return new AXPSettingDefinitionSectionBuilder(this, foundSection);\n }\n addGroup(name, title, description, icon) {\n const newGroup = {\n name,\n title,\n description: description,\n icon,\n groups: [],\n sections: [],\n };\n this.group.groups.push(newGroup);\n if (this.context.hasGroup(name)) {\n throw new Error(`Group with name \"${name}\" already exists.`);\n }\n this.context['groupMap'].set(name, newGroup);\n return new AXPSettingDefinitionGroupBuilder(this.context, newGroup);\n }\n endGroup() {\n return this.context;\n }\n}\nexport class AXPSettingDefinitionSectionBuilder {\n constructor(groupBuilder, section) {\n this.groupBuilder = groupBuilder;\n this.section = section;\n }\n addSetting(setting) {\n const newSetting = {\n name: setting.key,\n title: setting.title,\n description: setting.description,\n isRequired: setting.isRequired ?? false,\n isInherited: setting.isInherited ?? false,\n isEncrypted: setting.isEncrypted ?? false,\n defaultValue: setting.defaultValue,\n scope: setting.scope ?? 'G',\n layout: setting.widget.layout,\n widget: {\n type: setting.widget.type,\n name: setting.key,\n path: setting.key,\n defaultValue: setting.defaultValue,\n options: merge(setting.widget.options ?? {}, {\n label: Object.keys(setting.widget.options ?? {}).includes('label') ? setting.widget.options?.['label'] : setting.title,\n validationRules: setting.validationRules ?? [],\n }),\n valueTransforms: setting.valueTransforms,\n triggers: setting.widget.triggers,\n },\n };\n this.section.settings.push(newSetting);\n return this;\n }\n endSection() {\n return this.groupBuilder;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZXR0aW5ncy9zZXR0aW5nLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUtsQyxNQUFNLE9BQU8sbUNBQW1DO0lBQWhEO1FBQ1UsZUFBVSxHQUFnQyxFQUFFLENBQUM7UUFDN0MsYUFBUSxHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBc0N2RSxDQUFDO0lBcENDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFdBQW9CLEVBQUUsSUFBYTtRQUN2RSxNQUFNLFFBQVEsR0FBOEI7WUFDMUMsSUFBSTtZQUNKLEtBQUs7WUFDTCxXQUFXO1lBQ1gsSUFBSTtZQUNKLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO1FBQ25ELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixJQUFJLGNBQWMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJ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SSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQT3B0aW9uc0RhdGEsIEFYUFZhbGlkYXRpb25SdWxlcywgQVhQVmFsdWVUcmFuc2Zvcm1lckZ1bmN0aW9ucywgQVhQV2lkZ2V0VHJpZ2dlcnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uLCBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLCBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb24gfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEFYUEdyaWRMYXlvdXRPcHRpb25zIH0gZnJvbSAnLi4vbGF5b3V0JztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGVLZXkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQge1xuICBwcml2YXRlIHJvb3RHcm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSA9IFtdO1xuICBwcml2YXRlIGdyb3VwTWFwOiBNYXA8c3RyaW5nLCBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwPiA9IG5ldyBNYXAoKTtcblxuICBhZGRHcm91cChuYW1lOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBpY29uPzogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIge1xuICAgIGNvbnN0IG5ld0dyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwID0ge1xuICAgICAgbmFtZSxcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBpY29uLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIHNlY3Rpb25zOiBbXSxcbiAgICB9O1xuXG4gICAgdGhpcy5yb290R3JvdXBzLnB1c2gobmV3R3JvdXApO1xuICAgIHRoaXMuZ3JvdXBNYXAuc2V0KG5hbWUsIG5ld0dyb3VwKTsgLy8gSW5kZXggYnkgbmFtZVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcywgbmV3R3JvdXApO1xuICB9XG5cbiAgZ3JvdXAobmFtZTogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIgfCBudWxsIHtcbiAgICBjb25zdCBmb3VuZEdyb3VwID0gdGhpcy5ncm91cE1hcC5nZXQobmFtZSk7XG4gICAgaWYgKCFmb3VuZEdyb3VwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBHcm91cCB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kLmApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcywgZm91bmRHcm91cCk7XG4gIH1cblxuICBnZXRHcm91cHMoKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdIHtcbiAgICByZXR1cm4gdGhpcy5yb290R3JvdXBzO1xuICB9XG5cbiAgLy8gRXhwb3NlIGdyb3VwTWFwIGZvciBjb250cm9sbGVkIGFjY2Vzc1xuICBoYXNHcm91cChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cE1hcC5oYXMobmFtZSk7XG4gIH1cblxuICBnZXRHcm91cChuYW1lOiBzdHJpbmcpOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cE1hcC5nZXQobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgcHJpdmF0ZSBjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dDtcbiAgcHJpdmF0ZSBncm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCwgZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcbiAgfVxuXG4gIGFkZFNlY3Rpb24obmFtZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IG5ld1NlY3Rpb246IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIHNldHRpbmdzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuZ3JvdXAuc2VjdGlvbnMucHVzaChuZXdTZWN0aW9uKTtcbiAgICByZXR1cm4gbmV3IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIodGhpcywgbmV3U2VjdGlvbik7XG4gIH1cblxuICBzZWN0aW9uKG5hbWU6IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIgfCBudWxsIHtcbiAgICBjb25zdCBmb3VuZFNlY3Rpb24gPSB0aGlzLmdyb3VwLnNlY3Rpb25zLmZpbmQoKHNlY3Rpb24pID0+IHNlY3Rpb24ubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKCFmb3VuZFNlY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2VjdGlvbiB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kIGluIGdyb3VwIFwiJHt0aGlzLmdyb3VwLm5hbWV9XCIuYCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uQnVpbGRlcih0aGlzLCBmb3VuZFNlY3Rpb24pO1xuICB9XG5cbiAgYWRkR3JvdXAobmFtZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZywgaWNvbj86IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgICBjb25zdCBuZXdHcm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGljb24sXG4gICAgICBncm91cHM6IFtdLFxuICAgICAgc2VjdGlvbnM6IFtdLFxuICAgIH07XG4gICAgdGhpcy5ncm91cC5ncm91cHMucHVzaChuZXdHcm91cCk7XG4gICAgaWYgKHRoaXMuY29udGV4dC5oYXNHcm91cChuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBHcm91cCB3aXRoIG5hbWUgXCIke25hbWV9XCIgYWxyZWFkeSBleGlzdHMuYCk7XG4gICAgfVxuICAgIHRoaXMuY29udGV4dFsnZ3JvdXBNYXAnXS5zZXQobmFtZSwgbmV3R3JvdXApO1xuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcy5jb250ZXh0LCBuZXdHcm91cCk7XG4gIH1cblxuICBlbmRHcm91cCgpOiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgZ3JvdXBCdWlsZGVyOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwQnVpbGRlcjtcbiAgcHJpdmF0ZSBzZWN0aW9uOiBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoZ3JvdXBCdWlsZGVyOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwQnVpbGRlciwgc2VjdGlvbjogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uKSB7XG4gICAgdGhpcy5ncm91cEJ1aWxkZXIgPSBncm91cEJ1aWxkZXI7XG4gICAgdGhpcy5zZWN0aW9uID0gc2VjdGlvbjtcbiAgfVxuXG4gIGFkZFNldHRpbmcoc2V0dGluZzoge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGVLZXk7XG4gICAgd2lkZ2V0OiB7XG4gICAgICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gICAgICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG4gICAgICB0cmlnZ2Vycz86IEFYUFdpZGdldFRyaWdnZXJzO1xuICAgICAgbGF5b3V0PzogQVhQR3JpZExheW91dE9wdGlvbnM7XG4gICAgfTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpc1JlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBpc0luaGVyaXRlZD86IGJvb2xlYW47XG4gICAgaXNFbmNyeXB0ZWQ/OiBib29sZWFuO1xuICAgIGRlZmF1bHRWYWx1ZT86IHVua25vd247XG4gICAgdmFsdWVUcmFuc2Zvcm1zPzogQVhQVmFsdWVUcmFuc2Zvcm1lckZ1bmN0aW9ucztcbiAgICB2YWxpZGF0aW9uUnVsZXM/OiBBWFBWYWxpZGF0aW9uUnVsZXM7XG4gIH0pOiB0aGlzIHtcbiAgICBjb25zdCBuZXdTZXR0aW5nOiBBWFBTZXR0aW5nRGVmaW5pdGlvbiA9IHtcbiAgICAgIG5hbWU6IHNldHRpbmcua2V5LFxuICAgICAgdGl0bGU6IHNldHRpbmcudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogc2V0dGluZy5kZXNjcmlwdGlvbixcbiAgICAgIGlzUmVxdWlyZWQ6IHNldHRpbmcuaXNSZXF1aXJlZCA/PyBmYWxzZSxcbiAgICAgIGlzSW5oZXJpdGVkOiBzZXR0aW5nLmlzSW5oZXJpdGVkID8/IGZhbHNlLFxuICAgICAgaXNFbmNyeXB0ZWQ6IHNldHRpbmcuaXNFbmNyeXB0ZWQgPz8gZmFsc2UsXG4gICAgICBkZWZhdWx0VmFsdWU6IHNldHRpbmcuZGVmYXVsdFZhbHVlLFxuICAgICAgc2NvcGU6IHNldHRpbmcuc2NvcGUgPz8gJ0cnLFxuICAgICAgbGF5b3V0OiBzZXR0aW5nLndpZGdldC5sYXlvdXQsXG4gICAgICB3aWRnZXQ6IHtcbiAgICAgICAgdHlwZTogc2V0dGluZy53aWRnZXQudHlwZSxcbiAgICAgICAgbmFtZTogc2V0dGluZy5rZXksXG4gICAgICAgIHBhdGg6IHNldHRpbmcua2V5LFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHNldHRpbmcuZGVmYXVsdFZhbHVlLFxuICAgICAgICBvcHRpb25zOiBtZXJnZShzZXR0aW5nLndpZGdldC5vcHRpb25zID8/IHt9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBPYmplY3Qua2V5cyhzZXR0aW5nLndpZGdldC5vcHRpb25zID8/IHt9KS5pbmNsdWRlcygnbGFiZWwnKSA/IHNldHRpbmcud2lkZ2V0Lm9wdGlvbnM/LlsnbGFiZWwnXSA6IHNldHRpbmcudGl0bGUsXG4gICAgICAgICAgICB2YWxpZGF0aW9uUnVsZXM6IHNldHRpbmcudmFsaWRhdGlvblJ1bGVzID8/IFtdLFxuICAgICAgICAgIH0pLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IHNldHRpbmcudmFsdWVUcmFuc2Zvcm1zLFxuICAgICAgICB0cmlnZ2Vyczogc2V0dGluZy53aWRnZXQudHJpZ2dlcnMsXG4gICAgICB9LFxuICAgIH0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb247XG4gICAgdGhpcy5zZWN0aW9uLnNldHRpbmdzLnB1c2gobmV3U2V0dGluZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBlbmRTZWN0aW9uKCk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cEJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { AXPSettingDefinitionProviderContext } from './setting.builder';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { sortBy } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SETTING_DEFINITION_PROVIDER = new InjectionToken('AXP_SETTING_DEFINITION_PROVIDER');\nexport class AXPSettingDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_SETTING_DEFINITION_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache) {\n return;\n }\n const context = new AXPSettingDefinitionProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n if (provider instanceof Promise) {\n // If provider is a promise, resolve it\n const resolvedProvider = await provider;\n await resolvedProvider.provide(context);\n }\n else {\n // If provider is a direct instance, use it directly\n await provider.provide(context);\n }\n }\n }\n this.cache = context.getGroups();\n }\n async reload() {\n this.cache = null;\n await this.load();\n }\n async getListAsync(scope) {\n await this.load();\n return this.getList(scope);\n }\n getList(scope) {\n if (!this.cache) {\n return [];\n }\n const scopeOrder = ['C', 'G', 'T', 'U']; // Scopes hierarchy in ascending order\n const filterByScope = (groups, currentScope) => {\n const currentScopeIndex = scopeOrder.indexOf(currentScope);\n return groups\n .map((group) => ({\n ...group,\n sections: group.sections.map((section) => ({\n ...section,\n settings: section.settings.filter((setting) => {\n const settingScopeIndex = scopeOrder.indexOf(setting.scope);\n // Include settings where:\n // 1. The scope matches the requested scope.\n if (setting.scope === currentScope)\n return true;\n // 2. The setting scope is higher (closer to 'U') and is inherited.\n if (setting.isInherited &&\n settingScopeIndex > currentScopeIndex // Higher scope\n ) {\n return true;\n }\n // 3. Exclude settings with a lower or irrelevant scope.\n return false;\n }),\n })).filter((section) => section.settings.length > 0), // Keep only sections with settings\n groups: filterByScope(group.groups, currentScope), // Recursively filter nested groups\n }))\n .filter((group) => group.sections.length > 0 || group.groups.length > 0); // Keep groups with valid sections or nested groups\n };\n return sortBy(filterByScope(this.cache, scope), 'title');\n }\n async defaultValues() {\n const defaults = {};\n const collectDefaults = (groups) => {\n groups.forEach((group) => {\n group.sections.forEach((section) => {\n section.settings.forEach((setting) => {\n if (setting.defaultValue !== undefined) {\n defaults[setting.name] = setting.defaultValue;\n }\n });\n });\n collectDefaults(group.groups);\n });\n };\n if (!this.cache) {\n await this.load();\n }\n collectDefaults(this.cache);\n return defaults;\n }\n findGroup(scope, groupName) {\n return this.searchRecursive(this.getList(scope), groupName, []); // Initialize with an empty breadcrumb\n }\n searchRecursive(groups, groupName, breadcrumb) {\n for (const group of groups) {\n const currentBreadcrumb = [...breadcrumb, { name: group.name, title: group.title, description: group.description }];\n // If the group name matches, return its details\n if (group.name === groupName) {\n return {\n breadcrumb: currentBreadcrumb,\n sections: group.sections.length > 0 ? group.sections : null,\n groups: group.groups.length > 0 ? group.groups : null,\n };\n }\n // Recursively search in nested groups\n const nestedResult = this.searchRecursive(group.groups, groupName, currentBreadcrumb);\n if (nestedResult.breadcrumb.length > 0) {\n return nestedResult;\n }\n }\n // If no matching group is found\n return {\n breadcrumb: [],\n groups: [],\n sections: []\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport class AXPSettingDefaultValueProvider {\n constructor() {\n this.definitionProvider = inject(AXPSettingDefinitionProviderService);\n }\n get scope() {\n return AXPPlatformScope.Global;\n }\n async load() {\n return Object.entries(await this.definitionProvider.defaultValues()).map(c => ({ key: c[0], value: c[1] }));\n }\n set(key, value) {\n throw new Error('Method not implemented.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kZWZpbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmctZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9uRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNbkMsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUFpQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBR3JJLE1BQU0sT0FBTyxtQ0FBbUM7SUFEaEQ7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLCtCQUErQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsVUFBSyxHQUF1QyxJQUFJLENBQUM7S0EySTFEO0lBeklTLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTTtRQUNSLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLG1DQUFtQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLFFBQVEsWUFBWSxPQUFPLEVBQUUsQ0FBQztvQkFDaEMsdUNBQXVDO29CQUN2QyxNQUFNLGdCQUFn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QUM7SUFiQyxJQUFJLEtBQUs7UUFDUCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFJRCxHQUFHLENBQUMsR0FBWSxFQUFFLEtBQWU7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYUEdyb3VwU2VhcmNoUmVzdWx0LFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLFxuICBBWFBTZXR0aW5nVmFsdWUsXG4gIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyLFxufSBmcm9tICcuL3NldHRpbmdzLnR5cGVzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi9zZXR0aW5nLmJ1aWxkZXInO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSwgQVhQUGxhdGZvcm1TY29wZUtleSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJvdmlkZShjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8vIEluamVjdGlvbiB0b2tlbiBmb3Igc2V0dGluZyBwcm92aWRlcnNcbmV4cG9ydCBjb25zdCBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJbXT4oJ0FYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgY2FjaGU6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQoKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnByb3ZpZGVycykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5wcm92aWRlcnMpIHtcbiAgICAgICAgaWYgKHByb3ZpZGVyIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgIC8vIElmIHByb3ZpZGVyIGlzIGEgcHJvbWlzZSwgcmVzb2x2ZSBpdFxuICAgICAgICAgIGNvbnN0IHJlc29sdmVkUHJvdmlkZXIgPSBhd2FpdCBwcm92aWRlcjtcbiAgICAgICAgICBhd2FpdCByZXNvbHZlZFByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSWYgcHJvdmlkZXIgaXMgYSBkaXJlY3QgaW5zdGFuY2UsIHVzZSBpdCBkaXJlY3RseVxuICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jYWNoZSA9IGNvbnRleHQuZ2V0R3JvdXBzKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2FjaGUgPSBudWxsO1xuICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RBc3luYyhzY29wZTogQVhQUGxhdGZvcm1TY29wZUtleSk6IFByb21pc2U8QVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdPiB7XG4gICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlzdChzY29wZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdChzY29wZTogQVhQUGxhdGZvcm1TY29wZUtleSk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3Qgc2NvcGVPcmRlciA9IFsnQycsICdHJywgJ1QnLCAnVSddOyAvLyBTY29wZXMgaGllcmFyY2h5IGluIGFzY2VuZGluZyBvcmRlclxuXG4gICAgY29uc3QgZmlsdGVyQnlTY29wZSA9IChcbiAgICAgIGdyb3VwczogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdLFxuICAgICAgY3VycmVudFNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5XG4gICAgKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY29wZUluZGV4ID0gc2NvcGVPcmRlci5pbmRleE9mKGN1cnJlbnRTY29wZSk7XG5cbiAgICAgIHJldHVybiBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXApID0+ICh7XG4gICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgc2VjdGlvbnM6IGdyb3VwLnNlY3Rpb25zLm1hcCgoc2VjdGlvbikgPT4gKHtcbiAgICAgICAgICAgIC4uLnNlY3Rpb24sXG4gICAgICAgICAgICBzZXR0aW5nczogc2VjdGlvbi5zZXR0aW5ncy5maWx0ZXIoKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZ1Njb3BlSW5kZXggPSBzY29wZU9yZGVyLmluZGV4T2Yoc2V0dGluZy5zY29wZSk7XG5cbiAgICAgICAgICAgICAgLy8gSW5jbHVkZSBzZXR0aW5ncyB3aGVyZTpcbiAgICAgICAgICAgICAgLy8gMS4gVGhlIHNjb3BlIG1hdGNoZXMgdGhlIHJlcXVlc3RlZCBzY29wZS5cbiAgICAgICAgICAgICAgaWYgKHNldHRpbmcuc2NvcGUgPT09IGN1cnJlbnRTY29wZSkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgICAgICAgLy8gMi4gVGhlIHNldHRpbmcgc2NvcGUgaXMgaGlnaGVyIChjbG9zZXIgdG8gJ1UnKSBhbmQgaXMgaW5oZXJpdGVkLlxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgc2V0dGluZy5pc0luaGVyaXRlZCAmJlxuICAgICAgICAgICAgICAgIHNldHRpbmdTY29wZUluZGV4ID4gY3VycmVudFNjb3BlSW5kZXggLy8gSGlnaGVyIHNjb3BlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gMy4gRXhjbHVkZSBzZXR0aW5ncyB3aXRoIGEgbG93ZXIgb3IgaXJyZWxldmFudCBzY29wZS5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSkpLmZpbHRlcigoc2VjdGlvbikgPT4gc2VjdGlvbi5zZXR0aW5ncy5sZW5ndGggPiAwKSwgLy8gS2VlcCBvbmx5IHNlY3Rpb25zIHdpdGggc2V0dGluZ3NcbiAgICAgICAgICBncm91cHM6IGZpbHRlckJ5U2NvcGUoZ3JvdXAuZ3JvdXBzLCBjdXJyZW50U2NvcGUpLCAvLyBSZWN1cnNpdmVseSBmaWx0ZXIgbmVzdGVkIGdyb3Vwc1xuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLnNlY3Rpb25zLmxlbmd0aCA+IDAgfHwgZ3JvdXAuZ3JvdXBzLmxlbmd0aCA+IDApOyAvLyBLZWVwIGdyb3VwcyB3aXRoIHZhbGlkIHNlY3Rpb25zIG9yIG5lc3RlZCBncm91cHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIHNvcnRCeShmaWx0ZXJCeVNjb3BlKHRoaXMuY2FjaGUsIHNjb3BlKSwgJ3RpdGxlJyk7XG4gIH1cblxuXG5cblxuICBhc3luYyBkZWZhdWx0VmFsdWVzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBkZWZhdWx0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAgIGNvbnN0IGNvbGxlY3REZWZhdWx0cyA9IChncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSkgPT4ge1xuICAgICAgZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIGdyb3VwLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgICAgICBzZWN0aW9uLnNldHRpbmdzLmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXR0aW5nLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGRlZmF1bHRzW3NldHRpbmcubmFtZV0gPSBzZXR0aW5nLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbGxlY3REZWZhdWx0cyhncm91cC5ncm91cHMpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgfVxuICAgIGNvbGxlY3REZWZhdWx0cyh0aGlzLmNhY2hlISk7XG5cbiAgICByZXR1cm4gZGVmYXVsdHM7XG4gIH1cblxuICBwdWJsaWMgZmluZEdyb3VwKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5LCBncm91cE5hbWU6IHN0cmluZyk6IEFYUEdyb3VwU2VhcmNoUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZWN1cnNpdmUodGhpcy5nZXRMaXN0KHNjb3BlKSwgZ3JvdXBOYW1lLCBbXSk7IC8vIEluaXRpYWxpemUgd2l0aCBhbiBlbXB0eSBicmVhZGNydW1iXG4gIH1cblxuICBwcml2YXRlIHNlYXJjaFJlY3Vyc2l2ZShcbiAgICBncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSxcbiAgICBncm91cE5hbWU6IHN0cmluZyxcbiAgICBicmVhZGNydW1iOiB7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W11cbiAgKTogQVhQR3JvdXBTZWFyY2hSZXN1bHQge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBzKSB7XG4gICAgICBjb25zdCBjdXJyZW50QnJlYWRjcnVtYiA9IFsuLi5icmVhZGNydW1iLCB7IG5hbWU6IGdyb3VwLm5hbWUsIHRpdGxlOiBncm91cC50aXRsZSwgZGVzY3JpcHRpb246IGdyb3VwLmRlc2NyaXB0aW9uIH1dO1xuXG4gICAgICAvLyBJZiB0aGUgZ3JvdXAgbmFtZSBtYXRjaGVzLCByZXR1cm4gaXRzIGRldGFpbHNcbiAgICAgIGlmIChncm91cC5uYW1lID09PSBncm91cE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBicmVhZGNydW1iOiBjdXJyZW50QnJlYWRjcnVtYixcbiAgICAgICAgICBzZWN0aW9uczogZ3JvdXAuc2VjdGlvbnMubGVuZ3RoID4gMCA/IGdyb3VwLnNlY3Rpb25zIDogbnVsbCxcbiAgICAgICAgICBncm91cHM6IGdyb3VwLmdyb3Vwcy5sZW5ndGggPiAwID8gZ3JvdXAuZ3JvdXBzIDogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVjdXJzaXZlbHkgc2VhcmNoIGluIG5lc3RlZCBncm91cHNcbiAgICAgIGNvbnN0IG5lc3RlZFJlc3VsdCA9IHRoaXMuc2VhcmNoUmVjdXJzaXZlKGdyb3VwLmdyb3VwcywgZ3JvdXBOYW1lLCBjdXJyZW50QnJlYWRjcnVtYik7XG4gICAgICBpZiAobmVzdGVkUmVzdWx0LmJyZWFkY3J1bWIubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gbmVzdGVkUmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIG1hdGNoaW5nIGdyb3VwIGlzIGZvdW5kXG4gICAgcmV0dXJuIHtcbiAgICAgIGJyZWFkY3J1bWI6IFtdLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIHNlY3Rpb25zOiBbXVxuICAgIH07XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBBWFBTZXR0aW5nRGVmYXVsdFZhbHVlUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nVmFsdWVQcm92aWRlciB7XG5cbiAgcHJpdmF0ZSBkZWZpbml0aW9uUHJvdmlkZXIgPSBpbmplY3QoQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2UpO1xuXG4gIGdldCBzY29wZSgpOiBBWFBQbGF0Zm9ybVNjb3BlIHtcbiAgICByZXR1cm4gQVhQUGxhdGZvcm1TY29wZS5HbG9iYWw7XG4gIH1cblxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8QVhQU2V0dGluZ1ZhbHVlW10+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoYXdhaXQgdGhpcy5kZWZpbml0aW9uUHJvdmlkZXIuZGVmYXVsdFZhbHVlcygpKS5tYXAoYyA9PiAoeyBrZXk6IGNbMF0sIHZhbHVlOiBjWzFdIH0pKTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gIHNldCh2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPHZvaWQ+O1xuICBzZXQoa2V5OiB1bmtub3duLCB2YWx1ZT86IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn0iXX0=","import { inject, InjectionToken, Injector } from \"@angular/core\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { AXPSessionService, AXPSessionStatus } from \"@acorex/platform/auth\";\nexport const AXP_SETTING_VALUE_PROVIDER = new InjectionToken('AXP_SETTING_VALUE_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n const injector = inject(Injector);\n return [\n new AXPSettingValueProviderDefault(AXPPlatformScope.Tenant, injector),\n new AXPSettingValueProviderDefault(AXPPlatformScope.User, injector)\n ];\n }\n});\nclass AXPSettingValueProviderDefault {\n constructor(_scope, injector) {\n this._scope = _scope;\n this.injector = injector;\n this.cache = new Map();\n this.localStorageKey = null;\n this.sessionService = this.injector.get(AXPSessionService);\n this.sessionService.status$.subscribe((status) => {\n if (status === AXPSessionStatus.Authorized || status === AXPSessionStatus.Authenticated) {\n if (this.scope === AXPPlatformScope.User) {\n this.localStorageKey = `AXP_SETTINGS_SCOPE(${this.sessionService.user?.id ?? 'U'})`;\n }\n else {\n this.localStorageKey = `AXP_SETTINGS_SCOPE(${this.sessionService.tenant?.id ?? 'T'})`;\n }\n }\n });\n }\n get scope() {\n return this._scope;\n }\n async load() {\n if (!this.localStorageKey) {\n return Promise.resolve([]);\n }\n // Load settings from localStorage as a single key\n const storedSettings = localStorage.getItem(this.localStorageKey);\n if (storedSettings) {\n const parsedSettings = JSON.parse(storedSettings);\n Object.entries(parsedSettings).forEach(([key, value]) => {\n this.cache.set(key, value);\n });\n return Promise.resolve(Array.from(this.cache.entries()).map(c => ({ key: c[0], value: c[1] })));\n }\n return Promise.resolve([]);\n }\n async set(keyOrValues, value) {\n if (typeof keyOrValues === 'string') {\n // Single value update\n this.cache.set(keyOrValues, value);\n }\n else {\n // Bulk update\n for (const [key, val] of Object.entries(keyOrValues)) {\n this.cache.set(key, val);\n }\n }\n await this.saveToLocalStorage();\n }\n async saveToLocalStorage() {\n if (!this.localStorageKey) {\n return;\n }\n const settingsObject = {};\n this.cache.forEach((value, key) => {\n settingsObject[key] = value;\n });\n localStorage.setItem(this.localStorageKey, JSON.stringify(settingsObject));\n }\n async clear() {\n if (!this.localStorageKey) {\n return;\n }\n localStorage.removeItem(this.localStorageKey);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmdzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBNEIsNEJBQTRCLEVBQUU7SUFDbEgsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxPQUFPO1lBQ0gsSUFBSSw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3JFLElBQUksOEJBQThCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztTQUN0RSxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUdILE1BQU0sOEJBQThCO0lBS2hDLFlBQW9CLE1BQXdCLEVBQVUsUUFBa0I7UUFBcEQsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnZELFVBQUssR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBR3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdDLElBQUksTUFBTSxLQUFLLGdCQUFnQixDQUFDLFVBQVUsSUFBSSxNQUFNLEtBQUssZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3RGLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxzQkFBc0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxDQUFDO2dCQUN4RixDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxzQkFBc0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxDQUFDO2dCQUMxRixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0Qsa0RBQWtEO1FBQ2xELE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xFLElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsTUFBTSxjQUFjLEdBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUlELEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBeUMsRUFBRSxLQUFXO1FBQzVELElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsc0JBQXNCO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLGNBQWM7WUFDZCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBd0IsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlCLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFHTyxLQUFLLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7UUFDRCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXR0aW5nVmFsdWUsIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyIH0gZnJvbSBcIi4vc2V0dGluZ3MudHlwZXNcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSwgQVhQU2Vzc2lvblN0YXR1cyB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2F1dGhcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcblxuXG5cbmV4cG9ydCBjb25zdCBBWFBfU0VUVElOR19WQUxVRV9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBTZXR0aW5nVmFsdWVQcm92aWRlcltdPignQVhQX1NFVFRJTkdfVkFMVUVfUFJPVklERVInLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdChBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCwgaW5qZWN0b3IpLFxuICAgICAgICAgICAgbmV3IEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdChBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsIGluamVjdG9yKVxuICAgICAgICBdO1xuICAgIH1cbn0pO1xuXG5cbmNsYXNzIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdCBpbXBsZW1lbnRzIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zY29wZTogQVhQUGxhdGZvcm1TY29wZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zdGF0dXMkLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQgfHwgc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zY29wZSA9PT0gQVhQUGxhdGZvcm1TY29wZS5Vc2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlS2V5ID0gYEFYUF9TRVRUSU5HU19TQ09QRSgke3RoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ1UnfSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlS2V5ID0gYEFYUF9TRVRUSU5HU19TQ09QRSgke3RoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50Py5pZCA/PyAnVCd9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNjb3BlKCk6IEFYUFBsYXRmb3JtU2NvcGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2NvcGU7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPEFYUFNldHRpbmdWYWx1ZVtdPiB7XG4gICAgICAgIGlmICghdGhpcy5sb2NhbFN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgICAgICB9XG4gICAgICAgIC8vIExvYWQgc2V0dGluZ3MgZnJvbSBsb2NhbFN0b3JhZ2UgYXMgYSBzaW5nbGUga2V5XG4gICAgICAgIGNvbnN0IHN0b3JlZFNldHRpbmdzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VLZXkpO1xuICAgICAgICBpZiAoc3RvcmVkU2V0dGluZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gSlNPTi5wYXJzZShzdG9yZWRTZXR0aW5ncyk7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhwYXJzZWRTZXR0aW5ncykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoQXJyYXkuZnJvbSh0aGlzLmNhY2hlLmVudHJpZXMoKSkubWFwKGMgPT4gKHsga2V5OiBjWzBdLCB2YWx1ZTogY1sxXSB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGFzeW5jIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgYXN5bmMgc2V0KHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8dm9pZD47XG4gICAgYXN5bmMgc2V0KGtleU9yVmFsdWVzOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB2YWx1ZT86IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodHlwZW9mIGtleU9yVmFsdWVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgLy8gU2luZ2xlIHZhbHVlIHVwZGF0ZVxuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEJ1bGsgdXBkYXRlXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXMoa2V5T3JWYWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCB2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVRvTG9jYWxTdG9yYWdlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzYXZlVG9Mb2NhbFN0b3JhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5sb2NhbFN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZXR0aW5nc09iamVjdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICB0aGlzLmNhY2hlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHNldHRpbmdzT2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZXR0aW5nc09iamVjdCkpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhc3luYyBjbGVhcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxvY2FsU3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMubG9jYWxTdG9yYWdlS2V5KTtcbiAgICB9XG59Il19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPBroadcastEventService, AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { cloneDeep, get } from 'lodash-es';\nimport { distinctUntilChanged, Subject } from 'rxjs';\nimport { AXPSettingDefinitionProviderService } from './setting-definition.service';\nimport { AXP_SETTING_VALUE_PROVIDER } from './settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPSettingService {\n constructor() {\n this.providers = inject(AXP_SETTING_VALUE_PROVIDER);\n this.injector = inject(Injector);\n this.eventService = inject(AXPBroadcastEventService);\n this.sessionService = inject(AXPSessionService);\n this.scopedSettingsCache = new Map();\n this.onChanged = new Subject();\n this.onLoaded = new Subject();\n // Initialize scoped caches for dynamic scopes\n const staticScopes = [\n AXPPlatformScope.Environment,\n AXPPlatformScope.Global,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.User,\n ];\n staticScopes.forEach((scope) => {\n if (!this.scopedSettingsCache.has(scope)) {\n this.scopedSettingsCache.set(scope, new Map());\n }\n });\n // Listen for setting changes from other tabs\n this.eventService.listen('AXPSettingChangedEvent').subscribe((event) => {\n const data = event.data;\n data.keys.forEach((key) => {\n this.scopedSettingsCache.get(data.scope)?.set(key, data.values[key]);\n });\n this.onChanged.next(data); // Notify subscribers in the current tab\n });\n // reload settings when user is authenticated\n this.sessionService.isAuthenticated$.pipe(distinctUntilChanged()).subscribe(async (isAuthenticated) => {\n if (isAuthenticated) {\n await this.reload();\n }\n });\n }\n async reload() {\n await this.load();\n }\n async load() {\n try {\n const settingsList = [];\n for (const provider of this.providers) {\n const scopeCache = this.scopedSettingsCache.get(provider.scope) ?? new Map();\n const providerSettings = await provider.load();\n providerSettings.forEach((setting) => {\n scopeCache.set(setting.key, setting.value);\n });\n settingsList.push(...providerSettings);\n }\n this.onLoaded.next();\n return settingsList;\n }\n catch (error) {\n console.error('Error loading settings', error);\n throw error;\n }\n }\n async get(key) {\n if (this.scopedSettingsCache.size === 0) {\n await this.load();\n }\n const scopeOrder = [\n AXPPlatformScope.User,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.Global,\n AXPPlatformScope.Environment,\n ];\n for (const scope of scopeOrder) {\n const scopeCache = this.scopedSettingsCache.get(scope);\n if (scopeCache && scopeCache.has(key)) {\n const value = scopeCache.get(key);\n if (value !== undefined && value !== null) {\n return cloneDeep(value);\n }\n }\n }\n const definitionService = this.injector.get(AXPSettingDefinitionProviderService);\n const defaults = await definitionService.defaultValues();\n return get(defaults, key); // Fallback if no value is found\n }\n async defaultValues(scope) {\n let scopeOrder = [\n AXPPlatformScope.Environment,\n AXPPlatformScope.Global,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.User,\n ].reverse();\n const scopeIndex = scopeOrder.indexOf(scope);\n if (scopeIndex === -1) {\n throw new Error(`Invalid scope: ${scope}`);\n }\n scopeOrder = scopeOrder.slice(scopeIndex + 1);\n // Accumulate defaults from the current scope and higher scopes\n const accumulatedDefaults = {};\n for (let i = scopeIndex; i < scopeOrder.length; i++) {\n const currentScope = scopeOrder[i];\n const scopeCache = this.scopedSettingsCache.get(currentScope);\n if (scopeCache) {\n scopeCache.forEach((value, key) => {\n if (!(key in accumulatedDefaults)) {\n accumulatedDefaults[key] = value;\n }\n });\n }\n }\n // Merge with global default values from the definition service\n const definitionService = this.injector.get(AXPSettingDefinitionProviderService);\n const globalDefaults = await definitionService.defaultValues();\n return { ...globalDefaults, ...accumulatedDefaults };\n }\n scope(scope) {\n const provider = this.providers.find((p) => p.scope === scope);\n if (!provider) {\n throw new Error(`No provider found for scope: ${scope}`);\n }\n return new ScopedSettingService(this, provider, this.scopedSettingsCache.get(scope));\n }\n invokeChangeEvent(event) {\n this.onChanged.next(event);\n this.eventService.publish('AXPSettingChangedEvent', event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSettingService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\nclass ScopedSettingService {\n constructor(parent, provider, scopeCache) {\n this.parent = parent;\n this.provider = provider;\n this.scopeCache = scopeCache;\n }\n async get(key) {\n const settings = await this.provider.load();\n const setting = settings.find((s) => s.key === key);\n return setting ? cloneDeep(setting.value) : undefined;\n }\n async all() {\n const settings = await this.provider.load();\n return Object.fromEntries(settings.map((s) => [s.key, cloneDeep(s.value)]));\n }\n async defaultValues() {\n return this.parent.defaultValues(this.provider.scope);\n }\n async set(keyOrValues, value) {\n if (typeof keyOrValues === 'string') {\n // Single key-value pair\n await this.provider.set(keyOrValues, value);\n this.scopeCache.set(keyOrValues, value); // Sync the cache\n this.parent.invokeChangeEvent({\n scope: this.provider.scope,\n keys: [keyOrValues],\n values: { [keyOrValues]: value },\n entries: [{ key: keyOrValues, value }],\n });\n }\n else {\n // Multiple key-value pairs\n await this.provider.set(keyOrValues);\n Object.entries(keyOrValues).forEach(([key, val]) => this.scopeCache.set(key, val)); // Sync the cache\n const entries = Object.entries(keyOrValues).map(([key, val]) => ({ key, value: val }));\n this.parent.invokeChangeEvent({\n scope: this.provider.scope,\n keys: Object.keys(keyOrValues),\n values: keyOrValues,\n entries,\n });\n }\n }\n async update(key, updateFn) {\n const currentValue = await this.get(key);\n const newValue = updateFn(currentValue);\n await this.set(key, newValue);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFhakUsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QjtRQVJpQixjQUFTLEdBQThCLE1BQU0sQ0FBNEIsMEJBQTBCLENBQUMsQ0FBQztRQUNyRyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyx3QkFBbUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7UUFDbEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHN0MsOENBQThDO1FBQzlDLE1BQU0sWUFBWSxHQUFHO1lBQ25CLGdCQUFnQixDQUFDLFdB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YUFBTSxDQUFDO1lBQ04sMkJBQTJCO1lBQzNCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7WUFDckcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQVUsR0FBVyxFQUFFLFFBQWdDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBCcm9hZGNhc3RFdmVudFNlcnZpY2UsIEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXR0aW5nLWRlZmluaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBfU0VUVElOR19WQUxVRV9QUk9WSURFUiB9IGZyb20gJy4vc2V0dGluZ3MucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQU2V0dGluZ0NoYW5nZWRFdmVudCwgQVhQU2V0dGluZ1ZhbHVlLCBBWFBTZXR0aW5nVmFsdWVQcm92aWRlciB9IGZyb20gJy4vc2V0dGluZ3MudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgbG9hZCgpOiBQcm9taXNlPEFYUFNldHRpbmdWYWx1ZVtdPjtcbiAgZ2V0PFQgPSBhbnk+KGtleTogc3RyaW5nKTogUHJvbWlzZTxUPjtcbiAgZGVmYXVsdFZhbHVlcyhzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBzY29wZShzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFNjb3BlZFNldHRpbmdTZXJ2aWNlO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1NlcnZpY2UgaW1wbGVtZW50cyBBWFBTZXR0aW5nU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvdmlkZXJzOiBBWFBTZXR0aW5nVmFsdWVQcm92aWRlcltdID0gaW5qZWN0PEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyW10+KEFYUF9TRVRUSU5HX1ZBTFVFX1BST1ZJREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUEJyb2FkY2FzdEV2ZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNjb3BlZFNldHRpbmdzQ2FjaGU6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIGFueT4+ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8QVhQU2V0dGluZ0NoYW5nZWRFdmVudD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9uTG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBJbml0aWFsaXplIHNjb3BlZCBjYWNoZXMgZm9yIGR5bmFtaWMgc2NvcGVzXG4gICAgY29uc3Qgc3RhdGljU2NvcGVzID0gW1xuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgXTtcbiAgICBzdGF0aWNTY29wZXMuZm9yRWFjaCgoc2NvcGUpID0+IHtcbiAgICAgIGlmICghdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmhhcyhzY29wZSkpIHtcbiAgICAgICAgdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLnNldChzY29wZSwgbmV3IE1hcCgpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIExpc3RlbiBmb3Igc2V0dGluZyBjaGFuZ2VzIGZyb20gb3RoZXIgdGFic1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmxpc3RlbjxBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50PignQVhQU2V0dGluZ0NoYW5nZWRFdmVudCcpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBldmVudC5kYXRhO1xuICAgICAgZGF0YS5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICB0aGlzLnNjb3BlZFNldHRpbmdzQ2FjaGUuZ2V0KGRhdGEuc2NvcGUpPy5zZXQoa2V5LCBkYXRhLnZhbHVlc1trZXldKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vbkNoYW5nZWQubmV4dChkYXRhKTsgLy8gTm90aWZ5IHN1YnNjcmliZXJzIGluIHRoZSBjdXJyZW50IHRhYlxuICAgIH0pO1xuICAgIC8vIHJlbG9hZCBzZXR0aW5ncyB3aGVuIHVzZXIgaXMgYXV0aGVudGljYXRlZFxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZShhc3luYyAoaXNBdXRoZW50aWNhdGVkKSA9PiB7XG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8QVhQU2V0dGluZ1ZhbHVlW10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2V0dGluZ3NMaXN0OiBBWFBTZXR0aW5nVmFsdWVbXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBjb25zdCBzY29wZUNhY2hlID0gdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmdldChwcm92aWRlci5zY29wZSkgPz8gbmV3IE1hcCgpO1xuICAgICAgICBjb25zdCBwcm92aWRlclNldHRpbmdzID0gYXdhaXQgcHJvdmlkZXIubG9hZCgpO1xuICAgICAgICBwcm92aWRlclNldHRpbmdzLmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICBzY29wZUNhY2hlLnNldChzZXR0aW5nLmtleSwgc2V0dGluZy52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXR0aW5nc0xpc3QucHVzaCguLi5wcm92aWRlclNldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25Mb2FkZWQubmV4dCgpO1xuICAgICAgcmV0dXJuIHNldHRpbmdzTGlzdDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBzZXR0aW5ncycsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldDxUID0gYW55PihrZXk6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLnNjb3BlZFNldHRpbmdzQ2FjaGUuc2l6ZSA9PT0gMCkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgfVxuICAgIGNvbnN0IHNjb3BlT3JkZXIgPSBbXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICBdO1xuICAgIGZvciAoY29uc3Qgc2NvcGUgb2Ygc2NvcGVPcmRlcikge1xuICAgICAgY29uc3Qgc2NvcGVDYWNoZSA9IHRoaXMuc2NvcGVkU2V0dGluZ3NDYWNoZS5nZXQoc2NvcGUpO1xuICAgICAgaWYgKHNjb3BlQ2FjaGUgJiYgc2NvcGVDYWNoZS5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHNjb3BlQ2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGNsb25lRGVlcCh2YWx1ZSkgYXMgVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBkZWZpbml0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IGF3YWl0IGRlZmluaXRpb25TZXJ2aWNlLmRlZmF1bHRWYWx1ZXMoKTtcbiAgICByZXR1cm4gZ2V0KGRlZmF1bHRzLCBrZXkpIGFzIFQ7IC8vIEZhbGxiYWNrIGlmIG5vIHZhbHVlIGlzIGZvdW5kXG4gIH1cblxuICBhc3luYyBkZWZhdWx0VmFsdWVzKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGxldCBzY29wZU9yZGVyID0gW1xuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgXS5yZXZlcnNlKCk7XG4gICAgY29uc3Qgc2NvcGVJbmRleCA9IHNjb3BlT3JkZXIuaW5kZXhPZihzY29wZSk7XG5cbiAgICBpZiAoc2NvcGVJbmRleCA9PT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzY29wZTogJHtzY29wZX1gKTtcbiAgICB9XG4gICAgc2NvcGVPcmRlciA9IHNjb3BlT3JkZXIuc2xpY2Uoc2NvcGVJbmRleCArIDEpO1xuICAgIC8vIEFjY3VtdWxhdGUgZGVmYXVsdHMgZnJvbSB0aGUgY3VycmVudCBzY29wZSBhbmQgaGlnaGVyIHNjb3Blc1xuICAgIGNvbnN0IGFjY3VtdWxhdGVkRGVmYXVsdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgZm9yIChsZXQgaSA9IHNjb3BlSW5kZXg7IGkgPCBzY29wZU9yZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50U2NvcGUgPSBzY29wZU9yZGVyW2ldO1xuICAgICAgY29uc3Qgc2NvcGVDYWNoZSA9IHRoaXMuc2NvcGVkU2V0dGluZ3NDYWNoZS5nZXQoY3VycmVudFNjb3BlKTtcblxuICAgICAgaWYgKHNjb3BlQ2FjaGUpIHtcbiAgICAgICAgc2NvcGVDYWNoZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKCEoa2V5IGluIGFjY3VtdWxhdGVkRGVmYXVsdHMpKSB7XG4gICAgICAgICAgICBhY2N1bXVsYXRlZERlZmF1bHRzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lcmdlIHdpdGggZ2xvYmFsIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIGRlZmluaXRpb24gc2VydmljZVxuICAgIGNvbnN0IGRlZmluaXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2UpO1xuICAgIGNvbnN0IGdsb2JhbERlZmF1bHRzID0gYXdhaXQgZGVmaW5pdGlvblNlcnZpY2UuZGVmYXVsdFZhbHVlcygpO1xuICAgIHJldHVybiB7IC4uLmdsb2JhbERlZmF1bHRzLCAuLi5hY2N1bXVsYXRlZERlZmF1bHRzIH07XG4gIH1cblxuICBzY29wZShzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFNjb3BlZFNldHRpbmdTZXJ2aWNlIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucHJvdmlkZXJzLmZpbmQoKHApID0+IHAuc2NvcGUgPT09IHNjb3BlKTtcbiAgICBpZiAoIXByb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHByb3ZpZGVyIGZvdW5kIGZvciBzY29wZTogJHtzY29wZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTY29wZWRTZXR0aW5nU2VydmljZSh0aGlzLCBwcm92aWRlciwgdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmdldChzY29wZSkhKTtcbiAgfVxuXG4gIGludm9rZUNoYW5nZUV2ZW50KGV2ZW50OiBBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZWQubmV4dChldmVudCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2UucHVibGlzaDxBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50PignQVhQU2V0dGluZ0NoYW5nZWRFdmVudCcsIGV2ZW50KTtcbiAgfVxufVxuXG5jbGFzcyBTY29wZWRTZXR0aW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyZW50OiBBWFBTZXR0aW5nU2VydmljZSxcbiAgICBwcml2YXRlIHByb3ZpZGVyOiBBWFBTZXR0aW5nVmFsdWVQcm92aWRlcixcbiAgICBwcml2YXRlIHNjb3BlQ2FjaGU6IE1hcDxzdHJpbmcsIGFueT4sXG4gICkge31cblxuICBhc3luYyBnZXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMucHJvdmlkZXIubG9hZCgpO1xuICAgIGNvbnN0IHNldHRpbmcgPSBzZXR0aW5ncy5maW5kKChzKSA9PiBzLmtleSA9PT0ga2V5KTtcbiAgICByZXR1cm4gc2V0dGluZyA/IGNsb25lRGVlcChzZXR0aW5nLnZhbHVlKSA6IHVuZGVmaW5lZCE7XG4gIH1cblxuICBhc3luYyBhbGwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMucHJvdmlkZXIubG9hZCgpO1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoc2V0dGluZ3MubWFwKChzKSA9PiBbcy5rZXksIGNsb25lRGVlcChzLnZhbHVlKV0pKTtcbiAgfVxuXG4gIGFzeW5jIGRlZmF1bHRWYWx1ZXMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5kZWZhdWx0VmFsdWVzKHRoaXMucHJvdmlkZXIuc2NvcGUpO1xuICB9XG5cbiAgYXN5bmMgc2V0PFQgPSBhbnk+KGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IFByb21pc2U8dm9pZD47XG4gIGFzeW5jIHNldDxUID0gYW55Pih2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFQ+KTogUHJvbWlzZTx2b2lkPjtcbiAgYXN5bmMgc2V0PFQgPSBhbnk+KGtleU9yVmFsdWVzOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBUPiwgdmFsdWU/OiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHR5cGVvZiBrZXlPclZhbHVlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFNpbmdsZSBrZXktdmFsdWUgcGFpclxuICAgICAgYXdhaXQgdGhpcy5wcm92aWRlci5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTtcbiAgICAgIHRoaXMuc2NvcGVDYWNoZS5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTsgLy8gU3luYyB0aGUgY2FjaGVcbiAgICAgIHRoaXMucGFyZW50Lmludm9rZUNoYW5nZUV2ZW50KHtcbiAgICAgICAgc2NvcGU6IHRoaXMucHJvdmlkZXIuc2NvcGUsXG4gICAgICAgIGtleXM6IFtrZXlPclZhbHVlc10sXG4gICAgICAgIHZhbHVlczogeyBba2V5T3JWYWx1ZXNdOiB2YWx1ZSB9LFxuICAgICAgICBlbnRyaWVzOiBbeyBrZXk6IGtleU9yVmFsdWVzLCB2YWx1ZSB9XSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBNdWx0aXBsZSBrZXktdmFsdWUgcGFpcnNcbiAgICAgIGF3YWl0IHRoaXMucHJvdmlkZXIuc2V0KGtleU9yVmFsdWVzKTtcbiAgICAgIE9iamVjdC5lbnRyaWVzKGtleU9yVmFsdWVzKS5mb3JFYWNoKChba2V5LCB2YWxdKSA9PiB0aGlzLnNjb3BlQ2FjaGUuc2V0KGtleSwgdmFsKSk7IC8vIFN5bmMgdGhlIGNhY2hlXG4gICAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoa2V5T3JWYWx1ZXMpLm1hcCgoW2tleSwgdmFsXSkgPT4gKHsga2V5LCB2YWx1ZTogdmFsIH0pKTtcbiAgICAgIHRoaXMucGFyZW50Lmludm9rZUNoYW5nZUV2ZW50KHtcbiAgICAgICAgc2NvcGU6IHRoaXMucHJvdmlkZXIuc2NvcGUsXG4gICAgICAgIGtleXM6IE9iamVjdC5rZXlzKGtleU9yVmFsdWVzKSxcbiAgICAgICAgdmFsdWVzOiBrZXlPclZhbHVlcyxcbiAgICAgICAgZW50cmllcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZTxUID0gYW55PihrZXk6IHN0cmluZywgdXBkYXRlRm46IChjdXJyZW50VmFsdWU6IFQpID0+IFQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBhd2FpdCB0aGlzLmdldDxUPihrZXkpO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdXBkYXRlRm4oY3VycmVudFZhbHVlKTtcbiAgICBhd2FpdCB0aGlzLnNldChrZXksIG5ld1ZhbHVlKTtcbiAgfVxufVxuIl19","export var AXPHomePageSettings;\n(function (AXPHomePageSettings) {\n AXPHomePageSettings[\"UserHomePath\"] = \"general:startup:home-page\";\n})(AXPHomePageSettings || (AXPHomePageSettings = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLXNldHRpbmdzLmtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS1zZXR0aW5ncy5rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBRVg7QUFGRCxXQUFZLG1CQUFtQjtJQUMzQixpRUFBMEMsQ0FBQTtBQUM5QyxDQUFDLEVBRlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUU5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFYUEhvbWVQYWdlU2V0dGluZ3Mge1xuICAgIFVzZXJIb21lUGF0aCA9ICdnZW5lcmFsOnN0YXJ0dXA6aG9tZS1wYWdlJyxcbn0iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { merge } from 'rxjs';\nimport { AXPSettingService } from '../settings';\nimport { AXPHomePageSettings } from './home-page-settings.key';\nimport { AXP_HOME_PAGE_DEFAULT_KEY, AXP_HOME_PAGES } from './home-page.types';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageService {\n get flatCandidates() {\n return this.candidates.flatMap((c) => c);\n }\n constructor() {\n this.defaultHomePageKey = inject(AXP_HOME_PAGE_DEFAULT_KEY, { optional: true }) ?? 'home';\n this.userHomePageKey = null;\n this.candidates = inject(AXP_HOME_PAGES, { optional: true }) ?? [];\n this.settingsService = inject(AXPSettingService);\n this.sessionService = inject(AXPSessionService);\n this.injector = inject(Injector);\n this.originalConfig = null;\n this.loginPath = 'auth/login';\n // remove circular dependency\n setTimeout(async () => {\n await this.init();\n });\n }\n async init() {\n await this.load();\n //\n const keys = [AXPHomePageSettings.UserHomePath];\n this.settingsService.onChanged.subscribe(async (c) => {\n if (keys.some((k) => c.keys.includes(k))) {\n await this.load();\n this.refreshRoutes();\n }\n });\n //\n merge(this.sessionService.status$, this.sessionService.application$, this.sessionService.tenant$).subscribe(async (data) => {\n await this.load();\n this.refreshRoutes();\n });\n }\n async load() {\n this.userHomePageKey = await this.settingsService.get(AXPHomePageSettings.UserHomePath);\n }\n getRegisteredList() {\n return this.flatCandidates.filter((c) => c.route);\n }\n getRegisteredRoutes() {\n const defaultHomePage = this.flatCandidates.find((c) => c.key === this.defaultHomePageKey);\n const home = this.flatCandidates.find((c) => this.userHomePageKey && c.key === this.userHomePageKey) ?? defaultHomePage;\n if (home && home.route && this.sessionService.application?.name) {\n const fullPath = this.findPath(home.route);\n return [\n { path: '', redirectTo: fullPath, pathMatch: 'full' },\n { path: ':app', redirectTo: fullPath, pathMatch: 'full' },\n { ...home?.route, ...{ data: { key: home?.key, title: home?.title, path: fullPath } } },\n ];\n }\n return [\n { path: '', redirectTo: this.loginPath, pathMatch: 'full' },\n ];\n }\n getCurrent() {\n const key = this.userHomePageKey ?? this.defaultHomePageKey;\n const homePage = this.getRegisteredRoutes().find((c) => c.data?.['key'] === key);\n if (homePage) {\n return {\n path: homePage.data?.['path'],\n title: homePage.data?.['title'],\n };\n }\n return {\n path: this.loginPath,\n title: '',\n };\n }\n findPath(target) {\n const rawPath = this.buildFullPaths(target).join('/');\n const appName = this.sessionService.application?.name;\n if (appName) {\n return rawPath.replace(':app', appName);\n }\n return rawPath;\n }\n buildFullPaths(route, parentPath = []) {\n const segments = [...parentPath];\n if (route.path) {\n segments.push(route.path);\n }\n // Recursively search the first matched child (deepest first match)\n if (route.children?.length) {\n return this.buildFullPaths(route.children[0], segments);\n }\n return segments;\n }\n refreshRoutes() {\n const router = this.injector.get(Router);\n // 👇 On first call, remember what was there before:\n if (!this.originalConfig) {\n this.originalConfig = router.config;\n }\n this.applyMergedConfig(router);\n }\n applyMergedConfig(router) {\n const newHomeRoutes = this.getRegisteredRoutes(); // your 3 home entries\n // Filter the original routes to drop the old home placeholders.\n // We know your dynamic routes always have path === '' or ':app'\n // or carry a `data.key` matching one of your home-page keys.\n const otherRoutes = (this.originalConfig ?? [])\n .filter(r => r.path !== '' &&\n r.path !== ':app' &&\n !(r.data && typeof r.data['key'] === 'string'));\n // Build the new merged tree\n const merged = [\n ...newHomeRoutes,\n ...otherRoutes\n ];\n // TODO: check this for custom menu like :app/terms\n router.resetConfig(merged);\n }\n async navigateTo() {\n // wait for the router to be initialized \n setTimeout(() => {\n const router = this.injector.get(Router);\n const current = this.getCurrent();\n router.navigate([current.path]);\n }, 100);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2hvbWUtcGFnZS9ob21lLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFTLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQXlCLE1BQU0sbUJBQW1CLENBQUM7O0FBS3JHLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsSUFBWSxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDtRQWJRLHVCQUFrQixHQUFHLE1BQU0sQ0FBUyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUM3RixvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZGLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FB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TTtZQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQy9DLENBQUM7UUFFSiw0QkFBNEI7UUFDNUIsTUFBTSxNQUFNLEdBQVc7WUFDckIsR0FBRyxhQUFhO1lBQ2hCLEdBQUcsV0FBVztTQUNmLENBQUM7UUFDRixtREFBbUQ7UUFDbkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCwwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs4R0FwSlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNldHRpbmdzIH0gZnJvbSAnLi9ob21lLXBhZ2Utc2V0dGluZ3Mua2V5JztcbmltcG9ydCB7IEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVksIEFYUF9IT01FX1BBR0VTLCBBWFBIb21lUGFnZURlZmluaXRpb24gfSBmcm9tICcuL2hvbWUtcGFnZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBIb21lUGFnZVNlcnZpY2Uge1xuICBwcml2YXRlIGRlZmF1bHRIb21lUGFnZUtleSA9IGluamVjdDxzdHJpbmc+KEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVksIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gJ2hvbWUnO1xuICBwcml2YXRlIHVzZXJIb21lUGFnZUtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2FuZGlkYXRlcyA9IGluamVjdDxBWFBIb21lUGFnZURlZmluaXRpb25bXT4oQVhQX0hPTUVfUEFHRVMsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gW107XG4gIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIG9yaWdpbmFsQ29uZmlnOiBSb3V0ZXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsb2dpblBhdGggPSAnYXV0aC9sb2dpbic7XG5cbiAgcHJpdmF0ZSBnZXQgZmxhdENhbmRpZGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FuZGlkYXRlcy5mbGF0TWFwKChjKSA9PiBjKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHJlbW92ZSBjaXJjdWxhciBkZXBlbmRlbmN5XG4gICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmluaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWQoKTtcbiAgICAvL1xuICAgIGNvbnN0IGtleXMgPSBbQVhQSG9tZVBhZ2VTZXR0aW5ncy5Vc2VySG9tZVBhdGhdO1xuICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLm9uQ2hhbmdlZC5zdWJzY3JpYmUoYXN5bmMgKGMpID0+IHtcbiAgICAgIGlmIChrZXlzLnNvbWUoKGspID0+IGMua2V5cy5pbmNsdWRlcyhrKSkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaFJvdXRlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vXG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnN0YXR1cyQsXG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uJCxcbiAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50JCxcbiAgICApLnN1YnNjcmliZShcbiAgICAgIGFzeW5jIChkYXRhKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICAgICAgICB0aGlzLnJlZnJlc2hSb3V0ZXMoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnVzZXJIb21lUGFnZUtleSA9IGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmdldChBWFBIb21lUGFnZVNldHRpbmdzLlVzZXJIb21lUGF0aCk7XG4gIH1cblxuICBnZXRSZWdpc3RlcmVkTGlzdCgpOiBBWFBIb21lUGFnZURlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhdENhbmRpZGF0ZXMuZmlsdGVyKChjKSA9PiBjLnJvdXRlKTtcbiAgfVxuXG4gIGdldFJlZ2lzdGVyZWRSb3V0ZXMoKTogUm91dGVzIHtcbiAgICBjb25zdCBkZWZhdWx0SG9tZVBhZ2UgPSB0aGlzLmZsYXRDYW5kaWRhdGVzLmZpbmQoKGMpID0+IGMua2V5ID09PSB0aGlzLmRlZmF1bHRIb21lUGFnZUtleSk7XG5cbiAgICBjb25zdCBob21lID1cbiAgICAgIHRoaXMuZmxhdENhbmRpZGF0ZXMuZmluZCgoYykgPT4gdGhpcy51c2VySG9tZVBhZ2VLZXkgJiYgYy5rZXkgPT09IHRoaXMudXNlckhvbWVQYWdlS2V5KSA/PyBkZWZhdWx0SG9tZVBhZ2U7XG4gICAgaWYgKGhvbWUgJiYgaG9tZS5yb3V0ZSAmJiB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lKSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHRoaXMuZmluZFBhdGgoaG9tZS5yb3V0ZSk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiBmdWxsUGF0aCwgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgICAgICAgeyBwYXRoOiAnOmFwcCcsIHJlZGlyZWN0VG86IGZ1bGxQYXRoLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxuICAgICAgICB7IC4uLmhvbWU/LnJvdXRlLCAuLi57IGRhdGE6IHsga2V5OiBob21lPy5rZXksIHRpdGxlOiBob21lPy50aXRsZSwgcGF0aDogZnVsbFBhdGggfSB9IH0sXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgeyBwYXRoOiAnJywgcmVkaXJlY3RUbzogdGhpcy5sb2dpblBhdGgsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXG4gICAgXTtcbiAgfVxuXG4gIGdldEN1cnJlbnQoKTogeyBwYXRoOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy51c2VySG9tZVBhZ2VLZXkgPz8gdGhpcy5kZWZhdWx0SG9tZVBhZ2VLZXk7XG4gICAgY29uc3QgaG9tZVBhZ2UgPSB0aGlzLmdldFJlZ2lzdGVyZWRSb3V0ZXMoKS5maW5kKChjKSA9PiBjLmRhdGE/Llsna2V5J10gPT09IGtleSkhO1xuICAgIGlmIChob21lUGFnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogaG9tZVBhZ2UuZGF0YT8uWydwYXRoJ10sXG4gICAgICAgIHRpdGxlOiBob21lUGFnZS5kYXRhPy5bJ3RpdGxlJ10sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aDogdGhpcy5sb2dpblBhdGgsXG4gICAgICB0aXRsZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhdGgodGFyZ2V0OiBSb3V0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3UGF0aCA9IHRoaXMuYnVpbGRGdWxsUGF0aHModGFyZ2V0KS5qb2luKCcvJyk7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG4gICAgaWYgKGFwcE5hbWUpIHtcbiAgICAgIHJldHVybiByYXdQYXRoLnJlcGxhY2UoJzphcHAnLCBhcHBOYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhd1BhdGg7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRnVsbFBhdGhzKHJvdXRlOiBSb3V0ZSwgcGFyZW50UGF0aDogc3RyaW5nW10gPSBbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IFsuLi5wYXJlbnRQYXRoXTtcbiAgICBpZiAocm91dGUucGF0aCkge1xuICAgICAgc2VnbWVudHMucHVzaChyb3V0ZS5wYXRoKTtcbiAgICB9XG5cbiAgICAvLyBSZWN1cnNpdmVseSBzZWFyY2ggdGhlIGZpcnN0IG1hdGNoZWQgY2hpbGQgKGRlZXBlc3QgZmlyc3QgbWF0Y2gpXG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkRnVsbFBhdGhzKHJvdXRlLmNoaWxkcmVuWzBdLCBzZWdtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoUm91dGVzKCkge1xuICAgIGNvbnN0IHJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG5cbiAgICAvLyDwn5GHIE9uIGZpcnN0IGNhbGwsIHJlbWVtYmVyIHdoYXQgd2FzIHRoZXJlIGJlZm9yZTpcbiAgICBpZiAoIXRoaXMub3JpZ2luYWxDb25maWcpIHtcbiAgICAgIHRoaXMub3JpZ2luYWxDb25maWcgPSByb3V0ZXIuY29uZmlnO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNZXJnZWRDb25maWcocm91dGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNZXJnZWRDb25maWcocm91dGVyOiBSb3V0ZXIpIHtcbiAgICBjb25zdCBuZXdIb21lUm91dGVzID0gdGhpcy5nZXRSZWdpc3RlcmVkUm91dGVzKCk7ICAvLyB5b3VyIDMgaG9tZSBlbnRyaWVzXG5cbiAgICAvLyBGaWx0ZXIgdGhlIG9yaWdpbmFsIHJvdXRlcyB0byBkcm9wIHRoZSBvbGQgaG9tZSBwbGFjZWhvbGRlcnMuXG4gICAgLy8gV2Uga25vdyB5b3VyIGR5bmFtaWMgcm91dGVzIGFsd2F5cyBoYXZlIHBhdGggPT09ICcnIG9yICc6YXBwJ1xuICAgIC8vIG9yIGNhcnJ5IGEgYGRhdGEua2V5YCBtYXRjaGluZyBvbmUgb2YgeW91ciBob21lLXBhZ2Uga2V5cy5cbiAgICBjb25zdCBvdGhlclJvdXRlcyA9ICh0aGlzLm9yaWdpbmFsQ29uZmlnID8/IFtdKVxuICAgICAgLmZpbHRlcihyID0+XG4gICAgICAgIHIucGF0aCAhPT0gJycgJiZcbiAgICAgICAgci5wYXRoICE9PSAnOmFwcCcgJiZcbiAgICAgICAgIShyLmRhdGEgJiYgdHlwZW9mIHIuZGF0YVsna2V5J10gPT09ICdzdHJpbmcnKVxuICAgICAgKTtcblxuICAgIC8vIEJ1aWxkIHRoZSBuZXcgbWVyZ2VkIHRyZWVcbiAgICBjb25zdCBtZXJnZWQ6IFJvdXRlcyA9IFtcbiAgICAgIC4uLm5ld0hvbWVSb3V0ZXMsXG4gICAgICAuLi5vdGhlclJvdXRlc1xuICAgIF07XG4gICAgLy8gVE9ETzogY2hlY2sgdGhpcyBmb3IgY3VzdG9tIG1lbnUgbGlrZSA6YXBwL3Rlcm1zXG4gICAgcm91dGVyLnJlc2V0Q29uZmlnKG1lcmdlZCk7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvKCkge1xuICAgIC8vIHdhaXQgZm9yIHRoZSByb3V0ZXIgdG8gYmUgaW5pdGlhbGl6ZWQgIFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldEN1cnJlbnQoKTtcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbY3VycmVudC5wYXRoXSk7XG4gICAgfSwgMTAwKTtcbiAgfVxufVxuIl19","import { inject, makeEnvironmentProviders } from \"@angular/core\";\nimport { ROUTES } from \"@angular/router\";\nimport { AXPHomePageService } from \"./home-page.service\";\nfunction dynamicRoutesFactory() {\n const service = inject(AXPHomePageService);\n return service.getRegisteredRoutes();\n}\nexport function provideDynamicHomePage() {\n return makeEnvironmentProviders([\n {\n provide: ROUTES,\n useFactory: dynamicRoutesFactory,\n multi: true\n }\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS5yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixNQUFNLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELFNBQVMsb0JBQW9CO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyx3QkFBd0IsQ0FBQztRQUM1QjtZQUNJLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb3V0ZXMsIFJPVVRFUyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gXCIuL2hvbWUtcGFnZS5zZXJ2aWNlXCI7XG5cbmZ1bmN0aW9uIGR5bmFtaWNSb3V0ZXNGYWN0b3J5KCk6IFJvdXRlcyB7XG4gICAgY29uc3Qgc2VydmljZSA9IGluamVjdChBWFBIb21lUGFnZVNlcnZpY2UpO1xuICAgIHJldHVybiBzZXJ2aWNlLmdldFJlZ2lzdGVyZWRSb3V0ZXMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEeW5hbWljSG9tZVBhZ2UoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBkeW5hbWljUm91dGVzRmFjdG9yeSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdKTtcbn0iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope, objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { AXPHomePageSettings } from './home-page-settings.key';\nimport { AXPHomePageService } from './home-page.service';\nimport { AXP_HOME_PAGE_DEFAULT_KEY } from './home-page.types';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n this.homePageService = this.injector.get(AXPHomePageService);\n this.defaultHomePageKey = inject(AXP_HOME_PAGE_DEFAULT_KEY, { optional: true }) ?? 'home';\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`settings.${key}`, { scope: 'general' });\n const list = await this.homePageService.getRegisteredList().map((c) => ({ id: c.key, title: c.title }));\n if (list.length === 0) {\n return;\n }\n // Define the 'General Settings' group\n context\n .addGroup('general', await trans('general.title'), await trans('general.description'), 'fa-light fa-palette')\n // Add the 'Startup' section\n .addSection('startup', await trans('general.startup.title'), await trans('general.startup.description'))\n // Add the 'Home Page' setting\n .addSetting({\n key: AXPHomePageSettings.UserHomePath,\n title: await trans('general.startup.home-page.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: this.defaultHomePageKey || list[0].id,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: list,\n },\n },\n description: await trans('general.startup.home-page.description'),\n })\n // End the 'Startup' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9ob21lLXBhZ2UvaG9tZS1wYWdlLXNldHRpbmdzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0Qsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLHVCQUFrQixHQUFHLE1BQU0sQ0FBUyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUU1RCxDQUFDO0lBRTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQ2xDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE9BQU87YUFDSixRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUscUJBQXFCLENBQUM7WUFFN0csNEJBQTRCO2FBQzNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3hHLDhCQUE4QjthQUM3QixVQUFVLENBQUM7WUFDVixHQUFHLEVBQUUsbUJBQW1CLENBQUMsWUFBWTtZQUNyQyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUM7WUFDckQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxlQUFlLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQy9DLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxFQUFFO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsT0FBTztvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsdUNBQXVDLENBQUM7U0FDbEUsQ0FBQztZQUVGLDRCQUE0QjthQUMzQixVQUFVLEVBQUU7WUFFYixtQ0FBbUM7YUFDbEMsUUFBUSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs4R0E5Q1UsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlLCBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVhQSG9tZVBhZ2VTZXR0aW5ncyB9IGZyb20gJy4vaG9tZS1wYWdlLXNldHRpbmdzLmtleSc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UgfSBmcm9tICcuL2hvbWUtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVkgfSBmcm9tICcuL2hvbWUtcGFnZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBIb21lUGFnZVNldHRpbmdQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQSG9tZVBhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkZWZhdWx0SG9tZVBhZ2VLZXkgPSBpbmplY3Q8c3RyaW5nPihBWFBfSE9NRV9QQUdFX0RFRkFVTFRfS0VZLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/ICdob21lJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoYHNldHRpbmdzLiR7a2V5fWAsIHsgc2NvcGU6ICdnZW5lcmFsJyB9KTtcblxuICAgIGNvbnN0IGxpc3QgPSBhd2FpdCB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRSZWdpc3RlcmVkTGlzdCgpLm1hcCgoYykgPT4gKHsgaWQ6IGMua2V5LCB0aXRsZTogYy50aXRsZSB9KSk7XG4gICAgaWYgKGxpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRGVmaW5lIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICBjb250ZXh0XG4gICAgICAuYWRkR3JvdXAoJ2dlbmVyYWwnLCBhd2FpdCB0cmFucygnZ2VuZXJhbC50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5kZXNjcmlwdGlvbicpLCAnZmEtbGlnaHQgZmEtcGFsZXR0ZScpXG5cbiAgICAgIC8vIEFkZCB0aGUgJ1N0YXJ0dXAnIHNlY3Rpb25cbiAgICAgIC5hZGRTZWN0aW9uKCdzdGFydHVwJywgYXdhaXQgdHJhbnMoJ2dlbmVyYWwuc3RhcnR1cC50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5zdGFydHVwLmRlc2NyaXB0aW9uJykpXG4gICAgICAvLyBBZGQgdGhlICdIb21lIFBhZ2UnIHNldHRpbmdcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBIb21lUGFnZVNldHRpbmdzLlVzZXJIb21lUGF0aCxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLnN0YXJ0dXAuaG9tZS1wYWdlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZGVmYXVsdEhvbWVQYWdlS2V5IHx8IGxpc3RbMF0uaWQsXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCdpZCcpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5zZWxlY3QsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGxpc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLnN0YXJ0dXAuaG9tZS1wYWdlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuXG4gICAgICAvLyBFbmQgdGhlICdTdGFydHVwJyBzZWN0aW9uXG4gICAgICAuZW5kU2VjdGlvbigpXG5cbiAgICAgIC8vIEVuZCB0aGUgJ0dlbmVyYWwgU2V0dGluZ3MnIGdyb3VwXG4gICAgICAuZW5kR3JvdXAoKTtcbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXP_SETTING_DEFINITION_PROVIDER } from '../settings';\nimport { AXPHomePageSettingProvider } from './home-page-settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageModule, providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPHomePageSettingProvider,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPHomePageModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPHomePageSettingProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBWTNFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsYUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGlCQUFpQjtrQkFWN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLCtCQUErQjs0QkFDeEMsUUFBUSxFQUFFLDBCQUEwQjs0QkFDcEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX1NFVFRJTkdfREVGSU5JVElPTl9QUk9WSURFUiB9IGZyb20gJy4uL3NldHRpbmdzJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9ob21lLXBhZ2Utc2V0dGluZ3MucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFVFRJTkdfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBIb21lUGFnZVNldHRpbmdQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEhvbWVQYWdlTW9kdWxlIHt9XG4iXX0=","export class AXPDataProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm92aWRlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZGF0YS9kYXRhLXByb3ZpZGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsZUFBZTtDQWFwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBEYXRhUHJvdmlkZXIge1xuICBhYnN0cmFjdCBpbnNlcnRPbmUoZW50aXR5OiBhbnksIGVudGl0eUl0ZW06IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgaW5zZXJ0TWFueShlbnRpdHk6IGFueSwgZW50aXR5TGlzdDogYW55KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBnZXRPbmUoZW50aXR5OiBhbnksIGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGdldE1hbnkoZW50aXR5OiBhbnksIHBhcmFtcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgdXBkYXRlT25lKGVudGl0eTogYW55LCBpZD86IHN0cmluZywgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGRlbGV0ZU9uZShlbnRpdHk6IGFueSwgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZ2V0Rmlyc3QoZW50aXR5OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHVwbG9hZEZpbGUoZmlsZTogRmlsZSwgdGl0bGU6IHN0cmluZywgY3VzdG9tVXJsPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBhYnN0cmFjdCB1cGRhdGVGaWxlKGlkOnN0cmluZyxmaWxlOiBGaWxlLCB0aXRsZTogc3RyaW5nLCBjdXN0b21Vcmw/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gIGFic3RyYWN0IHVwbG9hZE11bHRpcGxlRmlsZXMoZmlsZXM6IEZpbGVbXSwgdGl0bGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+O1xuICBhYnN0cmFjdCB2aWV3RmlsZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+O1xuICBhYnN0cmFjdCBkb3dubG9hZEZpbGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxCbG9iPjtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPCustomOperatorService {\n}\nexport class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {\n getCustomOperators() {\n return {};\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2RhdGEvb3BlcmF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxPQUFnQix3QkFBd0I7Q0FFN0M7QUFHRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3hFLGtCQUFrQjtRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBSFUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2VPcGVyYXRvciB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2Uge1xuICBhYnN0cmFjdCBnZXRDdXN0b21PcGVyYXRvcnMoKTogeyBba2V5OiBzdHJpbmddOiBBWERhdGFTb3VyY2VPcGVyYXRvciB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlSW1wbCBleHRlbmRzIEFYUEN1c3RvbU9wZXJhdG9yU2VydmljZSB7XG4gIGdldEN1c3RvbU9wZXJhdG9ycygpOiB7IFtrZXk6IHN0cmluZ106IEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19","import { inject, Injectable } from '@angular/core';\nimport { ALL_DEFAULT_OPERATORS } from '../app';\nimport { AXPCustomOperatorService } from './operators.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPFilterOperatorMiddlewareService {\n}\nexport class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddlewareService {\n constructor() {\n super(...arguments);\n this.customOperatorService = inject(AXPCustomOperatorService);\n this.operators = {\n ...this.getDefaultOperators(),\n ...this.customOperatorService.getCustomOperators(),\n };\n }\n transformFilters(filters) {\n return filters.map((filter) => this.transformFilter(filter));\n }\n transformFilter(filter) {\n const { operator, value, filters, field } = filter;\n // Find the operator (either default or custom)\n const filterOperator = this.operators[operator?.type ?? ''] || null;\n // Start by transforming the filter itself\n const transformedFilter = {\n ...filter, // Keep the original filter structure\n operator: filterOperator ? filterOperator : operator, // Add operator name\n };\n // If the filter contains nested filters, recursively transform them\n if (filters && filters.length > 0) {\n transformedFilter.filters = this.transformFilters(filters); // Recursively transform nested filters\n }\n return transformedFilter;\n }\n getOperator(key) {\n return this.operators[key];\n }\n // Helper function to return the default operators\n getDefaultOperators() {\n return ALL_DEFAULT_OPERATORS.reduce((acc, operator) => {\n acc[operator.name] = {\n type: operator.name,\n };\n return acc;\n }, {});\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW1pZGRsZXdhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZGF0YS9maWx0ZXItbWlkZGxld2FyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFL0QsTUFBTSxPQUFnQixrQ0FBa0M7Q0FpQnZEO0FBR0QsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLGtDQUFrQztJQUQ5Rjs7UUFFVSwwQkFBcUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUV6RCxjQUFTLEdBQTRDO1lBQzNELEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFO1NBQ25ELENBQUM7S0F5Q0g7SUF2Q0MsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFnQztRQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ25ELCtDQUErQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO1FBRXBFLDBDQUEwQztRQUMxQyxNQUFNLGlCQUFpQixHQUE2QjtZQUNsRCxHQUFHLE1BQU0sRUFBRSxxQ0FBcUM7WUFDaEQsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CO1NBQzNFLENBQUM7UUFFRixvRUFBb0U7UUFDcEUsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGtEQUFrRDtJQUMxQyxtQkFBbUI7UUFDekIsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQ2pDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ25CLElBQUksRUFBRSxRQUFRLENBQUMsSUFBVzthQUMzQixDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0QsRUFBNkMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7OEdBOUNVLHNDQUFzQztrSEFBdEMsc0NBQXNDOzsyRkFBdEMsc0NBQXNDO2tCQURsRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uLCBBWERhdGFTb3VyY2VPcGVyYXRvciB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFMTF9ERUZBVUxUX09QRVJBVE9SUyB9IGZyb20gJy4uL2FwcCc7XG5pbXBvcnQgeyBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2UgfSBmcm9tICcuL29wZXJhdG9ycy5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2Uge1xuICAvKipcbiAgICogTWlkZGxld2FyZSB0byB0cmFuc2Zvcm0gc2VsZWN0ZWQgZmlsdGVycyBpbnRvIGNvcnJlc3BvbmRpbmcgb3BlcmF0b3JzLlxuICAgKiBAcGFyYW0gZmlsdGVycyBBcnJheSBvZiBzZWxlY3RlZCBmaWx0ZXJzIChlLmcuLCB1c2VyIGlucHV0KS5cbiAgICogQHBhcmFtIGN1c3RvbU9wZXJhdG9ycyBPcHRpb25hbCBjdXN0b20gb3BlcmF0b3JzIG1hcCB0byBvdmVycmlkZSBkZWZhdWx0IG9wZXJhdG9ycy5cbiAgICogQHJldHVybnMgVHJhbnNmb3JtZWQgZmlsdGVycyBiYXNlZCBvbiBjdXN0b20gb3IgZGVmYXVsdCBvcGVyYXRvcnMuXG4gICAqL1xuICBhYnN0cmFjdCB0cmFuc2Zvcm1GaWx0ZXJzKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW107XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gdHJhbnNmb3JtIGEgc2luZ2xlIGZpbHRlci4gVGhpcyBoYW5kbGVzIHJlY3Vyc2lvbiBmb3IgbmVzdGVkIGZpbHRlcnMuXG4gICAqIEBwYXJhbSBmaWx0ZXIgQSBzaW5nbGUgZmlsdGVyIG9iamVjdC5cbiAgICogQHJldHVybnMgVHJhbnNmb3JtZWQgZmlsdGVyLlxuICAgKi9cbiAgYWJzdHJhY3QgdHJhbnNmb3JtRmlsdGVyKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbik6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbjtcblxuICBhYnN0cmFjdCBnZXRPcGVyYXRvcihrZXk6IHN0cmluZyk6IEFYRGF0YVNvdXJjZU9wZXJhdG9yO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZUltcGwgZXh0ZW5kcyBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjdXN0b21PcGVyYXRvclNlcnZpY2UgPSBpbmplY3QoQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlKTtcblxuICBwcml2YXRlIG9wZXJhdG9yczogeyBba2V5OiBzdHJpbmddOiBBWERhdGFTb3VyY2VPcGVyYXRvciB9ID0ge1xuICAgIC4uLnRoaXMuZ2V0RGVmYXVsdE9wZXJhdG9ycygpLFxuICAgIC4uLnRoaXMuY3VzdG9tT3BlcmF0b3JTZXJ2aWNlLmdldEN1c3RvbU9wZXJhdG9ycygpLFxuICB9O1xuXG4gIHRyYW5zZm9ybUZpbHRlcnMoZmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10pOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXSB7XG4gICAgcmV0dXJuIGZpbHRlcnMubWFwKChmaWx0ZXIpID0+IHRoaXMudHJhbnNmb3JtRmlsdGVyKGZpbHRlcikpO1xuICB9XG5cbiAgdHJhbnNmb3JtRmlsdGVyKGZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uIHtcbiAgICBjb25zdCB7IG9wZXJhdG9yLCB2YWx1ZSwgZmlsdGVycywgZmllbGQgfSA9IGZpbHRlcjtcbiAgICAvLyBGaW5kIHRoZSBvcGVyYXRvciAoZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tKVxuICAgIGNvbnN0IGZpbHRlck9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcnNbb3BlcmF0b3I/LnR5cGUgPz8gJyddIHx8IG51bGw7XG5cbiAgICAvLyBTdGFydCBieSB0cmFuc2Zvcm1pbmcgdGhlIGZpbHRlciBpdHNlbGZcbiAgICBjb25zdCB0cmFuc2Zvcm1lZEZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICAgICAgLi4uZmlsdGVyLCAvLyBLZWVwIHRoZSBvcmlnaW5hbCBmaWx0ZXIgc3RydWN0dXJlXG4gICAgICBvcGVyYXRvcjogZmlsdGVyT3BlcmF0b3IgPyBmaWx0ZXJPcGVyYXRvciA6IG9wZXJhdG9yLCAvLyBBZGQgb3BlcmF0b3IgbmFtZVxuICAgIH07XG5cbiAgICAvLyBJZiB0aGUgZmlsdGVyIGNvbnRhaW5zIG5lc3RlZCBmaWx0ZXJzLCByZWN1cnNpdmVseSB0cmFuc2Zvcm0gdGhlbVxuICAgIGlmIChmaWx0ZXJzICYmIGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdHJhbnNmb3JtZWRGaWx0ZXIuZmlsdGVycyA9IHRoaXMudHJhbnNmb3JtRmlsdGVycyhmaWx0ZXJzKTsgLy8gUmVjdXJzaXZlbHkgdHJhbnNmb3JtIG5lc3RlZCBmaWx0ZXJzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkRmlsdGVyO1xuICB9XG5cbiAgZ2V0T3BlcmF0b3Ioa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRvcnNba2V5XTtcbiAgfVxuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGRlZmF1bHQgb3BlcmF0b3JzXG4gIHByaXZhdGUgZ2V0RGVmYXVsdE9wZXJhdG9ycygpOiB7IFtrZXk6IHN0cmluZ106IEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0ge1xuICAgIHJldHVybiBBTExfREVGQVVMVF9PUEVSQVRPUlMucmVkdWNlKFxuICAgICAgKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgICAgYWNjW29wZXJhdG9yLm5hbWVdID0ge1xuICAgICAgICAgIHR5cGU6IG9wZXJhdG9yLm5hbWUgYXMgYW55LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIHsgW2tleTogc3RyaW5nXTogQVhEYXRhU291cmNlT3BlcmF0b3IgfSxcbiAgICApO1xuICB9XG59XG4iXX0=","import { Injectable, Injector } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPErrorHandlerRegistryService {\n constructor(injector) {\n this.injector = injector;\n this.errorHandlers = [];\n }\n register(...plugins) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const handler = childInjector.get(t);\n if (handler) {\n this.errorHandlers.push(handler);\n }\n });\n }\n get handlers() {\n return this.errorHandlers;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9lcnJvcnMvZXJyb3ItaGFuZGxlci1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1yRCxNQUFNLE9BQU8sOEJBQThCO0lBR3ZDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUIsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO0lBRzlDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxPQUFzQztRQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckgsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFHRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzs4R0FuQlEsOEJBQThCO2tIQUE5Qiw4QkFBOEIsY0FGM0IsTUFBTTs7MkZBRVQsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciB9IGZyb20gXCIuL2Vycm9yLWhhbmRsZXIudHlwZXNcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2Uge1xuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyczogQVhQRXJyb3JIYW5kbGVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXIoLi4ucGx1Z2luczogKG5ldyAoKSA9PiBBWFBFcnJvckhhbmRsZXIpW10pIHtcbiAgICAgICAgcGx1Z2lucy5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogdCwgdXNlQ2xhc3M6IHQsIGRlcHM6IFtdIH1dLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gY2hpbGRJbmplY3Rvci5nZXQodCk7XG4gICAgICAgICAgICBpZiAoaGFuZGxlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVycy5wdXNoKGhhbmRsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuXG4gICAgcHVibGljIGdldCBoYW5kbGVycygpOiBBWFBFcnJvckhhbmRsZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlcnM7XG4gICAgfVxufSJdfQ==","import { ErrorHandler, Injectable, Injector } from \"@angular/core\";\nimport { AXPErrorHandlerRegistryService } from \"./error-handler-registry.service\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./error-handler-registry.service\";\nexport class AXPGlobalErrorHandler extends ErrorHandler {\n constructor(injector, registry) {\n super();\n this.injector = injector;\n this.registry = registry;\n }\n handleError(error) {\n const handleErrorRecursively = (index, error) => {\n const errorHandlers = this.registry.handlers;\n if (index < errorHandlers.length) {\n errorHandlers[index].handleError(error, (err) => {\n handleErrorRecursively(index + 1, err);\n });\n }\n else {\n super.handleError(error); // Fallback to default handler\n }\n };\n if (error.message?.startsWith('NG0100')) {\n //ignore it\n return;\n }\n handleErrorRecursively(0, error);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: i1.AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AXPErrorHandlerRegistryService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUdsRixNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUluRCxZQUFvQixRQUFrQixFQUFVLFFBQXdDO1FBQ3BGLEtBQUssRUFBRSxDQUFBO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdDO0lBRXhGLENBQUM7SUFFUSxXQUFXLENBQUMsS0FBWTtRQUM3QixNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBYSxFQUFFLEtBQVUsRUFBRSxFQUFFO1lBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQzdDLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDNUMsc0JBQXNCLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtZQUM1RCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RDLFdBQVc7WUFDWCxPQUFNO1FBQ1YsQ0FBQztRQUNELHNCQUFzQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQXhCUSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2UgfSBmcm9tIFwiLi9lcnJvci1oYW5kbGVyLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBHbG9iYWxFcnJvckhhbmRsZXIgZXh0ZW5kcyBFcnJvckhhbmRsZXIge1xuXG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlZ2lzdHJ5OiBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcikge1xuICAgICAgICBjb25zdCBoYW5kbGVFcnJvclJlY3Vyc2l2ZWx5ID0gKGluZGV4OiBudW1iZXIsIGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ySGFuZGxlcnMgPSB0aGlzLnJlZ2lzdHJ5LmhhbmRsZXJzO1xuICAgICAgICAgICAgaWYgKGluZGV4IDwgZXJyb3JIYW5kbGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBlcnJvckhhbmRsZXJzW2luZGV4XS5oYW5kbGVFcnJvcihlcnJvciwgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVFcnJvclJlY3Vyc2l2ZWx5KGluZGV4ICsgMSwgZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXJyb3IoZXJyb3IpOyAvLyBGYWxsYmFjayB0byBkZWZhdWx0IGhhbmRsZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2U/LnN0YXJ0c1dpdGgoJ05HMDEwMCcpKSB7XG4gICAgICAgICAgICAvL2lnbm9yZSBpdFxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlRXJyb3JSZWN1cnNpdmVseSgwLCBlcnJvcik7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, Input, ElementRef, Renderer2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPGridLayoutDirective {\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n }\n ngOnChanges(changes) {\n if (changes['options']) {\n this.applyTailwindClasses();\n }\n }\n applyTailwindClasses() {\n if (this.options?.positions == null)\n return;\n // Clear existing grid classes\n this.clearClasses();\n // Apply new grid classes based on the input options\n this.setClasses(this.options.positions?.default, '');\n this.setClasses(this.options.positions?.md, 'md:');\n this.setClasses(this.options.positions?.lg, 'lg:');\n this.setClasses(this.options.positions?.xl, 'xl:');\n this.setClasses(this.options.positions?.xxl, '2xl:');\n }\n setClasses(positions, prefix) {\n if (positions == null)\n return;\n const colStart = positions.colStart ? `${prefix}ax-col-start-${positions.colStart}` : '';\n const colEnd = positions.colEnd ? `${prefix}ax-col-end-${positions.colEnd}` : '';\n const colSpan = positions.colSpan ? `${prefix}ax-col-span-${positions.colSpan}` : '';\n const rowStart = positions.rowStart ? `${prefix}ax-row-start-${positions.rowStart}` : '';\n const rowEnd = positions.rowEnd ? `${prefix}ax-row-end-${positions.rowEnd}` : '';\n const rowSpan = positions.rowSpan ? `${prefix}ax-row-span-${positions.rowSpan}` : '';\n const order = positions.order ? `${prefix}ax-order-${positions.order}` : ''; // Handling order\n [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {\n if (cls) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n });\n }\n clearClasses() {\n const currentClasses = this.el.nativeElement.className.split(' ');\n currentClasses.forEach((className) => {\n if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {\n this.renderer.removeClass(this.el.nativeElement, className);\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.3\", type: AXPGridLayoutDirective, isStandalone: true, selector: \"[gridLayout]\", inputs: { options: [\"gridLayout\", \"options\"] }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[gridLayout]',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { options: [{\n type: Input,\n args: ['gridLayout']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvZ3JpZC1sYXlvdXQvZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4QztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPbEcsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBSSxDQUFDO0lBRXBFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU87UUFDNUMsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUs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QUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2FwcC9kaXJlY3RpdmVzL2dyaWQtbGF5b3V0LmRpcmVjdGl2ZS50c1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEdyaWRMYXlvdXRQb3NpdGlvbnMgfSBmcm9tICcuL2dyaWQtbGF5b3V0LnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dyaWRMYXlvdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQR3JpZExheW91dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnZ3JpZExheW91dCcpIG9wdGlvbnM6IEFYUEdyaWRMYXlvdXRPcHRpb25zO1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ29wdGlvbnMnXSkge1xuICAgICAgdGhpcy5hcHBseVRhaWx3aW5kQ2xhc3NlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUYWlsd2luZENsYXNzZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8ucG9zaXRpb25zID09IG51bGwpIHJldHVybjtcbiAgICAvLyBDbGVhciBleGlzdGluZyBncmlkIGNsYXNzZXNcbiAgICB0aGlzLmNsZWFyQ2xhc3NlcygpO1xuXG4gICAgLy8gQXBwbHkgbmV3IGdyaWQgY2xhc3NlcyBiYXNlZCBvbiB0aGUgaW5wdXQgb3B0aW9uc1xuICAgIHRoaXMuc2V0Q2xhc3Nlcyh0aGlzLm9wdGlvbnMucG9zaXRpb25zPy5kZWZhdWx0LCAnJyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/Lm1kLCAnbWQ6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/LmxnLCAnbGc6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/LnhsLCAneGw6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/Lnh4bCwgJzJ4bDonKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2xhc3Nlcyhwb3NpdGlvbnM6IEFYUEdyaWRMYXlvdXRQb3NpdGlvbnMgfCB1bmRlZmluZWQsIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBvc2l0aW9ucyA9PSBudWxsKSByZXR1cm47XG5cbiAgICBjb25zdCBjb2xTdGFydCA9IHBvc2l0aW9ucy5jb2xTdGFydCA/IGAke3ByZWZpeH1heC1jb2wtc3RhcnQtJHtwb3NpdGlvbnMuY29sU3RhcnR9YCA6ICcnO1xuICAgIGNvbnN0IGNvbEVuZCA9IHBvc2l0aW9ucy5jb2xFbmQgPyBgJHtwcmVmaXh9YXgtY29sLWVuZC0ke3Bvc2l0aW9ucy5jb2xFbmR9YCA6ICcnO1xuICAgIGNvbnN0IGNvbFNwYW4gPSBwb3NpdGlvbnMuY29sU3BhbiA/IGAke3ByZWZpeH1heC1jb2wtc3Bhbi0ke3Bvc2l0aW9ucy5jb2xTcGFufWAgOiAnJztcbiAgICBjb25zdCByb3dTdGFydCA9IHBvc2l0aW9ucy5yb3dTdGFydCA/IGAke3ByZWZpeH1heC1yb3ctc3RhcnQtJHtwb3NpdGlvbnMucm93U3RhcnR9YCA6ICcnO1xuICAgIGNvbnN0IHJvd0VuZCA9IHBvc2l0aW9ucy5yb3dFbmQgPyBgJHtwcmVmaXh9YXgtcm93LWVuZC0ke3Bvc2l0aW9ucy5yb3dFbmR9YCA6ICcnO1xuICAgIGNvbnN0IHJvd1NwYW4gPSBwb3NpdGlvbnMucm93U3BhbiA/IGAke3ByZWZpeH1heC1yb3ctc3Bhbi0ke3Bvc2l0aW9ucy5yb3dTcGFufWAgOiAnJztcbiAgICBjb25zdCBvcmRlciA9IHBvc2l0aW9ucy5vcmRlciA/IGAke3ByZWZpeH1heC1vcmRlci0ke3Bvc2l0aW9ucy5vcmRlcn1gIDogJyc7IC8vIEhhbmRsaW5nIG9yZGVyXG5cbiAgICBbY29sU3RhcnQsIGNvbEVuZCwgY29sU3Bhbiwgcm93U3RhcnQsIHJvd0VuZCwgcm93U3Bhbiwgb3JkZXJdLmZvckVhY2goY2xzID0+IHtcbiAgICAgIGlmIChjbHMpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ2xhc3NlcygpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Q2xhc3NlcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc05hbWUuc3BsaXQoJyAnKTtcbiAgICBjdXJyZW50Q2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKCdheC1jb2wtJykgfHwgY2xhc3NOYW1lLnN0YXJ0c1dpdGgoJ2F4LXJvdy0nKSB8fCBjbGFzc05hbWUuc3RhcnRzV2l0aCgnYXgtb3JkZXItJykpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPStickyDirective {\n get isSticky() {\n return this._isSticky;\n }\n set isSticky(value) {\n if (this._isSticky !== value) {\n this._isSticky = value;\n this.isStickyChange.emit(value);\n }\n }\n constructor(element, renderer, zone, cdr) {\n this.element = element;\n this.renderer = renderer;\n this.zone = zone;\n this.cdr = cdr;\n this.stickyOffset = 100;\n this.isStickyChange = new EventEmitter();\n this._isSticky = false;\n this.onParentScroll = () => {\n this.zone.runOutsideAngular(() => {\n const scrollTop = this.parentElement === window\n ? window.scrollY\n : this.parentElement.scrollTop;\n const shouldStick = scrollTop + this.stickyOffset >= this.topOffset;\n if (shouldStick !== this.isSticky) {\n this.zone.run(() => {\n this.isSticky = shouldStick;\n this.toggleStickyClasses(shouldStick);\n this.cdr.markForCheck();\n });\n }\n });\n };\n }\n ngAfterViewInit() {\n this.initSticky();\n // Add mutation observer for dynamic content\n this.mutationObserver = new MutationObserver(() => {\n this.updateTopOffset();\n });\n this.mutationObserver.observe(this.element.nativeElement, {\n childList: true,\n subtree: true,\n });\n // Add resize event listener\n window.addEventListener('resize', this.updateTopOffset.bind(this));\n }\n initSticky() {\n if (this.stickyParent instanceof HTMLElement) {\n this.parentElement = this.stickyParent;\n }\n else {\n this.parentElement =\n document.querySelector(this.stickyParent) || window;\n }\n this.targetElement =\n document.querySelector(this.stickyTarget) ||\n this.element.nativeElement;\n this.updateTopOffset();\n this.parentElement.addEventListener('scroll', this.onParentScroll);\n }\n updateTopOffset() {\n this.zone.runOutsideAngular(() => {\n const rect = this.targetElement.getBoundingClientRect();\n this.topOffset = rect.top + (window.scrollY || 0);\n });\n }\n toggleStickyClasses(isSticky) {\n const classes = this.stickyClass.split(' ').filter(Boolean);\n classes.forEach((className) => {\n if (isSticky) {\n this.renderer.addClass(this.targetElement, className);\n }\n else {\n this.renderer.removeClass(this.targetElement, className);\n }\n });\n }\n ngOnDestroy() {\n this.parentElement.removeEventListener('scroll', this.onParentScroll);\n window.removeEventListener('resize', this.updateTopOffset.bind(this));\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.3\", type: AXPStickyDirective, isStandalone: true, selector: \"[axpSticky]\", inputs: { stickyClass: [\"axpSticky\", \"stickyClass\"], stickyOffset: \"stickyOffset\", stickyParent: \"stickyParent\", stickyTarget: \"stickyTarget\" }, outputs: { isStickyChange: \"isStickyChange\" }, exportAs: [\"axpSticky\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPStickyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axpSticky]',\n exportAs: 'axpSticky',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { stickyClass: [{\n type: Input,\n args: ['axpSticky']\n }], stickyOffset: [{\n type: Input,\n args: ['stickyOffset']\n }], isStickyChange: [{\n type: Output\n }], stickyParent: [{\n type: Input\n }], stickyTarget: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L3N0aWNreS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7O0FBT3ZCLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFVRCxZQUNVLE9BQW1DLEVBQ25DLFFBQW1CLEVBQ25CLElBQVksRUFDWixHQUFzQjtRQUh0QixZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTNCVCxpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUV4QyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXRFLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFrRTNCLG1CQUFjLEdBQUcsR0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMs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QUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDOzhHQTdHVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs0SkFFcUIsV0FBVztzQkFBOUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQWxDLEtBQUs7dUJBQUMsY0FBYztnQkFFWCxjQUFjO3NCQUF2QixNQUFNO2dCQWtCRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4cFN0aWNreV0nLFxuICBleHBvcnRBczogJ2F4cFN0aWNreScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0aWNreURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnYXhwU3RpY2t5Jykgc3RpY2t5Q2xhc3MhOiBzdHJpbmc7XG4gIEBJbnB1dCgnc3RpY2t5T2Zmc2V0Jykgc3RpY2t5T2Zmc2V0OiBudW1iZXIgPSAxMDA7XG5cbiAgQE91dHB1dCgpIGlzU3RpY2t5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfaXNTdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGdldCBpc1N0aWNreSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdGlja3k7XG4gIH1cbiAgcHVibGljIHNldCBpc1N0aWNreSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9pc1N0aWNreSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lzU3RpY2t5ID0gdmFsdWU7XG4gICAgICB0aGlzLmlzU3RpY2t5Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9wT2Zmc2V0ITogbnVtYmVyO1xuICBwcml2YXRlIHBhcmVudEVsZW1lbnQhOiBIVE1MRWxlbWVudCB8IFdpbmRvdztcbiAgcHJpdmF0ZSB0YXJnZXRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlciE6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgQElucHV0KCkgc3RpY2t5UGFyZW50ITogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHN0aWNreVRhcmdldCE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0U3RpY2t5KCk7XG5cbiAgICAvLyBBZGQgbXV0YXRpb24gb2JzZXJ2ZXIgZm9yIGR5bmFtaWMgY29udGVudFxuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVG9wT2Zmc2V0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEFkZCByZXNpemUgZXZlbnQgbGlzdGVuZXJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVUb3BPZmZzZXQuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTdGlja3koKSB7XG4gICAgaWYgKHRoaXMuc3RpY2t5UGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IHRoaXMuc3RpY2t5UGFyZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQgPVxuICAgICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnN0aWNreVBhcmVudCkgYXMgSFRNTEVsZW1lbnQpIHx8IHdpbmRvdztcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldEVsZW1lbnQgPVxuICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zdGlja3lUYXJnZXQpIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnVwZGF0ZVRvcE9mZnNldCgpO1xuICAgIHRoaXMucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG9wT2Zmc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50YXJnZXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy50b3BPZmZzZXQgPSByZWN0LnRvcCArICh3aW5kb3cuc2Nyb2xsWSB8fCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QYXJlbnRTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9XG4gICAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9PT0gd2luZG93XG4gICAgICAgICAgPyB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICAgIDogKHRoaXMucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc2Nyb2xsVG9wO1xuXG4gICAgICBjb25zdCBzaG91bGRTdGljayA9IHNjcm9sbFRvcCArIHRoaXMuc3RpY2t5T2Zmc2V0ID49IHRoaXMudG9wT2Zmc2V0O1xuXG4gICAgICBpZiAoc2hvdWxkU3RpY2sgIT09IHRoaXMuaXNTdGlja3kpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1N0aWNreSA9IHNob3VsZFN0aWNrO1xuICAgICAgICAgIHRoaXMudG9nZ2xlU3RpY2t5Q2xhc3NlcyhzaG91bGRTdGljayk7XG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgdG9nZ2xlU3RpY2t5Q2xhc3Nlcyhpc1N0aWNreTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnN0aWNreUNsYXNzLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNsYXNzZXMuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PiB7XG4gICAgICBpZiAoaXNTdGlja3kpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhcmdldEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFyZ2V0RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVUb3BPZmZzZXQuYmluZCh0aGlzKSk7XG5cbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxufVxuIl19","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPComponentLogoConfig, AXPImageUrlLogoConfig } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/image\";\nexport class AXPLogoComponent {\n constructor() {\n this.platform = inject(AXPlatform);\n }\n ngOnInit() {\n this.setLogoType();\n this.platform.themeMode$.subscribe(() => {\n this.setLogoTheme();\n });\n }\n ngOnChanges() {\n this.setLogoTheme();\n }\n setLogoType() {\n switch (true) {\n case this.source instanceof AXPImageUrlLogoConfig:\n this.logoType = 'url';\n break;\n case this.source instanceof AXPComponentLogoConfig:\n this.logoType = 'component';\n break;\n default:\n break;\n }\n }\n setLogoTheme() {\n if (this.source && this.source.dark && this.source.light) {\n this.source = this.platform.isDark() ? this.source.dark : this.source.light;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXPLogoComponent, isStandalone: true, selector: \"axp-logo\", inputs: { source: \"source\" }, host: { classAttribute: \"ax-flex ax-justify-center\" }, usesOnChanges: true, ngImport: i0, template: \"@switch (logoType) { @case ('url') {\\n<ax-image [width]=\\\"source.width\\\" [height]=\\\"source.height\\\" [src]=\\\"source.url\\\"></ax-image>\\n} @case ('component') {\\n<ng-container *ngComponentOutlet=\\\"source.component\\\"></ng-container>\\n} }\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"ngmodule\", type: AXImageModule }, { kind: \"component\", type: i2.AXImageComponent, selector: \"ax-image\", inputs: [\"width\", \"height\", \"overlayMode\", \"src\", \"alt\", \"priority\", \"lazy\"], outputs: [\"onLoad\", \"onError\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPLogoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-logo', imports: [CommonModule, AXImageModule, AXDecoratorModule], host: { class: 'ax-flex ax-justify-center' }, template: \"@switch (logoType) { @case ('url') {\\n<ax-image [width]=\\\"source.width\\\" [height]=\\\"source.height\\\" [src]=\\\"source.url\\\"></ax-image>\\n} @case ('component') {\\n<ng-container *ngComponentOutlet=\\\"source.component\\\"></ng-container>\\n} }\\n\" }]\n }], propDecorators: { source: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC9sb2dvL2xvZ28uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbG9nby9sb2dvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBWVUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWdDdkM7SUE5QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxXQUFXO1FBQ25CLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLElBQUksQ0FBQyxNQUFNLFlBQVkscUJBQXFCO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsTUFBTTtZQUVSLEtBQUssSUFBSSxDQUFDLE1BQU0sWUFBWSxzQkFBc0I7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUM1QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLE1BQWMsQ0FBQyxJQUFJLElBQUssSUFBSSxDQUFDLE1BQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBYyxDQUFDLEtBQUssQ0FBQztRQUNoRyxDQUFDO0lBQ0gsQ0FBQzs4R0FyQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOEtDZDdCLDZPQUtBLDJDRE1ZLFlBQVksK1dBQUUsYUFBYSxvTkFBRSxpQkFBaUI7OzJGQUc3QyxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsVUFBVSxXQUVYLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUNuRCxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTs4QkFJNUMsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEltYWdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2ltYWdlJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuXG5pbXBvcnQgeyBBWFBDb21wb25lbnRMb2dvQ29uZmlnLCBBWFBJbWFnZVVybExvZ29Db25maWcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtbG9nbycsXG4gIHRlbXBsYXRlVXJsOiBgbG9nby5jb21wb25lbnQuaHRtbGAsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYSW1hZ2VNb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlXSxcbiAgaG9zdDogeyBjbGFzczogJ2F4LWZsZXggYXgtanVzdGlmeS1jZW50ZXInIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUExvZ29Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBzb3VyY2UhOiBhbnk7XG5cbiAgcHJvdGVjdGVkIGxvZ29UeXBlITogc3RyaW5nO1xuXG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMb2dvVHlwZSgpO1xuICAgIHRoaXMucGxhdGZvcm0udGhlbWVNb2RlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRMb2dvVGhlbWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9nb1RoZW1lKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TG9nb1R5cGUoKSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuc291cmNlIGluc3RhbmNlb2YgQVhQSW1hZ2VVcmxMb2dvQ29uZmlnOlxuICAgICAgICB0aGlzLmxvZ29UeXBlID0gJ3VybCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIHRoaXMuc291cmNlIGluc3RhbmNlb2YgQVhQQ29tcG9uZW50TG9nb0NvbmZpZzpcbiAgICAgICAgdGhpcy5sb2dvVHlwZSA9ICdjb21wb25lbnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRMb2dvVGhlbWUoKSB7XG4gICAgaWYgKHRoaXMuc291cmNlICYmICh0aGlzLnNvdXJjZSBhcyBhbnkpLmRhcmsgJiYgKHRoaXMuc291cmNlIGFzIGFueSkubGlnaHQpIHtcbiAgICAgIHRoaXMuc291cmNlID0gdGhpcy5wbGF0Zm9ybS5pc0RhcmsoKSA/ICh0aGlzLnNvdXJjZSBhcyBhbnkpLmRhcmsgOiAodGhpcy5zb3VyY2UgYXMgYW55KS5saWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIkBzd2l0Y2ggKGxvZ29UeXBlKSB7IEBjYXNlICgndXJsJykge1xuPGF4LWltYWdlIFt3aWR0aF09XCJzb3VyY2Uud2lkdGhcIiBbaGVpZ2h0XT1cInNvdXJjZS5oZWlnaHRcIiBbc3JjXT1cInNvdXJjZS51cmxcIj48L2F4LWltYWdlPlxufSBAY2FzZSAoJ2NvbXBvbmVudCcpIHtcbjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic291cmNlLmNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxufSB9XG4iXX0=","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_MENU_PROVIDER = new InjectionToken('AXP_MENU_PROVIDER');\nexport class AXPMenuProviderService {\n constructor() {\n this.providers = inject(AXP_MENU_PROVIDER, { optional: true });\n this.cache = null;\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n async items() {\n // Return cached items if available\n if (this.cache) {\n return this.cache;\n }\n const items = [];\n const context = this.createMenuProviderContext(items);\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n // Apply pending operations\n this.applyPendingOperations(items);\n // Sort items by priority\n items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));\n // ADD level property to items\n setMenuItemMeta(items);\n // Cache the computed items\n this.cache = items;\n return items;\n }\n createMenuProviderContext(items) {\n return {\n addItems: (newItems) => {\n items.push(...newItems);\n },\n find: (target) => {\n return {\n insert: (newItems, position) => {\n this.pendingInserts.push({ target, newItems, position });\n },\n remove: () => {\n this.pendingRemovals.push(target);\n },\n update: (updatedItem) => {\n this.pendingUpdates.push({ target, updatedItem });\n },\n addItems: (newItems) => {\n this.pendingAdditions.push({ target, newItems });\n }\n };\n }\n };\n }\n applyPendingOperations(items) {\n for (const { target, newItems, position } of this.pendingInserts) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem, parentItems } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, appending items.`);\n items.push(...newItems);\n }\n else {\n if (position == 'inside') {\n foundItem.children?.push(...newItems);\n }\n else {\n const index = parentItems.indexOf(foundItem);\n const insertPosition = position === 'before' ? index : index + 1;\n parentItems.splice(insertPosition, 0, ...newItems);\n }\n }\n }\n for (const target of this.pendingRemovals) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem, parentItems } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to remove.`);\n }\n else {\n const index = parentItems.indexOf(foundItem);\n parentItems.splice(index, 1);\n }\n }\n for (const { target, updatedItem } of this.pendingUpdates) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to update.`);\n }\n else {\n Object.assign(foundItem, updatedItem);\n }\n }\n for (const { target, newItems } of this.pendingAdditions) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to add items to.`);\n }\n else {\n if (!foundItem.children) {\n foundItem.children = [];\n }\n foundItem.children.push(...newItems);\n }\n }\n // Clear pending operations after applying them\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n findItemWithParent(items, target, parentItems = items) {\n for (const item of items) {\n if (item.name === target) {\n return { foundItem: item, parentItems };\n }\n if (item.children) {\n const result = this.findItemWithParent(item.children, target, item.children);\n if (result.foundItem) {\n return result;\n }\n }\n }\n return { foundItem: null, parentItems: items };\n }\n // Method to clear the cache, if needed (e.g., when providers change)\n clearCache() {\n this.cache = null;\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPMenuProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nfunction setMenuItemMeta(items, parentIndex = '', depth = 0) {\n items.forEach((item, index) => {\n const currentIndex = parentIndex ? `${parentIndex}-${index}` : `${index}`;\n const hasChildren = !!(item.children && Array.isArray(item.children) && item.children.length > 0);\n item.meta = {\n index: currentIndex,\n isRoot: depth === 0,\n hasChildren,\n depth\n };\n if (hasChildren) {\n setMenuItemMeta(item.children, currentIndex, depth + 1);\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L21lbnUvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFvQixtQkFBbUIsQ0FBQyxDQUFDO0FBRzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFHWSxjQUFTLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsVUFBSyxHQUF5QixJQUFJLENBQUM7UUFDbkMsbUJBQWMsR0FBbUYsRUFBRSxDQUFDO1FBQ3BHLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLG1CQUFjLEdBQWlFLEVBQUUsQ0FBQztRQUNsRixxQkFBZ0IsR0FBdUQsRUFBRSxDQUFDO0tBMElyRjtJQXhJRyxLQUFLLENBQUMsS0FBSztRQUNQLG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFD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QUksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQTWVudUZpbmRlclJlc3VsdCwgQVhQTWVudUluc2VydGlvbiwgQVhQTWVudUl0ZW0sIEFYUE1lbnVQcm92aWRlckNvbnRleHQgfSBmcm9tICcuL21lbnUudHlwZXMnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBNZW51UHJvdmlkZXIge1xuICAgIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjb25zdCBBWFBfTUVOVV9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBNZW51UHJvdmlkZXJbXT4oJ0FYUF9NRU5VX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQTWVudVByb3ZpZGVyU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHByb3ZpZGVycyA9IGluamVjdChBWFBfTUVOVV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIGNhY2hlOiBBWFBNZW51SXRlbVtdIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBwZW5kaW5nSW5zZXJ0czogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgbmV3SXRlbXM6IEFYUE1lbnVJdGVtW107IHBvc2l0aW9uOiBBWFBNZW51SW5zZXJ0aW9uIH0+ID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nUmVtb3ZhbHM6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nVXBkYXRlczogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgdXBkYXRlZEl0ZW06IFBhcnRpYWw8QVhQTWVudUl0ZW0+IH0+ID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nQWRkaXRpb25zOiBBcnJheTx7IHRhcmdldDogc3RyaW5nOyBuZXdJdGVtczogQVhQTWVudUl0ZW1bXSB9PiA9IFtdO1xuXG4gICAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBNZW51SXRlbVtdPiB7XG4gICAgICAgIC8vIFJldHVybiBjYWNoZWQgaXRlbXMgaWYgYXZhaWxhYmxlXG4gICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zOiBBWFBNZW51SXRlbVtdID0gW107XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNyZWF0ZU1lbnVQcm92aWRlckNvbnRleHQoaXRlbXMpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBwZW5kaW5nIG9wZXJhdGlvbnNcbiAgICAgICAgdGhpcy5hcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zKTtcblxuICAgICAgICAvLyBTb3J0IGl0ZW1zIGJ5IHByaW9yaXR5XG4gICAgICAgIGl0ZW1zLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5ID8/IDApIC0gKGIucHJpb3JpdHkgPz8gMCkpO1xuICAgICAgICAvLyBBREQgbGV2ZWwgcHJvcGVydHkgdG8gaXRlbXNcbiAgICAgICAgc2V0TWVudUl0ZW1NZXRhKGl0ZW1zKTtcblxuICAgICAgICAvLyBDYWNoZSB0aGUgY29tcHV0ZWQgaXRlbXNcbiAgICAgICAgdGhpcy5jYWNoZSA9IGl0ZW1zO1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVNZW51UHJvdmlkZXJDb250ZXh0KGl0ZW1zOiBBWFBNZW51SXRlbVtdKTogQVhQTWVudVByb3ZpZGVyQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhZGRJdGVtczogKG5ld0l0ZW1zOiBBWFBNZW51SXRlbVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCguLi5uZXdJdGVtcyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmluZDogKHRhcmdldDogc3RyaW5nKTogQVhQTWVudUZpbmRlclJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0OiAobmV3SXRlbXM6IEFYUE1lbnVJdGVtW10sIHBvc2l0aW9uOiBBWFBNZW51SW5zZXJ0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zLCBwb3NpdGlvbiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdSZW1vdmFscy5wdXNoKHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZTogKHVwZGF0ZWRJdGVtOiBQYXJ0aWFsPEFYUE1lbnVJdGVtPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nVXBkYXRlcy5wdXNoKHsgdGFyZ2V0LCB1cGRhdGVkSXRlbSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbXM6IChuZXdJdGVtczogQVhQTWVudUl0ZW1bXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nQWRkaXRpb25zLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5UGVuZGluZ09wZXJhdGlvbnMoaXRlbXM6IEFYUE1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCB7IHRhcmdldCwgbmV3SXRlbXMsIHBvc2l0aW9uIH0gb2YgdGhpcy5wZW5kaW5nSW5zZXJ0cykge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0sIHBhcmVudEl0ZW1zIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICAgICAgaWYgKCFmb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCwgYXBwZW5kaW5nIGl0ZW1zLmApO1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAocG9zaXRpb24gPT0gJ2luc2lkZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmRJdGVtLmNoaWxkcmVuPy5wdXNoKC4uLm5ld0l0ZW1zKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydFBvc2l0aW9uID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gaW5kZXggOiBpbmRleCArIDE7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEl0ZW1zLnNwbGljZShpbnNlcnRQb3NpdGlvbiwgMCwgLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHRoaXMucGVuZGluZ1JlbW92YWxzKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoaXRlbXMsIHRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSwgcGFyZW50SXRlbXMgfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICBpZiAoIWZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kLCBub3RoaW5nIHRvIHJlbW92ZS5gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgcGFyZW50SXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIHVwZGF0ZWRJdGVtIH0gb2YgdGhpcy5wZW5kaW5nVXBkYXRlcykge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICBpZiAoIWZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kLCBub3RoaW5nIHRvIHVwZGF0ZS5gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihmb3VuZEl0ZW0sIHVwZGF0ZWRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIG5ld0l0ZW1zIH0gb2YgdGhpcy5wZW5kaW5nQWRkaXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoaXRlbXMsIHRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgIGlmICghZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQsIG5vdGhpbmcgdG8gYWRkIGl0ZW1zIHRvLmApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kSXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZEl0ZW0uY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm91bmRJdGVtLmNoaWxkcmVuLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xlYXIgcGVuZGluZyBvcGVyYXRpb25zIGFmdGVyIGFwcGx5aW5nIHRoZW1cbiAgICAgICAgdGhpcy5wZW5kaW5nSW5zZXJ0cyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdSZW1vdmFscyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdVcGRhdGVzID0gW107XG4gICAgICAgIHRoaXMucGVuZGluZ0FkZGl0aW9ucyA9IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zOiBBWFBNZW51SXRlbVtdLCB0YXJnZXQ6IHN0cmluZywgcGFyZW50SXRlbXM6IEFYUE1lbnVJdGVtW10gPSBpdGVtcyk6IHsgZm91bmRJdGVtOiBBWFBNZW51SXRlbSB8IG51bGwsIHBhcmVudEl0ZW1zOiBBWFBNZW51SXRlbVtdIH0ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLm5hbWUgPT09IHRhcmdldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogaXRlbSwgcGFyZW50SXRlbXMgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtLmNoaWxkcmVuLCB0YXJnZXQsIGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogbnVsbCwgcGFyZW50SXRlbXM6IGl0ZW1zIH07XG4gICAgfVxuXG4gICAgLy8gTWV0aG9kIHRvIGNsZWFyIHRoZSBjYWNoZSwgaWYgbmVlZGVkIChlLmcuLCB3aGVuIHByb3ZpZGVycyBjaGFuZ2UpXG4gICAgY2xlYXJDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IG51bGw7XG4gICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMgPSBbXTtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVtb3ZhbHMgPSBbXTtcbiAgICAgICAgdGhpcy5wZW5kaW5nVXBkYXRlcyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMgPSBbXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNldE1lbnVJdGVtTWV0YShpdGVtczogYW55W10sIHBhcmVudEluZGV4OiBzdHJpbmcgPSAnJywgZGVwdGg6IG51bWJlciA9IDApIHtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBwYXJlbnRJbmRleCA/IGAke3BhcmVudEluZGV4fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xuICAgICAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICEhKGl0ZW0uY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuXG4gICAgICAgIGl0ZW0ubWV0YSA9IHtcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICBpc1Jvb3Q6IGRlcHRoID09PSAwLFxuICAgICAgICAgICAgaGFzQ2hpbGRyZW4sXG4gICAgICAgICAgICBkZXB0aFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBzZXRNZW51SXRlbU1ldGEoaXRlbS5jaGlsZHJlbiwgY3VycmVudEluZGV4LCBkZXB0aCArIDEpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { patchState, signalStore, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { AXPMenuProviderService } from './menu.provider';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nexport const AXPMenuService = signalStore({ providedIn: 'root' }, \n// Initial State\nwithState((router = inject(Router)) => {\n return {\n items: [],\n selectedMenuItem: {\n item: null,\n isFullMatch: false\n },\n };\n}), \n// Methods for State Management\nwithMethods((store, router = inject(Router), workflow = inject(AXPWorkflowService)) => {\n return {\n setMenuItems(items) {\n patchState(store, { items: items });\n },\n selectMenuItemByRoute(path) {\n const findItem = (items) => {\n for (const item of items) {\n // Recursively search children first\n if (item.children) {\n const foundChild = findItem(item.children);\n if (foundChild.item) {\n return foundChild;\n }\n }\n if (item.path) {\n // Check if the item path matches the current path\n const matchResult = pathsMatch(item.path, path, [\"list\", \"view\", \"edit\", \"create\"]);\n if (matchResult.isMatch) {\n return { item, isPartialMatch: matchResult.isPartial };\n }\n }\n }\n return { item: null, isPartialMatch: false };\n };\n const pathsMatch = (itemPath, currentPath, trailingSegmentsToIgnore = []) => {\n const itemSegments = itemPath.split('/').filter(segment => segment.length > 0);\n const pathSegments = currentPath.split('/').filter(segment => segment.length > 0);\n const menuLength = itemSegments.length;\n const pathLength = pathSegments.length;\n // Identify the effective base length for the menuPath\n let effectiveMenuLength = menuLength;\n if (menuLength > 0 &&\n trailingSegmentsToIgnore.includes(itemSegments[menuLength - 1])) {\n effectiveMenuLength--; // Exclude trailing non-hierarchical segments\n }\n // Check if the menuPath (base segments) is a prefix of browserPath\n let isPrefix = true;\n for (let i = 0; i < effectiveMenuLength; i++) {\n if (itemSegments[i] !== pathSegments[i]) {\n isPrefix = false;\n break;\n }\n }\n // Partial match: menuPath base is a strict prefix of browserPath\n const isPartialMatch = isPrefix && effectiveMenuLength < pathLength;\n // Exact match: all segments match completely\n const isExactMatch = isPrefix && effectiveMenuLength === pathLength;\n return {\n isMatch: isExactMatch || isPartialMatch,\n isPartial: isPartialMatch && !isExactMatch,\n };\n };\n const items = store.items();\n const { item, isPartialMatch } = findItem(items);\n patchState(store, { selectedMenuItem: { item, isFullMatch: !isPartialMatch } });\n },\n executeCommand(item) {\n if (item.path) {\n workflow.execute('navigate', { type: 'router', options: { path: item.path } });\n patchState(store, { selectedMenuItem: { item, isFullMatch: true } });\n }\n if (item.command) {\n const command = item.command;\n workflow.execute(command.name, command.options);\n }\n },\n isItemOpen(item) {\n const selectedItem = store.selectedMenuItem();\n if (!selectedItem) {\n return false;\n }\n const findParent = (currentItem, targetItem) => {\n if (currentItem.children?.includes(targetItem)) {\n return true;\n }\n return currentItem.children?.some(child => findParent(child, targetItem)) ?? false;\n };\n return item === selectedItem?.item || findParent(item, selectedItem.item);\n }\n };\n}), withHooks((store, menuProviderService = inject(AXPMenuProviderService)) => ({\n onInit() {\n (async () => {\n const items = await menuProviderService.items();\n patchState(store, { items: items });\n })();\n },\n onDestroy() {\n },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbWVudS9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHL0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FDckMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0FBRXRCLGdCQUFnQjtBQUNoQixTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7SUFDbEMsT0FBTztRQUNILEtBQUssRUFBRSxFQUFtQjtRQUMxQixnQkFBZ0IsRUFBRTtZQUNkLElBQUksRUFBRSxJQUEwQjtZQUNoQyxXQUFXLEVBQUUsS0FBSztTQUNyQjtLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRiwrQkFBK0I7QUFDL0IsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7SUFFbEYsT0FBTztRQUVILFlBQVksQ0FBQyxLQUFvQjtZQUM3QixVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENB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QzdDLE9BQU8sSUFBSSxDQUFDO2dCQUNoQixDQUFDO2dCQUNELE9BQU8sV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ3ZGLENBQUMsQ0FBQztZQUVGLE9BQU8sSUFBSSxLQUFLLFlBQVksRUFBRSxJQUFJLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSyxDQUFDLENBQUM7UUFDL0UsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEUsTUFBTTtRQUNGLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDUixNQUFNLEtBQUssR0FBRyxNQUFNLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUNELFNBQVM7SUFFVCxDQUFDO0NBQ0osQ0FBQyxDQUFDLENBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBhdGNoU3RhdGUsIHNpZ25hbFN0b3JlLCB3aXRoSG9va3MsIHdpdGhNZXRob2RzLCB3aXRoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IEFYUE1lbnVJdGVtIH0gZnJvbSAnLi9tZW51LnR5cGVzJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZCwgQVhQTmF2aWdhdGVBY3Rpb25Db21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFYUE1lbnVTZXJ2aWNlID0gc2lnbmFsU3RvcmUoXG4gICAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcblxuICAgIC8vIEluaXRpYWwgU3RhdGVcbiAgICB3aXRoU3RhdGUoKHJvdXRlciA9IGluamVjdChSb3V0ZXIpKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpdGVtczogW10gYXMgQVhQTWVudUl0ZW1bXSxcbiAgICAgICAgICAgIHNlbGVjdGVkTWVudUl0ZW06IHtcbiAgICAgICAgICAgICAgICBpdGVtOiBudWxsIGFzIEFYUE1lbnVJdGVtIHwgbnVsbCxcbiAgICAgICAgICAgICAgICBpc0Z1bGxNYXRjaDogZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfSksXG5cbiAgICAvLyBNZXRob2RzIGZvciBTdGF0ZSBNYW5hZ2VtZW50XG4gICAgd2l0aE1ldGhvZHMoKHN0b3JlLCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKSwgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKSkgPT4ge1xuXG4gICAgICAgIHJldHVybiB7XG5cbiAgICAgICAgICAgIHNldE1lbnVJdGVtcyhpdGVtczogQVhQTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgaXRlbXM6IGl0ZW1zIH0pO1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgc2VsZWN0TWVudUl0ZW1CeVJvdXRlKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbmRJdGVtID0gKGl0ZW1zOiBBWFBNZW51SXRlbVtdKTogeyBpdGVtOiBBWFBNZW51SXRlbSB8IG51bGwsIGlzUGFydGlhbE1hdGNoOiBib29sZWFuIH0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlY3Vyc2l2ZWx5IHNlYXJjaCBjaGlsZHJlbiBmaXJzdFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3VuZENoaWxkID0gZmluZEl0ZW0oaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kQ2hpbGQuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm91bmRDaGlsZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5wYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGl0ZW0gcGF0aCBtYXRjaGVzIHRoZSBjdXJyZW50IHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaFJlc3VsdCA9IHBhdGhzTWF0Y2goaXRlbS5wYXRoLCBwYXRoLCBbXCJsaXN0XCIsIFwidmlld1wiLCBcImVkaXRcIiwgXCJjcmVhdGVcIl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaFJlc3VsdC5pc01hdGNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGl0ZW0sIGlzUGFydGlhbE1hdGNoOiBtYXRjaFJlc3VsdC5pc1BhcnRpYWwgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaXRlbTogbnVsbCwgaXNQYXJ0aWFsTWF0Y2g6IGZhbHNlIH07XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhzTWF0Y2ggPSAoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1QYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYXRoOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU2VnbWVudHNUb0lnbm9yZTogc3RyaW5nW10gPSBbXVxuICAgICAgICAgICAgICAgICk6IHsgaXNNYXRjaDogYm9vbGVhbiwgaXNQYXJ0aWFsOiBib29sZWFuIH0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtU2VnbWVudHMgPSBpdGVtUGF0aC5zcGxpdCgnLycpLmZpbHRlcihzZWdtZW50ID0+IHNlZ21lbnQubGVuZ3RoID4gMCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IGN1cnJlbnRQYXRoLnNwbGl0KCcvJykuZmlsdGVyKHNlZ21lbnQgPT4gc2VnbWVudC5sZW5ndGggPiAwKTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZW51TGVuZ3RoID0gaXRlbVNlZ21lbnRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aExlbmd0aCA9IHBhdGhTZWdtZW50cy5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gSWRlbnRpZnkgdGhlIGVmZmVjdGl2ZSBiYXNlIGxlbmd0aCBmb3IgdGhlIG1lbnVQYXRoXG4gICAgICAgICAgICAgICAgICAgIGxldCBlZmZlY3RpdmVNZW51TGVuZ3RoID0gbWVudUxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVudUxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWlsaW5nU2VnbWVudHNUb0lnbm9yZS5pbmNsdWRlcyhpdGVtU2VnbWVudHNbbWVudUxlbmd0aCAtIDFdKVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZU1lbnVMZW5ndGgtLTsgLy8gRXhjbHVkZSB0cmFpbGluZyBub24taGllcmFyY2hpY2FsIHNlZ21lbnRzXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgbWVudVBhdGggKGJhc2Ugc2VnbWVudHMpIGlzIGEgcHJlZml4IG9mIGJyb3dzZXJQYXRoXG4gICAgICAgICAgICAgICAgICAgIGxldCBpc1ByZWZpeCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWZmZWN0aXZlTWVudUxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVNlZ21lbnRzW2ldICE9PSBwYXRoU2VnbWVudHNbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1ByZWZpeCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gUGFydGlhbCBtYXRjaDogbWVudVBhdGggYmFzZSBpcyBhIHN0cmljdCBwcmVmaXggb2YgYnJvd3NlclBhdGhcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNQYXJ0aWFsTWF0Y2ggPSBpc1ByZWZpeCAmJiBlZmZlY3RpdmVNZW51TGVuZ3RoIDwgcGF0aExlbmd0aDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBFeGFjdCBtYXRjaDogYWxsIHNlZ21lbnRzIG1hdGNoIGNvbXBsZXRlbHlcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNFeGFjdE1hdGNoID0gaXNQcmVmaXggJiYgZWZmZWN0aXZlTWVudUxlbmd0aCA9PT0gcGF0aExlbmd0aDtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNNYXRjaDogaXNFeGFjdE1hdGNoIHx8IGlzUGFydGlhbE1hdGNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNQYXJ0aWFsOiBpc1BhcnRpYWxNYXRjaCAmJiAhaXNFeGFjdE1hdGNoLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH07XG5cblxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gc3RvcmUuaXRlbXMoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGl0ZW0sIGlzUGFydGlhbE1hdGNoIH0gPSBmaW5kSXRlbShpdGVtcyk7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1lbnVJdGVtOiB7IGl0ZW0sIGlzRnVsbE1hdGNoOiAhaXNQYXJ0aWFsTWF0Y2ggfSB9KTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGV4ZWN1dGVDb21tYW5kKGl0ZW06IEFYUE1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0ucGF0aCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrZmxvdy5leGVjdXRlKCduYXZpZ2F0ZScsIHsgdHlwZTogJ3JvdXRlcicsIG9wdGlvbnM6IHsgcGF0aDogaXRlbS5wYXRoIH0gfSBhcyBBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQ8J3JvdXRlcic+KTtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZE1lbnVJdGVtOiB7IGl0ZW0sIGlzRnVsbE1hdGNoOiB0cnVlIH0gfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tbWFuZCA9IGl0ZW0uY29tbWFuZCBhcyBBWFBFeGVjdXRlQ29tbWFuZDtcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3cuZXhlY3V0ZShjb21tYW5kLm5hbWUsIGNvbW1hbmQub3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgaXNJdGVtT3BlbihpdGVtOiBBWFBNZW51SXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHN0b3JlLnNlbGVjdGVkTWVudUl0ZW0oKTtcbiAgICAgICAgICAgICAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZmluZFBhcmVudCA9IChjdXJyZW50SXRlbTogQVhQTWVudUl0ZW0sIHRhcmdldEl0ZW06IEFYUE1lbnVJdGVtKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50SXRlbS5jaGlsZHJlbj8uaW5jbHVkZXModGFyZ2V0SXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50SXRlbS5jaGlsZHJlbj8uc29tZShjaGlsZCA9PiBmaW5kUGFyZW50KGNoaWxkLCB0YXJnZXRJdGVtKSkgPz8gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtID09PSBzZWxlY3RlZEl0ZW0/Lml0ZW0gfHwgZmluZFBhcmVudChpdGVtLCBzZWxlY3RlZEl0ZW0uaXRlbSEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pLFxuICAgIHdpdGhIb29rcygoc3RvcmUsIG1lbnVQcm92aWRlclNlcnZpY2UgPSBpbmplY3QoQVhQTWVudVByb3ZpZGVyU2VydmljZSkpID0+ICh7XG4gICAgICAgIG9uSW5pdCgpIHtcbiAgICAgICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBtZW51UHJvdmlkZXJTZXJ2aWNlLml0ZW1zKCk7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBpdGVtczogaXRlbXMgfSk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICB9LFxuICAgICAgICBvbkRlc3Ryb3koKSB7XG5cbiAgICAgICAgfSxcbiAgICB9KSlcbik7Il19","export class AXPMenuSearchDefinitionProvider {\n async provide(context) {\n context.addDefinition('menu', 'Menu', 'menu', 'fa-thin fa-bars', 2, {\n format: {\n id: '{{data.name}}',\n },\n actions: [\n {\n name: 'navigate',\n type: 'view',\n priority: 'primary',\n },\n ],\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC9tZW51L3NlYXJjaC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQztRQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRTtZQUNsRSxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLGVBQWU7YUFDcEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxNQUFNO29CQUNaLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vc2VhcmNoJztcblxuZXhwb3J0IGNsYXNzIEFYUE1lbnVTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIge1xuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb250ZXh0LmFkZERlZmluaXRpb24oJ21lbnUnLCAnTWVudScsICdtZW51JywgJ2ZhLXRoaW4gZmEtYmFycycsIDIsIHtcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBpZDogJ3t7ZGF0YS5uYW1lfX0nLFxuICAgICAgfSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZScsXG4gICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { inject } from '@angular/core';\nimport { omit, sortBy } from 'lodash-es';\nimport { AXPMenuProviderService } from './menu.provider';\nexport class AXPMenuSearchProvider {\n constructor() {\n this.menuService = inject(AXPMenuProviderService);\n this.translateService = inject(AXTranslationService);\n }\n async search(text) {\n const menuItems = await this.searchMenuItems(await this.menuService.items(), text);\n return sortBy(menuItems.map((item) => ({\n group: 'menu', // Use `name` or empty string if undefined\n title: item.text, // Use `text` for the `title`\n icon: item.icon, // Include the `icon` if present\n data: omit(item, ['parent', 'children']), // Include all data except `parent` and `children`\n command: item.path ? {\n name: 'navigate',\n options: {\n type: 'router',\n options: {\n path: item.path,\n },\n }\n } : item.command,\n parent: item.parent\n ? {\n title: item.parent.text,\n }\n : undefined,\n })), [(o) => this.translateService.translateSync(o.title)]);\n }\n /**\n * Recursively searches AXPMenuItem and its children for a matching text.\n *\n * @param menuItems - The array of AXPMenuItem to search in.\n * @param searchText - The text to search for (case-insensitive).\n * @returns An array of AXPMenuItem that match the search text.\n */\n async searchMenuItems(menuItems, searchText) {\n const result = [];\n for (const item of menuItems) {\n // Check if the current item's text matches the search text\n if (item.type != 'group' &&\n (item.children?.length ?? 0) == 0 &&\n (await this.translateService.translateAsync(item.text)).toLowerCase().includes(searchText.toLowerCase())) {\n result.push(item);\n }\n // Recursively search in children if they exist\n if (item.children && item.children.length > 0) {\n const childResults = await this.searchMenuItems(item.children, searchText);\n result.push(...childResults.map((x) => ({ ...x, parent: item })));\n }\n }\n return result;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbWVudS9zZWFyY2gucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6RCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsZ0JBQVcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQTBEbEQsQ0FBQztJQXhEQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRixPQUFPLE1BQU0sQ0FDWCxTQUFTLENBQUMsR0FBRyxDQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsTUFBTSxFQUFFLDBDQUEwQztZQUN6RCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSw2QkFBNkI7WUFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDO1lBQ2pELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsa0RBQWtEO1lBQzVGLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNoQjtpQkFDRjthQUNtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBNEI7WUFDMUQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNqQixDQUFDLENBQUM7b0JBQ0EsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtpQkFDeEI7Z0JBQ0QsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUMsRUFDSCxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBd0IsRUFBRSxVQUFrQjtRQUN4RSxNQUFNLE1BQU0sR0FBNEIsRUFBRSxDQUFDO1FBRTNDLEtBQUssTUFBTSxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDN0IsMkRBQTJEO1lBQzNELElBQ0UsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPO2dCQUNwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsRUFDeEcsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQTZCLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBRUQsK0NBQStDO1lBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBNEIsQ0FBQSxDQUFDLENBQUMsQ0FBQztZQUM3RixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb21pdCwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFNlYXJjaFByb3ZpZGVyLCBBWFBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9zZWFyY2gnO1xuaW1wb3J0IHsgQVhQTWVudVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vbWVudS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBNZW51SXRlbSB9IGZyb20gJy4vbWVudS50eXBlcyc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWVudUl0ZW1XaXRoUGFyZW50IGV4dGVuZHMgQVhQTWVudUl0ZW0ge1xuICBwYXJlbnQ/OiBBWFBNZW51SXRlbTtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUE1lbnVTZWFyY2hQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNlYXJjaFByb3ZpZGVyIHtcbiAgbWVudVNlcnZpY2UgPSBpbmplY3QoQVhQTWVudVByb3ZpZGVyU2VydmljZSk7XG4gIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGFzeW5jIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPEFYUFNlYXJjaFJlc3VsdFtdPiB7XG4gICAgY29uc3QgbWVudUl0ZW1zID0gYXdhaXQgdGhpcy5zZWFyY2hNZW51SXRlbXMoYXdhaXQgdGhpcy5tZW51U2VydmljZS5pdGVtcygpLCB0ZXh0KTtcbiAgICByZXR1cm4gc29ydEJ5PEFYUFNlYXJjaFJlc3VsdD4oXG4gICAgICBtZW51SXRlbXMubWFwPEFYUFNlYXJjaFJlc3VsdD4oKGl0ZW0pID0+ICh7XG4gICAgICAgIGdyb3VwOiAnbWVudScsIC8vIFVzZSBgbmFtZWAgb3IgZW1wdHkgc3RyaW5nIGlmIHVuZGVmaW5lZFxuICAgICAgICB0aXRsZTogaXRlbS50ZXh0LCAvLyBVc2UgYHRleHRgIGZvciB0aGUgYHRpdGxlYFxuICAgICAgICBpY29uOiBpdGVtLmljb24sIC8vIEluY2x1ZGUgdGhlIGBpY29uYCBpZiBwcmVzZW50XG4gICAgICAgIGRhdGE6IG9taXQoaXRlbSwgWydwYXJlbnQnLCAnY2hpbGRyZW4nXSksIC8vIEluY2x1ZGUgYWxsIGRhdGEgZXhjZXB0IGBwYXJlbnRgIGFuZCBgY2hpbGRyZW5gXG4gICAgICAgIGNvbW1hbmQ6IGl0ZW0ucGF0aCA/IHtcbiAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdyb3V0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwYXRoOiBpdGVtLnBhdGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSBhcyBBWFBFeGVjdXRlQ29tbWFuZCA6IGl0ZW0uY29tbWFuZCBhcyBBWFBFeGVjdXRlQ29tbWFuZCxcbiAgICAgICAgcGFyZW50OiBpdGVtLnBhcmVudFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ucGFyZW50LnRleHQsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSkpLFxuICAgICAgWyhvKSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlU3luYyhvLnRpdGxlISldXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBzZWFyY2hlcyBBWFBNZW51SXRlbSBhbmQgaXRzIGNoaWxkcmVuIGZvciBhIG1hdGNoaW5nIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSBtZW51SXRlbXMgLSBUaGUgYXJyYXkgb2YgQVhQTWVudUl0ZW0gdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCAtIFRoZSB0ZXh0IHRvIHNlYXJjaCBmb3IgKGNhc2UtaW5zZW5zaXRpdmUpLlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBBWFBNZW51SXRlbSB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggdGV4dC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoTWVudUl0ZW1zKG1lbnVJdGVtczogQVhQTWVudUl0ZW1bXSwgc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTxBWFBNZW51SXRlbVdpdGhQYXJlbnRbXT4ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhQTWVudUl0ZW1XaXRoUGFyZW50W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBtZW51SXRlbXMpIHtcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGl0ZW0ncyB0ZXh0IG1hdGNoZXMgdGhlIHNlYXJjaCB0ZXh0XG4gICAgICBpZiAoXG4gICAgICAgIGl0ZW0udHlwZSAhPSAnZ3JvdXAnICYmXG4gICAgICAgIChpdGVtLmNoaWxkcmVuPy5sZW5ndGggPz8gMCkgPT0gMCAmJlxuICAgICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGl0ZW0udGV4dCkpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0gYXMgQVhQTWVudUl0ZW1XaXRoUGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVjdXJzaXZlbHkgc2VhcmNoIGluIGNoaWxkcmVuIGlmIHRoZXkgZXhpc3RcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBjaGlsZFJlc3VsdHMgPSBhd2FpdCB0aGlzLnNlYXJjaE1lbnVJdGVtcyhpdGVtLmNoaWxkcmVuLCBzZWFyY2hUZXh0KTtcbiAgICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRSZXN1bHRzLm1hcCgoeCkgPT4gKHsgLi4ueCwgcGFyZW50OiBpdGVtIH0gYXMgQVhQTWVudUl0ZW1XaXRoUGFyZW50KSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==","import { Component, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPFooterTextSlotComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.3\", type: AXPFooterTextSlotComponent, isStandalone: true, selector: \"ng-component\", inputs: { text: \"text\" }, ngImport: i0, template: `\n <small class=\"ax-text-sm\" [innerHTML]=\"text\"></small>\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <small class=\"ax-text-sm\" [innerHTML]=\"text\"></small>\n `,\n standalone: true\n }]\n }], propDecorators: { text: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXRleHQtc2xvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC90aGVtZS9jb21wb25lbnRzL3Nsb3RzL2Zvb3Rlci10ZXh0LXNsb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7a0dBQTFCLDBCQUEwQixrR0FMM0I7O0tBRVA7OzJGQUdRLDBCQUEwQjtrQkFOdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7O0tBRVA7b0JBQ0gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdRLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgICA8c21hbGwgY2xhc3M9XCJheC10ZXh0LXNtXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zbWFsbD5cbiAgICBgLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEFYUEZvb3RlclRleHRTbG90Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRleHQhOiBzdHJpbmc7XG59Il19","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPNavBarSlotComponent {\n handleCommand(action) {\n // if (action)\n // this.store.dispatch(action)\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXPNavBarSlotComponent, isStandalone: true, selector: \"ng-component\", inputs: { items: \"items\" }, ngImport: i0, template: `\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-5\">\n @for (link of items; track link) {\n <a (click)=\"handleCommand(link.command)\" >{{ link.text }}</a>\n }\n </div>\n `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-5\">\n @for (link of items; track link) {\n <a (click)=\"handleCommand(link.command)\" >{{ link.text }}</a>\n }\n </div>\n `,\n imports: [],\n encapsulation: ViewEncapsulation.None\n }]\n }], propDecorators: { items: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXNsb3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvdGhlbWUvY29tcG9uZW50cy9zbG90cy9uYXZiYXItc2xvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBYzVFLE1BQU0sT0FBTyxzQkFBc0I7SUFLckIsYUFBYSxDQUFDLE1BQTJCO1FBQy9DLGNBQWM7UUFDZCxrQ0FBa0M7SUFDdEMsQ0FBQzs4R0FSUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvR0FWckI7Ozs7OztLQU1UOzsyRkFJUSxzQkFBc0I7a0JBWGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFOzs7Ozs7S0FNVDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7OEJBR1UsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBNZW51SXRlbSwgQVhQTWVudUl0ZW1Db21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1nYXAtNVwiPlxuICAgICAgQGZvciAobGluayBvZiBpdGVtczsgdHJhY2sgbGluaykge1xuICAgICAgICA8YSAoY2xpY2spPVwiaGFuZGxlQ29tbWFuZChsaW5rLmNvbW1hbmQpXCIgPnt7IGxpbmsudGV4dCB9fTwvYT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhQTmF2QmFyU2xvdENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXMhOiBBWFBNZW51SXRlbVtdO1xuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ29tbWFuZChhY3Rpb24/OiBBWFBNZW51SXRlbUNvbW1hbmQpIHtcbiAgICAgICAgLy8gaWYgKGFjdGlvbilcbiAgICAgICAgLy8gICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKVxuICAgIH1cbn0iXX0=","export class AXPSearchDefinitionProviderContext {\n constructor() {\n this.definitions = [];\n this.definitionMap = new Map();\n }\n addDefinition(name, title, group, icon, order, options) {\n const definitionSearch = {\n name,\n title,\n group,\n icon,\n order,\n format: {\n title: options?.format?.title ?? '{{ title }}',\n description: options?.format?.description ?? undefined,\n icon: options?.format?.icon ?? undefined,\n id: options?.format?.id ?? '{{ id }}',\n },\n actions: options?.actions ?? [],\n };\n this.definitions.push(definitionSearch);\n this.definitionMap.set(name, definitionSearch); // Index by name\n return new AXPSearchDefinitionBuilder(this, definitionSearch);\n }\n getDefinitions() {\n return this.definitions;\n }\n // Expose groupMap for controlled access\n hasEntity(name) {\n return this.definitionMap.has(name);\n }\n getDefinition(name) {\n return this.definitionMap.get(name);\n }\n}\nexport class AXPSearchDefinitionBuilder {\n constructor(context, definition) {\n this.context = context;\n this.definition = definition;\n }\n addAction(name) {\n const newAction = {\n name,\n type: 'view',\n priority: 'primary',\n };\n this.definition.actions.push(newAction);\n return new AXPSearchDefinitionActionBuilder(this);\n }\n action(name) {\n const foundAction = this.definition.actions.find((action) => action.name === name);\n if (!foundAction) {\n throw new Error(`action with name \"${name}\" not found in entity \"${this.definition.name}\".`);\n }\n return new AXPSearchDefinitionActionBuilder(this);\n }\n endEntity() {\n return this.context;\n }\n}\nexport class AXPSearchDefinitionActionBuilder {\n constructor(entityBuilder) {\n this.entityBuilder = entityBuilder;\n }\n endAction() {\n return this.entityBuilder;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1kZWZpbml0aW9uLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtDQUFrQztJQUEvQztRQUNVLGdCQUFXLEdBQTBCLEVBQUUsQ0FBQztRQUN4QyxrQkFBYSxHQUFxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBOEN0RSxDQUFDO0lBNUNDLGFBQWEsQ0FDWCxJQUFZLEVBQ1osS0FBYSxFQUNiLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLE9BR0M7UUFFRCxNQUFNLGdCQUFnQixHQUF3QjtZQUM1QyxJQUFJO1lBQ0osS0FBSztZQUNMLEtBQUs7WUFDTCxJQUFJO1lBQ0osS0FBSztZQUNMLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksYUFBYTtnQkFDOUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxJQUFJLFNBQVM7Z0JBQ3RELElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxTQUFTO2dCQUN4QyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksVUFBVTthQUN0QztZQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7U0FDaEMsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDaEUsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFHRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsU0FBUyxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQVksT0FBMkMsRUFBRSxVQUErQjtRQUN0RixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxTQUFTLEdBQW9CO1lBQ2pDLElBQUk7WUFDSixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLElBQUksMEJBQTBCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQ0FBZ0M7SUFHM0MsWUFBWSxhQUF5QztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hBY3Rpb24sIEFYUFNlYXJjaERlZmluaXRpb24sIEFYUFNlYXJjaERlZmluaXRpb25EaXNwbGF5Rm9ybWF0IH0gZnJvbSAnLi9zZWFyY2gudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEFYUFNlYXJjaERlZmluaXRpb25bXSA9IFtdO1xuICBwcml2YXRlIGRlZmluaXRpb25NYXA6IE1hcDxzdHJpbmcsIEFYUFNlYXJjaERlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuXG4gIGFkZERlZmluaXRpb24oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZ3JvdXA6IHN0cmluZyxcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBvcHRpb25zPzoge1xuICAgICAgZm9ybWF0PzogQVhQU2VhcmNoRGVmaW5pdGlvbkRpc3BsYXlGb3JtYXQ7XG4gICAgICBhY3Rpb25zPzogQVhQU2VhcmNoQWN0aW9uW107XG4gICAgfVxuICApOiBBWFBTZWFyY2hEZWZpbml0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgZGVmaW5pdGlvblNlYXJjaDogQVhQU2VhcmNoRGVmaW5pdGlvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGdyb3VwLFxuICAgICAgaWNvbixcbiAgICAgIG9yZGVyLFxuICAgICAgZm9ybWF0OiB7XG4gICAgICAgIHRpdGxlOiBvcHRpb25zPy5mb3JtYXQ/LnRpdGxlID8/ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zPy5mb3JtYXQ/LmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgaWNvbjogb3B0aW9ucz8uZm9ybWF0Py5pY29uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgaWQ6IG9wdGlvbnM/LmZvcm1hdD8uaWQgPz8gJ3t7IGlkIH19JyxcbiAgICAgIH0sXG4gICAgICBhY3Rpb25zOiBvcHRpb25zPy5hY3Rpb25zID8/IFtdLFxuICAgIH07XG5cbiAgICB0aGlzLmRlZmluaXRpb25zLnB1c2goZGVmaW5pdGlvblNlYXJjaCk7XG4gICAgdGhpcy5kZWZpbml0aW9uTWFwLnNldChuYW1lLCBkZWZpbml0aW9uU2VhcmNoKTsgLy8gSW5kZXggYnkgbmFtZVxuICAgIHJldHVybiBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvbkJ1aWxkZXIodGhpcywgZGVmaW5pdGlvblNlYXJjaCk7XG4gIH1cblxuXG4gIGdldERlZmluaXRpb25zKCk6IEFYUFNlYXJjaERlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnM7XG4gIH1cblxuICAvLyBFeHBvc2UgZ3JvdXBNYXAgZm9yIGNvbnRyb2xsZWQgYWNjZXNzXG4gIGhhc0VudGl0eShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uTWFwLmhhcyhuYW1lKTtcbiAgfVxuXG4gIGdldERlZmluaXRpb24obmFtZTogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbk1hcC5nZXQobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBjb250ZXh0OiBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0O1xuICBwcml2YXRlIGRlZmluaXRpb246IEFYUFNlYXJjaERlZmluaXRpb247XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCwgZGVmaW5pdGlvbjogQVhQU2VhcmNoRGVmaW5pdGlvbikge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy5kZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcbiAgfVxuXG4gIGFkZEFjdGlvbihuYW1lOiBzdHJpbmcpOiBBWFBTZWFyY2hEZWZpbml0aW9uQWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgbmV3QWN0aW9uOiBBWFBTZWFyY2hBY3Rpb24gPSB7XG4gICAgICBuYW1lLFxuICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICB9O1xuICAgIHRoaXMuZGVmaW5pdGlvbi5hY3Rpb25zLnB1c2gobmV3QWN0aW9uKTtcbiAgICByZXR1cm4gbmV3IEFYUFNlYXJjaERlZmluaXRpb25BY3Rpb25CdWlsZGVyKHRoaXMpO1xuICB9XG5cbiAgYWN0aW9uKG5hbWU6IHN0cmluZyk6IEFYUFNlYXJjaERlZmluaXRpb25BY3Rpb25CdWlsZGVyIHwgbnVsbCB7XG4gICAgY29uc3QgZm91bmRBY3Rpb24gPSB0aGlzLmRlZmluaXRpb24uYWN0aW9ucy5maW5kKChhY3Rpb24pID0+IGFjdGlvbi5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoIWZvdW5kQWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFjdGlvbiB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kIGluIGVudGl0eSBcIiR7dGhpcy5kZWZpbml0aW9uLm5hbWV9XCIuYCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvbkFjdGlvbkJ1aWxkZXIodGhpcyk7XG4gIH1cblxuICBlbmRFbnRpdHkoKTogQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvbkFjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGVudGl0eUJ1aWxkZXI6IEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKGVudGl0eUJ1aWxkZXI6IEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyKSB7XG4gICAgdGhpcy5lbnRpdHlCdWlsZGVyID0gZW50aXR5QnVpbGRlcjtcbiAgfVxuXG4gIGVuZEFjdGlvbigpOiBBWFBTZWFyY2hEZWZpbml0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5QnVpbGRlcjtcbiAgfVxufVxuIl19","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { AXPSearchDefinitionProviderContext } from './search-definition.builder';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SEARCH_DEFINITION_PROVIDER = new InjectionToken('AXP_SEARCH_DEFINITION_PROVIDER');\nexport class AXPSearchDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_SEARCH_DEFINITION_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache) {\n return;\n }\n const context = new AXPSearchDefinitionProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n this.cache = context.getDefinitions();\n }\n async getListAsync() {\n await this.load();\n return this.getList();\n }\n getList() {\n if (!this.cache) {\n return [];\n }\n else {\n return this.cache;\n }\n }\n findDefinition(definitionName) {\n const definition = this.getList().find((definition) => definition.name === definitionName);\n if (!definition) {\n throw new Error(`Definition with name ${definitionName} not found`);\n }\n return definition;\n }\n findDefinitionByGroup(definitionGroup) {\n const definition = this.getList().find((definition) => definition.group === definitionGroup);\n if (!definition) {\n throw new Error(`Definition with group ${definitionGroup} not found`);\n }\n return definition;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUWpGLHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FDOUQsZ0NBQWdDLENBQ2pDLENBQUM7QUFHRixNQUFNLE9BQU8sa0NBQWtDO0lBRC9DO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFVBQUssR0FBaUMsSUFBSSxDQUFDO0tBMkNwRDtJQXpDUyxLQUFLLENBQUMsSUFBSTtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLGNBQXNCO1FBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLGNBQWMsWUFBWSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxlQUF1QjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixlQUFlLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQTVDVSxrQ0FBa0M7a0hBQWxDLGtDQUFrQyxjQURyQixNQUFNOzsyRkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICcuL3NlYXJjaC1kZWZpbml0aW9uLmJ1aWxkZXInO1xuaW1wb3J0IHsgQVhQU2VhcmNoRGVmaW5pdGlvbiB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcm92aWRlKGNvbnRleHQ6IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vLyBJbmplY3Rpb24gdG9rZW4gZm9yIHNldHRpbmcgcHJvdmlkZXJzXG5leHBvcnQgY29uc3QgQVhQX1NFQVJDSF9ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlcltdPihcbiAgJ0FYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUidcbik7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjYWNoZTogQVhQU2VhcmNoRGVmaW5pdGlvbltdIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKGNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNhY2hlID0gY29udGV4dC5nZXREZWZpbml0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RBc3luYygpOiBQcm9taXNlPEFYUFNlYXJjaERlZmluaXRpb25bXT4ge1xuICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICAgIHJldHVybiB0aGlzLmdldExpc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0KCk6IEFYUFNlYXJjaERlZmluaXRpb25bXSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kRGVmaW5pdGlvbihkZWZpbml0aW9uTmFtZTogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXMuZ2V0TGlzdCgpLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24ubmFtZSA9PT0gZGVmaW5pdGlvbk5hbWUpO1xuICAgIGlmICghZGVmaW5pdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWZpbml0aW9uIHdpdGggbmFtZSAke2RlZmluaXRpb25OYW1lfSBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cblxuICBwdWJsaWMgZmluZERlZmluaXRpb25CeUdyb3VwKGRlZmluaXRpb25Hcm91cDogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXMuZ2V0TGlzdCgpLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24uZ3JvdXAgPT09IGRlZmluaXRpb25Hcm91cCk7XG4gICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYERlZmluaXRpb24gd2l0aCBncm91cCAke2RlZmluaXRpb25Hcm91cH0gbm90IGZvdW5kYCk7XG4gICAgfVxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG59XG4iXX0=","export class AXPSearchCommandProvider {\n async search(text) {\n return this.commands.filter((command) => command.title.toLowerCase().includes(text.toLowerCase()));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBZ0Isd0JBQXdCO0lBRzVDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZWFyY2hQcm92aWRlciB7XG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPEFYUFNlYXJjaFJlc3VsdFtdPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFNlYXJjaENvbW1hbmRQcm92aWRlciB7XG4gIGFic3RyYWN0IGNvbW1hbmRzOiBBWFBTZWFyY2hSZXN1bHRbXTtcblxuICBhc3luYyBzZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTxBWFBTZWFyY2hSZXN1bHRbXT4ge1xuICAgIHJldHVybiB0aGlzLmNvbW1hbmRzLmZpbHRlcigoY29tbWFuZCkgPT4gY29tbWFuZC50aXRsZSEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXh0LnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxufVxuIl19","import { AXFormatService } from '@acorex/core/format';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { omit } from 'lodash-es';\nimport { AXPSearchDefinitionProviderService } from './search-definition.provider';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SEARCH_PROVIDER = new InjectionToken('AXP_SEARCH_PROVIDER');\nexport class AXPSearchService {\n constructor() {\n this.providers = inject(AXP_SEARCH_PROVIDER, { optional: true });\n this.definitionService = inject(AXPSearchDefinitionProviderService);\n this.formatService = inject(AXFormatService);\n }\n async search(text) {\n //TODO better handle this\n if (this.definitionService.getList().length == 0) {\n await this.definitionService.getListAsync();\n }\n if (!this.providers || (this.providers?.length || 0) === 0) {\n throw new Error('No search providers available'); // No providers available\n }\n const mergeData = [];\n const promises = this.providers.map((provider) => provider.search(text));\n const results = await Promise.all(promises);\n for (const resultArray of results) {\n for (const result of resultArray) {\n try {\n const definition = this.definitionService.findDefinition(result.group);\n mergeData.push({\n definitionName: definition.group,\n definitionTitle: definition.title,\n name: result.group,\n id: `${definition.name}:${this.formatService.format(definition.format.id, 'string', result)}`,\n title: result.title ??\n (definition.format.title\n ? this.formatService.format(definition.format.title, 'string', result.data)\n : 'Unknown'),\n description: result.description ??\n (definition.format.description\n ? this.formatService.format(definition.format.description, 'string', result.data)\n : undefined),\n icon: result.icon ??\n (result.icon\n ? this.formatService.format(definition.format.icon, 'string', result.data)\n : definition.icon),\n data: result.data,\n command: result.command,\n actions: definition.actions,\n parent: result.parent,\n order: definition.order,\n });\n }\n catch (e) {\n console.error(e);\n }\n }\n }\n // Group data\n const groupedData = [];\n const groupMap = {};\n // Create groups\n for (const item of mergeData) {\n const groupName = item.definitionName; // Change this to the property you want to group by\n if (!groupMap[groupName]) {\n groupMap[groupName] = {\n name: groupName,\n title: item.definitionTitle, // You can adjust the title logic if needed\n order: item.order, // Add order to the group\n children: [],\n };\n groupedData.push(groupMap[groupName]);\n }\n groupMap[groupName].children.push(omit(item, ['definitionName', 'definitionTitle', 'order']));\n }\n // Sort groups by order\n groupedData.sort((a, b) => a.order - b.order);\n return groupedData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPSearchService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NlYXJjaC9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBSWxGLHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IscUJBQXFCLENBQUMsQ0FBQztBQUdsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQy9ELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBNEVqRDtJQTFFQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDdkIseUJBQXlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVB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USxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztvQkFDcEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFnQixFQUFFLDJDQUEyQztvQkFDekUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUseUJBQXlCO29CQUM1QyxRQUFRLEVBQUUsRUFBRTtpQkFDYixDQUFDO2dCQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0E5RVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBTZWFyY2hQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdCwgQVhQU2VhcmNoRGlzcGxheVJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW5qZWN0aW9uIHRva2VuIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGNvbnN0IEFYUF9TRUFSQ0hfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQU2VhcmNoUHJvdmlkZXJbXT4oJ0FYUF9TRUFSQ0hfUFJPVklERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBTZWFyY2hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwcm92aWRlcnMgPSBpbmplY3QoQVhQX1NFQVJDSF9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBkZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgYXN5bmMgc2VhcmNoKHRleHQ6IHN0cmluZyk6IFByb21pc2U8QVhQU2VhcmNoRGlzcGxheUdyb3VwUmVzdWx0W10+IHtcbiAgICAvL1RPRE8gYmV0dGVyIGhhbmRsZSB0aGlzXG4gICAgaWYgKHRoaXMuZGVmaW5pdGlvblNlcnZpY2UuZ2V0TGlzdCgpLmxlbmd0aCA9PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLmRlZmluaXRpb25TZXJ2aWNlLmdldExpc3RBc3luYygpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wcm92aWRlcnMgfHwgKHRoaXMucHJvdmlkZXJzPy5sZW5ndGggfHwgMCkgPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc2VhcmNoIHByb3ZpZGVycyBhdmFpbGFibGUnKTsgLy8gTm8gcHJvdmlkZXJzIGF2YWlsYWJsZVxuICAgIH1cblxuICAgIGNvbnN0IG1lcmdlRGF0YTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdFtdID0gW107XG4gICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLnByb3ZpZGVycy5tYXAoKHByb3ZpZGVyKSA9PiBwcm92aWRlci5zZWFyY2godGV4dCkpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgZm9yIChjb25zdCByZXN1bHRBcnJheSBvZiByZXN1bHRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRBcnJheSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzLmRlZmluaXRpb25TZXJ2aWNlLmZpbmREZWZpbml0aW9uKHJlc3VsdC5ncm91cCk7XG5cbiAgICAgICAgICBtZXJnZURhdGEucHVzaCh7XG4gICAgICAgICAgICBkZWZpbml0aW9uTmFtZTogZGVmaW5pdGlvbi5ncm91cCxcbiAgICAgICAgICAgIGRlZmluaXRpb25UaXRsZTogZGVmaW5pdGlvbi50aXRsZSxcbiAgICAgICAgICAgIG5hbWU6IHJlc3VsdC5ncm91cCxcbiAgICAgICAgICAgIGlkOiBgJHtkZWZpbml0aW9uLm5hbWV9OiR7dGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChkZWZpbml0aW9uLmZvcm1hdC5pZCwgJ3N0cmluZycsIHJlc3VsdCl9YCxcbiAgICAgICAgICAgIHRpdGxlOlxuICAgICAgICAgICAgICByZXN1bHQudGl0bGUgPz9cbiAgICAgICAgICAgICAgKGRlZmluaXRpb24uZm9ybWF0LnRpdGxlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGRlZmluaXRpb24uZm9ybWF0LnRpdGxlLCAnc3RyaW5nJywgcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICAgICAgOiAnVW5rbm93bicpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIHJlc3VsdC5kZXNjcmlwdGlvbiA/P1xuICAgICAgICAgICAgICAoZGVmaW5pdGlvbi5mb3JtYXQuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICA/IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZGVmaW5pdGlvbi5mb3JtYXQuZGVzY3JpcHRpb24sICdzdHJpbmcnLCByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBpY29uOlxuICAgICAgICAgICAgICByZXN1bHQuaWNvbiA/P1xuICAgICAgICAgICAgICAocmVzdWx0Lmljb25cbiAgICAgICAgICAgICAgICA/IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZGVmaW5pdGlvbi5mb3JtYXQuaWNvbiwgJ3N0cmluZycsIHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgICAgIDogZGVmaW5pdGlvbi5pY29uKSxcbiAgICAgICAgICAgIGRhdGE6IHJlc3VsdC5kYXRhLFxuICAgICAgICAgICAgY29tbWFuZDogcmVzdWx0LmNvbW1hbmQsXG4gICAgICAgICAgICBhY3Rpb25zOiBkZWZpbml0aW9uLmFjdGlvbnMsXG4gICAgICAgICAgICBwYXJlbnQ6IHJlc3VsdC5wYXJlbnQsXG4gICAgICAgICAgICBvcmRlcjogZGVmaW5pdGlvbi5vcmRlcixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cCBkYXRhXG4gICAgY29uc3QgZ3JvdXBlZERhdGE6IEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdFtdID0gW107XG4gICAgY29uc3QgZ3JvdXBNYXA6IHsgW2tleTogc3RyaW5nXTogQVhQU2VhcmNoRGlzcGxheUdyb3VwUmVzdWx0IH0gPSB7fTtcblxuICAgIC8vIENyZWF0ZSBncm91cHNcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbWVyZ2VEYXRhKSB7XG4gICAgICBjb25zdCBncm91cE5hbWUgPSBpdGVtLmRlZmluaXRpb25OYW1lITsgLy8gQ2hhbmdlIHRoaXMgdG8gdGhlIHByb3BlcnR5IHlvdSB3YW50IHRvIGdyb3VwIGJ5XG4gICAgICBpZiAoIWdyb3VwTWFwW2dyb3VwTmFtZV0pIHtcbiAgICAgICAgZ3JvdXBNYXBbZ3JvdXBOYW1lXSA9IHtcbiAgICAgICAgICBuYW1lOiBncm91cE5hbWUsXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uZGVmaW5pdGlvblRpdGxlISwgLy8gWW91IGNhbiBhZGp1c3QgdGhlIHRpdGxlIGxvZ2ljIGlmIG5lZWRlZFxuICAgICAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLCAvLyBBZGQgb3JkZXIgdG8gdGhlIGdyb3VwXG4gICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICB9O1xuICAgICAgICBncm91cGVkRGF0YS5wdXNoKGdyb3VwTWFwW2dyb3VwTmFtZV0pO1xuICAgICAgfVxuICAgICAgZ3JvdXBNYXBbZ3JvdXBOYW1lXS5jaGlsZHJlbi5wdXNoKG9taXQoaXRlbSwgWydkZWZpbml0aW9uTmFtZScsICdkZWZpbml0aW9uVGl0bGUnLCAnb3JkZXInXSkpO1xuICAgIH1cblxuICAgIC8vIFNvcnQgZ3JvdXBzIGJ5IG9yZGVyXG4gICAgZ3JvdXBlZERhdGEuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuXG4gICAgcmV0dXJuIGdyb3VwZWREYXRhO1xuICB9XG59XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\n//TODO Loading, Redirect, Drawer, Show toast\nexport const AXPRedirectEvent = createWorkFlowEvent('Redirect Event Fired');\nexport const AXPRefreshEvent = createWorkFlowEvent('Refresh Event Fired');\nexport class AXPWorkflowNavigateAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n }\n async execute(context) {\n const payload = context.getVariable('payload');\n if (Array.isArray(payload.commands)) {\n this.router.navigate(payload.commands, payload.extras);\n }\n else {\n if (payload.commands.toLowerCase().startsWith('http') || payload.target == 'blank') {\n window.open(payload.commands, '_blank');\n }\n else\n this.router.navigate([payload.commands], payload.extras);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowNavigateAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPDialogConfirmAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n this.defaultAction = 'cancel';\n }\n async execute(context) {\n context.setOutput('result', false);\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync(this.title), await this.translationService.translateAsync(this.message), (await this.translationService.translateAsync(this.type)), 'horizontal', false, 'cancel');\n console.log({ dialogResult });\n context.setOutput('result', dialogResult.result);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPDialogConfirmAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPToastAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.toastService = inject(AXToastService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const options = context.getVariable('options');\n const process = options?.['process'];\n const showResult = process?.showResult ?? true;\n if (showResult) {\n this.toastService.show({\n color: this.color,\n title: await this.translationService.translateAsync(this.title),\n content: await this.translationService.translateAsync(this.content),\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPToastAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPToastAction, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi93b3JrZmxvd3MvY29tbW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBQzdGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBaUMscUJBQXFCLENBQUMsQ0FBQztBQUcxRyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBRGhFOztRQUVVLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FXakM7SUFWQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0s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QVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vL1RPRE8gTG9hZGluZywgUmVkaXJlY3QsIERyYXdlciwgU2hvdyB0b2FzdFxuXG5leHBvcnQgY29uc3QgQVhQUmVkaXJlY3RFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyB1cmw6IHN0cmluZyB9PignUmVkaXJlY3QgRXZlbnQgRmlyZWQnKTtcbmV4cG9ydCBjb25zdCBBWFBSZWZyZXNoRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oJ1JlZnJlc2ggRXZlbnQgRmlyZWQnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93TmF2aWdhdGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ3BheWxvYWQnKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXlsb2FkLmNvbW1hbmRzKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocGF5bG9hZC5jb21tYW5kcywgcGF5bG9hZC5leHRyYXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocGF5bG9hZC5jb21tYW5kcy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBwYXlsb2FkLnRhcmdldCA9PSAnYmxhbmsnKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHBheWxvYWQuY29tbWFuZHMsICdfYmxhbmsnKTtcbiAgICAgIH0gZWxzZSB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF5bG9hZC5jb21tYW5kc10sIHBheWxvYWQuZXh0cmFzKTtcbiAgICB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUERpYWxvZ0NvbmZpcm1BY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgdGl0bGUhOiBzdHJpbmc7XG4gIG1lc3NhZ2UhOiBzdHJpbmc7XG4gIHR5cGUhOiBBWFN0eWxlQ29sb3JUeXBlO1xuXG4gIGRlZmF1bHRBY3Rpb24gPSAnY2FuY2VsJztcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCBmYWxzZSk7XG4gICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLnRpdGxlKSxcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMubWVzc2FnZSksXG4gICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy50eXBlKSkgYXMgQVhTdHlsZUNvbG9yVHlwZSxcbiAgICAgICdob3Jpem9udGFsJyxcbiAgICAgIGZhbHNlLFxuICAgICAgJ2NhbmNlbCcsXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZyh7IGRpYWxvZ1Jlc3VsdCB9KTtcbiAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgZGlhbG9nUmVzdWx0LnJlc3VsdCk7XG4gIH1cbiAgLy8gYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgZmFsc2UpO1xuICAvLyAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHtcbiAgLy8gICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLnRpdGxlKSxcbiAgLy8gICAgIGNvbnRlbnQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMubWVzc2FnZSksXG4gIC8vICAgICB0eXBlOiAoYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy50eXBlKSkgYXMgQVhTdHlsZUNvbG9yVHlwZSxcbiAgLy8gICAgIGJ1dHRvbnM6IFtcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHRleHQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdva2F5JyksXG4gIC8vICAgICAgICAgY29sb3I6IChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLnR5cGUpKSBhcyBBWFN0eWxlQ29sb3JUeXBlLFxuICAvLyAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgLy8gICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCB7IHJlc3VsdDogdHJ1ZSB9KTtcbiAgLy8gICAgICAgICAgIGRpYWxvZ1Jlc3VsdC5jbG9zZSgpO1xuICAvLyAgICAgICAgIH0sXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICAgIHtcbiAgLy8gICAgICAgICB0ZXh0OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygnY2FuY2VsJyksXG4gIC8vICAgICAgICAgY29sb3I6ICdkZWZhdWx0JyxcbiAgLy8gICAgICAgICBsb29rOiAnb3V0bGluZScsXG4gIC8vICAgICAgICAgYXV0b2ZvY3VzOiB0cnVlLFxuICAvLyAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcbiAgLy8gICAgICAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCB7IHJlc3VsdDogZmFsc2UgfSk7XG4gIC8vICAgICAgICAgICBkaWFsb2dSZXN1bHQuY2xvc2UoKTtcbiAgLy8gICAgICAgICB9LFxuICAvLyAgICAgICB9LFxuICAvLyAgICAgXSxcbiAgLy8gICB9KTtcbiAgLy8gfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQVG9hc3RBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGNvbG9yITogQVhTdHlsZUNvbG9yVHlwZTtcbiAgdGl0bGUhOiBzdHJpbmc7XG4gIGNvbnRlbnQhOiBzdHJpbmc7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcHRpb25zID0gY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdvcHRpb25zJyk7XG4gICAgY29uc3QgcHJvY2VzcyA9IG9wdGlvbnM/LlsncHJvY2VzcyddO1xuICAgIGNvbnN0IHNob3dSZXN1bHQgPSBwcm9jZXNzPy5zaG93UmVzdWx0ID8/IHRydWU7XG4gICAgaWYgKHNob3dSZXN1bHQpIHtcbiAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xuICAgICAgICBjb2xvcjogdGhpcy5jb2xvcixcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudGl0bGUpLFxuICAgICAgICBjb250ZW50OiBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLmNvbnRlbnQpLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgdGltZU91dDogMzAwMCxcbiAgICAgICAgdGltZU91dFByb2dyZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n }\n async execute(context) {\n const command = context.getVariable();\n const path = command.options.path;\n if (path?.toLowerCase()?.startsWith('http') || command.options?.extras?.target === 'blank') {\n window.open(path, '_blank');\n }\n else {\n const [basePathAndFragment, queryString] = path.split('?');\n const [basePath, fragment] = basePathAndFragment.split('#'); // Extract fragment if present\n const queryParams = this.parseQueryParams(queryString);\n this.router.navigate([basePath], {\n ...command.options.extras,\n queryParams, // Pass query parameters separately\n fragment, // Pass fragment explicitly\n });\n }\n }\n /**\n * Parses query parameters from a query string into an object.\n */\n parseQueryParams(queryString) {\n if (!queryString)\n return undefined;\n return queryString\n .split('&')\n .map((pair) => pair.split('='))\n .reduce((params, [key, value]) => {\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n return params;\n }, {});\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPNavigateWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'navigate-router',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGUud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3dvcmtmbG93cy9uYXZpZ2F0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUd6QyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUJBQWlCO0lBRHRFOztRQUVVLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FtQ2pDO0lBakNDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBc0MsQ0FBQztRQUMxRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVsQyxJQUFJLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7WUFDM0YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXZELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUN6QixXQUFXLEVBQUUsbUNBQW1DO2dCQUNoRCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxXQUErQjtRQUN0RCxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRW5DLE9BQU8sV0FBVzthQUNmLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQTRCLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQW5DVSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7QUF1Q1gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdCO0lBQzlDLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxpQkFBaUI7U0FDMUI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Um91dGVyTmF2aWdhdGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21tYW5kID0gY29udGV4dC5nZXRWYXJpYWJsZTxBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQ8J3JvdXRlcic+PigpO1xuICAgIGNvbnN0IHBhdGggPSBjb21tYW5kLm9wdGlvbnMucGF0aDtcblxuICAgIGlmIChwYXRoPy50b0xvd2VyQ2FzZSgpPy5zdGFydHNXaXRoKCdodHRwJykgfHwgY29tbWFuZC5vcHRpb25zPy5leHRyYXM/LnRhcmdldCA9PT0gJ2JsYW5rJykge1xuICAgICAgd2luZG93Lm9wZW4ocGF0aCwgJ19ibGFuaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBbYmFzZVBhdGhBbmRGcmFnbWVudCwgcXVlcnlTdHJpbmddID0gcGF0aC5zcGxpdCgnPycpO1xuICAgICAgY29uc3QgW2Jhc2VQYXRoLCBmcmFnbWVudF0gPSBiYXNlUGF0aEFuZEZyYWdtZW50LnNwbGl0KCcjJyk7IC8vIEV4dHJhY3QgZnJhZ21lbnQgaWYgcHJlc2VudFxuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnBhcnNlUXVlcnlQYXJhbXMocXVlcnlTdHJpbmcpO1xuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYmFzZVBhdGhdLCB7XG4gICAgICAgIC4uLmNvbW1hbmQub3B0aW9ucy5leHRyYXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLCAvLyBQYXNzIHF1ZXJ5IHBhcmFtZXRlcnMgc2VwYXJhdGVseVxuICAgICAgICBmcmFnbWVudCwgLy8gUGFzcyBmcmFnbWVudCBleHBsaWNpdGx5XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSBhIHF1ZXJ5IHN0cmluZyBpbnRvIGFuIG9iamVjdC5cbiAgICovXG4gIHByaXZhdGUgcGFyc2VRdWVyeVBhcmFtcyhxdWVyeVN0cmluZzogc3RyaW5nIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFxdWVyeVN0cmluZykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBxdWVyeVN0cmluZ1xuICAgICAgLnNwbGl0KCcmJylcbiAgICAgIC5tYXAoKHBhaXIpID0+IHBhaXIuc3BsaXQoJz0nKSlcbiAgICAgIC5yZWR1Y2UoKHBhcmFtcywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHBhcmFtc1tkZWNvZGVVUklDb21wb25lbnQoa2V5KV0gPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUE5hdmlnYXRlV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgc3RlcHM6IHtcbiAgICBzdGFydDoge1xuICAgICAgYWN0aW9uOiAnbmF2aWdhdGUtcm91dGVyJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","import { Injectable, inject } from \"@angular/core\";\nimport { AXDialogService } from \"@acorex/components/dialog\";\nimport { AXPWorkflowError } from \"@acorex/platform/workflow\";\nimport * as i0 from \"@angular/core\";\nexport class AXMWorkflowErrorHandler {\n constructor() {\n this.dialog = inject(AXDialogService);\n }\n handleError(error, next) {\n if (error instanceof AXPWorkflowError) {\n this.dialog.alert(\"Somthing is wrong!\", error.inner ? error.inner.message : error.message, 'danger');\n next(error);\n }\n else {\n next(error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMWorkflowErrorHandler }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvd29ya2Zsb3dzL2Vycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUk3RCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQVc1QztJQVJHLFdBQVcsQ0FBQyxLQUFVLEVBQUUsSUFBMEI7UUFDOUMsSUFBSSxLQUFLLFlBQVksZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7OEdBWFEsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIGluamVjdCwgaXNEZXZNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0Vycm9yIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVdvcmtmbG93RXJyb3JIYW5kbGVyIGltcGxlbWVudHMgQVhQRXJyb3JIYW5kbGVyIHtcbiAgICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuXG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55LCBuZXh0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBWFBXb3JrZmxvd0Vycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5hbGVydChcIlNvbXRoaW5nIGlzIHdyb25nIVwiLCBlcnJvci5pbm5lciA/IGVycm9yLmlubmVyLm1lc3NhZ2UgOiBlcnJvci5tZXNzYWdlLCAnZGFuZ2VyJyk7XG4gICAgICAgICAgICBuZXh0KGVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5leHQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==","import { InjectionToken } from '@angular/core';\nexport const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2dsb2JhbC12YXJpYWJsZXMvZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxJQUFJLGNBQWMsQ0FDdkUseUNBQXlDLEVBQ3pDO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDbEIsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uUHJvdmlkZXJUb2tlbiA9XG4gIHwgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uUHJvdmlkZXJcbiAgfCBQcm9taXNlPEFYUEdsb2JhbFZhcmlhYmxlRGVmaW5pdGlvblByb3ZpZGVyPjtcblxuZXhwb3J0IGNvbnN0IEFYUF9HTE9CQUxfVkFSSUFCTEVfREVGSU5JVElPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb25Qcm92aWRlclRva2VuW10+KFxuICAnQVhQX0dMT0JBTF9WQVJJQUJMRV9ERUZJTklUSU9OX1BST1ZJREVSJyxcbiAge1xuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxuICB9LFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb25Qcm92aWRlcjxUID0gYW55PiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIGV4ZWN1dGUoKTogUHJvbWlzZTxUPiB8IFQ7XG59XG4iXX0=","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER } from './global-variable-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPGlobalVariableDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by name. */\n this.definitionsByName = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns a report definition by its id.\n * First checks the cache, then queries all providers if not found.\n * @param name The global variable name.\n * @returns The global variable definition if found, undefined otherwise.\n */\n async getByName(name) {\n // Check cache first\n if (this.definitionsByName.has(name)) {\n return this.definitionsByName.get(name);\n }\n // Not in cache, query providers (each provider is itself a global variable definition)\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const match = resolvedProviders.find(def => def?.name === name);\n if (match) {\n this.definitionsByName.set(name, match);\n return match;\n }\n return undefined;\n }\n async execute(name) {\n const definition = await this.getByName(name);\n if (definition) {\n return await definition.execute();\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n /** Clears the definitions by name cache. */\n clearDefinitionsCache() {\n this.definitionsByName.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGUtZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFHaEcsWUFBWTtBQUtaLE1BQU0sT0FBTyxrQ0FBa0M7SUFIL0M7UUFJRSwwQ0FBMEM7UUFFekIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHVDQUF1QyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpILHFDQUFxQztRQUM3QixzQkFBaUIsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQTZDakY7SUE1Q0MsWUFBWTtJQUVaLGtDQUFrQztJQUVsQzs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUMxQixvQkFBb0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCx1RkFBdUY7UUFDdkYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdEUsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUN4QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO0lBRVosd0NBQXdDO0lBRXhDLDRDQUE0QztJQUM1QyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBaERVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRmpDLE1BQU07OzJGQUVQLGtDQUFrQztrQkFIOUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0dMT0JBTF9WQVJJQUJMRV9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9nbG9iYWwtdmFyaWFibGUtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24gfSBmcm9tICcuL2dsb2JhbC12YXJpYWJsZS50eXBlcyc7XG5cbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgUHJvdmlkZXJzICYgQ2FjaGVzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmaW5pdGlvblByb3ZpZGVycyA9IGluamVjdChBWFBfR0xPQkFMX1ZBUklBQkxFX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG5cbiAgLyoqIENhY2hlIGZvciBkZWZpbml0aW9ucyBieSBuYW1lLiAqL1xuICBwcml2YXRlIGRlZmluaXRpb25zQnlOYW1lOiBNYXA8c3RyaW5nLCBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBBUEkgICAtLS0tXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuXG4gICAqIEZpcnN0IGNoZWNrcyB0aGUgY2FjaGUsIHRoZW4gcXVlcmllcyBhbGwgcHJvdmlkZXJzIGlmIG5vdCBmb3VuZC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIGdsb2JhbCB2YXJpYWJsZSBuYW1lLlxuICAgKiBAcmV0dXJucyBUaGUgZ2xvYmFsIHZhcmlhYmxlIGRlZmluaXRpb24gaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2UuXG4gICAqL1xuICBhc3luYyBnZXRCeU5hbWUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBDaGVjayBjYWNoZSBmaXJzdFxuICAgIGlmICh0aGlzLmRlZmluaXRpb25zQnlOYW1lLmhhcyhuYW1lKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNCeU5hbWUuZ2V0KG5hbWUpO1xuICAgIH1cbiAgICAvLyBOb3QgaW4gY2FjaGUsIHF1ZXJ5IHByb3ZpZGVycyAoZWFjaCBwcm92aWRlciBpcyBpdHNlbGYgYSBnbG9iYWwgdmFyaWFibGUgZGVmaW5pdGlvbilcbiAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG5cbiAgICBjb25zdCBtYXRjaCA9IHJlc29sdmVkUHJvdmlkZXJzLmZpbmQoZGVmID0+IGRlZj8ubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zQnlOYW1lLnNldChuYW1lLCBtYXRjaCk7XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QnlOYW1lKG5hbWUpO1xuICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZGVmaW5pdGlvbi5leGVjdXRlKCk7ICAgIFxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDYWNoZSBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gIC8qKiBDbGVhcnMgdGhlIGRlZmluaXRpb25zIGJ5IG5hbWUgY2FjaGUuICovXG4gIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlZmluaXRpb25zQnlOYW1lLmNsZWFyKCk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==","import { inject } from \"@angular/core\";\nimport { AXPGlobalVariableDefinitionService } from \"./global-variable-definition.service\";\nexport class AXPGlobalVariableEvaluatorScopeProvider {\n constructor() {\n this.globalVariableService = inject(AXPGlobalVariableDefinitionService);\n }\n async provide(context) {\n context.addScope('variables', {\n execute: async (name) => {\n return await this.globalVariableService.execute(name);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGUtZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFMUYsTUFBTSxPQUFPLHVDQUF1QztJQUFwRDtRQUVjLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBU2pGLENBQUM7SUFQRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1EO1FBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSB9IGZyb20gXCIuL2dsb2JhbC12YXJpYWJsZS1kZWZpbml0aW9uLnNlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEFYUEdsb2JhbFZhcmlhYmxlRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBnbG9iYWxWYXJpYWJsZVNlcnZpY2UgPSBpbmplY3QoQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCd2YXJpYWJsZXMnLCB7XG4gICAgICAgICAgICBleGVjdXRlOiBhc3luYyAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2xvYmFsVmFyaWFibGVTZXJ2aWNlLmV4ZWN1dGUobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==","import { AXPopupModule } from '@acorex/components/popup';\nimport { AXToastModule } from '@acorex/components/toast';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXPAppStartUpProvider, AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { ErrorHandler, Inject, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, } from './data';\nimport { AXPErrorHandlerRegistryService, AXPGlobalErrorHandler } from './errors';\nimport { AXPMenuSearchDefinitionProvider } from './layout';\nimport { AXPMenuSearchProvider } from './layout/menu/search.provider';\nimport { AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from './search';\nimport { AXPSettingService } from './settings';\nimport { AXPDialogConfirmAction, AXPNavigateWorkflow, AXPToastAction, AXPWorkflowRouterNavigateAction, } from './workflows';\nimport { AXPGlobalVariableEvaluatorScopeProvider } from './global-variables';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/core\";\nimport * as i2 from \"./settings\";\nimport * as i3 from \"@acorex/platform/workflow\";\nexport class AXPCommonModule {\n static forRoot(configs) {\n return {\n ngModule: AXPCommonModule,\n providers: [\n ...(configs?.errorHandlers || []),\n {\n provide: 'AXPCommonModuleFactory',\n useFactory: (registry) => () => {\n registry.register(...(configs?.errorHandlers || []));\n },\n deps: [AXPErrorHandlerRegistryService],\n multi: true,\n },\n ],\n };\n }\n static forChild(configs) {\n return {\n ngModule: AXPCommonModule,\n providers: [\n ...(configs?.errorHandlers || []),\n {\n provide: 'AXPCommonModuleFactory',\n useFactory: (registry) => () => {\n registry.register(...(configs?.errorHandlers || []));\n },\n deps: [AXPErrorHandlerRegistryService],\n multi: true,\n },\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances, appInitService, settingsService) {\n instances.forEach((f) => {\n f();\n });\n appInitService.registerTask({\n name: 'Settings',\n statusText: 'Loading Settings ...',\n priority: 1,\n run: async () => {\n await settingsService.load();\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1.AXPAppStartUpService }, { token: i2.AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,\n AXDateTimeModule,\n AXToastModule], exports: [RouterModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCommonModule, providers: [\n AXPAppStartUpProvider,\n {\n provide: ErrorHandler,\n useClass: AXPGlobalErrorHandler,\n },\n {\n provide: AXPCustomOperatorService,\n useClass: AXPCustomOperatorServiceImpl,\n },\n {\n provide: AXPFilterOperatorMiddlewareService,\n useClass: AXPFilterOperatorMiddlewareServiceImpl,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPMenuSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPMenuSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPGlobalVariableEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n 'navigate-router': AXPWorkflowRouterNavigateAction,\n 'show-prompt-dialog': AXPDialogConfirmAction,\n 'show-toast': AXPToastAction,\n },\n workflows: {\n navigate: AXPNavigateWorkflow,\n },\n }),\n AXPopupModule,\n AXDateTimeModule,\n AXToastModule, RouterModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n 'navigate-router': AXPWorkflowRouterNavigateAction,\n 'show-prompt-dialog': AXPDialogConfirmAction,\n 'show-toast': AXPToastAction,\n },\n workflows: {\n navigate: AXPNavigateWorkflow,\n },\n }),\n AXPopupModule,\n AXDateTimeModule,\n AXToastModule,\n ],\n exports: [RouterModule],\n providers: [\n AXPAppStartUpProvider,\n {\n provide: ErrorHandler,\n useClass: AXPGlobalErrorHandler,\n },\n {\n provide: AXPCustomOperatorService,\n useClass: AXPCustomOperatorServiceImpl,\n },\n {\n provide: AXPFilterOperatorMiddlewareService,\n useClass: AXPFilterOperatorMiddlewareServiceImpl,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPMenuSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPMenuSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPGlobalVariableEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: ['AXPCommonModuleFactory']\n }] }, { type: i1.AXPAppStartUpService }, { type: i2.AXPSettingService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyxzQ0FBc0MsR0FDdkMsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFtQiw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsK0JBQStCLEdBQ2hDLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQXVEN0UsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFnQztRQUM3QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztnQkFDakM7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsVUFBVSxFQUFFLENBQUMsUUFBd0MsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO3dCQUM3RCxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELENBQUM7b0JBQ0QsSUFBSSxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQ3RDLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBZ0M7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7Z0JBQ2pDO29CQUNFLE9BQU8sRUFBRSx3QkFBd0I7b0JBQ2pDLFVBQVUsRUFBRSxDQUFDLFFBQXdDLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTt3QkFDN0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUN2RCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUN0QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQ29DLFNBQWdCLEVBQ2xELGNBQW9DLEVBQ3BDLGVBQWtDO1FBRWxDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsY0FBYyxDQUFDLFlBQVksQ0FBQztZQUMxQixJQUFJLEVBQUUsVUFBVTtZQUNoQixVQUFVLEVBQUUsc0JBQXNCO1lBQ2xDLFFBQVEsRUFBRSxDQUFDO1lBQ1gsR0FBRyxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUNkLE1BQU0sZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXREVSxlQUFlLGtCQXVDaEIsd0JBQXdCOytHQXZDdkIsZUFBZSxrQ0FyQ3hCLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYSxhQUVMLFlBQVk7K0dBaUNYLGVBQWUsYUFoQ2Y7WUFDVCxxQkFBcUI7WUFDckI7Z0JBQ0UsT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsNEJBQTRCO2FBQ3ZDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGtDQUFrQztnQkFDM0MsUUFBUSxFQUFFLHNDQUFzQzthQUNqRDtZQUVEO2dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsOEJBQThCO2dCQUN2QyxRQUFRLEVBQUUsK0JBQStCO2dCQUN6QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHVDQUF1QztnQkFDaEQsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLFlBN0NDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztnQkFDekIsT0FBTyxFQUFFO29CQUNQLGlCQUFpQixFQUFFLCtCQUErQjtvQkFDbEQsb0JBQW9CLEVBQUUsc0JBQXNCO29CQUM1QyxZQUFZLEVBQUUsY0FBYztpQkFDN0I7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCO2FBQ0YsQ0FBQztZQUNGLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYSxFQUVMLFlBQVk7OzJGQWlDWCxlQUFlO2tCQWpEM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCLENBQUMsUUFBUSxDQUFDOzRCQUN6QixPQUFPLEVBQUU7Z0NBQ1AsaUJBQWlCLEVBQUUsK0JBQStCO2dDQUNsRCxvQkFBb0IsRUFBRSxzQkFBc0I7Z0NBQzVDLFlBQVksRUFBRSxjQUFjOzZCQUM3Qjs0QkFDRCxTQUFTLEVBQUU7Z0NBQ1QsUUFBUSxFQUFFLG1CQUFtQjs2QkFDOUI7eUJBQ0YsQ0FBQzt3QkFDRixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRTt3QkFDVCxxQkFBcUI7d0JBQ3JCOzRCQUNFLE9BQU8sRUFBRSxZQUFZOzRCQUNyQixRQUFRLEVBQUUscUJBQXFCO3lCQUNoQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxRQUFRLEVBQUUsNEJBQTRCO3lCQUN2Qzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxRQUFRLEVBQUUsc0NBQXNDO3lCQUNqRDt3QkFFRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixRQUFRLEVBQUUscUJBQXFCOzRCQUMvQixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsOEJBQThCOzRCQUN2QyxRQUFRLEVBQUUsK0JBQStCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsdUNBQXVDOzRCQUNoRCxRQUFRLEVBQUUsdUNBQXVDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7MEJBd0NJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRvYXN0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiwgQVhQQXBwU3RhcnRVcFByb3ZpZGVyLCBBWFBBcHBTdGFydFVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlLFxuICBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2VJbXBsLFxuICBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlLFxuICBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlSW1wbCxcbn0gZnJvbSAnLi9kYXRhJztcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciwgQVhQRXJyb3JIYW5kbGVyUmVnaXN0cnlTZXJ2aWNlLCBBWFBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBBWFBNZW51U2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9sYXlvdXQnO1xuaW1wb3J0IHsgQVhQTWVudVNlYXJjaFByb3ZpZGVyIH0gZnJvbSAnLi9sYXlvdXQvbWVudS9zZWFyY2gucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQX1NFQVJDSF9ERUZJTklUSU9OX1BST1ZJREVSLCBBWFBfU0VBUkNIX1BST1ZJREVSIH0gZnJvbSAnLi9zZWFyY2gnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7XG4gIEFYUERpYWxvZ0NvbmZpcm1BY3Rpb24sXG4gIEFYUE5hdmlnYXRlV29ya2Zsb3csXG4gIEFYUFRvYXN0QWN0aW9uLFxuICBBWFBXb3JrZmxvd1JvdXRlck5hdmlnYXRlQWN0aW9uLFxufSBmcm9tICcuL3dvcmtmbG93cyc7XG5pbXBvcnQgeyBBWFBHbG9iYWxWYXJpYWJsZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIgfSBmcm9tICcuL2dsb2JhbC12YXJpYWJsZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbW1vbk1vZHVsZUNvbmZpZ3Mge1xuICBlcnJvckhhbmRsZXJzOiAobmV3ICgpID0+IEFYUEVycm9ySGFuZGxlcilbXTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIEFYUFdvcmtmbG93TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgJ25hdmlnYXRlLXJvdXRlcic6IEFYUFdvcmtmbG93Um91dGVyTmF2aWdhdGVBY3Rpb24sXG4gICAgICAgICdzaG93LXByb21wdC1kaWFsb2cnOiBBWFBEaWFsb2dDb25maXJtQWN0aW9uLFxuICAgICAgICAnc2hvdy10b2FzdCc6IEFYUFRvYXN0QWN0aW9uLFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93czoge1xuICAgICAgICBuYXZpZ2F0ZTogQVhQTmF2aWdhdGVXb3JrZmxvdyxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgQVhQb3B1cE1vZHVsZSxcbiAgICBBWERhdGVUaW1lTW9kdWxlLFxuICAgIEFYVG9hc3RNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWFBBcHBTdGFydFVwUHJvdmlkZXIsXG4gICAge1xuICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgdXNlQ2xhc3M6IEFYUEdsb2JhbEVycm9ySGFuZGxlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUEN1c3RvbU9wZXJhdG9yU2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2VJbXBsLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZSxcbiAgICAgIHVzZUNsYXNzOiBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlSW1wbCxcbiAgICB9LFxuXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFQVJDSF9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBNZW51U2VhcmNoUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBNZW51U2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhQR2xvYmFsVmFyaWFibGVFdmFsdWF0b3JTY29wZVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ29tbW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlncz86IEFYUENvbW1vbk1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbW1vbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhQQ29tbW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihjb25maWdzPy5lcnJvckhhbmRsZXJzIHx8IFtdKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6ICdBWFBDb21tb25Nb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUEVycm9ySGFuZGxlclJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXIoLi4uKGNvbmZpZ3M/LmVycm9ySGFuZGxlcnMgfHwgW10pKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHM6IFtBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGZvckNoaWxkKGNvbmZpZ3M/OiBBWFBDb21tb25Nb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBDb21tb25Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFYUENvbW1vbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi4oY29uZmlncz8uZXJyb3JIYW5kbGVycyB8fCBbXSksXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQQ29tbW9uTW9kdWxlRmFjdG9yeScsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2UpID0+ICgpID0+IHtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyKC4uLihjb25maWdzPy5lcnJvckhhbmRsZXJzIHx8IFtdKSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQRXJyb3JIYW5kbGVyUmVnaXN0cnlTZXJ2aWNlXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdBWFBDb21tb25Nb2R1bGVGYWN0b3J5JykgaW5zdGFuY2VzOiBhbnlbXSxcbiAgICBhcHBJbml0U2VydmljZTogQVhQQXBwU3RhcnRVcFNlcnZpY2UsXG4gICAgc2V0dGluZ3NTZXJ2aWNlOiBBWFBTZXR0aW5nU2VydmljZVxuICApIHtcbiAgICBpbnN0YW5jZXMuZm9yRWFjaCgoZikgPT4ge1xuICAgICAgZigpO1xuICAgIH0pO1xuICAgIGFwcEluaXRTZXJ2aWNlLnJlZ2lzdGVyVGFzayh7XG4gICAgICBuYW1lOiAnU2V0dGluZ3MnLFxuICAgICAgc3RhdHVzVGV4dDogJ0xvYWRpbmcgU2V0dGluZ3MgLi4uJyxcbiAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgcnVuOiBhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHNldHRpbmdzU2VydmljZS5sb2FkKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nimport { merge } from 'lodash-es';\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\nexport const AXP_PLATFORM_CONFIG_TOKEN = new InjectionToken('AXP_PLATFORM_CONFIG_TOKEN', {\n providedIn: 'root',\n factory: () => {\n return AXPPlatformDefaultConfigs;\n },\n});\nexport const AXPPlatformDefaultConfigs = {\n copyright: 'ACoreX @ 2024',\n title: 'ACoreX Platform',\n network: {\n timeOut: 5000,\n },\n};\nexport function configPlatform(config = AXPPlatformDefaultConfigs) {\n return merge(AXPPlatformDefaultConfigs, config);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvY29uZmlncy9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQU0sYUFBYSxDQUFDLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXFCLDJCQUEyQixFQUFFO0lBQzNHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixPQUFPLHlCQUF5QixDQUFDO0lBQ25DLENBQUM7Q0FDRixDQUFDLENBQUM7QUF3QkgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQXVCO0lBQzNELFNBQVMsRUFBRSxlQUFlO0lBQzFCLEtBQUssRUFBRSxpQkFBaUI7SUFFeEIsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQXNDLHlCQUF5QjtJQUM1RixPQUFPLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQTG9nb0NvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgY29uc3QgRU5WSVJPTk1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignRU5WSVJPTk1FTlQnKTtcblxuZXhwb3J0IGNvbnN0IEFYUF9QTEFURk9STV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUGxhdGZvcm1Db25maWdzPignQVhQX1BMQVRGT1JNX0NPTkZJR19UT0tFTicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIEFYUFBsYXRmb3JtRGVmYXVsdENvbmZpZ3M7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBQbGF0Zm9ybUNvbmZpZ3Mge1xuICB0aXRsZT86IHN0cmluZztcbiAgY29weXJpZ2h0Pzogc3RyaW5nO1xuICBsb2dvPzoge1xuICAgIGljb246IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICAgIHRleHQ6IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICAgIGZ1bGw6IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICB9O1xuICBuZXR3b3JrPzoge1xuICAgIHRpbWVPdXQ/OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBWFBQbGF0Zm9ybURlZmF1bHRDb25maWdzOiBBWFBQbGF0Zm9ybUNvbmZpZ3MgPSB7XG4gIGNvcHlyaWdodDogJ0FDb3JlWCBAIDIwMjQnLFxuICB0aXRsZTogJ0FDb3JlWCBQbGF0Zm9ybScsXG5cbiAgbmV0d29yazoge1xuICAgIHRpbWVPdXQ6IDUwMDAsXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnUGxhdGZvcm0oY29uZmlnOiBQYXJ0aWFsPEFYUFBsYXRmb3JtQ29uZmlncz4gPSBBWFBQbGF0Zm9ybURlZmF1bHRDb25maWdzKTogQVhQUGxhdGZvcm1Db25maWdzIHtcbiAgcmV0dXJuIG1lcmdlKEFYUFBsYXRmb3JtRGVmYXVsdENvbmZpZ3MsIGNvbmZpZyk7XG59XG4iXX0=","import { InjectionToken } from \"@angular/core\";\nexport const AXP_ROOT_CONFIG_TOKEN = new InjectionToken('AXP_ROOT_CONFIG_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbmZpZy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQVhQX1JPT1RfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJvb3RDb25maWdzPignQVhQX1JPT1RfQ09ORklHX1RPS0VOJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUm9vdENvbmZpZ3Mge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbn0iXX0=","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPFileStorageService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileStorageService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileStorageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2ZpbGUtc3RvcmFnZS9maWxlLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQWdCLHFCQUFxQjs4R0FBckIscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRDFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUEZpbGVTdG9yYWdlQ3JlYXRlUmVxdWVzdCwgQVhQRmlsZVN0b3JhZ2VJbmZvLCBBWFBGaWxlU3RvcmFnZVVwZGF0ZVJlcXVlc3QsIEFYUEZpbGVTdG9yYWdlRmluZFJlcXVlc3QgfSBmcm9tIFwiLi9maWxlLXN0b3JhZ2UudHlwZXNcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlIHtcblxuICAgIGFic3RyYWN0IHNhdmUocmVxdWVzdDogQVhQRmlsZVN0b3JhZ2VDcmVhdGVSZXF1ZXN0KTogUHJvbWlzZTxBWFBGaWxlU3RvcmFnZUluZm8+O1xuXG4gICAgYWJzdHJhY3QgdXBkYXRlKHJlcXVlc3Q6IEFYUEZpbGVTdG9yYWdlVXBkYXRlUmVxdWVzdCk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvPjtcblxuICAgIGFic3RyYWN0IGZpbmQocmVxdWVzdDogQVhQRmlsZVN0b3JhZ2VGaW5kUmVxdWVzdCk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvW10+O1xuXG4gICAgYWJzdHJhY3QgZ2V0SW5mbyhmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvPjtcblxuICAgIGFic3RyYWN0IHJlbW92ZShmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBjb21taXQoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgYWJzdHJhY3QgbWFya0ZvckRlbGV0aW9uKGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==","export var AXPFileStorageStatus;\n(function (AXPFileStorageStatus) {\n AXPFileStorageStatus[\"Temporary\"] = \"temporary\";\n AXPFileStorageStatus[\"Committed\"] = \"committed\";\n AXPFileStorageStatus[\"PendingDeletion\"] = \"pendingDeletion\";\n AXPFileStorageStatus[\"Archived\"] = \"archived\";\n AXPFileStorageStatus[\"Error\"] = \"error\";\n})(AXPFileStorageStatus || (AXPFileStorageStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdG9yYWdlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9maWxlLXN0b3JhZ2UvZmlsZS1zdG9yYWdlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLG9CQU1YO0FBTkQsV0FBWSxvQkFBb0I7SUFDOUIsK0NBQXVCLENBQUE7SUFDdkIsK0NBQXVCLENBQUE7SUFDdkIsMkRBQW1DLENBQUE7SUFDbkMsNkNBQXFCLENBQUE7SUFDckIsdUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQU0vQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1ldGFEYXRhIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGVudW0gQVhQRmlsZVN0b3JhZ2VTdGF0dXMge1xuICBUZW1wb3JhcnkgPSAndGVtcG9yYXJ5JywgLy8gRmlsZSBpcyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBhIHBhcmVudCBlbnRpdHlcbiAgQ29tbWl0dGVkID0gJ2NvbW1pdHRlZCcsIC8vIEZpbGUgaXMgZnVsbHkgYXNzb2NpYXRlZCBhbmQgaW4gdXNlXG4gIFBlbmRpbmdEZWxldGlvbiA9ICdwZW5kaW5nRGVsZXRpb24nLCAvLyBGaWxlIGlzIG1hcmtlZCBmb3IgZGVsZXRpb24gYnV0IG5vdCB5ZXQgcmVtb3ZlZFxuICBBcmNoaXZlZCA9ICdhcmNoaXZlZCcsIC8vIEZpbGUgaXMgYXJjaGl2ZWQgYW5kIG5vIGxvbmdlciBhY3RpdmVseSB1c2VkXG4gIEVycm9yID0gJ2Vycm9yJywgLy8gRmlsZSBlbmNvdW50ZXJlZCBhbiBlcnJvciBkdXJpbmcgcHJvY2Vzc2luZ1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBmaWxlIHN0b3JhZ2UgcmVxdWVzdCBpbiB0aGUgQWNvcmV4IHBsYXRmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlQ3JlYXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBiZSBzdG9yZWQuXG4gICAqL1xuICBmaWxlOiBGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiByZWZlcmVuY2VkIGVudGl0eS5cbiAgICovXG4gIHJlZklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgcmVmZXJlbmNlZCBlbnRpdHkuXG4gICAqL1xuICByZWZUeXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY2F0ZWdvcnkgb2YgdGhlIGZpbGUuIHByb2ZpbGUtcGljdHVyZSwgY29tcGFueS1sb2dvLCBwb2xpY3ksIGRvY3VtZW50LCBldGMuXG4gICAqL1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZvbGRlciBwYXRoIHdoZXJlIHRoZSBmaWxlIHNob3VsZCBiZSBzdG9yZWQuXG4gICAqIElmIG51bGwsIHRoZSBzZXJ2aWNlIHdpbGwgcmVzb2x2ZSB0aGUgcGF0aCBiYXNlZCBvbiBtZXRhZGF0YSwgdXNlciwgdGVuYW50LCBvciBkZWZhdWx0IHJ1bGVzLlxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIE1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZS5cbiAgICovXG4gIG1ldGFkYXRhPzogQVhQTWV0YURhdGE7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSBzdGF0dXMgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBzdGF0dXM/OiBBWFBGaWxlU3RvcmFnZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBGaWxlU3RvcmFnZVVwZGF0ZVJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3RvcmVkIGZpbGUuXG4gICAqL1xuICBmaWxlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgcGF0aCB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgc3RvcmVkLlxuICAgKiBJZiBudWxsLCB0aGUgc2VydmljZSB3aWxsIHJlc29sdmUgdGhlIHBhdGggYmFzZWQgb24gbWV0YWRhdGEsIHVzZXIsIHRlbmFudCwgb3IgZGVmYXVsdCBydWxlcy5cbiAgICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGZpbGUuXG4gICAqL1xuICBtZXRhZGF0YTogQVhQTWV0YURhdGE7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGEgZmlsZSBzdG9yZWQgaW4gdGhlIEFYUCBmaWxlIHN0b3JhZ2Ugc3lzdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlSW5mbyB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzdG9yZWQgZmlsZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3RvcmVkIGZpbGUuXG4gICAqL1xuICBmaWxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHJlZmVyZW5jZWQgZW50aXR5LlxuICAgKi9cbiAgcmVmSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSByZWZlcmVuY2VkIGVudGl0eS5cbiAgICovXG4gIHJlZlR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjYXRlZ29yeSBvZiB0aGUgZmlsZS4gcHJvZmlsZS1waWN0dXJlLCBjb21wYW55LWxvZ28sIHBvbGljeSwgZG9jdW1lbnQsIGV0Yy5cbiAgICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgd2hlcmUgdGhlIGZpbGUgY2FuIGJlIGFjY2Vzc2VkLlxuICAgKi9cbiAgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpbiBieXRlcy5cbiAgICovXG4gIHNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZmlsZSB3YXMgdXBsb2FkZWQuXG4gICAqL1xuICB1cGxvYWRlZEF0OiBEYXRlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwdWJsaWMgb3IgcHJpdmF0ZS5cbiAgICovXG4gIGlzUHVibGljOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwcmltYXJ5IG9yIG5vdC5cbiAgICovXG4gIGlzUHJpbWFyeT86IGJvb2xlYW47XG5cbiAgc3RhdHVzOiBBWFBGaWxlU3RvcmFnZVN0YXR1czsgLy8gVXBkYXRlZCB0byB1c2UgZW51bVxuXG4gIGJpbmFyeTogRmlsZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGEgZmlsZSBzdG9yZWQgaW4gdGhlIEFYUCBmaWxlIHN0b3JhZ2Ugc3lzdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlRmluZFJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHJlZmVyZW5jZWQgZW50aXR5LlxuICAgKi9cbiAgcmVmSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgcmVmZXJlbmNlZCBlbnRpdHkuXG4gICAqL1xuICByZWZUeXBlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNhdGVnb3J5IG9mIHRoZSBmaWxlLiBwcm9maWxlLXBpY3R1cmUsIGNvbXBhbnktbG9nbywgcG9saWN5LCBkb2N1bWVudCwgZXRjLlxuICAgKi9cbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwdWJsaWMgb3IgcHJpdmF0ZS5cbiAgICovXG4gIGlzUHVibGljPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBkYXRlIGFuZCB0aW1lIHJhbmdlIHdoZW4gdGhlIGZpbGUgd2FzIHVwbG9hZGVkLlxuICAgKi9cbiAgdXBsb2FkZWRBdFJhbmdlPzogeyBmcm9tOiBEYXRlOyB0bzogRGF0ZSB9O1xufVxuIl19","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_FILE_TYPE_INFO_PROVIDER = new InjectionToken('AXP_FILE_TYPE_INFO_PROVIDER');\nexport class AXPFileTypeProviderService {\n constructor() {\n this.providers = inject(AXP_FILE_TYPE_INFO_PROVIDER, { optional: true });\n }\n async items() {\n const items = [];\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n items.push(...(await provider.items()));\n }\n }\n return items;\n }\n async get(name) {\n return (await this.items()).find((c) => c.name == name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9maWxlLXR5cGUvZmlsZS10eXBlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPbkUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQTRCLDZCQUE2QixDQUFDLENBQUM7QUFHeEgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGNBQVMsR0FBRyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQWdCN0U7SUFkQyxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7UUFFaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDcEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBaEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRGIsTUFBTTs7MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBGaWxlVHlwZSB9IGZyb20gJy4vZmlsZS10eXBlLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gIGl0ZW1zKCk6IFByb21pc2U8QVhQRmlsZVR5cGVbXT47XG59XG5cbmV4cG9ydCBjb25zdCBBWFBfRklMRV9UWVBFX0lORk9fUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQRmlsZVR5cGVJbmZvUHJvdmlkZXJbXT4oJ0FYUF9GSUxFX1RZUEVfSU5GT19QUk9WSURFUicpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIge1xuICBwcml2YXRlIHByb3ZpZGVycyA9IGluamVjdChBWFBfRklMRV9UWVBFX0lORk9fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBGaWxlVHlwZVtdPiB7XG4gICAgY29uc3QgaXRlbXM6IEFYUEZpbGVUeXBlW10gPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBpdGVtcy5wdXNoKC4uLihhd2FpdCBwcm92aWRlci5pdGVtcygpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGFzeW5jIGdldChuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEZpbGVUeXBlIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLml0ZW1zKCkpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcbiAgfVxufVxuIl19","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPLockService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPLockService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPLockService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sb2NrLXN5c3RlbS9sb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFnQixjQUFjOzhHQUFkLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtBWFBMb2NrR2V0SW5mb1JlcXVlc3QsIEFYUExvY2tJbmZvLCBBWFBMb2NrUmVxdWVzdCwgQVhQVW5Mb2NrUmVxdWVzdCB9IGZyb20gXCIuL2xvY2sudHlwZXNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUExvY2tTZXJ2aWNlIHtcblxuICAgIGFic3RyYWN0IGxvY2socmVxdWVzdDogQVhQTG9ja1JlcXVlc3QpOiBQcm9taXNlPEFYUExvY2tJbmZvPjtcblxuICAgIGFic3RyYWN0IHVubG9jayhyZXF1ZXN0OiBBWFBVbkxvY2tSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPjtcblxuICAgIGFic3RyYWN0IGNoZWNrKHJlcXVlc3Q6IEFYUExvY2tHZXRJbmZvUmVxdWVzdCk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgICBhYnN0cmFjdCBnZXRJbmZvKHJlcXVlc3Q6IEFYUExvY2tHZXRJbmZvUmVxdWVzdCk6IFByb21pc2U8QVhQTG9ja0luZm8+O1xufVxuIl19","//#region ---- Imports ----\nexport {};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7O0FBK2QvQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhwb3J0T3B0aW9ucywgQVhQT3B0aW9uc0RhdGEgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb2x1bW5Ob2RlLCBBWFBXaWRnZXROb2RlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IEFYUENvbW1hbmRBY3Rpb25UeXBlLCBBWFBRdWVyeVNvcnQgfSBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBDb3JlIFJlcG9ydCBUeXBlcyBhbmQgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0VHlwZSA9ICd0YWJsZScgfCAnY2hhcnQnIHwgJ2NhcmRzJyB8ICdjdXN0b20nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc1JlcG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXTtcbiAgICBwYXJhbWV0ZXJHcm91cHM6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwW107XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgICBsYXlvdXRzOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uW107ICAvLyBDaGFuZ2VkIHRvIHN1cHBvcnQgbXVsdGlwbGUgbGF5b3V0c1xuICAgIGRlZmF1bHRMYXlvdXRJZDogc3RyaW5nOyAgICAgICAgICAgICAgLy8gV2hpY2ggbGF5b3V0IHRvIHNob3cgYnkgZGVmYXVsdFxuICAgIGRhdGFTb3VyY2U/OiBBWFBSZXBvcnREYXRhU291cmNlOyAgICAgLy8gT3B0aW9uYWwgZmFsbGJhY2sgZGF0YVNvdXJjZSBmb3IgYWxsIGxheW91dHNcbn1cblxuLyoqXG4gKiBMYXlvdXQgRGVmaW5pdGlvbiAtIEFzc29jaWF0ZXMgYSBsYXlvdXQgd2l0aCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydExheW91dERlZmluaXRpb24ge1xuICAgIGlkOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBsYXlvdXRcbiAgICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSBuYW1lIChlLmcuLCBcIlRhYmxlIFZpZXdcIiwgXCJDaGFydCBWaWV3XCIpXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7ICAgICAgICAgIC8vIE9wdGlvbmFsIGRlc2NyaXB0aW9uXG4gICAgaWNvbj86IHN0cmluZzsgICAgICAgICAgICAgICAgIC8vIEljb24gZm9yIGxheW91dCBzd2l0Y2hlciBVSVxuICAgIGxheW91dDogQVhQUmVwb3J0TGF5b3V0OyAgICAgICAvLyBUaGUgYWN0dWFsIGxheW91dCBjb25maWd1cmF0aW9uXG4gICAgZGF0YVNvdXJjZT86IEFYUFJlcG9ydERhdGFTb3VyY2U7IC8vIE9wdGlvbmFsIGxheW91dC1zcGVjaWZpYyBkYXRhU291cmNlIChvdmVycmlkZXMgcmVwb3J0LWxldmVsKVxuICAgIGlzRGVmYXVsdD86IGJvb2xlYW47ICAgICAgICAgICAvLyBBbHRlcm5hdGl2ZSB0byBkZWZhdWx0TGF5b3V0SWRcbiAgICBleHBvcnQ/OiBBWFBFeHBvcnRPcHRpb25zO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyR3JvdXAge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM6IEFYUFJlcG9ydFBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlciB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBEYXRhIFNvdXJjZSBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0RGF0YVNvdXJjZSA9XG4gICAgfCBBWFBRdWVyeURhdGFTb3VyY2VcbiAgICB8IEFYUEN1c3RvbURhdGFTb3VyY2VcbiAgICB8IEFYUEFnZ3JlZ2F0ZWREYXRhU291cmNlXG4gICAgfCBBWFBUcmFuc2Zvcm1lZERhdGFTb3VyY2U7XG5cbi8qKlxuICogUXVlcnkgRGF0YSBTb3VyY2UgLSBVc2VkIGZvciBleGVjdXRpbmcgcHJlZGVmaW5lZCBxdWVyaWVzIChBWFBRdWVyeSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBRdWVyeURhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICdxdWVyeSc7XG4gICAgbmFtZTogc3RyaW5nOyAvLyBUaGUgcmVnaXN0ZXJlZCBxdWVyeSBuYW1lLCBlLmcuLCAnZ2V0RW1wbG95ZWVMaXN0J1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHF1ZXJ5IGlucHV0c1xuICAgIHNvcnRGaWVsZHM/OiBBWFBRdWVyeVNvcnRbXTsgICAgICAgICAgLy8gRGVmYXVsdCBzb3J0aW5nIGFwcGxpZWQgYnkgdGhlIGJhY2tlbmRcbiAgICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgICAgICAgICAgICAgICAgIC8vIEVuYWJsZXMgcGFnaW5nIGluIHJlc3VsdCBzZXRcbn1cblxuXG5cbi8qKlxuICogQ3VzdG9tIERhdGEgU291cmNlIC0gVXNlZCBmb3IgZmV0Y2hpbmcgZGF0YSBmcm9tIGN1c3RvbSBwcm92aWRlcnMgbGlrZSBSRVNUIEFQSXMgb3IgZXh0ZXJuYWwgc2VydmljZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDdXN0b21EYXRhU291cmNlIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBwcm92aWRlcjogc3RyaW5nOyAvLyBFeGFtcGxlOiAnaHR0cDovL2FwaS9yZXBvcnQnIG9yICdjdXN0b206TXlIYW5kbGVyJ1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHBheWxvYWRcbiAgICBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgICAgIC8vIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGN1c3RvbSBoYW5kbGVyXG59XG5cbi8qKlxuICogUGFyYW1ldGVyIEJpbmRpbmcgLSBNYXBzIHJlcG9ydC1sZXZlbCBwYXJhbWV0ZXJzIHRvIGFjdHVhbCBxdWVyeS9jb21tYW5kIGlucHV0IHN0cnVjdHVyZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmcge1xuICAgIHBhcmFtZXRlcktleTogc3RyaW5nOyAvLyBSZXBvcnQgcGFyYW1ldGVyIGtleSwgZS5nLiwgJ3N0YXJ0RGF0ZSdcbiAgICBiaW5kVG86IHN0cmluZzsgICAgICAgLy8gSW5wdXQga2V5IGluIHRoZSBxdWVyeS9jb21tYW5kIHBheWxvYWQsIGUuZy4sICdmaWx0ZXJzLmZyb20nXG59XG5cbi8qKlxuICogQWdncmVnYXRlZCBEYXRhIFNvdXJjZSAtIFVzZWQgZm9yIHByZS1hZ2dyZWdhdGVkIGRhdGEgb3B0aW1pemVkIGZvciBjaGFydHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBZ2dyZWdhdGVkRGF0YVNvdXJjZSB7XG4gICAgdHlwZTogJ2FnZ3JlZ2F0ZWQnO1xuICAgIGJhc2VRdWVyeTogc3RyaW5nOyAgICAvLyBCYXNlIHF1ZXJ5IHRvIGFnZ3JlZ2F0ZSBmcm9tXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBncm91cEJ5OiBzdHJpbmdbXTsgICAgLy8gRmllbGRzIHRvIGdyb3VwIGJ5XG4gICAgYWdncmVnYXRpb25zOiBBWFBBZ2dyZWdhdGlvbltdOyAvLyBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybWVkIERhdGEgU291cmNlIC0gQXBwbGllcyB0cmFuc2Zvcm1hdGlvbnMgdG8gZXhpc3RpbmcgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVHJhbnNmb3JtZWREYXRhU291cmNlIHtcbiAgICB0eXBlOiAndHJhbnNmb3JtZWQnO1xuICAgIGJhc2VEYXRhU291cmNlOiBBWFBSZXBvcnREYXRhU291cmNlOyAvLyBTb3VyY2UgdG8gdHJhbnNmb3JtXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICB0cmFuc2Zvcm1hdGlvbnM6IEFYUERhdGFUcmFuc2Zvcm1hdGlvbltdOyAvLyBMaXN0IG9mIHRyYW5zZm9ybWF0aW9uc1xuICAgIGlucHV0cz86IEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmdbXTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGlvbiBvcGVyYXRpb24gZm9yIGFnZ3JlZ2F0ZWQgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWdncmVnYXRpb24ge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3BlcmF0aW9uOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCcgfCAnZGlzdGluY3QnO1xuICAgIGFsaWFzPzogc3RyaW5nOyAvLyBPdXRwdXQgZmllbGQgbmFtZVxufVxuXG4vKipcbiAqIERhdGEgdHJhbnNmb3JtYXRpb24gb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRGF0YVRyYW5zZm9ybWF0aW9uIHtcbiAgICB0eXBlOiAnZmlsdGVyJyB8ICdzb3J0JyB8ICdncm91cCcgfCAncGl2b3QnIHwgJ2Zvcm1hdCc7XG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyAvLyBUcmFuc2Zvcm1hdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIExheW91dCBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0ID1cbiAgICB8IEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgfCBBWFBSZXBvcnRDaGFydExheW91dFxuXG4vKipcbiAqIFRhYmxlIExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdGFidWxhciBmb3JtYXRcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIGV4dGVuZHMgQVhQQWN0aW9uTWVudUl0ZW0ge1xuICAgIHByaW9yaXR5OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgICB0eXBlOiBBWFBDb21tYW5kQWN0aW9uVHlwZTtcbiAgICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRUYWJsZUxheW91dCB7XG4gICAgdHlwZTogJ3RhYmxlJztcbiAgICBjb2x1bW5zOiBBWFBSZXBvcnRDb2x1bW5bXTtcbiAgICBhY3Rpb25zPzogQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb25bXTtcbiAgICBvcHRpb25zPzogQVhQVGFibGVPcHRpb25zO1xuICAgIGdyb3VwQnk/OiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmc/OiBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGVbXTtcbiAgICBzdW1tYXJ5PzogQVhQUmVwb3J0U3VtbWFyeU9wdGlvbnNbXTtcbiAgICBoZWFkZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG4gICAgZm9vdGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRhYmxlT3B0aW9ucyB7XG4gICAgcGFnaW5hdGlvbj86IGJvb2xlYW47XG4gICAgc3RpY2t5SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzdHJpcGVkUm93cz86IGJvb2xlYW47XG4gICAgc29ydGluZz86IEFYUFF1ZXJ5U29ydFtdO1xuICAgIHNlbGVjdGFibGU/OiB7XG4gICAgICAgIG1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdub25lJztcbiAgICB9O1xufVxuXG4vKipcbiAqIENoYXJ0IExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdmFyaW91cyBjaGFydCBmb3JtYXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRMYXlvdXQge1xuICAgIHR5cGU6ICdjaGFydCc7XG4gICAgb3B0aW9uczogQVhQUmVwb3J0Q2hhcnRPcHRpb25zO1xuICAgIGhlYWRlcj86IEFYUFJlcG9ydEhlYWRlckZvb3RlcjtcbiAgICBmb290ZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRPcHRpb25zIHtcbiAgICBjaGFydFR5cGU6ICdiYXInIHwgJ2xpbmUnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ2FyZWEnIHwgJ3NjYXR0ZXInIHwgJ3JhZGFyJyB8ICdtaXhlZCc7XG4gICAgZGF0YU1hcHBpbmc6IEFYUENoYXJ0RGF0YU1hcHBpbmc7XG4gICAgc3R5bGluZz86IEFYUENoYXJ0U3R5bGluZztcbiAgICBpbnRlcmFjdGl2aXR5PzogQVhQQ2hhcnRJbnRlcmFjdGl2aXR5O1xufVxuXG4vKipcbiAqIENoYXJ0IERhdGEgTWFwcGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnREYXRhTWFwcGluZyB7XG4gICAgLy8gQ29yZSBmaWVsZHNcbiAgICB4RmllbGQ6IHN0cmluZzsgICAgICAgICAgICAgICAgICAgIC8vIFgtYXhpcyBkYXRhIGZpZWxkXG4gICAgeUZpZWxkczogc3RyaW5nIHwgc3RyaW5nW107ICAgICAgICAvLyBZLWF4aXMgZGF0YSBmaWVsZChzKSBmb3IgbXVsdGlwbGUgc2VyaWVzXG5cbiAgICAvLyBHcm91cGluZyBhbmQgY2F0ZWdvcml6YXRpb25cbiAgICBncm91cEJ5Pzogc3RyaW5nOyAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIGRhdGEgYnkgdGhpcyBmaWVsZFxuICAgIHNlcmllc0ZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgLy8gRmllbGQgdG8gY3JlYXRlIG11bHRpcGxlIHNlcmllc1xuXG4gICAgLy8gU3BlY2lhbCBmaWVsZHMgZm9yIHNwZWNpZmljIGNoYXJ0IHR5cGVzXG4gICAgc2l6ZUZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgICAvLyBGb3IgYnViYmxlIGNoYXJ0c1xuICAgIGNvbG9yRmllbGQ/OiBzdHJpbmc7ICAgICAgICAgICAgICAgLy8gRm9yIGdyYWRpZW50L2NvbmRpdGlvbmFsIGNvbG9yaW5nXG4gICAgbGFiZWxGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgICAvLyBDdXN0b20gbGFiZWwgZmllbGRcblxuICAgIC8vIERhdGEgYWdncmVnYXRpb25cbiAgICBhZ2dyZWdhdGlvbj86IHtcbiAgICAgICAgbWV0aG9kOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCc7XG4gICAgICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBWaXN1YWwgU3R5bGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRTdHlsaW5nIHtcbiAgICAvLyBUaGVtZSBhbmQgY29sb3JzXG4gICAgY29sb3JTY2hlbWU/OiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdjdXN0b20nO1xuICAgIGN1c3RvbUNvbG9ycz86IHN0cmluZ1tdO1xuXG4gICAgLy8gQ2hhcnQgYXBwZWFyYW5jZVxuICAgIGdyaWRMaW5lcz86IGJvb2xlYW47XG4gICAgbGVnZW5kPzoge1xuICAgICAgICBzaG93OiBib29sZWFuO1xuICAgICAgICBwb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgfTtcblxuICAgIC8vIEF4ZXMgY29uZmlndXJhdGlvblxuICAgIHhBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuICAgIHlBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuXG4gICAgLy8gQW5pbWF0aW9uXG4gICAgYW5pbWF0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBkdXJhdGlvbj86IG51bWJlcjtcbiAgICB9O1xuXG4gICAgLy8gQ2hhcnQtc3BlY2lmaWMgc3R5bGluZ1xuICAgIGNoYXJ0U3BlY2lmaWM/OiB7XG4gICAgICAgIC8vIEJhciBjaGFydCBvcHRpb25zXG4gICAgICAgIGJhcj86IHtcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICAgICAgICAgICAgbW9kZTogJ2dyb3VwZWQnIHwgJ3N0YWNrZWQnO1xuICAgICAgICAgICAgYmFyV2lkdGg/OiBudW1iZXI7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTGluZSBjaGFydCBvcHRpb25zXG4gICAgICAgIGxpbmU/OiB7XG4gICAgICAgICAgICBzdHlsZTogJ3N0cmFpZ2h0JyB8ICdjdXJ2ZWQnIHwgJ3N0ZXBwZWQnO1xuICAgICAgICAgICAgc2hvd1BvaW50cz86IGJvb2xlYW47XG4gICAgICAgICAgICB0ZW5zaW9uPzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEFyZWEgY2hhcnQgb3B0aW9uc1xuICAgICAgICBhcmVhPzoge1xuICAgICAgICAgICAgbW9kZTogJ25vcm1hbCcgfCAnc3RhY2tlZCcgfCAncGVyY2VudGFnZSc7XG4gICAgICAgICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBpZS9Eb3VnaG51dCBvcHRpb25zXG4gICAgICAgIHBpZT86IHtcbiAgICAgICAgICAgIHN0YXJ0QW5nbGU/OiBudW1iZXI7XG4gICAgICAgICAgICBpbm5lclJhZGl1cz86IG51bWJlcjsgLy8gRm9yIGRvdWdobnV0IGNoYXJ0c1xuICAgICAgICAgICAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBBeGlzIENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEF4aXNDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHR5cGU/OiAnbGluZWFyJyB8ICdsb2dhcml0aG1pYycgfCAnZGF0ZXRpbWUnIHwgJ2NhdGVnb3J5JztcbiAgICBtaW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4PzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGZvcm1hdD86IHN0cmluZztcbiAgICBncmlkTGluZXM/OiBib29sZWFuO1xuICAgIHRpY2tJbnRlcnZhbD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDaGFydCBJbnRlcmFjdGl2aXR5IENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEludGVyYWN0aXZpdHkge1xuICAgIC8vIFpvb20gYW5kIHBhblxuICAgIHpvb20/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIG1vZGU/OiAneCcgfCAneScgfCAneHknO1xuICAgIH07XG5cbiAgICAvLyBUb29sdGlwc1xuICAgIHRvb2x0aXBzPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgICAgIHNob3dPbkhvdmVyPzogYm9vbGVhbjtcbiAgICB9O1xuXG4gICAgLy8gQ2xpY2sgZXZlbnRzXG4gICAgb25DbGljaz86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgYWN0aW9uPzogJ2RyaWxsLWRvd24nIHwgJ2ZpbHRlcicgfCAnY3VzdG9tJztcbiAgICB9O1xuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgc2VsZWN0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBtb2RlPzogJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuICAgIH07XG5cbiAgICAvLyBFeHBvcnRcbiAgICBleHBvcnQ/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIGZvcm1hdHM/OiAoJ3BuZycgfCAnanBnJyB8ICdwZGYnIHwgJ3N2ZycpW107XG4gICAgfTtcbn1cblxuXG4vLyNyZWdpb24gLS0tLSAgIFNoYXJlZCBNb2RlbHMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q29sdW1uIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIHdpZGdldD86IEFYUFdpZGdldENvbHVtbk5vZGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRTdW1tYXJ5T3B0aW9ucyB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRpb246ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21pbicgfCAnbWF4JztcbiAgICBkaXNwbGF5SW46ICdncm91cEZvb3RlcicgfCAncmVwb3J0Rm9vdGVyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGUge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uOiAnPicgfCAnPCcgfCAnPScgfCAnIT0nIHwgJ2NvbnRhaW5zJztcbiAgICB2YWx1ZTogYW55O1xuICAgIHN0eWxlOiB7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgICAgIGZvbnRXZWlnaHQ/OiAnbm9ybWFsJyB8ICdib2xkJztcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEhlYWRlckZvb3RlciB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nb1VybD86IHN0cmluZztcbiAgICBzaG93RGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd1BhcmFtZXRlcnM/OiBib29sZWFuO1xuICAgIGN1c3RvbUh0bWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGF5b3V0IHN3aXRjaGVyIG9wdGlvbnMgZm9yIFVJIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdHlwZTogQVhQUmVwb3J0TGF5b3V0VHlwZTtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGxheW91dCBzZWxlY3Rpb24gc3RhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRMYXlvdXRTdGF0ZSB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBhY3RpdmVMYXlvdXRJZDogc3RyaW5nO1xuICAgIGF2YWlsYWJsZUxheW91dHM6IEFYUExheW91dFN3aXRjaGVyT3B0aW9uW107XG59XG5cbi8qKlxuICogTGF5b3V0IHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICBlcnJvcnM6IHN0cmluZ1tdO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBzb3VyY2UgcmVzb2x1dGlvbiByZXN1bHQgZm9yIGEgc3BlY2lmaWMgbGF5b3V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RGF0YVNvdXJjZVJlc29sdXRpb24ge1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgZGF0YVNvdXJjZTogQVhQUmVwb3J0RGF0YVNvdXJjZTtcbiAgICBzb3VyY2U6ICdsYXlvdXQnIHwgJ3JlcG9ydCcgfCAnbm9uZSc7IC8vIFdoZXJlIHRoZSBkYXRhU291cmNlIGNhbWUgZnJvbVxufVxuXG4vKipcbiAqIExheW91dCBleGVjdXRpb24gY29udGV4dCB3aXRoIHJlc29sdmVkIGRhdGEgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIGRhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuXG5leHBvcnQgdHlwZSBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgPVxuICAgIHwgeyB0eXBlOiAndGFibGUnLCBpdGVtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgdG90YWw6IG51bWJlciB9XG4gICAgfCB7IHR5cGU6ICdjaGFydCcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH1cbiAgICB8IHsgdHlwZTogJ2NhcmRzJywgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gfVxuICAgIHwgeyB0eXBlOiAnY3VzdG9tJywgZGF0YTogdW5rbm93biB9O1xuXG5cbmV4cG9ydCB0eXBlIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgPSBBWFBSZXBvcnRMYXlvdXQgJiB7IGRhdGE6IEFYUEV4ZWN1dGlvblJlcG9ydFJlc3VsdCB9O1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZCBleHRlbmRzIEFYUENvbW1hbmQ8QVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCwgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZFJlc3VsdD4ge1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gc3RhdHVzIGFuZCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvblN0YXR1cyB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIHN0YXR1czogJ3BlbmRpbmcnIHwgJ2V4ZWN1dGluZycgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2NhbmNlbGxlZCc7XG4gICAgc3RhcnRUaW1lOiBEYXRlO1xuICAgIGVuZFRpbWU/OiBEYXRlO1xuICAgIGR1cmF0aW9uPzogbnVtYmVyOyAvLyBtaWxsaXNlY29uZHNcbiAgICByZWNvcmRDb3VudD86IG51bWJlcjtcbiAgICBlcnJvcj86IEFYUFJlcG9ydEV4ZWN1dGlvbkVycm9yO1xufVxuXG4vKipcbiAqIERldGFpbGVkIGVycm9yIGluZm9ybWF0aW9uIGZvciByZXBvcnQgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RXhlY3V0aW9uRXJyb3Ige1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHN0YWNrPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gcmVxdWVzdCB3aXRoIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25SZXF1ZXN0IHtcbiAgICByZXBvcnRJZDogc3RyaW5nO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgb3B0aW9ucz86IEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcmVwb3J0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnMge1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7IC8vIG1pbGxpc2Vjb25kc1xuICAgIHByaW9yaXR5PzogJ2xvdycgfCAnbm9ybWFsJyB8ICdoaWdoJztcbiAgICBjYWNoZT86IGJvb2xlYW47XG4gICAgY2FjaGVUaW1lb3V0PzogbnVtYmVyOyAvLyBzZWNvbmRzXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { InjectionToken } from '@angular/core';\nexport const AXP_REPORT_DEFINITION_PROVIDER = new InjectionToken('AXP_REPORT_DEFINITION_PROVIDER', {\n factory: () => [],\n});\nexport const AXP_REPORT_CATEGORY_PROVIDER = new InjectionToken('AXP_REPORT_CATEGORY_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBcUMsZ0NBQWdDLEVBQUU7SUFDbkksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDO0FBWUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQW1DLDhCQUE4QixFQUFFO0lBQzdILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yeSwgQVhQUmVwb3J0RGVmaW5pdGlvbiB9IGZyb20gJy4vcmVwb3J0LnR5cGVzJztcblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyVG9rZW4gPVxuICAgIHwgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyXG4gICAgfCBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlcj47XG5cbmV4cG9ydCBjb25zdCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyVG9rZW5bXT4oJ0FYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBbXSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgZ2V0TGlzdChjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT47XG4gICAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uIHwgdW5kZWZpbmVkPjtcbn1cblxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnRDYXRlZ29yeVByb3ZpZGVyVG9rZW4gPVxuICAgIHwgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclxuICAgIHwgUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVByb3ZpZGVyPjtcblxuZXhwb3J0IGNvbnN0IEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclRva2VuW10+KCdBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciB7XG4gICAgZ2V0TGlzdChwYXJlbnRJZD86IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT47XG4gICAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD47XG59XG5cblxuIl19","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_REPORT_CATEGORY_PROVIDER, AXP_REPORT_DEFINITION_PROVIDER } from './report-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPReportDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.categoryProviders = inject(AXP_REPORT_CATEGORY_PROVIDER, { optional: true }) || [];\n this.definitionProviders = inject(AXP_REPORT_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by categoryId. */\n this.definitionsByCategory = new Map();\n /** Cache for categories by id. */\n this.categoriesById = new Map();\n /** Cache for categories by parentId. */\n this.categoriesByParentId = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns all categories for a given parentId, loading from providers if not cached.\n * @param parentId The parent ID to filter by (or undefined for root categories).\n */\n async getCategories(parentId) {\n if (this.categoriesByParentId.has(parentId)) {\n return this.categoriesByParentId.get(parentId);\n }\n const resolvedProviders = await Promise.all(this.categoryProviders);\n const categories = [];\n for (const provider of resolvedProviders) {\n if (provider && typeof provider.getList === 'function') {\n const cats = await provider.getList(parentId);\n if (Array.isArray(cats)) {\n categories.push(...cats);\n }\n }\n }\n this.categoriesByParentId.set(parentId, categories);\n // Optionally update categoriesById cache for fast lookup by id\n for (const cat of categories) {\n this.categoriesById.set(cat.id, cat);\n }\n return categories;\n }\n /**\n * Returns all report definitions for a given categoryId, loading from providers if not cached.\n * @param categoryId The category ID to filter by.\n */\n async getReportsByCategoryId(categoryId) {\n if (this.definitionsByCategory.has(categoryId)) {\n return this.definitionsByCategory.get(categoryId);\n }\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const definitions = [];\n for (const provider of resolvedProviders) {\n if (provider && typeof provider.getList === 'function') {\n const defs = await provider.getList(categoryId);\n if (Array.isArray(defs)) {\n definitions.push(...defs);\n }\n }\n }\n this.definitionsByCategory.set(categoryId, definitions);\n return definitions;\n }\n /**\n * Returns a report definition by its id.\n * First checks the cache, then queries all providers if not found.\n * @param id The report id.\n * @returns The report definition if found, undefined otherwise.\n */\n async getReportById(id) {\n // Check cache first\n for (const reports of this.definitionsByCategory.values()) {\n const found = reports.find(report => report.id === id);\n if (found) {\n return found;\n }\n }\n // Not in cache, query providers\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const results = await Promise.all(resolvedProviders\n .filter(p => p && typeof p.getById === 'function')\n .map(p => p.getById(id)));\n return results.find(r => r !== undefined);\n }\n /**\n * Returns a category by its id, using cache and providers if needed.\n * @param categoryId The category id.\n */\n async getCategoryById(categoryId) {\n // Check if it's already in cache\n if (this.categoriesById.has(categoryId)) {\n return this.categoriesById.get(categoryId);\n }\n // Search in already loaded categories first\n for (const [parentId, categories] of this.categoriesByParentId.entries()) {\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n this.categoriesById.set(categoryId, found);\n return found;\n }\n }\n // If not found in loaded categories, we need to search level by level\n // Start with root categories if not already loaded\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n const found = this.categoriesById.get(categoryId);\n if (found)\n return found;\n }\n // Search through loaded categories and their children\n const searchQueue = [undefined];\n const searched = new Set();\n while (searchQueue.length > 0) {\n const parentId = searchQueue.shift();\n if (searched.has(parentId))\n continue;\n searched.add(parentId);\n const categories = await this.getCategories(parentId);\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n return found;\n }\n // Add children to search queue\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searchQueue.push(category.id);\n }\n }\n }\n return undefined;\n }\n /**\n * Returns the full categories path from root to the specified category.\n * @param categoryId The category ID to get the path for.\n * @returns Array of categories from root to the specified category.\n * @throws Error if category not found.\n */\n async getCategoriesPathById(categoryId) {\n const path = [];\n let currentCategoryId = categoryId;\n while (currentCategoryId) {\n // Try to get from cache first\n let category = this.categoriesById.get(currentCategoryId);\n // If not in cache, we need to find it by searching parent levels\n if (!category) {\n category = await this.getCategoryById(currentCategoryId);\n if (!category) {\n throw new Error(`Category with id '${currentCategoryId}' not found`);\n }\n }\n path.unshift(category); // Add to beginning to maintain root->target order\n currentCategoryId = category.parentId;\n }\n return path;\n }\n /**\n * Returns the full categories path for the category that contains the specified report.\n * @param reportId The report ID to find the category path for.\n * @returns Array of categories from root to the category containing the report.\n * @throws Error if report not found.\n */\n async getCategoriesPathByReportId(reportId) {\n // Find which category contains this report\n const categoryId = await this.getCategoryIdByReportId(reportId);\n if (!categoryId) {\n throw new Error(`Report with id '${reportId}' not found in any category`);\n }\n return this.getCategoriesPathById(categoryId);\n }\n /**\n * Returns the category ID that contains a specific report.\n * @param reportId The report ID to search for.\n * @returns The category ID containing the report, or undefined if not found.\n */\n async getCategoryIdByReportId(reportId) {\n // First check already cached report definitions\n for (const [categoryId, reports] of this.definitionsByCategory.entries()) {\n if (reports.some(report => report.id === reportId)) {\n return categoryId;\n }\n }\n // If not found in cache, search through categories level by level\n // Start with root categories\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n }\n const searchQueue = [];\n const searched = new Set();\n // Add all known category IDs to search queue\n for (const category of this.categoriesById.values()) {\n searchQueue.push(category.id);\n }\n // Search level by level\n const searchQueueParents = [undefined];\n const searchedParents = new Set();\n while (searchQueueParents.length > 0) {\n const parentId = searchQueueParents.shift();\n if (searchedParents.has(parentId))\n continue;\n searchedParents.add(parentId);\n const categories = await this.getCategories(parentId);\n // Check reports in each category\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searched.add(category.id);\n const reports = await this.getReportsByCategoryId(category.id);\n if (reports.some(report => report.id === reportId)) {\n return category.id;\n }\n // Add category to search queue for children\n searchQueueParents.push(category.id);\n }\n }\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n /** Clears the definitions by category cache. */\n clearDefinitionsCache() {\n this.definitionsByCategory.clear();\n }\n /** Clears the categories by parentId cache. */\n clearCategoriesCache() {\n this.categoriesByParentId.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPReportDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPReportDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPReportDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFNUcsWUFBWTtBQUtaLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJSSwwQ0FBMEM7UUFFekIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25GLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV4RywyQ0FBMkM7UUFDbkMsMEJBQXFCLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUUsa0NBQWtDO1FBQzFCLG1CQUFjLEdBQW1DLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbkUsd0NBQXdDO1FBQ2hDLHlCQUFvQixHQUFpRCxJQUFJLEdBQUcsRUFBRSxDQUFDO0tBa08xRjtJQWhPRyxZQUFZO0lBRVosa0NBQWtDO0lBRWxDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBaUI7UUFDakMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQ3BELENBQUM7UUFDRCxN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LENBQUM7b0JBQzdCLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQy9ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFDakQsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUN2QixDQUFDO29CQUNELDRDQUE0QztvQkFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7SUFFWix3Q0FBd0M7SUFFeEMsZ0RBQWdEO0lBQ2hELHFCQUFxQjtRQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELCtDQUErQztJQUMvQyxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBMU9RLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuL3JlcG9ydC50eXBlcyc7XG5pbXBvcnQgeyBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSLCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLnByb3ZpZGVyJztcblxuLy8jZW5kcmVnaW9uXG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlIHtcbiAgICAvLyNyZWdpb24gLS0tLSAgIFByb3ZpZGVycyAmIENhY2hlcyAgIC0tLS1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlQcm92aWRlcnMgPSBpbmplY3QoQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmluaXRpb25Qcm92aWRlcnMgPSBpbmplY3QoQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuXG4gICAgLyoqIENhY2hlIGZvciBkZWZpbml0aW9ucyBieSBjYXRlZ29yeUlkLiAqL1xuICAgIHByaXZhdGUgZGVmaW5pdGlvbnNCeUNhdGVnb3J5OiBNYXA8c3RyaW5nLCBBWFBSZXBvcnREZWZpbml0aW9uW10+ID0gbmV3IE1hcCgpO1xuICAgIC8qKiBDYWNoZSBmb3IgY2F0ZWdvcmllcyBieSBpZC4gKi9cbiAgICBwcml2YXRlIGNhdGVnb3JpZXNCeUlkOiBNYXA8c3RyaW5nLCBBWFBSZXBvcnRDYXRlZ29yeT4gPSBuZXcgTWFwKCk7XG4gICAgLyoqIENhY2hlIGZvciBjYXRlZ29yaWVzIGJ5IHBhcmVudElkLiAqL1xuICAgIHByaXZhdGUgY2F0ZWdvcmllc0J5UGFyZW50SWQ6IE1hcDxzdHJpbmcgfCB1bmRlZmluZWQsIEFYUFJlcG9ydENhdGVnb3J5W10+ID0gbmV3IE1hcCgpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBBUEkgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCBjYXRlZ29yaWVzIGZvciBhIGdpdmVuIHBhcmVudElkLCBsb2FkaW5nIGZyb20gcHJvdmlkZXJzIGlmIG5vdCBjYWNoZWQuXG4gICAgICogQHBhcmFtIHBhcmVudElkIFRoZSBwYXJlbnQgSUQgdG8gZmlsdGVyIGJ5IChvciB1bmRlZmluZWQgZm9yIHJvb3QgY2F0ZWdvcmllcykuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0Q2F0ZWdvcmllcyhwYXJlbnRJZD86IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXMocGFyZW50SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5nZXQocGFyZW50SWQpITtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuY2F0ZWdvcnlQcm92aWRlcnMpO1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzOiBBWFBSZXBvcnRDYXRlZ29yeVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwcm92aWRlciAmJiB0eXBlb2YgcHJvdmlkZXIuZ2V0TGlzdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhdHMgPSBhd2FpdCBwcm92aWRlci5nZXRMaXN0KHBhcmVudElkKTtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjYXRzKSkge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goLi4uY2F0cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuc2V0KHBhcmVudElkLCBjYXRlZ29yaWVzKTtcbiAgICAgICAgLy8gT3B0aW9uYWxseSB1cGRhdGUgY2F0ZWdvcmllc0J5SWQgY2FjaGUgZm9yIGZhc3QgbG9va3VwIGJ5IGlkXG4gICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5SWQuc2V0KGNhdC5pZCwgY2F0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCByZXBvcnQgZGVmaW5pdGlvbnMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnlJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkIFRoZSBjYXRlZ29yeSBJRCB0byBmaWx0ZXIgYnkuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT4ge1xuICAgICAgICBpZiAodGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuaGFzKGNhdGVnb3J5SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuZ2V0KGNhdGVnb3J5SWQpITtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG4gICAgICAgIGNvbnN0IGRlZmluaXRpb25zOiBBWFBSZXBvcnREZWZpbml0aW9uW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiByZXNvbHZlZFByb3ZpZGVycykge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVyICYmIHR5cGVvZiBwcm92aWRlci5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVmcyA9IGF3YWl0IHByb3ZpZGVyLmdldExpc3QoY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMucHVzaCguLi5kZWZzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5SWQsIGRlZmluaXRpb25zKTtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuXG4gICAgICogRmlyc3QgY2hlY2tzIHRoZSBjYWNoZSwgdGhlbiBxdWVyaWVzIGFsbCBwcm92aWRlcnMgaWYgbm90IGZvdW5kLlxuICAgICAqIEBwYXJhbSBpZCBUaGUgcmVwb3J0IGlkLlxuICAgICAqIEByZXR1cm5zIFRoZSByZXBvcnQgZGVmaW5pdGlvbiBpZiBmb3VuZCwgdW5kZWZpbmVkIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRSZXBvcnRCeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3RcbiAgICAgICAgZm9yIChjb25zdCByZXBvcnRzIG9mIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LnZhbHVlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHJlcG9ydHMuZmluZChyZXBvcnQgPT4gcmVwb3J0LmlkID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm90IGluIGNhY2hlLCBxdWVyeSBwcm92aWRlcnNcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm92aWRlcnMgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmRlZmluaXRpb25Qcm92aWRlcnMpO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICByZXNvbHZlZFByb3ZpZGVyc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwICYmIHR5cGVvZiBwLmdldEJ5SWQgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgLm1hcChwID0+IHAuZ2V0QnlJZChpZCkpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmZpbmQociA9PiByICE9PSB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjYXRlZ29yeSBieSBpdHMgaWQsIHVzaW5nIGNhY2hlIGFuZCBwcm92aWRlcnMgaWYgbmVlZGVkLlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkIFRoZSBjYXRlZ29yeSBpZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlCeUlkKGNhdGVnb3J5SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXQncyBhbHJlYWR5IGluIGNhY2hlXG4gICAgICAgIGlmICh0aGlzLmNhdGVnb3JpZXNCeUlkLmhhcyhjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNlYXJjaCBpbiBhbHJlYWR5IGxvYWRlZCBjYXRlZ29yaWVzIGZpcnN0XG4gICAgICAgIGZvciAoY29uc3QgW3BhcmVudElkLCBjYXRlZ29yaWVzXSBvZiB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeUlkLCBmb3VuZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIG5vdCBmb3VuZCBpbiBsb2FkZWQgY2F0ZWdvcmllcywgd2UgbmVlZCB0byBzZWFyY2ggbGV2ZWwgYnkgbGV2ZWxcbiAgICAgICAgLy8gU3RhcnQgd2l0aCByb290IGNhdGVnb3JpZXMgaWYgbm90IGFscmVhZHkgbG9hZGVkXG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2VhcmNoIHRocm91Z2ggbG9hZGVkIGNhdGVnb3JpZXMgYW5kIHRoZWlyIGNoaWxkcmVuXG4gICAgICAgIGNvbnN0IHNlYXJjaFF1ZXVlOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW3VuZGVmaW5lZF07XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgICAgIHdoaWxlIChzZWFyY2hRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHNlYXJjaFF1ZXVlLnNoaWZ0KCkhO1xuICAgICAgICAgICAgaWYgKHNlYXJjaGVkLmhhcyhwYXJlbnRJZCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgc2VhcmNoZWQuYWRkKHBhcmVudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBhd2FpdCB0aGlzLmdldENhdGVnb3JpZXMocGFyZW50SWQpO1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBZGQgY2hpbGRyZW4gdG8gc2VhcmNoIHF1ZXVlXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNlYXJjaGVkLmhhcyhjYXRlZ29yeS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoUXVldWUucHVzaChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZnVsbCBjYXRlZ29yaWVzIHBhdGggZnJvbSByb290IHRvIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkuXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWQgVGhlIGNhdGVnb3J5IElEIHRvIGdldCB0aGUgcGF0aCBmb3IuXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgY2F0ZWdvcmllcyBmcm9tIHJvb3QgdG8gdGhlIHNwZWNpZmllZCBjYXRlZ29yeS5cbiAgICAgKiBAdGhyb3dzIEVycm9yIGlmIGNhdGVnb3J5IG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGg6IEFYUFJlcG9ydENhdGVnb3J5W10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYXRlZ29yeUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjYXRlZ29yeUlkO1xuICAgICAgICB3aGlsZSAoY3VycmVudENhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIC8vIFRyeSB0byBnZXQgZnJvbSBjYWNoZSBmaXJzdFxuICAgICAgICAgICAgbGV0IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzQnlJZC5nZXQoY3VycmVudENhdGVnb3J5SWQpO1xuICAgICAgICAgICAgLy8gSWYgbm90IGluIGNhY2hlLCB3ZSBuZWVkIHRvIGZpbmQgaXQgYnkgc2VhcmNoaW5nIHBhcmVudCBsZXZlbHNcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnlCeUlkKGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2F0ZWdvcnkgd2l0aCBpZCAnJHtjdXJyZW50Q2F0ZWdvcnlJZH0nIG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChjYXRlZ29yeSk7IC8vIEFkZCB0byBiZWdpbm5pbmcgdG8gbWFpbnRhaW4gcm9vdC0+dGFyZ2V0IG9yZGVyXG4gICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5LnBhcmVudElkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgY2F0ZWdvcmllcyBwYXRoIGZvciB0aGUgY2F0ZWdvcnkgdGhhdCBjb250YWlucyB0aGUgc3BlY2lmaWVkIHJlcG9ydC5cbiAgICAgKiBAcGFyYW0gcmVwb3J0SWQgVGhlIHJlcG9ydCBJRCB0byBmaW5kIHRoZSBjYXRlZ29yeSBwYXRoIGZvci5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBjYXRlZ29yaWVzIGZyb20gcm9vdCB0byB0aGUgY2F0ZWdvcnkgY29udGFpbmluZyB0aGUgcmVwb3J0LlxuICAgICAqIEB0aHJvd3MgRXJyb3IgaWYgcmVwb3J0IG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICAvLyBGaW5kIHdoaWNoIGNhdGVnb3J5IGNvbnRhaW5zIHRoaXMgcmVwb3J0XG4gICAgICAgIGNvbnN0IGNhdGVnb3J5SWQgPSBhd2FpdCB0aGlzLmdldENhdGVnb3J5SWRCeVJlcG9ydElkKHJlcG9ydElkKTtcbiAgICAgICAgaWYgKCFjYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9ydCB3aXRoIGlkICcke3JlcG9ydElkfScgbm90IGZvdW5kIGluIGFueSBjYXRlZ29yeWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldENhdGVnb3JpZXNQYXRoQnlJZChjYXRlZ29yeUlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjYXRlZ29yeSBJRCB0aGF0IGNvbnRhaW5zIGEgc3BlY2lmaWMgcmVwb3J0LlxuICAgICAqIEBwYXJhbSByZXBvcnRJZCBUaGUgcmVwb3J0IElEIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHJldHVybnMgVGhlIGNhdGVnb3J5IElEIGNvbnRhaW5pbmcgdGhlIHJlcG9ydCwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlJZEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIC8vIEZpcnN0IGNoZWNrIGFscmVhZHkgY2FjaGVkIHJlcG9ydCBkZWZpbml0aW9uc1xuICAgICAgICBmb3IgKGNvbnN0IFtjYXRlZ29yeUlkLCByZXBvcnRzXSBvZiB0aGlzLmRlZmluaXRpb25zQnlDYXRlZ29yeS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGlmIChyZXBvcnRzLnNvbWUocmVwb3J0ID0+IHJlcG9ydC5pZCA9PT0gcmVwb3J0SWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5SWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgbm90IGZvdW5kIGluIGNhY2hlLCBzZWFyY2ggdGhyb3VnaCBjYXRlZ29yaWVzIGxldmVsIGJ5IGxldmVsXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggcm9vdCBjYXRlZ29yaWVzXG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoUXVldWU6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIC8vIEFkZCBhbGwga25vd24gY2F0ZWdvcnkgSURzIHRvIHNlYXJjaCBxdWV1ZVxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIHRoaXMuY2F0ZWdvcmllc0J5SWQudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIHNlYXJjaFF1ZXVlLnB1c2goY2F0ZWdvcnkuaWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNlYXJjaCBsZXZlbCBieSBsZXZlbFxuICAgICAgICBjb25zdCBzZWFyY2hRdWV1ZVBhcmVudHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoZWRQYXJlbnRzID0gbmV3IFNldDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgICAgIHdoaWxlIChzZWFyY2hRdWV1ZVBhcmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50SWQgPSBzZWFyY2hRdWV1ZVBhcmVudHMuc2hpZnQoKSE7XG4gICAgICAgICAgICBpZiAoc2VhcmNoZWRQYXJlbnRzLmhhcyhwYXJlbnRJZCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgc2VhcmNoZWRQYXJlbnRzLmFkZChwYXJlbnRJZCk7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKHBhcmVudElkKTtcbiAgICAgICAgICAgIC8vIENoZWNrIHJlcG9ydHMgaW4gZWFjaCBjYXRlZ29yeVxuICAgICAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hlZC5oYXMoY2F0ZWdvcnkuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkLmFkZChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcG9ydHMgPSBhd2FpdCB0aGlzLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVwb3J0cy5zb21lKHJlcG9ydCA9PiByZXBvcnQuaWQgPT09IHJlcG9ydElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5LmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBjYXRlZ29yeSB0byBzZWFyY2ggcXVldWUgZm9yIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFF1ZXVlUGFyZW50cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ2FjaGUgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIC8qKiBDbGVhcnMgdGhlIGRlZmluaXRpb25zIGJ5IGNhdGVnb3J5IGNhY2hlLiAqL1xuICAgIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvKiogQ2xlYXJzIHRoZSBjYXRlZ29yaWVzIGJ5IHBhcmVudElkIGNhY2hlLiAqL1xuICAgIGNsZWFyQ2F0ZWdvcmllc0NhY2hlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iXX0=","export function AXPBarChartReportMapper(data, options) {\n return data.map((item) => {\n return {\n id: item.id,\n label: item[options.xField],\n value: item[options.yFields[0]]\n };\n });\n}\nexport function AXPieChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFXLEVBQUUsT0FBNEI7SUFDN0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckIsT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FBQTtJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUE0QjtJQUMvRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsRUFBRSxFQUFFLEdBQUc7UUFDUCxLQUFLLEVBQUUsR0FBRztRQUNWLEtBQUssRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQ2hhcnREYXRhTWFwcGluZyB9IGZyb20gXCIuL3JlcG9ydC50eXBlc1wiO1xuaW1wb3J0IHsgQVhCYXJDaGFydERhdGEgfSBmcm9tIFwiQGFjb3JleC9jaGFydHMvYmFyLWNoYXJ0XCI7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRWYWx1ZSB9IGZyb20gXCJAYWNvcmV4L2NoYXJ0cy9kb251dC1jaGFydFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQVhQQmFyQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogYW55W10sIG9wdGlvbnM6IEFYUENoYXJ0RGF0YU1hcHBpbmcpOiBBWEJhckNoYXJ0RGF0YVtdIHtcbiAgICByZXR1cm4gZGF0YS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgbGFiZWw6IGl0ZW1bb3B0aW9ucy54RmllbGRdLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW1bb3B0aW9ucy55RmllbGRzWzBdXVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBWFBpZUNoYXJ0UmVwb3J0TWFwcGVyKGRhdGE6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4pOiBBWERvbnV0Q2hhcnRWYWx1ZSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgICBpZDoga2V5LFxuICAgICAgICBsYWJlbDoga2V5LFxuICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICB9KSk7XG59Il19","import { AXToastService } from '@acorex/components/toast';\nimport { Injectable, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPClipBoardService {\n constructor() {\n this.toast = inject(AXToastService);\n }\n copy(title, value) {\n const copyText = document.createElement('input');\n copyText.type = 'text';\n copyText.select();\n copyText.setSelectionRange(0, 99999); // For mobile devices\n copyText.remove();\n navigator.clipboard.writeText(value);\n this.toast.success(`${title} copied!`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPClipBoardService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2NsaXBib2FyZC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlZLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FZMUM7SUFWVSxJQUFJLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN2QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtRQUMzRCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBWFEsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDbGlwQm9hcmRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBjb3B5KHRpdGxlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY29weVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBjb3B5VGV4dC50eXBlID0gJ3RleHQnO1xuICAgICAgICBjb3B5VGV4dC5zZWxlY3QoKTtcbiAgICAgICAgY29weVRleHQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgOTk5OTkpOyAvLyBGb3IgbW9iaWxlIGRldmljZXNcbiAgICAgICAgY29weVRleHQucmVtb3ZlKCk7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKGAke3RpdGxlfSBjb3BpZWQhYCk7XG4gICAgfVxuXG59Il19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { afterNextRender, Component, linkedSignal, model, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/number-box\";\nimport * as i3 from \"@acorex/components/label\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/color-box\";\nexport class AXMOrgChartPrintPage extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.ratio = signal(false, ...(ngDevMode ? [{ debugName: \"ratio\" }] : []));\n this.baseWidth = signal(undefined, ...(ngDevMode ? [{ debugName: \"baseWidth\" }] : []));\n this.baseHeight = signal(undefined, ...(ngDevMode ? [{ debugName: \"baseHeight\" }] : []));\n this.bgcolor = model(...(ngDevMode ? [undefined, { debugName: \"bgcolor\" }] : []));\n this.width = model(...(ngDevMode ? [undefined, { debugName: \"width\" }] : []));\n this.height = model(...(ngDevMode ? [undefined, { debugName: \"height\" }] : []));\n this.quality = model(...(ngDevMode ? [undefined, { debugName: \"quality\" }] : []));\n this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100);\n this.scale = model(...(ngDevMode ? [undefined, { debugName: \"scale\" }] : []));\n this.#init = afterNextRender(() => {\n this.bgcolor.set(this.data.bgcolor);\n this.width.set(this.data.width);\n this.baseWidth.set(this.data.width);\n this.height.set(this.data.height);\n this.baseHeight.set(this.data.height);\n this.quality.set(this.data.quality);\n this.scale.set(this.data.scale);\n });\n }\n #init;\n calculateRatio(event, type) {\n if (!this.ratio() || !event.isUserInteraction)\n return;\n const value = event.value;\n if (type === 'width') {\n const newHeight = Math.round((value / this.baseWidth()) * this.baseHeight() * 100) / 100;\n this.height.set(newHeight);\n this.width.set(value);\n }\n else {\n const newWidth = Math.round((value / this.baseHeight()) * this.baseWidth() * 100) / 100;\n this.width.set(newWidth);\n this.height.set(value);\n }\n }\n async handleClose(isCanceled = false) {\n this.close({\n bgcolor: this.bgcolor(),\n width: this.width(),\n height: this.height(),\n quality: this.qualityComputed() / 100,\n scale: this.scale(),\n isCanceled,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.3\", type: AXMOrgChartPrintPage, isStandalone: true, selector: \"ng-component\", inputs: { bgcolor: { classPropertyName: \"bgcolor\", publicName: \"bgcolor\", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: \"height\", publicName: \"height\", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: \"quality\", publicName: \"quality\", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: \"scale\", publicName: \"scale\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: \"bgcolorChange\", width: \"widthChange\", height: \"heightChange\", quality: \"qualityChange\", scale: \"scaleChange\" }, usesInheritance: true, ngImport: i0, template: ` <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Resolution (px)</ax-label>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"width()\"\n (onValueChanged)=\"calculateRatio($event, 'width')\"\n name=\"Width\"\n >\n </ax-number-box>\n <ax-button [toggleable]=\"true\" [(selected)]=\"ratio\"\n ><ax-icon><i class=\"fa-solid fa-vector-square\"></i></ax-icon\n ></ax-button>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"height()\"\n (onValueChanged)=\"calculateRatio($event, 'height')\"\n name=\"Height\"\n >\n </ax-number-box>\n </div>\n\n <ax-label>Background color</ax-label>\n <ax-color-box [(ngModel)]=\"bgcolor\"></ax-color-box>\n\n <ax-label>Quality of image (50-100%)</ax-label>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [minValue]=\"50\"\n [maxValue]=\"100\"\n [(ngModel)]=\"qualityComputed\"\n name=\"Quality\"\n >\n </ax-number-box>\n\n <ax-label>Scale</ax-label>\n <ax-number-box [changeOnScroll]=\"true\" [minValue]=\"1\" [(ngModel)]=\"scale\" name=\"scale\"> </ax-number-box>\n </div>\n\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Print\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-print\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: AXNumberBoxModule }, { kind: \"component\", type: i2.AXNumberBoxComponent, selector: \"ax-number-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"type\", \"changeOnScroll\", \"allDigits\", \"thousandsSeparator\", \"padDecimalZeros\", \"step\", \"decimals\", \"decimalStep\", \"showSpinButtons\", \"minValue\", \"maxValue\", \"class\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i3.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i5.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXColorBoxModule }, { kind: \"component\", type: i6.AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{\n type: Component,\n args: [{\n template: ` <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Resolution (px)</ax-label>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"width()\"\n (onValueChanged)=\"calculateRatio($event, 'width')\"\n name=\"Width\"\n >\n </ax-number-box>\n <ax-button [toggleable]=\"true\" [(selected)]=\"ratio\"\n ><ax-icon><i class=\"fa-solid fa-vector-square\"></i></ax-icon\n ></ax-button>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"height()\"\n (onValueChanged)=\"calculateRatio($event, 'height')\"\n name=\"Height\"\n >\n </ax-number-box>\n </div>\n\n <ax-label>Background color</ax-label>\n <ax-color-box [(ngModel)]=\"bgcolor\"></ax-color-box>\n\n <ax-label>Quality of image (50-100%)</ax-label>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [minValue]=\"50\"\n [maxValue]=\"100\"\n [(ngModel)]=\"qualityComputed\"\n name=\"Quality\"\n >\n </ax-number-box>\n\n <ax-label>Scale</ax-label>\n <ax-number-box [changeOnScroll]=\"true\" [minValue]=\"1\" [(ngModel)]=\"scale\" name=\"scale\"> </ax-number-box>\n </div>\n\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Print\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-print\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>`,\n imports: [\n FormsModule,\n AXCheckBoxModule,\n AXNumberBoxModule,\n AXTextBoxModule,\n AXLabelModule,\n AXDecoratorModule,\n AXButtonModule,\n AXColorBoxModule,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXBvcHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi91dGlscy9leHBvcnQtcG9wdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWlFN0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTlEN0Q7O1FBaUVZLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxpREFBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxNQUFNLENBQXFCLFNBQVMscURBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsTUFBTSxDQUFxQixTQUFTLHNEQUFDLENBQUM7UUFFbkQsWUFBTyxHQUFHLEtBQUssNkRBQVUsQ0FBQztRQUMxQixVQUFLLEdBQUcsS0FBSywyREFBVSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxL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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlESywyREFFYixXQUFXLDhWQUNYLGdCQUFnQiw4QkFDaEIsaUJBQWlCLHFoQkFDakIsZUFBZSw4QkFDZixhQUFhLGdLQUNiLGlCQUFpQixzVkFDakIsY0FBYyw2WEFDZCxnQkFBZ0I7OzJGQUdQLG9CQUFvQjtrQkE5RGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlESztvQkFDZixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2hlY2stYm94JztcbmltcG9ydCB7IEFYQ29sb3JCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItYm94JztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIENvbXBvbmVudCwgbGlua2VkU2lnbmFsLCBtb2RlbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUERvbVRvSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9leHBvcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtW2F1dG9fMThyZW1dIGF4LWdhcC00IGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxheC1sYWJlbD5SZXNvbHV0aW9uIChweCk8L2F4LWxhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgW2NoYW5nZU9uU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICAgIFtkZWNpbWFsc109XCI0XCJcbiAgICAgICAgICBbdmFsdWVdPVwid2lkdGgoKVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNhbGN1bGF0ZVJhdGlvKCRldmVudCwgJ3dpZHRoJylcIlxuICAgICAgICAgIG5hbWU9XCJXaWR0aFwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8YXgtYnV0dG9uIFt0b2dnbGVhYmxlXT1cInRydWVcIiBbKHNlbGVjdGVkKV09XCJyYXRpb1wiXG4gICAgICAgICAgPjxheC1pY29uPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtdmVjdG9yLXNxdWFyZVwiPjwvaT48L2F4LWljb25cbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIFtjaGFuZ2VPblNjcm9sbF09XCJ0cnVlXCJcbiAgICAgICAgICBbZGVjaW1hbHNdPVwiNFwiXG4gICAgICAgICAgW3ZhbHVlXT1cImhlaWdodCgpXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2FsY3VsYXRlUmF0aW8oJGV2ZW50LCAnaGVpZ2h0JylcIlxuICAgICAgICAgIG5hbWU9XCJIZWlnaHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXgtbGFiZWw+QmFja2dyb3VuZCBjb2xvcjwvYXgtbGFiZWw+XG4gICAgICA8YXgtY29sb3ItYm94IFsobmdNb2RlbCldPVwiYmdjb2xvclwiPjwvYXgtY29sb3ItYm94PlxuXG4gICAgICA8YXgtbGFiZWw+UXVhbGl0eSBvZiBpbWFnZSAoNTAtMTAwJSk8L2F4LWxhYmVsPlxuICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgW2NoYW5nZU9uU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICBbbWluVmFsdWVdPVwiNTBcIlxuICAgICAgICBbbWF4VmFsdWVdPVwiMTAwXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJxdWFsaXR5Q29tcHV0ZWRcIlxuICAgICAgICBuYW1lPVwiUXVhbGl0eVwiXG4gICAgICA+XG4gICAgICA8L2F4LW51bWJlci1ib3g+XG5cbiAgICAgIDxheC1sYWJlbD5TY2FsZTwvYXgtbGFiZWw+XG4gICAgICA8YXgtbnVtYmVyLWJveCBbY2hhbmdlT25TY3JvbGxdPVwidHJ1ZVwiIFttaW5WYWx1ZV09XCIxXCIgWyhuZ01vZGVsKV09XCJzY2FsZVwiIG5hbWU9XCJzY2FsZVwiPiA8L2F4LW51bWJlci1ib3g+XG4gICAgPC9kaXY+XG5cbiAgICA8YXgtZm9vdGVyPlxuICAgICAgPGF4LXByZWZpeD4gPC9heC1wcmVmaXg+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYnV0dG9uIHRleHQ9XCJDYW5jZWxcIiBsb29rPVwic29saWRcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZSh0cnVlKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiUHJpbnRcIiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZSgpXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wcmludFwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgPC9heC1mb290ZXI+YCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgQVhOdW1iZXJCb3hNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhDb2xvckJveE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNT3JnQ2hhcnRQcmludFBhZ2UgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBkYXRhOiBBWFBEb21Ub0ltYWdlT3B0aW9ucztcblxuICBwcm90ZWN0ZWQgcmF0aW8gPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgYmFzZVdpZHRoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJvdGVjdGVkIGJhc2VIZWlnaHQgPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHByb3RlY3RlZCBiZ2NvbG9yID0gbW9kZWw8c3RyaW5nPigpO1xuICBwcm90ZWN0ZWQgd2lkdGggPSBtb2RlbDxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBoZWlnaHQgPSBtb2RlbDxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBxdWFsaXR5ID0gbW9kZWw8bnVtYmVyPigpO1xuICBwcm90ZWN0ZWQgcXVhbGl0eUNvbXB1dGVkID0gbGlua2VkU2lnbmFsKCgpID0+ICh0aGlzLmRhdGEucXVhbGl0eSA/PyAxKSAqIDEwMCk7XG4gIHByb3RlY3RlZCBzY2FsZSA9IG1vZGVsPG51bWJlcj4oKTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5iZ2NvbG9yLnNldCh0aGlzLmRhdGEuYmdjb2xvcik7XG5cbiAgICB0aGlzLndpZHRoLnNldCh0aGlzLmRhdGEud2lkdGgpO1xuICAgIHRoaXMuYmFzZVdpZHRoLnNldCh0aGlzLmRhdGEud2lkdGgpO1xuXG4gICAgdGhpcy5oZWlnaHQuc2V0KHRoaXMuZGF0YS5oZWlnaHQpO1xuICAgIHRoaXMuYmFzZUhlaWdodC5zZXQodGhpcy5kYXRhLmhlaWdodCk7XG5cbiAgICB0aGlzLnF1YWxpdHkuc2V0KHRoaXMuZGF0YS5xdWFsaXR5KTtcbiAgICB0aGlzLnNjYWxlLnNldCh0aGlzLmRhdGEuc2NhbGUpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlUmF0aW8oZXZlbnQ6IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIHR5cGU6ICd3aWR0aCcgfCAnaGVpZ2h0Jyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yYXRpbygpIHx8ICFldmVudC5pc1VzZXJJbnRlcmFjdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgaWYgKHR5cGUgPT09ICd3aWR0aCcpIHtcbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IE1hdGgucm91bmQoKHZhbHVlIC8gdGhpcy5iYXNlV2lkdGgoKSEpICogdGhpcy5iYXNlSGVpZ2h0KCkhICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMuaGVpZ2h0LnNldChuZXdIZWlnaHQpO1xuICAgICAgdGhpcy53aWR0aC5zZXQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuZXdXaWR0aCA9IE1hdGgucm91bmQoKHZhbHVlIC8gdGhpcy5iYXNlSGVpZ2h0KCkhKSAqIHRoaXMuYmFzZVdpZHRoKCkhICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMud2lkdGguc2V0KG5ld1dpZHRoKTtcbiAgICAgIHRoaXMuaGVpZ2h0LnNldCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNsb3NlKGlzQ2FuY2VsZWQgPSBmYWxzZSkge1xuICAgIHRoaXMuY2xvc2Uoe1xuICAgICAgYmdjb2xvcjogdGhpcy5iZ2NvbG9yKCksXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCgpLFxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCgpLFxuICAgICAgcXVhbGl0eTogdGhpcy5xdWFsaXR5Q29tcHV0ZWQoKSAvIDEwMCxcbiAgICAgIHNjYWxlOiB0aGlzLnNjYWxlKCksXG4gICAgICBpc0NhbmNlbGVkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","// AXPPdfService\nimport { AXPopupService } from '@acorex/components/popup';\nimport { Injectable, inject } from '@angular/core';\nimport { AXMOrgChartPrintPage } from './export-popup';\nimport * as i0 from \"@angular/core\";\nexport class AXPExportService {\n constructor() {\n this.popupService = inject(AXPopupService);\n }\n async generateBlobFromElement(element, blobOptions) {\n const domtoimage = (await import('dom-to-image')).default;\n const originalWidth = element.scrollWidth;\n const originalHeight = element.scrollHeight;\n let popup, options = {}, newOptions = {};\n if (blobOptions) {\n ({ popup, ...options } = blobOptions);\n }\n if (popup) {\n const result = await this.popupService.open(AXMOrgChartPrintPage, {\n header: true,\n size: 'fit',\n draggable: true,\n hasBackdrop: true,\n title: 'Export Options',\n data: { data: options },\n });\n if (result.data.isCanceled) {\n throw new Error('Process is Canceled by User!');\n }\n else {\n newOptions = { ...options, ...result.data };\n }\n }\n return domtoimage.toBlob(element, {\n ...newOptions,\n width: (newOptions.width ?? originalWidth) * (newOptions?.scale ?? 1),\n height: (newOptions.height ?? originalHeight) * (newOptions?.scale ?? 1),\n style: {\n transform: `scale(${newOptions?.scale ?? 1})`,\n transformOrigin: 'top left',\n },\n });\n }\n download(blob, filename) {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPExportService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQW1EdkM7SUFsREMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQW9CLEVBQUUsV0FBa0M7UUFDcEYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUUxRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFFNUMsSUFBSSxLQUEwQixFQUM1QixPQUFPLEdBQXlCLEVBQUUsRUFDbEMsVUFBVSxHQUF5QixFQUFFLENBQUM7UUFFeEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUNoRSxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSTtnQkFDakIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTthQUN4QixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2hDLEdBQUcsVUFBVTtZQUNiLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNyRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDeEUsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxTQUFTLFVBQVUsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHO2dCQUM3QyxlQUFlLEVBQUUsVUFBVTthQUM1QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBbkRVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFYUFBkZlNlcnZpY2VcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNT3JnQ2hhcnRQcmludFBhZ2UgfSBmcm9tICcuL2V4cG9ydC1wb3B1cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFeHBvcnRTZXJ2aWNlIHtcbiAgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgYXN5bmMgZ2VuZXJhdGVCbG9iRnJvbUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGJsb2JPcHRpb25zPzogQVhQRG9tVG9JbWFnZU9wdGlvbnMpOiBQcm9taXNlPEJsb2I+IHtcbiAgICBjb25zdCBkb210b2ltYWdlID0gKGF3YWl0IGltcG9ydCgnZG9tLXRvLWltYWdlJykpLmRlZmF1bHQ7XG5cbiAgICBjb25zdCBvcmlnaW5hbFdpZHRoID0gZWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCBvcmlnaW5hbEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuXG4gICAgbGV0IHBvcHVwOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogQVhQRG9tVG9JbWFnZU9wdGlvbnMgPSB7fSxcbiAgICAgIG5ld09wdGlvbnM6IEFYUERvbVRvSW1hZ2VPcHRpb25zID0ge307XG5cbiAgICBpZiAoYmxvYk9wdGlvbnMpIHtcbiAgICAgICh7IHBvcHVwLCAuLi5vcHRpb25zIH0gPSBibG9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKHBvcHVwKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKEFYTU9yZ0NoYXJ0UHJpbnRQYWdlLCB7XG4gICAgICAgIGhlYWRlcjogdHJ1ZSxcbiAgICAgICAgc2l6ZTogJ2ZpdCcsXG4gICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnRXhwb3J0IE9wdGlvbnMnLFxuICAgICAgICBkYXRhOiB7IGRhdGE6IG9wdGlvbnMgfSxcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlc3VsdC5kYXRhLmlzQ2FuY2VsZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9jZXNzIGlzIENhbmNlbGVkIGJ5IFVzZXIhJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdPcHRpb25zID0geyAuLi5vcHRpb25zLCAuLi5yZXN1bHQuZGF0YSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkb210b2ltYWdlLnRvQmxvYihlbGVtZW50LCB7XG4gICAgICAuLi5uZXdPcHRpb25zLFxuICAgICAgd2lkdGg6IChuZXdPcHRpb25zLndpZHRoID8/IG9yaWdpbmFsV2lkdGgpICogKG5ld09wdGlvbnM/LnNjYWxlID8/IDEpLFxuICAgICAgaGVpZ2h0OiAobmV3T3B0aW9ucy5oZWlnaHQgPz8gb3JpZ2luYWxIZWlnaHQpICogKG5ld09wdGlvbnM/LnNjYWxlID8/IDEpLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgdHJhbnNmb3JtOiBgc2NhbGUoJHtuZXdPcHRpb25zPy5zY2FsZSA/PyAxfSlgLFxuICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICd0b3AgbGVmdCcsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgZG93bmxvYWQoYmxvYjogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEb21Ub0ltYWdlT3B0aW9ucyB7XG4gIHBvcHVwPzogdHJ1ZTtcbiAgZmlsdGVyPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gIGJnY29sb3I/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHN0eWxlPzoge307XG4gIHF1YWxpdHk/OiBudW1iZXI7XG4gIGltYWdlUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNhY2hlQnVzdD86IGJvb2xlYW47XG4gIHNjYWxlPzogbnVtYmVyO1xufVxuIl19","export function AXPCleanNestedFilters(filters) {\n return filters\n .map((filter) => {\n if (!filter)\n return undefined;\n if (filter.filters?.length) {\n const cleanedNestedFilters = AXPCleanNestedFilters(filter.filters);\n if (!filter.field && !filter.operator && cleanedNestedFilters.length === 0) {\n return undefined;\n }\n return {\n ...filter,\n filters: cleanedNestedFilters.filter(Boolean),\n };\n }\n if ((!filter.value && filter.value != false) || filter.value === 'unknown') {\n return undefined;\n }\n return filter;\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNsZWFuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2ZpbHRlci1jbGVhbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFtQztJQUN2RSxPQUFPLE9BQU87U0FDWCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNkLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNFLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxPQUFPLEVBQUUsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUM5QyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNFLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsT0FBTyxDQUErQixDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gQVhQQ2xlYW5OZXN0ZWRGaWx0ZXJzKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10ge1xuICByZXR1cm4gZmlsdGVyc1xuICAgIC5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjbGVhbmVkTmVzdGVkRmlsdGVycyA9IEFYUENsZWFuTmVzdGVkRmlsdGVycyhmaWx0ZXIuZmlsdGVycyk7XG4gICAgICAgIGlmICghZmlsdGVyLmZpZWxkICYmICFmaWx0ZXIub3BlcmF0b3IgJiYgY2xlYW5lZE5lc3RlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBmaWx0ZXJzOiBjbGVhbmVkTmVzdGVkRmlsdGVycy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoKCFmaWx0ZXIudmFsdWUgJiYgZmlsdGVyLnZhbHVlICE9IGZhbHNlKSB8fCBmaWx0ZXIudmFsdWUgPT09ICd1bmtub3duJykge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9KVxuICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW107XG59XG4iXX0=","export class AXPRegionalService {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uYWwtdXRpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi91dGlscy9yZWdpb25hbC11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxPQUFnQixrQkFBa0I7Q0FVdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWFBDaXR5LFxuICBBWFBDb3VudHJ5LFxuICBBWFBDdXJyZW5jeSxcbiAgQVhQTGFuZ3VhZ2UsXG4gIEFYUExvY2FsZVByb2ZpbGUsXG4gIEFYUFByb3ZpbmNlLFxuICBBWFBUaW1lWm9uZSxcbn0gZnJvbSAnLi9yZWdpb25hbC50eXBlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBSZWdpb25hbFNlcnZpY2Uge1xuICBhYnN0cmFjdCBnZXRDb3VudHJpZXMoKTogUHJvbWlzZTxBWFBDb3VudHJ5W10+O1xuICBhYnN0cmFjdCBnZXRQcm92aW5jZXMoY291bnRyeUlkPzogc3RyaW5nKTogUHJvbWlzZTxBWFBQcm92aW5jZVtdPjtcbiAgYWJzdHJhY3QgZ2V0Q2l0aWVzKGZpbHRlcj86IHsgY291bnRyeUlkPzogc3RyaW5nOyBwcm92aW5jZUlkPzogc3RyaW5nIH0pOiBQcm9taXNlPEFYUENpdHlbXT47XG4gIGFic3RyYWN0IGdldEN1cnJlbmNpZXMoKTogUHJvbWlzZTxBWFBDdXJyZW5jeVtdPjtcbiAgYWJzdHJhY3QgZ2V0TG9jYWxlUHJvZmlsZXMoKTogUHJvbWlzZTxBWFBMb2NhbGVQcm9maWxlW10+O1xuICBhYnN0cmFjdCBnZXRMYW5ndWFnZXMoKTogUHJvbWlzZTxBWFBMYW5ndWFnZVtdPjtcbiAgYWJzdHJhY3QgZ2V0QXZhaWxhYmxlTGFuZ3VhZ2VzKCk6IFByb21pc2U8QVhQTGFuZ3VhZ2VbXT47XG4gIGFic3RyYWN0IGdldEJyb3dzZXJUaW1lWm9uZUNvZGUoKTogUHJvbWlzZTxzdHJpbmc+O1xuICBhYnN0cmFjdCBnZXRUaW1lWm9uZXMoKTogUHJvbWlzZTxBWFBUaW1lWm9uZVtdPjtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9hY29yZXgtcGxhdGZvcm0tY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["merge","i1.AXPErrorHandlerRegistryService","i1","i2.AXPSettingService","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-common.mjs","sources":["../tmp-esm2022/common/lib/app/app-version.provider.js","../tmp-esm2022/common/lib/app/application.types.js","../tmp-esm2022/common/lib/app/operators.js","../tmp-esm2022/common/lib/home-page/home-page.types.js","../tmp-esm2022/common/lib/settings/setting.builder.js","../tmp-esm2022/common/lib/settings/setting-definition.service.js","../tmp-esm2022/common/lib/settings/settings.provider.js","../tmp-esm2022/common/lib/settings/settings.service.js","../tmp-esm2022/common/lib/home-page/home-page-settings.key.js","../tmp-esm2022/common/lib/home-page/home-page.service.js","../tmp-esm2022/common/lib/home-page/home-page.routes.js","../tmp-esm2022/common/lib/home-page/home-page-settings.provider.js","../tmp-esm2022/common/lib/home-page/home-page.module.js","../tmp-esm2022/common/lib/data/data-provider.types.js","../tmp-esm2022/common/lib/data/operators.service.js","../tmp-esm2022/common/lib/data/filter-middleware.service.js","../tmp-esm2022/common/lib/errors/error-handler-registry.service.js","../tmp-esm2022/common/lib/errors/global-error-handler.js","../tmp-esm2022/common/lib/layout/grid-layout/grid-layout.directive.js","../tmp-esm2022/common/lib/layout/sticky.directive.js","../tmp-esm2022/common/lib/layout/logo/logo.component.js","../tmp-esm2022/common/lib/layout/menu/menu.provider.js","../tmp-esm2022/common/lib/layout/menu/menu.service.js","../tmp-esm2022/common/lib/layout/menu/search-definition.provider.js","../tmp-esm2022/common/lib/layout/menu/search.provider.js","../tmp-esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.js","../tmp-esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.js","../tmp-esm2022/common/lib/search/search-definition.builder.js","../tmp-esm2022/common/lib/search/search-definition.provider.js","../tmp-esm2022/common/lib/search/search.provider.js","../tmp-esm2022/common/lib/search/search.service.js","../tmp-esm2022/common/lib/workflows/common.workflow.js","../tmp-esm2022/common/lib/workflows/navigate.workflow.js","../tmp-esm2022/common/lib/workflows/error-handler.js","../tmp-esm2022/common/lib/global-variables/global-variable-definition.provider.js","../tmp-esm2022/common/lib/global-variables/global-variable-definition.service.js","../tmp-esm2022/common/lib/global-variables/global-variable-evaluator-scope.provider.js","../tmp-esm2022/common/lib/common.module.js","../tmp-esm2022/common/lib/configs/app.config.js","../tmp-esm2022/common/lib/configs/config.types.js","../tmp-esm2022/common/lib/file-storage/file-storage.service.js","../tmp-esm2022/common/lib/file-storage/file-storage.types.js","../tmp-esm2022/common/lib/file-type/file-type.provider.js","../tmp-esm2022/common/lib/lock-system/lock.service.js","../tmp-esm2022/common/lib/reports/report.types.js","../tmp-esm2022/common/lib/reports/report-definition.provider.js","../tmp-esm2022/common/lib/reports/report-definition.service.js","../tmp-esm2022/common/lib/reports/report-mapper.js","../tmp-esm2022/common/lib/utils/clipboard-service.js","../tmp-esm2022/common/lib/utils/export-popup.js","../tmp-esm2022/common/lib/utils/export.service.js","../tmp-esm2022/common/lib/utils/filter-cleaner.js","../tmp-esm2022/common/acorex-platform-common.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const AXP_APP_VERSION_PROVIDER = new InjectionToken('AXP_APP_VERSION_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n return new AXPAppVersionDefaultProvider();\n },\n});\nclass AXPAppVersionDefaultProvider {\n async provider() {\n return {\n version: '1.0.0',\n build: 1,\n date: new Date(),\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXZlcnNpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2FwcC9hcHAtdmVyc2lvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWS9DLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF3QiwwQkFBMEIsRUFBRTtJQUM1RyxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osT0FBTyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDNUMsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sNEJBQTRCO0lBQ2hDLEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTztZQUNMLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1NBQ2pCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFwcFZlcnNpb24ge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGJ1aWxkOiBudW1iZXI7XG4gIGRhdGU6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQXBwVmVyc2lvblByb3ZpZGVyIHtcbiAgcHJvdmlkZXIoKTogUHJvbWlzZTxBWFBBcHBWZXJzaW9uPjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9BUFBfVkVSU0lPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBBcHBWZXJzaW9uUHJvdmlkZXI+KCdBWFBfQVBQX1ZFUlNJT05fUFJPVklERVInLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIHJldHVybiBuZXcgQVhQQXBwVmVyc2lvbkRlZmF1bHRQcm92aWRlcigpO1xuICB9LFxufSk7XG5cbmNsYXNzIEFYUEFwcFZlcnNpb25EZWZhdWx0UHJvdmlkZXIgaW1wbGVtZW50cyBBWFBBcHBWZXJzaW9uUHJvdmlkZXIge1xuICBhc3luYyBwcm92aWRlcigpOiBQcm9taXNlPEFYUEFwcFZlcnNpb24+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmVyc2lvbjogJzEuMC4wJyxcbiAgICAgIGJ1aWxkOiAxLFxuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=","import { kebabCase } from 'lodash-es';\nexport var AXPRelationshipKind;\n(function (AXPRelationshipKind) {\n AXPRelationshipKind[AXPRelationshipKind[\"Association\"] = 0] = \"Association\";\n AXPRelationshipKind[AXPRelationshipKind[\"Composition\"] = 1] = \"Composition\";\n AXPRelationshipKind[AXPRelationshipKind[\"Aggregation\"] = 2] = \"Aggregation\";\n})(AXPRelationshipKind || (AXPRelationshipKind = {}));\nexport var AXPRelationshipCardinality;\n(function (AXPRelationshipCardinality) {\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"OneToOne\"] = 0] = \"OneToOne\";\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"OneToMany\"] = 1] = \"OneToMany\";\n AXPRelationshipCardinality[AXPRelationshipCardinality[\"ManyToMany\"] = 2] = \"ManyToMany\";\n})(AXPRelationshipCardinality || (AXPRelationshipCardinality = {}));\nexport var AXPEntityCommandScope;\n(function (AXPEntityCommandScope) {\n AXPEntityCommandScope[\"TypeLevel\"] = \"typeLevel\";\n AXPEntityCommandScope[\"Selected\"] = \"selected\";\n AXPEntityCommandScope[\"Individual\"] = \"individual\";\n AXPEntityCommandScope[\"Section\"] = \"section\";\n})(AXPEntityCommandScope || (AXPEntityCommandScope = {}));\nexport var AXPEntityQueryType;\n(function (AXPEntityQueryType) {\n AXPEntityQueryType[\"Single\"] = \"single\";\n AXPEntityQueryType[\"List\"] = \"list\";\n})(AXPEntityQueryType || (AXPEntityQueryType = {}));\nexport function getEntityInfo(entity) {\n return {\n source: `${entity.module}.${entity.name}`,\n module: {\n route: kebabCase(entity.module),\n },\n entity: {\n route: kebabCase(entity.name),\n },\n };\n}\nexport function createQueryView(name, title, fixed, params = {\n columns: [],\n conditions: [],\n sorts: [],\n}) {\n params = Object.assign({ columns: [], sorts: [], conditions: [] }, params);\n return {\n name,\n title,\n fixed,\n columns: params.columns ?? [],\n conditions: params.conditions ?? [],\n sorts: params.sorts ?? [],\n };\n}\nexport function createAllQueryView(params = {\n columns: [],\n sorts: [],\n conditions: [],\n}) {\n params = Object.assign({ columns: [], sorts: [], conditions: [] }, params);\n return createQueryView('all', 't(\"allItem\", { scope: \"common\" })', true, {\n columns: params.columns ?? [],\n conditions: params.conditions ?? [],\n sorts: params.sorts ?? [],\n });\n}\nexport function resolveActionLook(tr) {\n const icon = 'fa-light';\n switch (tr.type) {\n case 'create':\n return { color: 'primary', icon: `${icon} fa-add` };\n case 'view':\n return { color: 'primary', icon: `${icon} fa-eye` };\n case 'info':\n return { color: 'primary', icon: `${icon} fa-info` };\n case 'delete':\n return { color: 'danger', icon: `${icon} fa-trash-can` };\n case 'update':\n return { color: 'accent2', icon: `${icon} fa-pen` };\n case 'print':\n return { color: 'accent3', icon: `${icon} fa-print` };\n case 'confirm':\n return { color: 'success', icon: `${icon} fa-check` };\n case 'archive':\n return { color: 'warning', icon: `${icon} fa-archive` };\n case 'design':\n return { color: 'accent2', icon: `${icon} fa-paintbrush` };\n case 'version-history':\n return { color: 'warning', icon: `${icon} fa-history` };\n case 'upload':\n return { color: 'accent2', icon: `${icon} fa-upload` };\n default:\n return { color: 'primary', icon: '' };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2FwcC9hcHBsaWNhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBZXRDLE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0IsMkVBQVcsQ0FBQTtJQUNYLDJFQUFXLENBQUE7SUFDWCwyRUFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLENBQU4sSUFBWSwwQkFJWDtBQUpELFdBQVksMEJBQTBCO0lBQ3BDLG1GQUFRLENBQUE7SUFDUixxRkFBUyxDQUFBO0lBQ1QsdUZBQVUsQ0FBQTtBQUNaLENBQUMsRUFKVywwQkFBMEIsS0FBMUIsMEJBQTBCLFFBSXJDO0FBVUQsTUFBTSxDQUFOLElBQVkscUJBS1g7QUFMRCxXQUFZLHFCQUFxQjtJQUMvQixnREFBdUIsQ0FBQTtJQUN2Qiw4Q0FBcUIsQ0FBQTtJQUNyQixrREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUtoQztBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsdUNBQWlCLENBQUE7SUFDakIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBRzdCO0FBOE1ELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBaUI7SUFDN0MsT0FBTztRQUNMLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtRQUN6QyxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUyxDQUFDLE1B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QixFQUFFLElBQUksRUFBRSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUNqRixLQUFLLGlCQUFpQjtZQUNwQixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQTZCLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM5RSxLQUFLLFFBQVE7WUFDWCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQTZCLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RTtZQUNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZU9wZXJhdG9yLCBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUG9wdXBTaXplVHlwZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YSwgQVhQVmFsaWRhdGlvblJ1bGVzLCBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb25zIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldFR5cGVzTWFwIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBrZWJhYkNhc2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMgfSBmcm9tICcuLi9sYXlvdXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYRW50aXR5UHJvcGVydHlXaWRnZXQge1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBmb3JtdWxhPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXTtcbiAgbW9kZTogJ3ZpZXcnIHwgJ2VkaXQnO1xuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgdHJpZ2dlcnM/OiB7IGV2ZW50OiBzdHJpbmc7IGFjdGlvbjogc3RyaW5nOyBkaXNhYmxlZD86IGJvb2xlYW4gfVtdO1xuICB2YWx1ZVRyYW5zZm9ybXM/OiBBWFBWYWx1ZVRyYW5zZm9ybWVyRnVuY3Rpb25zO1xufVxuXG5leHBvcnQgZW51bSBBWFBSZWxhdGlvbnNoaXBLaW5kIHtcbiAgQXNzb2NpYXRpb24sXG4gIENvbXBvc2l0aW9uLFxuICBBZ2dyZWdhdGlvbixcbn1cblxuZXhwb3J0IGVudW0gQVhQUmVsYXRpb25zaGlwQ2FyZGluYWxpdHkge1xuICBPbmVUb09uZSxcbiAgT25lVG9NYW55LFxuICBNYW55VG9NYW55LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlbGF0aW9uc2hpcCB7XG4gIGlkOiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAga2luZDogQVhQUmVsYXRpb25zaGlwS2luZDtcbiAgY2FyZGluYWxpdHk6IEFYUFJlbGF0aW9uc2hpcENhcmRpbmFsaXR5O1xufVxuXG5leHBvcnQgZW51bSBBWFBFbnRpdHlDb21tYW5kU2NvcGUge1xuICBUeXBlTGV2ZWwgPSAndHlwZUxldmVsJyxcbiAgU2VsZWN0ZWQgPSAnc2VsZWN0ZWQnLFxuICBJbmRpdmlkdWFsID0gJ2luZGl2aWR1YWwnLFxuICBTZWN0aW9uID0gJ3NlY3Rpb24nLFxufVxuXG5leHBvcnQgZW51bSBBWFBFbnRpdHlRdWVyeVR5cGUge1xuICBTaW5nbGUgPSAnc2luZ2xlJyxcbiAgTGlzdCA9ICdsaXN0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlQcm9wZXJ0eUxheW91dENvbmZpZyBleHRlbmRzIEFYUEdyaWRMYXlvdXRPcHRpb25zIHtcbiAgbGFiZWw/OiB7XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gIH07XG4gIG9yZGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVByb3BlcnR5R3JvdXAge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlQcm9wZXJ0eVZpZXcge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGFQYXRoPzogc3RyaW5nO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICBsYXlvdXQ/OiBBWFBFbnRpdHlQcm9wZXJ0eUxheW91dENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlQcm9wZXJ0eVVwZGF0ZVZpZXcgZXh0ZW5kcyBBWFBFbnRpdHlQcm9wZXJ0eVZpZXcgeyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5UHJvcGVydHlDcmVhdGVWaWV3IGV4dGVuZHMgQVhQRW50aXR5UHJvcGVydHlWaWV3IHtcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eVNlY3Rpb25WaWV3IHtcbiAgaWQ6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG9yZGVyPzogbnVtYmVyO1xuICB0eXBlPzogJ3dyYXBwZXInIHwgJ3NlY3Rpb24nO1xuICBsYXlvdXQ/OiBBWFBFbnRpdHlQcm9wZXJ0eUxheW91dENvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGdyb3VwSWQ/OiBzdHJpbmc7XG4gIHNjaGVtYToge1xuICAgIGRhdGFUeXBlOiBzdHJpbmc7XG4gICAgbnVsbGFibGU/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgc3RyaW5nO1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueSB8IHN0cmluZyB8ICgoY29udGV4dDogYW55IHwgbnVsbCkgPT4gYW55KTtcbiAgICB1bmlxdWU/OiB7XG4gICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIH07XG4gICAgaW50ZXJmYWNlPzogUGFydGlhbDxBWEVudGl0eVByb3BlcnR5V2lkZ2V0PjtcbiAgfTtcbiAgb3B0aW9ucz86IHtcbiAgICBmaWx0ZXI/OiB7XG4gICAgICBhZHZhbmNlPzoge1xuICAgICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgICAgd2lkZ2V0VHlwZT86IEFYUFdpZGdldFR5cGVzTWFwW2tleW9mIEFYUFdpZGdldFR5cGVzTWFwXTtcbiAgICAgIH07XG4gICAgICBpbmxpbmU/OiB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICB9O1xuICAgIHNvcnQ/OiB7XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICB2YWxpZGF0aW9ucz86IEFYUFZhbGlkYXRpb25SdWxlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlUYWJsZUNvbHVtbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNvcnQ/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGlyPzogJ2FzYycgfCAnZGVzYyc7XG4gIH07XG4gIG9wdGlvbnM/OiB7XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgd2lkdGg/OiBzdHJpbmc7XG4gICAgZGF0YVBhdGg/OiBzdHJpbmc7XG4gICAgW25hbWU6IHN0cmluZ106IGFueTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlDb21tYW5kIHtcbiAgZXhlY3V0ZTogc3RyaW5nIHwgRnVuY3Rpb247IC8vIEFzIHJ1bm5hYmxlIGV4cHJlc3Npb25cbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlRdWVyeSB7XG4gIGV4ZWN1dGU6IHN0cmluZyB8IEZ1bmN0aW9uOyAvLyBBcyBydW5uYWJsZSBleHByZXNzaW9uXG4gIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgQVhQQ29tbWFuZEFjdGlvblR5cGUgPVxuICB8ICdjcmVhdGUnXG4gIHwgJ3VwZGF0ZSdcbiAgfCAnZGVsZXRlJ1xuICB8ICdwcmludCdcbiAgfCAnY29uZmlybSdcbiAgfCAncmVwb3J0J1xuICB8ICdpbmZvJ1xuICB8ICd2aWV3J1xuICB8ICdhcmNoaXZlJ1xuICB8ICdkZXNpZ24nXG4gIHwgJ3VwbG9hZCdcbiAgfCAndmVyc2lvbi1oaXN0b3J5J1xuICB8ICdzZW50LXJldmlldycgfCAncmV2aWV3JztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb21tYW5kQWN0aW9uTG9vayB7XG4gIGNvbG9yOiBBWFN0eWxlQ29sb3JUeXBlO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFYUENvbW1hbmRBY3Rpb25Qcmlvcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknO1xuXG4vL1RPRE86IHJlbW92ZSBleHRyYSBwcm9wc1xuZXhwb3J0IHR5cGUgQVhQQ29tbWFuZEFjdGlvbkNhbGxiYWNrID1cbiAgfCBzdHJpbmdcbiAgfCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiB7XG4gICAgICBkZWNvcmF0aW9uPzoge1xuICAgICAgICBoZWFkZXI/OiB7XG4gICAgICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgcHJvY2Vzcz86IHtcbiAgICAgICAgZGF0YT86IGFueTtcbiAgICAgICAgW25hbWU6IHN0cmluZ106IGFueTtcbiAgICAgIH07XG4gICAgICBsYXlvdXQ/OiB7XG4gICAgICAgIHNpemU/OiBBWFBvcHVwU2l6ZVR5cGU7XG4gICAgICB9O1xuICAgICAgW25hbWU6IHN0cmluZ106IGFueTtcbiAgICB9O1xuICAgIG1ldGFkYXRhPzogQVhQTWV0YURhdGE7XG4gIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tbWFuZEFjdGlvbkRpc3BsYXkgZXh0ZW5kcyBQYXJ0aWFsPEFYUENvbW1hbmRBY3Rpb25Mb29rPiB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNvbW1hbmQ6IEFYUENvbW1hbmRBY3Rpb25DYWxsYmFjaztcbiAgdGl0bGU6IHN0cmluZztcbiAgdHlwZTogQVhQQ29tbWFuZEFjdGlvblR5cGU7XG4gIHByaW9yaXR5OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgc2VwYXJhdGVkPzogYm9vbGVhbjtcbiAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgaGlkZGVuPzogYm9vbGVhbiB8IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlBY3Rpb24gZXh0ZW5kcyBBWFBDb21tYW5kQWN0aW9uRGlzcGxheSB7XG4gIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5IHtcbiAgbW9kdWxlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHBhcmVudEtleT86IHN0cmluZztcbiAgY2F0ZWdvcnk/OiBBWFBDYXRlZ29yeUVudGl0eTtcbiAgdmVyc2lvbkhpc3Rvcnk/OiBBWFBFbnRpdHlWZXJzaW9uSGlzdG9yeTtcbiAgdGl0bGU6IHN0cmluZztcbiAgZm9ybWF0czoge1xuICAgIGluZGl2aWR1YWw6IHN0cmluZztcbiAgICBwbHVyYWw6IHN0cmluZztcbiAgICBsb29rdXA/OiBzdHJpbmc7XG4gICAgc2VhcmNoUmVzdWx0Pzoge1xuICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIH07XG4gIH07XG4gIHJlbGF0ZWRFbnRpdGllcz86IEFYUFJlbGF0ZWRFbnRpdHlbXTtcbiAgZ3JvdXBzPzogQVhQRW50aXR5UHJvcGVydHlHcm91cFtdO1xuICBwcm9wZXJ0aWVzOiBBWFBFbnRpdHlQcm9wZXJ0eVtdO1xuICBjb2x1bW5zPzogQVhQRW50aXR5VGFibGVDb2x1bW5bXTtcbiAgY29tbWFuZHM/OiB7XG4gICAgY3JlYXRlOiBBWFBFbnRpdHlDb21tYW5kIHwgdW5kZWZpbmVkO1xuICAgIHVwZGF0ZT86IEFYUEVudGl0eUNvbW1hbmQgfCB1bmRlZmluZWQ7XG4gICAgZGVsZXRlPzogQVhQRW50aXR5Q29tbWFuZCB8IHVuZGVmaW5lZDtcbiAgICBbbmFtZTogc3RyaW5nXTogQVhQRW50aXR5Q29tbWFuZCB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgcXVlcmllczoge1xuICAgIGJ5S2V5OiBBWFBFbnRpdHlRdWVyeTtcbiAgICBsaXN0PzogQVhQRW50aXR5UXVlcnk7XG4gICAgbG9va3VwPzogQVhQRW50aXR5UXVlcnk7XG4gICAgaGlzdG9yeT86IEFYUEVudGl0eVF1ZXJ5O1xuICAgIGNvbW1lbnRzPzogQVhQRW50aXR5UXVlcnk7XG4gICAgW25hbWU6IHN0cmluZ106IEFYUEVudGl0eVF1ZXJ5IHwgdW5kZWZpbmVkO1xuICB9O1xuICB2YWxpZGF0aW9ucz86IEFYUFZhbGlkYXRpb25SdWxlcztcbiAgaW50ZXJmYWNlcz86IHtcbiAgICBtYXN0ZXI/OiB7XG4gICAgICBzaW5nbGU/OiBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVMYXlvdXRWaWV3O1xuICAgICAgbGlzdD86IEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3O1xuICAgICAgY3JlYXRlPzogQVhQRW50aXR5TWFzdGVyQ3JlYXRlTGF5b3V0VmlldztcbiAgICAgIHVwZGF0ZT86IEFYUEVudGl0eU1hc3RlclVwZGF0ZUxheW91dFZpZXc7XG4gICAgfTtcbiAgICBkZXRhaWw/OiB7XG4gICAgICBsaXN0PzogQVhQRW50aXR5RGV0YWlsTGlzdFZpZXc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudGl0eUluZm8oZW50aXR5OiBBWFBFbnRpdHkpIHtcbiAgcmV0dXJuIHtcbiAgICBzb3VyY2U6IGAke2VudGl0eS5tb2R1bGV9LiR7ZW50aXR5Lm5hbWV9YCxcbiAgICBtb2R1bGU6IHtcbiAgICAgIHJvdXRlOiBrZWJhYkNhc2UoZW50aXR5Lm1vZHVsZSksXG4gICAgfSxcbiAgICBlbnRpdHk6IHtcbiAgICAgIHJvdXRlOiBrZWJhYkNhc2UoZW50aXR5Lm5hbWUpLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVRdWVyeVZpZXcoXG4gIG5hbWU6IHN0cmluZyxcbiAgdGl0bGU6IHN0cmluZyxcbiAgZml4ZWQ6IGJvb2xlYW4sXG4gIHBhcmFtczogeyBjb2x1bW5zPzogc3RyaW5nW107IGNvbmRpdGlvbnM/OiBBWFBRdWVyeUZpbHRlcltdOyBzb3J0cz86IEFYUFF1ZXJ5U29ydFtdIH0gPSB7XG4gICAgY29sdW1uczogW10sXG4gICAgY29uZGl0aW9uczogW10sXG4gICAgc29ydHM6IFtdLFxuICB9LFxuKTogQVhQUXVlcnlWaWV3IHtcbiAgcGFyYW1zID0gT2JqZWN0LmFzc2lnbih7IGNvbHVtbnM6IFtdLCBzb3J0czogW10sIGNvbmRpdGlvbnM6IFtdIH0sIHBhcmFtcyk7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0aXRsZSxcbiAgICBmaXhlZCxcbiAgICBjb2x1bW5zOiBwYXJhbXMuY29sdW1ucyA/PyBbXSxcbiAgICBjb25kaXRpb25zOiBwYXJhbXMuY29uZGl0aW9ucyA/PyBbXSxcbiAgICBzb3J0czogcGFyYW1zLnNvcnRzID8/IFtdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWxsUXVlcnlWaWV3KFxuICBwYXJhbXM6IHsgY29sdW1ucz86IHN0cmluZ1tdOyBjb25kaXRpb25zPzogQVhQUXVlcnlGaWx0ZXJbXTsgc29ydHM/OiBBWFBRdWVyeVNvcnRbXSB9IHwgdW5kZWZpbmVkID0ge1xuICAgIGNvbHVtbnM6IFtdLFxuICAgIHNvcnRzOiBbXSxcbiAgICBjb25kaXRpb25zOiBbXSxcbiAgfSxcbik6IEFYUFF1ZXJ5VmlldyB7XG4gIHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oeyBjb2x1bW5zOiBbXSwgc29ydHM6IFtdLCBjb25kaXRpb25zOiBbXSB9LCBwYXJhbXMpO1xuICByZXR1cm4gY3JlYXRlUXVlcnlWaWV3KCdhbGwnLCAndChcImFsbEl0ZW1cIiwgeyBzY29wZTogXCJjb21tb25cIiB9KScsIHRydWUsIHtcbiAgICBjb2x1bW5zOiBwYXJhbXMuY29sdW1ucyA/PyBbXSxcbiAgICBjb25kaXRpb25zOiBwYXJhbXMuY29uZGl0aW9ucyA/PyBbXSxcbiAgICBzb3J0czogcGFyYW1zLnNvcnRzID8/IFtdLFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZWxhdGVkRW50aXR5IHtcbiAgZW50aXR5OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb2x1bW5zPzogc3RyaW5nW107XG4gIGNvbmRpdGlvbnM/OiBBWFBRdWVyeUZpbHRlcltdO1xuICBoaWRkZW4/OiBib29sZWFuIHwgc3RyaW5nO1xuICBhY3Rpb25zPzogQVhQRW50aXR5QWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2F0ZWdvcnlFbnRpdHkge1xuICBlbnRpdHk6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHRGaWVsZD86IHN0cmluZztcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcbiAgY29uZGl0aW9ucz86IEFYUFF1ZXJ5RmlsdGVyW107XG4gIGFwcGx5Q29uZGl0aW9ucz86IEFYUFF1ZXJ5RmlsdGVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5VmVyc2lvbkhpc3Rvcnkge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgc2hvd0luTGlzdD86IGJvb2xlYW47XG4gIHNob3dJbkRldGFpbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWdncmVnYXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBlbnRpdGllczogQVhQRW50aXR5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTW9kdWxlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBhZ2dyZWdhdGVzOiBBWFBBZ2dyZWdhdGVbXTtcbiAgcmVsYXRpb25zaGlwcz86IEFYUFJlbGF0aW9uc2hpcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFwcGxpY2F0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBtb2R1bGVzOiBBWFBNb2R1bGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlNYXN0ZXJMYXlvdXRWaWV3IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNlY3Rpb25zOiBBWFBFbnRpdHlTZWN0aW9uVmlld1tdO1xuICBwcm9wZXJ0aWVzPzogQVhQRW50aXR5UHJvcGVydHlWaWV3W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5TWFzdGVyQ3JlYXRlTGF5b3V0VmlldyBleHRlbmRzIEFYUEVudGl0eU1hc3RlckxheW91dFZpZXcge1xuICBzdGVwcz86IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5TWFzdGVyVXBkYXRlTGF5b3V0VmlldyBleHRlbmRzIEFYUEVudGl0eU1hc3RlckxheW91dFZpZXcgeyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRW50aXR5TWFzdGVyU2luZ2xlTGF5b3V0VmlldyBleHRlbmRzIEFYUEVudGl0eU1hc3RlckxheW91dFZpZXcge1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYWN0aW9ucz86IEFYUEVudGl0eUFjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEVudGl0eU1hc3Rlckxpc3RWaWV3IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBhY3Rpb25zPzogQVhQRW50aXR5QWN0aW9uW107XG4gIHZpZXdzOiBBWFBRdWVyeVZpZXdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBFbnRpdHlEZXRhaWxMaXN0VmlldyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY29sdW1uczogQVhQRW50aXR5VGFibGVDb2x1bW5bXTtcbiAgYWN0aW9ucz86IEFYUEVudGl0eUFjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFF1ZXJ5VmlldyB7XG4gIG5hbWU6IHN0cmluZztcbiAgZml4ZWQ6IGJvb2xlYW47XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGNvbHVtbnM6IHN0cmluZ1tdO1xuICBjb25kaXRpb25zOiBBWFBRdWVyeUZpbHRlcltdO1xuICBzb3J0czogQVhQUXVlcnlTb3J0W107XG4gIGluZGV4Q29sPzogYm9vbGVhbjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUXVlcnlGaWx0ZXIge1xuICBuYW1lOiBzdHJpbmc7IC8vIGVudGl0eSBwcm9wZXJ0eSBuYW1lXG4gIG9wZXJhdG9yOiBBWERhdGFTb3VyY2VPcGVyYXRvcjtcbiAgdmFsdWU6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBRdWVyeVNvcnQge1xuICBuYW1lOiBzdHJpbmc7IC8vIGVudGl0eSBwcm9wZXJ0eSBuYW1lXG4gIGRpcjogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQWN0aW9uTG9vayh0cjogQVhQRW50aXR5QWN0aW9uKTogQVhQQ29tbWFuZEFjdGlvbkxvb2sge1xuICBjb25zdCBpY29uID0gJ2ZhLWxpZ2h0JztcbiAgc3dpdGNoICh0ci50eXBlKSB7XG4gICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAncHJpbWFyeScsIGljb246IGAke2ljb259IGZhLWFkZGAgfTtcbiAgICBjYXNlICd2aWV3JzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAncHJpbWFyeScsIGljb246IGAke2ljb259IGZhLWV5ZWAgfTtcbiAgICBjYXNlICdpbmZvJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAncHJpbWFyeScsIGljb246IGAke2ljb259IGZhLWluZm9gIH07XG4gICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnZGFuZ2VyJywgaWNvbjogYCR7aWNvbn0gZmEtdHJhc2gtY2FuYCB9O1xuICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ2FjY2VudDInIGFzIEFYU3R5bGVDb2xvclR5cGUsIGljb246IGAke2ljb259ICBmYS1wZW5gIH07XG4gICAgY2FzZSAncHJpbnQnOlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICdhY2NlbnQzJyBhcyBBWFN0eWxlQ29sb3JUeXBlLCBpY29uOiBgJHtpY29ufSBmYS1wcmludGAgfTtcbiAgICBjYXNlICdjb25maXJtJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnc3VjY2VzcycsIGljb246IGAke2ljb259IGZhLWNoZWNrYCB9O1xuICAgIGNhc2UgJ2FyY2hpdmUnOlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICd3YXJuaW5nJywgaWNvbjogYCR7aWNvbn0gZmEtYXJjaGl2ZWAgfTtcbiAgICBjYXNlICdkZXNpZ24nOlxuICAgICAgcmV0dXJuIHsgY29sb3I6ICdhY2NlbnQyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLCBpY29uOiBgJHtpY29ufSBmYS1wYWludGJydXNoYCB9O1xuICAgIGNhc2UgJ3ZlcnNpb24taGlzdG9yeSc6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3dhcm5pbmcnIGFzIEFYU3R5bGVDb2xvclR5cGUsIGljb246IGAke2ljb259IGZhLWhpc3RvcnlgIH07XG4gICAgY2FzZSAndXBsb2FkJzpcbiAgICAgIHJldHVybiB7IGNvbG9yOiAnYWNjZW50MicgYXMgQVhTdHlsZUNvbG9yVHlwZSwgaWNvbjogYCR7aWNvbn0gZmEtdXBsb2FkYCB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4geyBjb2xvcjogJ3ByaW1hcnknLCBpY29uOiAnJyB9O1xuICB9XG59XG4iXX0=","export const EQ_OPER = { name: 'equal', title: 'Equal', hasValue: true };\nexport const NOT_EQ_OPER = { name: 'notEqual', title: 'Not Equal', hasValue: true };\nexport const GT_OPER = { name: 'greaterThan', title: 'Greater Than', hasValue: true };\nexport const LT_OPER = { name: 'lessThan', title: 'Less Than', hasValue: true };\nexport const GTE_OPER = {\n name: 'greaterThanOrEqual',\n title: 'Greater Than or Equal',\n hasValue: true,\n};\nexport const LTE_OPER = { name: 'lessThanOrEqual', title: 'Less Than or Equal', hasValue: true };\nexport const CONTAINS_OPER = { name: 'contains', title: 'Contains', hasValue: true };\nexport const NOT_CONTAINS_OPER = { name: 'notContains', title: 'Does Not Contain', hasValue: true };\nexport const STARTS_WITH_OPER = { name: 'startsWith', title: 'Starts With', hasValue: true };\nexport const ENDS_WITH_OPER = { name: 'endsWith', title: 'Ends With', hasValue: true };\nexport const IS_EMPTY_OPER = { name: 'isEmpty', title: 'Is Empty', hasValue: false };\nexport const IS_NOT_EMPTY_OPER = { name: 'isNotEmpty', title: 'Is Not Empty', hasValue: false };\nexport const BETWEEN_OPER = { name: 'between', title: 'Between', hasValue: true };\nexport const STRING_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n CONTAINS_OPER,\n NOT_CONTAINS_OPER,\n STARTS_WITH_OPER,\n ENDS_WITH_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const NUMBER_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n BETWEEN_OPER,\n GT_OPER,\n GTE_OPER,\n LT_OPER,\n LTE_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const BOOLEAN_OPERATORS = [EQ_OPER];\nexport const DATE_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n GT_OPER,\n GTE_OPER,\n LT_OPER,\n LTE_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n];\nexport const ALL_DEFAULT_OPERATORS = [\n EQ_OPER,\n NOT_EQ_OPER,\n GT_OPER,\n LT_OPER,\n GTE_OPER,\n LTE_OPER,\n CONTAINS_OPER,\n NOT_CONTAINS_OPER,\n STARTS_WITH_OPER,\n ENDS_WITH_OPER,\n IS_EMPTY_OPER,\n IS_NOT_EMPTY_OPER,\n BETWEEN_OPER,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9hcHAvb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBc0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3pHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBc0IsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBc0I7SUFDekMsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixLQUFLLEVBQUUsdUJBQXVCO0lBQzlCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBc0IsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNwSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUN4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDdkgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNoSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMxRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN4RyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0IsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQ25ILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0FBRXJHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLE9BQU87SUFDUCxXQUFXO0lBQ1gsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGFBQWE7SUFDYixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLE9BQU87SUFDUCxXQUFXO0lBQ1gsWUFBWTtJQUNaLE9BQU87SUFDUCxRQUFRO0lBQ1IsT0FBTztJQUNQLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxRQUFRO0lBQ1IsT0FBTztJQUNQLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxPQUFPO0lBQ1AsV0FBVztJQUNYLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFFBQVE7SUFDUixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixZQUFZO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhQRmlsdGVyT3BlcmF0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhhc1ZhbHVlOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgRVFfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdlcXVhbCcsIHRpdGxlOiAnRXF1YWwnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IE5PVF9FUV9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ25vdEVxdWFsJywgdGl0bGU6ICdOb3QgRXF1YWwnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IEdUX09QRVI6IEFYUEZpbHRlck9wZXJhdG9yID0geyBuYW1lOiAnZ3JlYXRlclRoYW4nLCB0aXRsZTogJ0dyZWF0ZXIgVGhhbicsIGhhc1ZhbHVlOiB0cnVlIH07XG5leHBvcnQgY29uc3QgTFRfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdsZXNzVGhhbicsIHRpdGxlOiAnTGVzcyBUaGFuJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBHVEVfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7XG4gIG5hbWU6ICdncmVhdGVyVGhhbk9yRXF1YWwnLFxuICB0aXRsZTogJ0dyZWF0ZXIgVGhhbiBvciBFcXVhbCcsXG4gIGhhc1ZhbHVlOiB0cnVlLFxufTtcbmV4cG9ydCBjb25zdCBMVEVfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdsZXNzVGhhbk9yRXF1YWwnLCB0aXRsZTogJ0xlc3MgVGhhbiBvciBFcXVhbCcsIGhhc1ZhbHVlOiB0cnVlIH07XG5leHBvcnQgY29uc3QgQ09OVEFJTlNfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdjb250YWlucycsIHRpdGxlOiAnQ29udGFpbnMnLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuZXhwb3J0IGNvbnN0IE5PVF9DT05UQUlOU19PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ25vdENvbnRhaW5zJywgdGl0bGU6ICdEb2VzIE5vdCBDb250YWluJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBTVEFSVFNfV0lUSF9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ3N0YXJ0c1dpdGgnLCB0aXRsZTogJ1N0YXJ0cyBXaXRoJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBFTkRTX1dJVEhfT1BFUjogQVhQRmlsdGVyT3BlcmF0b3IgPSB7IG5hbWU6ICdlbmRzV2l0aCcsIHRpdGxlOiAnRW5kcyBXaXRoJywgaGFzVmFsdWU6IHRydWUgfTtcbmV4cG9ydCBjb25zdCBJU19FTVBUWV9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ2lzRW1wdHknLCB0aXRsZTogJ0lzIEVtcHR5JywgaGFzVmFsdWU6IGZhbHNlIH07XG5leHBvcnQgY29uc3QgSVNfTk9UX0VNUFRZX09QRVI6IEFYUEZpbHRlck9wZXJhdG9yID0geyBuYW1lOiAnaXNOb3RFbXB0eScsIHRpdGxlOiAnSXMgTm90IEVtcHR5JywgaGFzVmFsdWU6IGZhbHNlIH07XG5leHBvcnQgY29uc3QgQkVUV0VFTl9PUEVSOiBBWFBGaWx0ZXJPcGVyYXRvciA9IHsgbmFtZTogJ2JldHdlZW4nLCB0aXRsZTogJ0JldHdlZW4nLCBoYXNWYWx1ZTogdHJ1ZSB9O1xuXG5leHBvcnQgY29uc3QgU1RSSU5HX09QRVJBVE9SUyA9IFtcbiAgRVFfT1BFUixcbiAgTk9UX0VRX09QRVIsXG4gIENPTlRBSU5TX09QRVIsXG4gIE5PVF9DT05UQUlOU19PUEVSLFxuICBTVEFSVFNfV0lUSF9PUEVSLFxuICBFTkRTX1dJVEhfT1BFUixcbiAgSVNfRU1QVFlfT1BFUixcbiAgSVNfTk9UX0VNUFRZX09QRVIsXG5dO1xuXG5leHBvcnQgY29uc3QgTlVNQkVSX09QRVJBVE9SUyA9IFtcbiAgRVFfT1BFUixcbiAgTk9UX0VRX09QRVIsXG4gIEJFVFdFRU5fT1BFUixcbiAgR1RfT1BFUixcbiAgR1RFX09QRVIsXG4gIExUX09QRVIsXG4gIExURV9PUEVSLFxuICBJU19FTVBUWV9PUEVSLFxuICBJU19OT1RfRU1QVFlfT1BFUixcbl07XG5cbmV4cG9ydCBjb25zdCBCT09MRUFOX09QRVJBVE9SUyA9IFtFUV9PUEVSXTtcblxuZXhwb3J0IGNvbnN0IERBVEVfT1BFUkFUT1JTID0gW1xuICBFUV9PUEVSLFxuICBOT1RfRVFfT1BFUixcbiAgR1RfT1BFUixcbiAgR1RFX09QRVIsXG4gIExUX09QRVIsXG4gIExURV9PUEVSLFxuICBJU19FTVBUWV9PUEVSLFxuICBJU19OT1RfRU1QVFlfT1BFUixcbl07XG5cbmV4cG9ydCBjb25zdCBBTExfREVGQVVMVF9PUEVSQVRPUlMgPSBbXG4gIEVRX09QRVIsXG4gIE5PVF9FUV9PUEVSLFxuICBHVF9PUEVSLFxuICBMVF9PUEVSLFxuICBHVEVfT1BFUixcbiAgTFRFX09QRVIsXG4gIENPTlRBSU5TX09QRVIsXG4gIE5PVF9DT05UQUlOU19PUEVSLFxuICBTVEFSVFNfV0lUSF9PUEVSLFxuICBFTkRTX1dJVEhfT1BFUixcbiAgSVNfRU1QVFlfT1BFUixcbiAgSVNfTk9UX0VNUFRZX09QRVIsXG4gIEJFVFdFRU5fT1BFUixcbl07XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const AXP_HOME_PAGES = new InjectionToken('AXP_HOME_PAGES');\nexport const AXP_HOME_PAGE_DEFAULT_KEY = new InjectionToken('AXP_HOME_PAGE_DEFAULT_KEY', {\n factory: () => 'home'\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9ob21lLXBhZ2UvaG9tZS1wYWdlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVL0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUEwQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFTLDJCQUEyQixFQUFFO0lBQzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNO0NBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQSG9tZVBhZ2VEZWZpbml0aW9uIHtcbiAgICBrZXk6IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHJvdXRlOiBSb3V0ZVxufVxuXG5cbmV4cG9ydCBjb25zdCBBWFBfSE9NRV9QQUdFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBIb21lUGFnZURlZmluaXRpb25bXT4oJ0FYUF9IT01FX1BBR0VTJyk7XG5leHBvcnQgY29uc3QgQVhQX0hPTUVfUEFHRV9ERUZBVUxUX0tFWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBWFBfSE9NRV9QQUdFX0RFRkFVTFRfS0VZJywge1xuICAgIGZhY3Rvcnk6ICgpID0+ICdob21lJ1xufSk7XG5cbiJdfQ==","import { merge } from 'lodash-es';\nexport class AXPSettingDefinitionProviderContext {\n constructor() {\n this.rootGroups = [];\n this.groupMap = new Map();\n }\n addGroup(name, title, description, icon) {\n const newGroup = {\n name,\n title,\n description,\n icon,\n groups: [],\n sections: [],\n };\n this.rootGroups.push(newGroup);\n this.groupMap.set(name, newGroup); // Index by name\n return new AXPSettingDefinitionGroupBuilder(this, newGroup);\n }\n group(name) {\n const foundGroup = this.groupMap.get(name);\n if (!foundGroup) {\n console.error(`Group with name \"${name}\" not found.`);\n return null;\n }\n return new AXPSettingDefinitionGroupBuilder(this, foundGroup);\n }\n getGroups() {\n return this.rootGroups;\n }\n // Expose groupMap for controlled access\n hasGroup(name) {\n return this.groupMap.has(name);\n }\n getGroup(name) {\n return this.groupMap.get(name);\n }\n}\nexport class AXPSettingDefinitionGroupBuilder {\n constructor(context, group) {\n this.context = context;\n this.group = group;\n }\n addSection(name, title, description) {\n const newSection = {\n name,\n title,\n description: description,\n settings: [],\n };\n this.group.sections.push(newSection);\n return new AXPSettingDefinitionSectionBuilder(this, newSection);\n }\n section(name) {\n const foundSection = this.group.sections.find((section) => section.name === name);\n if (!foundSection) {\n throw new Error(`Section with name \"${name}\" not found in group \"${this.group.name}\".`);\n }\n return new AXPSettingDefinitionSectionBuilder(this, foundSection);\n }\n addGroup(name, title, description, icon) {\n const newGroup = {\n name,\n title,\n description: description,\n icon,\n groups: [],\n sections: [],\n };\n this.group.groups.push(newGroup);\n if (this.context.hasGroup(name)) {\n throw new Error(`Group with name \"${name}\" already exists.`);\n }\n this.context['groupMap'].set(name, newGroup);\n return new AXPSettingDefinitionGroupBuilder(this.context, newGroup);\n }\n endGroup() {\n return this.context;\n }\n}\nexport class AXPSettingDefinitionSectionBuilder {\n constructor(groupBuilder, section) {\n this.groupBuilder = groupBuilder;\n this.section = section;\n }\n addSetting(setting) {\n const newSetting = {\n name: setting.key,\n title: setting.title,\n description: setting.description,\n isRequired: setting.isRequired ?? false,\n isInherited: setting.isInherited ?? false,\n isEncrypted: setting.isEncrypted ?? false,\n defaultValue: setting.defaultValue,\n scope: setting.scope ?? 'G',\n layout: setting.widget.layout,\n widget: {\n type: setting.widget.type,\n name: setting.key,\n path: setting.key,\n defaultValue: setting.defaultValue,\n options: merge(setting.widget.options ?? {}, {\n label: Object.keys(setting.widget.options ?? {}).includes('label') ? setting.widget.options?.['label'] : setting.title,\n validationRules: setting.validationRules ?? [],\n }),\n valueTransforms: setting.valueTransforms,\n triggers: setting.widget.triggers,\n },\n };\n this.section.settings.push(newSetting);\n return this;\n }\n endSection() {\n return this.groupBuilder;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZXR0aW5ncy9zZXR0aW5nLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUtsQyxNQUFNLE9BQU8sbUNBQW1DO0lBQWhEO1FBQ1UsZUFBVSxHQUFnQyxFQUFFLENBQUM7UUFDN0MsYUFBUSxHQUEyQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBc0N2RSxDQUFDO0lBcENDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLFdBQW9CLEVBQUUsSUFBYTtRQUN2RSxNQUFNLFFBQVEsR0FBOEI7WUFDMUMsSUFBSTtZQUNKLEtBQUs7WUFDTCxXQUFXO1lBQ1gsSUFBSTtZQUNKLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO1FBQ25ELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFZO1FBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixJQUFJLGNBQWMsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJ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SSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQT3B0aW9uc0RhdGEsIEFYUFZhbGlkYXRpb25SdWxlcywgQVhQVmFsdWVUcmFuc2Zvcm1lckZ1bmN0aW9ucywgQVhQV2lkZ2V0VHJpZ2dlcnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uLCBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLCBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb24gfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEFYUEdyaWRMYXlvdXRPcHRpb25zIH0gZnJvbSAnLi4vbGF5b3V0JztcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGVLZXkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQge1xuICBwcml2YXRlIHJvb3RHcm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSA9IFtdO1xuICBwcml2YXRlIGdyb3VwTWFwOiBNYXA8c3RyaW5nLCBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwPiA9IG5ldyBNYXAoKTtcblxuICBhZGRHcm91cChuYW1lOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBpY29uPzogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIge1xuICAgIGNvbnN0IG5ld0dyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwID0ge1xuICAgICAgbmFtZSxcbiAgICAgIHRpdGxlLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICBpY29uLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIHNlY3Rpb25zOiBbXSxcbiAgICB9O1xuXG4gICAgdGhpcy5yb290R3JvdXBzLnB1c2gobmV3R3JvdXApO1xuICAgIHRoaXMuZ3JvdXBNYXAuc2V0KG5hbWUsIG5ld0dyb3VwKTsgLy8gSW5kZXggYnkgbmFtZVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcywgbmV3R3JvdXApO1xuICB9XG5cbiAgZ3JvdXAobmFtZTogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIgfCBudWxsIHtcbiAgICBjb25zdCBmb3VuZEdyb3VwID0gdGhpcy5ncm91cE1hcC5nZXQobmFtZSk7XG4gICAgaWYgKCFmb3VuZEdyb3VwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBHcm91cCB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kLmApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcywgZm91bmRHcm91cCk7XG4gIH1cblxuICBnZXRHcm91cHMoKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdIHtcbiAgICByZXR1cm4gdGhpcy5yb290R3JvdXBzO1xuICB9XG5cbiAgLy8gRXhwb3NlIGdyb3VwTWFwIGZvciBjb250cm9sbGVkIGFjY2Vzc1xuICBoYXNHcm91cChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cE1hcC5oYXMobmFtZSk7XG4gIH1cblxuICBnZXRHcm91cChuYW1lOiBzdHJpbmcpOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cE1hcC5nZXQobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgcHJpdmF0ZSBjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dDtcbiAgcHJpdmF0ZSBncm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCwgZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcbiAgfVxuXG4gIGFkZFNlY3Rpb24obmFtZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IG5ld1NlY3Rpb246IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIHNldHRpbmdzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuZ3JvdXAuc2VjdGlvbnMucHVzaChuZXdTZWN0aW9uKTtcbiAgICByZXR1cm4gbmV3IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIodGhpcywgbmV3U2VjdGlvbik7XG4gIH1cblxuICBzZWN0aW9uKG5hbWU6IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uU2VjdGlvbkJ1aWxkZXIgfCBudWxsIHtcbiAgICBjb25zdCBmb3VuZFNlY3Rpb24gPSB0aGlzLmdyb3VwLnNlY3Rpb25zLmZpbmQoKHNlY3Rpb24pID0+IHNlY3Rpb24ubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKCFmb3VuZFNlY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2VjdGlvbiB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kIGluIGdyb3VwIFwiJHt0aGlzLmdyb3VwLm5hbWV9XCIuYCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uQnVpbGRlcih0aGlzLCBmb3VuZFNlY3Rpb24pO1xuICB9XG5cbiAgYWRkR3JvdXAobmFtZTogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbj86IHN0cmluZywgaWNvbj86IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgICBjb25zdCBuZXdHcm91cDogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIGljb24sXG4gICAgICBncm91cHM6IFtdLFxuICAgICAgc2VjdGlvbnM6IFtdLFxuICAgIH07XG4gICAgdGhpcy5ncm91cC5ncm91cHMucHVzaChuZXdHcm91cCk7XG4gICAgaWYgKHRoaXMuY29udGV4dC5oYXNHcm91cChuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBHcm91cCB3aXRoIG5hbWUgXCIke25hbWV9XCIgYWxyZWFkeSBleGlzdHMuYCk7XG4gICAgfVxuICAgIHRoaXMuY29udGV4dFsnZ3JvdXBNYXAnXS5zZXQobmFtZSwgbmV3R3JvdXApO1xuICAgIHJldHVybiBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cEJ1aWxkZXIodGhpcy5jb250ZXh0LCBuZXdHcm91cCk7XG4gIH1cblxuICBlbmRHcm91cCgpOiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgZ3JvdXBCdWlsZGVyOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwQnVpbGRlcjtcbiAgcHJpdmF0ZSBzZWN0aW9uOiBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoZ3JvdXBCdWlsZGVyOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwQnVpbGRlciwgc2VjdGlvbjogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uKSB7XG4gICAgdGhpcy5ncm91cEJ1aWxkZXIgPSBncm91cEJ1aWxkZXI7XG4gICAgdGhpcy5zZWN0aW9uID0gc2VjdGlvbjtcbiAgfVxuXG4gIGFkZFNldHRpbmcoc2V0dGluZzoge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGVLZXk7XG4gICAgd2lkZ2V0OiB7XG4gICAgICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gICAgICBvcHRpb25zPzogQVhQT3B0aW9uc0RhdGE7XG4gICAgICB0cmlnZ2Vycz86IEFYUFdpZGdldFRyaWdnZXJzO1xuICAgICAgbGF5b3V0PzogQVhQR3JpZExheW91dE9wdGlvbnM7XG4gICAgfTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpc1JlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBpc0luaGVyaXRlZD86IGJvb2xlYW47XG4gICAgaXNFbmNyeXB0ZWQ/OiBib29sZWFuO1xuICAgIGRlZmF1bHRWYWx1ZT86IHVua25vd247XG4gICAgdmFsdWVUcmFuc2Zvcm1zPzogQVhQVmFsdWVUcmFuc2Zvcm1lckZ1bmN0aW9ucztcbiAgICB2YWxpZGF0aW9uUnVsZXM/OiBBWFBWYWxpZGF0aW9uUnVsZXM7XG4gIH0pOiB0aGlzIHtcbiAgICBjb25zdCBuZXdTZXR0aW5nOiBBWFBTZXR0aW5nRGVmaW5pdGlvbiA9IHtcbiAgICAgIG5hbWU6IHNldHRpbmcua2V5LFxuICAgICAgdGl0bGU6IHNldHRpbmcudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogc2V0dGluZy5kZXNjcmlwdGlvbixcbiAgICAgIGlzUmVxdWlyZWQ6IHNldHRpbmcuaXNSZXF1aXJlZCA/PyBmYWxzZSxcbiAgICAgIGlzSW5oZXJpdGVkOiBzZXR0aW5nLmlzSW5oZXJpdGVkID8/IGZhbHNlLFxuICAgICAgaXNFbmNyeXB0ZWQ6IHNldHRpbmcuaXNFbmNyeXB0ZWQgPz8gZmFsc2UsXG4gICAgICBkZWZhdWx0VmFsdWU6IHNldHRpbmcuZGVmYXVsdFZhbHVlLFxuICAgICAgc2NvcGU6IHNldHRpbmcuc2NvcGUgPz8gJ0cnLFxuICAgICAgbGF5b3V0OiBzZXR0aW5nLndpZGdldC5sYXlvdXQsXG4gICAgICB3aWRnZXQ6IHtcbiAgICAgICAgdHlwZTogc2V0dGluZy53aWRnZXQudHlwZSxcbiAgICAgICAgbmFtZTogc2V0dGluZy5rZXksXG4gICAgICAgIHBhdGg6IHNldHRpbmcua2V5LFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHNldHRpbmcuZGVmYXVsdFZhbHVlLFxuICAgICAgICBvcHRpb25zOiBtZXJnZShzZXR0aW5nLndpZGdldC5vcHRpb25zID8/IHt9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBPYmplY3Qua2V5cyhzZXR0aW5nLndpZGdldC5vcHRpb25zID8/IHt9KS5pbmNsdWRlcygnbGFiZWwnKSA/IHNldHRpbmcud2lkZ2V0Lm9wdGlvbnM/LlsnbGFiZWwnXSA6IHNldHRpbmcudGl0bGUsXG4gICAgICAgICAgICB2YWxpZGF0aW9uUnVsZXM6IHNldHRpbmcudmFsaWRhdGlvblJ1bGVzID8/IFtdLFxuICAgICAgICAgIH0pLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IHNldHRpbmcudmFsdWVUcmFuc2Zvcm1zLFxuICAgICAgICB0cmlnZ2Vyczogc2V0dGluZy53aWRnZXQudHJpZ2dlcnMsXG4gICAgICB9LFxuICAgIH0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb247XG4gICAgdGhpcy5zZWN0aW9uLnNldHRpbmdzLnB1c2gobmV3U2V0dGluZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBlbmRTZWN0aW9uKCk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5ncm91cEJ1aWxkZXI7XG4gIH1cbn1cbiJdfQ==","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { AXPSettingDefinitionProviderContext } from './setting.builder';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { sortBy } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SETTING_DEFINITION_PROVIDER = new InjectionToken('AXP_SETTING_DEFINITION_PROVIDER');\nexport class AXPSettingDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_SETTING_DEFINITION_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache) {\n return;\n }\n const context = new AXPSettingDefinitionProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n if (provider instanceof Promise) {\n // If provider is a promise, resolve it\n const resolvedProvider = await provider;\n await resolvedProvider.provide(context);\n }\n else {\n // If provider is a direct instance, use it directly\n await provider.provide(context);\n }\n }\n }\n this.cache = context.getGroups();\n }\n async reload() {\n this.cache = null;\n await this.load();\n }\n async getListAsync(scope) {\n await this.load();\n return this.getList(scope);\n }\n getList(scope) {\n if (!this.cache) {\n return [];\n }\n const scopeOrder = ['C', 'G', 'T', 'U']; // Scopes hierarchy in ascending order\n const filterByScope = (groups, currentScope) => {\n const currentScopeIndex = scopeOrder.indexOf(currentScope);\n return groups\n .map((group) => ({\n ...group,\n sections: group.sections.map((section) => ({\n ...section,\n settings: section.settings.filter((setting) => {\n const settingScopeIndex = scopeOrder.indexOf(setting.scope);\n // Include settings where:\n // 1. The scope matches the requested scope.\n if (setting.scope === currentScope)\n return true;\n // 2. The setting scope is higher (closer to 'U') and is inherited.\n if (setting.isInherited &&\n settingScopeIndex > currentScopeIndex // Higher scope\n ) {\n return true;\n }\n // 3. Exclude settings with a lower or irrelevant scope.\n return false;\n }),\n })).filter((section) => section.settings.length > 0), // Keep only sections with settings\n groups: filterByScope(group.groups, currentScope), // Recursively filter nested groups\n }))\n .filter((group) => group.sections.length > 0 || group.groups.length > 0); // Keep groups with valid sections or nested groups\n };\n return sortBy(filterByScope(this.cache, scope), 'title');\n }\n async defaultValues() {\n const defaults = {};\n const collectDefaults = (groups) => {\n groups.forEach((group) => {\n group.sections.forEach((section) => {\n section.settings.forEach((setting) => {\n if (setting.defaultValue !== undefined) {\n defaults[setting.name] = setting.defaultValue;\n }\n });\n });\n collectDefaults(group.groups);\n });\n };\n if (!this.cache) {\n await this.load();\n }\n collectDefaults(this.cache);\n return defaults;\n }\n findGroup(scope, groupName) {\n return this.searchRecursive(this.getList(scope), groupName, []); // Initialize with an empty breadcrumb\n }\n searchRecursive(groups, groupName, breadcrumb) {\n for (const group of groups) {\n const currentBreadcrumb = [...breadcrumb, { name: group.name, title: group.title, description: group.description }];\n // If the group name matches, return its details\n if (group.name === groupName) {\n return {\n breadcrumb: currentBreadcrumb,\n sections: group.sections.length > 0 ? group.sections : null,\n groups: group.groups.length > 0 ? group.groups : null,\n };\n }\n // Recursively search in nested groups\n const nestedResult = this.searchRecursive(group.groups, groupName, currentBreadcrumb);\n if (nestedResult.breadcrumb.length > 0) {\n return nestedResult;\n }\n }\n // If no matching group is found\n return {\n breadcrumb: [],\n groups: [],\n sections: []\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport class AXPSettingDefaultValueProvider {\n constructor() {\n this.definitionProvider = inject(AXPSettingDefinitionProviderService);\n }\n get scope() {\n return AXPPlatformScope.Global;\n }\n async load() {\n return Object.entries(await this.definitionProvider.defaultValues()).map(c => ({ key: c[0], value: c[1] }));\n }\n set(key, value) {\n throw new Error('Method not implemented.');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kZWZpbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmctZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU9uRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNbkMsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUksY0FBYyxDQUFpQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBR3JJLE1BQU0sT0FBTyxtQ0FBbUM7SUFEaEQ7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLCtCQUErQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsVUFBSyxHQUF1QyxJQUFJLENBQUM7S0EySTFEO0lBeklTLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTTtRQUNSLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLG1DQUFtQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLFFBQVEsWUFBWSxPQUFPLEVBQUUsQ0FBQztvQkFDaEMsdUNBQXVDO29CQUN2QyxNQUFNLGdCQUFn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QUM7SUFiQyxJQUFJLEtBQUs7UUFDUCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFJRCxHQUFHLENBQUMsR0FBWSxFQUFFLEtBQWU7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYUEdyb3VwU2VhcmNoUmVzdWx0LFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLFxuICBBWFBTZXR0aW5nVmFsdWUsXG4gIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyLFxufSBmcm9tICcuL3NldHRpbmdzLnR5cGVzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi9zZXR0aW5nLmJ1aWxkZXInO1xuaW1wb3J0IHsgQVhQUGxhdGZvcm1TY29wZSwgQVhQUGxhdGZvcm1TY29wZUtleSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJvdmlkZShjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8vIEluamVjdGlvbiB0b2tlbiBmb3Igc2V0dGluZyBwcm92aWRlcnNcbmV4cG9ydCBjb25zdCBBWFBfU0VUVElOR19ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJbXT4oJ0FYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRVRUSU5HX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgY2FjaGU6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQoKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnByb3ZpZGVycykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5wcm92aWRlcnMpIHtcbiAgICAgICAgaWYgKHByb3ZpZGVyIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgIC8vIElmIHByb3ZpZGVyIGlzIGEgcHJvbWlzZSwgcmVzb2x2ZSBpdFxuICAgICAgICAgIGNvbnN0IHJlc29sdmVkUHJvdmlkZXIgPSBhd2FpdCBwcm92aWRlcjtcbiAgICAgICAgICBhd2FpdCByZXNvbHZlZFByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSWYgcHJvdmlkZXIgaXMgYSBkaXJlY3QgaW5zdGFuY2UsIHVzZSBpdCBkaXJlY3RseVxuICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jYWNoZSA9IGNvbnRleHQuZ2V0R3JvdXBzKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY2FjaGUgPSBudWxsO1xuICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RBc3luYyhzY29wZTogQVhQUGxhdGZvcm1TY29wZUtleSk6IFByb21pc2U8QVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdPiB7XG4gICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlzdChzY29wZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdChzY29wZTogQVhQUGxhdGZvcm1TY29wZUtleSk6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3Qgc2NvcGVPcmRlciA9IFsnQycsICdHJywgJ1QnLCAnVSddOyAvLyBTY29wZXMgaGllcmFyY2h5IGluIGFzY2VuZGluZyBvcmRlclxuXG4gICAgY29uc3QgZmlsdGVyQnlTY29wZSA9IChcbiAgICAgIGdyb3VwczogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdLFxuICAgICAgY3VycmVudFNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5XG4gICAgKTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTY29wZUluZGV4ID0gc2NvcGVPcmRlci5pbmRleE9mKGN1cnJlbnRTY29wZSk7XG5cbiAgICAgIHJldHVybiBncm91cHNcbiAgICAgICAgLm1hcCgoZ3JvdXApID0+ICh7XG4gICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgc2VjdGlvbnM6IGdyb3VwLnNlY3Rpb25zLm1hcCgoc2VjdGlvbikgPT4gKHtcbiAgICAgICAgICAgIC4uLnNlY3Rpb24sXG4gICAgICAgICAgICBzZXR0aW5nczogc2VjdGlvbi5zZXR0aW5ncy5maWx0ZXIoKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc2V0dGluZ1Njb3BlSW5kZXggPSBzY29wZU9yZGVyLmluZGV4T2Yoc2V0dGluZy5zY29wZSk7XG5cbiAgICAgICAgICAgICAgLy8gSW5jbHVkZSBzZXR0aW5ncyB3aGVyZTpcbiAgICAgICAgICAgICAgLy8gMS4gVGhlIHNjb3BlIG1hdGNoZXMgdGhlIHJlcXVlc3RlZCBzY29wZS5cbiAgICAgICAgICAgICAgaWYgKHNldHRpbmcuc2NvcGUgPT09IGN1cnJlbnRTY29wZSkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgICAgICAgLy8gMi4gVGhlIHNldHRpbmcgc2NvcGUgaXMgaGlnaGVyIChjbG9zZXIgdG8gJ1UnKSBhbmQgaXMgaW5oZXJpdGVkLlxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgc2V0dGluZy5pc0luaGVyaXRlZCAmJlxuICAgICAgICAgICAgICAgIHNldHRpbmdTY29wZUluZGV4ID4gY3VycmVudFNjb3BlSW5kZXggLy8gSGlnaGVyIHNjb3BlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gMy4gRXhjbHVkZSBzZXR0aW5ncyB3aXRoIGEgbG93ZXIgb3IgaXJyZWxldmFudCBzY29wZS5cbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSkpLmZpbHRlcigoc2VjdGlvbikgPT4gc2VjdGlvbi5zZXR0aW5ncy5sZW5ndGggPiAwKSwgLy8gS2VlcCBvbmx5IHNlY3Rpb25zIHdpdGggc2V0dGluZ3NcbiAgICAgICAgICBncm91cHM6IGZpbHRlckJ5U2NvcGUoZ3JvdXAuZ3JvdXBzLCBjdXJyZW50U2NvcGUpLCAvLyBSZWN1cnNpdmVseSBmaWx0ZXIgbmVzdGVkIGdyb3Vwc1xuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLnNlY3Rpb25zLmxlbmd0aCA+IDAgfHwgZ3JvdXAuZ3JvdXBzLmxlbmd0aCA+IDApOyAvLyBLZWVwIGdyb3VwcyB3aXRoIHZhbGlkIHNlY3Rpb25zIG9yIG5lc3RlZCBncm91cHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIHNvcnRCeShmaWx0ZXJCeVNjb3BlKHRoaXMuY2FjaGUsIHNjb3BlKSwgJ3RpdGxlJyk7XG4gIH1cblxuXG5cblxuICBhc3luYyBkZWZhdWx0VmFsdWVzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBkZWZhdWx0czogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAgIGNvbnN0IGNvbGxlY3REZWZhdWx0cyA9IChncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSkgPT4ge1xuICAgICAgZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIGdyb3VwLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcbiAgICAgICAgICBzZWN0aW9uLnNldHRpbmdzLmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgIGlmIChzZXR0aW5nLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGRlZmF1bHRzW3NldHRpbmcubmFtZV0gPSBzZXR0aW5nLmRlZmF1bHRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbGxlY3REZWZhdWx0cyhncm91cC5ncm91cHMpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgfVxuICAgIGNvbGxlY3REZWZhdWx0cyh0aGlzLmNhY2hlISk7XG5cbiAgICByZXR1cm4gZGVmYXVsdHM7XG4gIH1cblxuICBwdWJsaWMgZmluZEdyb3VwKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlS2V5LCBncm91cE5hbWU6IHN0cmluZyk6IEFYUEdyb3VwU2VhcmNoUmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZWN1cnNpdmUodGhpcy5nZXRMaXN0KHNjb3BlKSwgZ3JvdXBOYW1lLCBbXSk7IC8vIEluaXRpYWxpemUgd2l0aCBhbiBlbXB0eSBicmVhZGNydW1iXG4gIH1cblxuICBwcml2YXRlIHNlYXJjaFJlY3Vyc2l2ZShcbiAgICBncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSxcbiAgICBncm91cE5hbWU6IHN0cmluZyxcbiAgICBicmVhZGNydW1iOiB7IG5hbWU6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W11cbiAgKTogQVhQR3JvdXBTZWFyY2hSZXN1bHQge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgZ3JvdXBzKSB7XG4gICAgICBjb25zdCBjdXJyZW50QnJlYWRjcnVtYiA9IFsuLi5icmVhZGNydW1iLCB7IG5hbWU6IGdyb3VwLm5hbWUsIHRpdGxlOiBncm91cC50aXRsZSwgZGVzY3JpcHRpb246IGdyb3VwLmRlc2NyaXB0aW9uIH1dO1xuXG4gICAgICAvLyBJZiB0aGUgZ3JvdXAgbmFtZSBtYXRjaGVzLCByZXR1cm4gaXRzIGRldGFpbHNcbiAgICAgIGlmIChncm91cC5uYW1lID09PSBncm91cE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBicmVhZGNydW1iOiBjdXJyZW50QnJlYWRjcnVtYixcbiAgICAgICAgICBzZWN0aW9uczogZ3JvdXAuc2VjdGlvbnMubGVuZ3RoID4gMCA/IGdyb3VwLnNlY3Rpb25zIDogbnVsbCxcbiAgICAgICAgICBncm91cHM6IGdyb3VwLmdyb3Vwcy5sZW5ndGggPiAwID8gZ3JvdXAuZ3JvdXBzIDogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVjdXJzaXZlbHkgc2VhcmNoIGluIG5lc3RlZCBncm91cHNcbiAgICAgIGNvbnN0IG5lc3RlZFJlc3VsdCA9IHRoaXMuc2VhcmNoUmVjdXJzaXZlKGdyb3VwLmdyb3VwcywgZ3JvdXBOYW1lLCBjdXJyZW50QnJlYWRjcnVtYik7XG4gICAgICBpZiAobmVzdGVkUmVzdWx0LmJyZWFkY3J1bWIubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gbmVzdGVkUmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIG1hdGNoaW5nIGdyb3VwIGlzIGZvdW5kXG4gICAgcmV0dXJuIHtcbiAgICAgIGJyZWFkY3J1bWI6IFtdLFxuICAgICAgZ3JvdXBzOiBbXSxcbiAgICAgIHNlY3Rpb25zOiBbXVxuICAgIH07XG4gIH1cbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBBWFBTZXR0aW5nRGVmYXVsdFZhbHVlUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nVmFsdWVQcm92aWRlciB7XG5cbiAgcHJpdmF0ZSBkZWZpbml0aW9uUHJvdmlkZXIgPSBpbmplY3QoQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2UpO1xuXG4gIGdldCBzY29wZSgpOiBBWFBQbGF0Zm9ybVNjb3BlIHtcbiAgICByZXR1cm4gQVhQUGxhdGZvcm1TY29wZS5HbG9iYWw7XG4gIH1cblxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8QVhQU2V0dGluZ1ZhbHVlW10+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoYXdhaXQgdGhpcy5kZWZpbml0aW9uUHJvdmlkZXIuZGVmYXVsdFZhbHVlcygpKS5tYXAoYyA9PiAoeyBrZXk6IGNbMF0sIHZhbHVlOiBjWzFdIH0pKTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gIHNldCh2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBQcm9taXNlPHZvaWQ+O1xuICBzZXQoa2V5OiB1bmtub3duLCB2YWx1ZT86IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn0iXX0=","import { inject, InjectionToken, Injector } from \"@angular/core\";\nimport { AXPPlatformScope } from \"@acorex/platform/core\";\nimport { AXPSessionService, AXPSessionStatus } from \"@acorex/platform/auth\";\nexport const AXP_SETTING_VALUE_PROVIDER = new InjectionToken('AXP_SETTING_VALUE_PROVIDER', {\n providedIn: 'root',\n factory: () => {\n const injector = inject(Injector);\n return [\n new AXPSettingValueProviderDefault(AXPPlatformScope.Tenant, injector),\n new AXPSettingValueProviderDefault(AXPPlatformScope.User, injector)\n ];\n }\n});\nclass AXPSettingValueProviderDefault {\n constructor(_scope, injector) {\n this._scope = _scope;\n this.injector = injector;\n this.cache = new Map();\n this.localStorageKey = null;\n this.sessionService = this.injector.get(AXPSessionService);\n this.sessionService.status$.subscribe((status) => {\n if (status === AXPSessionStatus.Authorized || status === AXPSessionStatus.Authenticated) {\n if (this.scope === AXPPlatformScope.User) {\n this.localStorageKey = `AXP_SETTINGS_SCOPE(${this.sessionService.user?.id ?? 'U'})`;\n }\n else {\n this.localStorageKey = `AXP_SETTINGS_SCOPE(${this.sessionService.tenant?.id ?? 'T'})`;\n }\n }\n });\n }\n get scope() {\n return this._scope;\n }\n async load() {\n if (!this.localStorageKey) {\n return Promise.resolve([]);\n }\n // Load settings from localStorage as a single key\n const storedSettings = localStorage.getItem(this.localStorageKey);\n if (storedSettings) {\n const parsedSettings = JSON.parse(storedSettings);\n Object.entries(parsedSettings).forEach(([key, value]) => {\n this.cache.set(key, value);\n });\n return Promise.resolve(Array.from(this.cache.entries()).map(c => ({ key: c[0], value: c[1] })));\n }\n return Promise.resolve([]);\n }\n async set(keyOrValues, value) {\n if (typeof keyOrValues === 'string') {\n // Single value update\n this.cache.set(keyOrValues, value);\n }\n else {\n // Bulk update\n for (const [key, val] of Object.entries(keyOrValues)) {\n this.cache.set(key, val);\n }\n }\n await this.saveToLocalStorage();\n }\n async saveToLocalStorage() {\n if (!this.localStorageKey) {\n return;\n }\n const settingsObject = {};\n this.cache.forEach((value, key) => {\n settingsObject[key] = value;\n });\n localStorage.setItem(this.localStorageKey, JSON.stringify(settingsObject));\n }\n async clear() {\n if (!this.localStorageKey) {\n return;\n }\n localStorage.removeItem(this.localStorageKey);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmdzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBNEIsNEJBQTRCLEVBQUU7SUFDbEgsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxPQUFPO1lBQ0gsSUFBSSw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3JFLElBQUksOEJBQThCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztTQUN0RSxDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQztBQUdILE1BQU0sOEJBQThCO0lBS2hDLFlBQW9CLE1BQXdCLEVBQVUsUUFBa0I7UUFBcEQsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnZELFVBQUssR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBR3pELElBQUksQ0FBQyxjQUFjLENBQUMs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RUFBRSxFQUFFO1lBQzlCLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFHTyxLQUFLLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7UUFDRCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXR0aW5nVmFsdWUsIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyIH0gZnJvbSBcIi4vc2V0dGluZ3MudHlwZXNcIjtcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSwgQVhQU2Vzc2lvblN0YXR1cyB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2F1dGhcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcblxuXG5cbmV4cG9ydCBjb25zdCBBWFBfU0VUVElOR19WQUxVRV9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBTZXR0aW5nVmFsdWVQcm92aWRlcltdPignQVhQX1NFVFRJTkdfVkFMVUVfUFJPVklERVInLCB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdChBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCwgaW5qZWN0b3IpLFxuICAgICAgICAgICAgbmV3IEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdChBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsIGluamVjdG9yKVxuICAgICAgICBdO1xuICAgIH1cbn0pO1xuXG5cbmNsYXNzIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyRGVmYXVsdCBpbXBsZW1lbnRzIEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2Vzc2lvblNlcnZpY2UpXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zY29wZTogQVhQUGxhdGZvcm1TY29wZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zdGF0dXMkLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQgfHwgc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zY29wZSA9PT0gQVhQUGxhdGZvcm1TY29wZS5Vc2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlS2V5ID0gYEFYUF9TRVRUSU5HU19TQ09QRSgke3RoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uaWQgPz8gJ1UnfSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlS2V5ID0gYEFYUF9TRVRUSU5HU19TQ09QRSgke3RoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50Py5pZCA/PyAnVCd9KWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNjb3BlKCk6IEFYUFBsYXRmb3JtU2NvcGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2NvcGU7XG4gICAgfVxuXG4gICAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPEFYUFNldHRpbmdWYWx1ZVtdPiB7XG4gICAgICAgIGlmICghdGhpcy5sb2NhbFN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgICAgICB9XG4gICAgICAgIC8vIExvYWQgc2V0dGluZ3MgZnJvbSBsb2NhbFN0b3JhZ2UgYXMgYSBzaW5nbGUga2V5XG4gICAgICAgIGNvbnN0IHN0b3JlZFNldHRpbmdzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sb2NhbFN0b3JhZ2VLZXkpO1xuICAgICAgICBpZiAoc3RvcmVkU2V0dGluZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gSlNPTi5wYXJzZShzdG9yZWRTZXR0aW5ncyk7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhwYXJzZWRTZXR0aW5ncykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoQXJyYXkuZnJvbSh0aGlzLmNhY2hlLmVudHJpZXMoKSkubWFwKGMgPT4gKHsga2V5OiBjWzBdLCB2YWx1ZTogY1sxXSB9KSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO1xuICAgIH1cblxuICAgIGFzeW5jIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgYXN5bmMgc2V0KHZhbHVlczogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8dm9pZD47XG4gICAgYXN5bmMgc2V0KGtleU9yVmFsdWVzOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB2YWx1ZT86IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodHlwZW9mIGtleU9yVmFsdWVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgLy8gU2luZ2xlIHZhbHVlIHVwZGF0ZVxuICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEJ1bGsgdXBkYXRlXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXMoa2V5T3JWYWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZS5zZXQoa2V5LCB2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVRvTG9jYWxTdG9yYWdlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzYXZlVG9Mb2NhbFN0b3JhZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5sb2NhbFN0b3JhZ2VLZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZXR0aW5nc09iamVjdDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICB0aGlzLmNhY2hlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHNldHRpbmdzT2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShzZXR0aW5nc09iamVjdCkpO1xuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBhc3luYyBjbGVhcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxvY2FsU3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMubG9jYWxTdG9yYWdlS2V5KTtcbiAgICB9XG59Il19","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPBroadcastEventService, AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { cloneDeep, get } from 'lodash-es';\nimport { distinctUntilChanged, Subject } from 'rxjs';\nimport { AXPSettingDefinitionProviderService } from './setting-definition.service';\nimport { AXP_SETTING_VALUE_PROVIDER } from './settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPSettingService {\n constructor() {\n this.providers = inject(AXP_SETTING_VALUE_PROVIDER);\n this.injector = inject(Injector);\n this.eventService = inject(AXPBroadcastEventService);\n this.sessionService = inject(AXPSessionService);\n this.scopedSettingsCache = new Map();\n this.onChanged = new Subject();\n this.onLoaded = new Subject();\n // Initialize scoped caches for dynamic scopes\n const staticScopes = [\n AXPPlatformScope.Environment,\n AXPPlatformScope.Global,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.User,\n ];\n staticScopes.forEach((scope) => {\n if (!this.scopedSettingsCache.has(scope)) {\n this.scopedSettingsCache.set(scope, new Map());\n }\n });\n // Listen for setting changes from other tabs\n this.eventService.listen('AXPSettingChangedEvent').subscribe((event) => {\n const data = event.data;\n data.keys.forEach((key) => {\n this.scopedSettingsCache.get(data.scope)?.set(key, data.values[key]);\n });\n this.onChanged.next(data); // Notify subscribers in the current tab\n });\n // reload settings when user is authenticated\n this.sessionService.isAuthenticated$.pipe(distinctUntilChanged()).subscribe(async (isAuthenticated) => {\n if (isAuthenticated) {\n await this.reload();\n }\n });\n }\n async reload() {\n await this.load();\n }\n async load() {\n try {\n const settingsList = [];\n for (const provider of this.providers) {\n const scopeCache = this.scopedSettingsCache.get(provider.scope) ?? new Map();\n const providerSettings = await provider.load();\n providerSettings.forEach((setting) => {\n scopeCache.set(setting.key, setting.value);\n });\n settingsList.push(...providerSettings);\n }\n this.onLoaded.next();\n return settingsList;\n }\n catch (error) {\n console.error('Error loading settings', error);\n throw error;\n }\n }\n async get(key) {\n if (this.scopedSettingsCache.size === 0) {\n await this.load();\n }\n const scopeOrder = [\n AXPPlatformScope.User,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.Global,\n AXPPlatformScope.Environment,\n ];\n for (const scope of scopeOrder) {\n const scopeCache = this.scopedSettingsCache.get(scope);\n if (scopeCache && scopeCache.has(key)) {\n const value = scopeCache.get(key);\n if (value !== undefined && value !== null) {\n return cloneDeep(value);\n }\n }\n }\n const definitionService = this.injector.get(AXPSettingDefinitionProviderService);\n const defaults = await definitionService.defaultValues();\n return get(defaults, key); // Fallback if no value is found\n }\n async defaultValues(scope) {\n let scopeOrder = [\n AXPPlatformScope.Environment,\n AXPPlatformScope.Global,\n AXPPlatformScope.Tenant,\n AXPPlatformScope.User,\n ].reverse();\n const scopeIndex = scopeOrder.indexOf(scope);\n if (scopeIndex === -1) {\n throw new Error(`Invalid scope: ${scope}`);\n }\n scopeOrder = scopeOrder.slice(scopeIndex + 1);\n // Accumulate defaults from the current scope and higher scopes\n const accumulatedDefaults = {};\n for (let i = scopeIndex; i < scopeOrder.length; i++) {\n const currentScope = scopeOrder[i];\n const scopeCache = this.scopedSettingsCache.get(currentScope);\n if (scopeCache) {\n scopeCache.forEach((value, key) => {\n if (!(key in accumulatedDefaults)) {\n accumulatedDefaults[key] = value;\n }\n });\n }\n }\n // Merge with global default values from the definition service\n const definitionService = this.injector.get(AXPSettingDefinitionProviderService);\n const globalDefaults = await definitionService.defaultValues();\n return { ...globalDefaults, ...accumulatedDefaults };\n }\n scope(scope) {\n const provider = this.providers.find((p) => p.scope === scope);\n if (!provider) {\n throw new Error(`No provider found for scope: ${scope}`);\n }\n return new ScopedSettingService(this, provider, this.scopedSettingsCache.get(scope));\n }\n invokeChangeEvent(event) {\n this.onChanged.next(event);\n this.eventService.publish('AXPSettingChangedEvent', event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSettingService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\nclass ScopedSettingService {\n constructor(parent, provider, scopeCache) {\n this.parent = parent;\n this.provider = provider;\n this.scopeCache = scopeCache;\n }\n async get(key) {\n const settings = await this.provider.load();\n const setting = settings.find((s) => s.key === key);\n return setting ? cloneDeep(setting.value) : undefined;\n }\n async all() {\n const settings = await this.provider.load();\n return Object.fromEntries(settings.map((s) => [s.key, cloneDeep(s.value)]));\n }\n async defaultValues() {\n return this.parent.defaultValues(this.provider.scope);\n }\n async set(keyOrValues, value) {\n if (typeof keyOrValues === 'string') {\n // Single key-value pair\n await this.provider.set(keyOrValues, value);\n this.scopeCache.set(keyOrValues, value); // Sync the cache\n this.parent.invokeChangeEvent({\n scope: this.provider.scope,\n keys: [keyOrValues],\n values: { [keyOrValues]: value },\n entries: [{ key: keyOrValues, value }],\n });\n }\n else {\n // Multiple key-value pairs\n await this.provider.set(keyOrValues);\n Object.entries(keyOrValues).forEach(([key, val]) => this.scopeCache.set(key, val)); // Sync the cache\n const entries = Object.entries(keyOrValues).map(([key, val]) => ({ key, value: val }));\n this.parent.invokeChangeEvent({\n scope: this.provider.scope,\n keys: Object.keys(keyOrValues),\n values: keyOrValues,\n entries,\n });\n }\n }\n async update(key, updateFn) {\n const currentValue = await this.get(key);\n const newValue = updateFn(currentValue);\n await this.set(key, newValue);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFhakUsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QjtRQVJpQixjQUFTLEdBQThCLE1BQU0sQ0FBNEIsMEJBQTBCLENBQUMsQ0FBQztRQUNyRyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzQyx3QkFBbUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoRSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7UUFDbEQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHN0MsOENBQThDO1FBQzlDLE1BQU0sWUFBWSxHQUFHO1lBQ25CLGdCQUFnQixDQUFDLFdB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YUFBTSxDQUFDO1lBQ04sMkJBQTJCO1lBQzNCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7WUFDckcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDOUIsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQVUsR0FBVyxFQUFFLFFBQWdDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBCcm9hZGNhc3RFdmVudFNlcnZpY2UsIEFYUFBsYXRmb3JtU2NvcGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXR0aW5nLWRlZmluaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWFBfU0VUVElOR19WQUxVRV9QUk9WSURFUiB9IGZyb20gJy4vc2V0dGluZ3MucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQU2V0dGluZ0NoYW5nZWRFdmVudCwgQVhQU2V0dGluZ1ZhbHVlLCBBWFBTZXR0aW5nVmFsdWVQcm92aWRlciB9IGZyb20gJy4vc2V0dGluZ3MudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgbG9hZCgpOiBQcm9taXNlPEFYUFNldHRpbmdWYWx1ZVtdPjtcbiAgZ2V0PFQgPSBhbnk+KGtleTogc3RyaW5nKTogUHJvbWlzZTxUPjtcbiAgZGVmYXVsdFZhbHVlcyhzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBzY29wZShzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFNjb3BlZFNldHRpbmdTZXJ2aWNlO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1NlcnZpY2UgaW1wbGVtZW50cyBBWFBTZXR0aW5nU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvdmlkZXJzOiBBWFBTZXR0aW5nVmFsdWVQcm92aWRlcltdID0gaW5qZWN0PEFYUFNldHRpbmdWYWx1ZVByb3ZpZGVyW10+KEFYUF9TRVRUSU5HX1ZBTFVFX1BST1ZJREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUEJyb2FkY2FzdEV2ZW50U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNjb3BlZFNldHRpbmdzQ2FjaGU6IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIGFueT4+ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25DaGFuZ2VkID0gbmV3IFN1YmplY3Q8QVhQU2V0dGluZ0NoYW5nZWRFdmVudD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG9uTG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBJbml0aWFsaXplIHNjb3BlZCBjYWNoZXMgZm9yIGR5bmFtaWMgc2NvcGVzXG4gICAgY29uc3Qgc3RhdGljU2NvcGVzID0gW1xuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgXTtcbiAgICBzdGF0aWNTY29wZXMuZm9yRWFjaCgoc2NvcGUpID0+IHtcbiAgICAgIGlmICghdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmhhcyhzY29wZSkpIHtcbiAgICAgICAgdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLnNldChzY29wZSwgbmV3IE1hcCgpKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIExpc3RlbiBmb3Igc2V0dGluZyBjaGFuZ2VzIGZyb20gb3RoZXIgdGFic1xuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLmxpc3RlbjxBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50PignQVhQU2V0dGluZ0NoYW5nZWRFdmVudCcpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGRhdGEgPSBldmVudC5kYXRhO1xuICAgICAgZGF0YS5rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICB0aGlzLnNjb3BlZFNldHRpbmdzQ2FjaGUuZ2V0KGRhdGEuc2NvcGUpPy5zZXQoa2V5LCBkYXRhLnZhbHVlc1trZXldKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vbkNoYW5nZWQubmV4dChkYXRhKTsgLy8gTm90aWZ5IHN1YnNjcmliZXJzIGluIHRoZSBjdXJyZW50IHRhYlxuICAgIH0pO1xuICAgIC8vIHJlbG9hZCBzZXR0aW5ncyB3aGVuIHVzZXIgaXMgYXV0aGVudGljYXRlZFxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZShhc3luYyAoaXNBdXRoZW50aWNhdGVkKSA9PiB7XG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZWxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gIH1cblxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8QVhQU2V0dGluZ1ZhbHVlW10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2V0dGluZ3NMaXN0OiBBWFBTZXR0aW5nVmFsdWVbXSA9IFtdO1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBjb25zdCBzY29wZUNhY2hlID0gdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmdldChwcm92aWRlci5zY29wZSkgPz8gbmV3IE1hcCgpO1xuICAgICAgICBjb25zdCBwcm92aWRlclNldHRpbmdzID0gYXdhaXQgcHJvdmlkZXIubG9hZCgpO1xuICAgICAgICBwcm92aWRlclNldHRpbmdzLmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICBzY29wZUNhY2hlLnNldChzZXR0aW5nLmtleSwgc2V0dGluZy52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXR0aW5nc0xpc3QucHVzaCguLi5wcm92aWRlclNldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25Mb2FkZWQubmV4dCgpO1xuICAgICAgcmV0dXJuIHNldHRpbmdzTGlzdDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBzZXR0aW5ncycsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldDxUID0gYW55PihrZXk6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICAgIGlmICh0aGlzLnNjb3BlZFNldHRpbmdzQ2FjaGUuc2l6ZSA9PT0gMCkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgfVxuICAgIGNvbnN0IHNjb3BlT3JkZXIgPSBbXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlRlbmFudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICBdO1xuICAgIGZvciAoY29uc3Qgc2NvcGUgb2Ygc2NvcGVPcmRlcikge1xuICAgICAgY29uc3Qgc2NvcGVDYWNoZSA9IHRoaXMuc2NvcGVkU2V0dGluZ3NDYWNoZS5nZXQoc2NvcGUpO1xuICAgICAgaWYgKHNjb3BlQ2FjaGUgJiYgc2NvcGVDYWNoZS5oYXMoa2V5KSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHNjb3BlQ2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGNsb25lRGVlcCh2YWx1ZSkgYXMgVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBkZWZpbml0aW9uU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlKTtcbiAgICBjb25zdCBkZWZhdWx0cyA9IGF3YWl0IGRlZmluaXRpb25TZXJ2aWNlLmRlZmF1bHRWYWx1ZXMoKTtcbiAgICByZXR1cm4gZ2V0KGRlZmF1bHRzLCBrZXkpIGFzIFQ7IC8vIEZhbGxiYWNrIGlmIG5vIHZhbHVlIGlzIGZvdW5kXG4gIH1cblxuICBhc3luYyBkZWZhdWx0VmFsdWVzKHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGxldCBzY29wZU9yZGVyID0gW1xuICAgICAgQVhQUGxhdGZvcm1TY29wZS5FbnZpcm9ubWVudCxcbiAgICAgIEFYUFBsYXRmb3JtU2NvcGUuR2xvYmFsLFxuICAgICAgQVhQUGxhdGZvcm1TY29wZS5UZW5hbnQsXG4gICAgICBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgXS5yZXZlcnNlKCk7XG4gICAgY29uc3Qgc2NvcGVJbmRleCA9IHNjb3BlT3JkZXIuaW5kZXhPZihzY29wZSk7XG5cbiAgICBpZiAoc2NvcGVJbmRleCA9PT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzY29wZTogJHtzY29wZX1gKTtcbiAgICB9XG4gICAgc2NvcGVPcmRlciA9IHNjb3BlT3JkZXIuc2xpY2Uoc2NvcGVJbmRleCArIDEpO1xuICAgIC8vIEFjY3VtdWxhdGUgZGVmYXVsdHMgZnJvbSB0aGUgY3VycmVudCBzY29wZSBhbmQgaGlnaGVyIHNjb3Blc1xuICAgIGNvbnN0IGFjY3VtdWxhdGVkRGVmYXVsdHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgZm9yIChsZXQgaSA9IHNjb3BlSW5kZXg7IGkgPCBzY29wZU9yZGVyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50U2NvcGUgPSBzY29wZU9yZGVyW2ldO1xuICAgICAgY29uc3Qgc2NvcGVDYWNoZSA9IHRoaXMuc2NvcGVkU2V0dGluZ3NDYWNoZS5nZXQoY3VycmVudFNjb3BlKTtcblxuICAgICAgaWYgKHNjb3BlQ2FjaGUpIHtcbiAgICAgICAgc2NvcGVDYWNoZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgaWYgKCEoa2V5IGluIGFjY3VtdWxhdGVkRGVmYXVsdHMpKSB7XG4gICAgICAgICAgICBhY2N1bXVsYXRlZERlZmF1bHRzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lcmdlIHdpdGggZ2xvYmFsIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIGRlZmluaXRpb24gc2VydmljZVxuICAgIGNvbnN0IGRlZmluaXRpb25TZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2UpO1xuICAgIGNvbnN0IGdsb2JhbERlZmF1bHRzID0gYXdhaXQgZGVmaW5pdGlvblNlcnZpY2UuZGVmYXVsdFZhbHVlcygpO1xuICAgIHJldHVybiB7IC4uLmdsb2JhbERlZmF1bHRzLCAuLi5hY2N1bXVsYXRlZERlZmF1bHRzIH07XG4gIH1cblxuICBzY29wZShzY29wZTogQVhQUGxhdGZvcm1TY29wZSk6IFNjb3BlZFNldHRpbmdTZXJ2aWNlIHtcbiAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucHJvdmlkZXJzLmZpbmQoKHApID0+IHAuc2NvcGUgPT09IHNjb3BlKTtcbiAgICBpZiAoIXByb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHByb3ZpZGVyIGZvdW5kIGZvciBzY29wZTogJHtzY29wZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTY29wZWRTZXR0aW5nU2VydmljZSh0aGlzLCBwcm92aWRlciwgdGhpcy5zY29wZWRTZXR0aW5nc0NhY2hlLmdldChzY29wZSkhKTtcbiAgfVxuXG4gIGludm9rZUNoYW5nZUV2ZW50KGV2ZW50OiBBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50KSB7XG4gICAgdGhpcy5vbkNoYW5nZWQubmV4dChldmVudCk7XG4gICAgdGhpcy5ldmVudFNlcnZpY2UucHVibGlzaDxBWFBTZXR0aW5nQ2hhbmdlZEV2ZW50PignQVhQU2V0dGluZ0NoYW5nZWRFdmVudCcsIGV2ZW50KTtcbiAgfVxufVxuXG5jbGFzcyBTY29wZWRTZXR0aW5nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFyZW50OiBBWFBTZXR0aW5nU2VydmljZSxcbiAgICBwcml2YXRlIHByb3ZpZGVyOiBBWFBTZXR0aW5nVmFsdWVQcm92aWRlcixcbiAgICBwcml2YXRlIHNjb3BlQ2FjaGU6IE1hcDxzdHJpbmcsIGFueT4sXG4gICkge31cblxuICBhc3luYyBnZXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMucHJvdmlkZXIubG9hZCgpO1xuICAgIGNvbnN0IHNldHRpbmcgPSBzZXR0aW5ncy5maW5kKChzKSA9PiBzLmtleSA9PT0ga2V5KTtcbiAgICByZXR1cm4gc2V0dGluZyA/IGNsb25lRGVlcChzZXR0aW5nLnZhbHVlKSA6IHVuZGVmaW5lZCE7XG4gIH1cblxuICBhc3luYyBhbGwoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzZXR0aW5ncyA9IGF3YWl0IHRoaXMucHJvdmlkZXIubG9hZCgpO1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoc2V0dGluZ3MubWFwKChzKSA9PiBbcy5rZXksIGNsb25lRGVlcChzLnZhbHVlKV0pKTtcbiAgfVxuXG4gIGFzeW5jIGRlZmF1bHRWYWx1ZXMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5kZWZhdWx0VmFsdWVzKHRoaXMucHJvdmlkZXIuc2NvcGUpO1xuICB9XG5cbiAgYXN5bmMgc2V0PFQgPSBhbnk+KGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IFByb21pc2U8dm9pZD47XG4gIGFzeW5jIHNldDxUID0gYW55Pih2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFQ+KTogUHJvbWlzZTx2b2lkPjtcbiAgYXN5bmMgc2V0PFQgPSBhbnk+KGtleU9yVmFsdWVzOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBUPiwgdmFsdWU/OiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHR5cGVvZiBrZXlPclZhbHVlcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFNpbmdsZSBrZXktdmFsdWUgcGFpclxuICAgICAgYXdhaXQgdGhpcy5wcm92aWRlci5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTtcbiAgICAgIHRoaXMuc2NvcGVDYWNoZS5zZXQoa2V5T3JWYWx1ZXMsIHZhbHVlKTsgLy8gU3luYyB0aGUgY2FjaGVcbiAgICAgIHRoaXMucGFyZW50Lmludm9rZUNoYW5nZUV2ZW50KHtcbiAgICAgICAgc2NvcGU6IHRoaXMucHJvdmlkZXIuc2NvcGUsXG4gICAgICAgIGtleXM6IFtrZXlPclZhbHVlc10sXG4gICAgICAgIHZhbHVlczogeyBba2V5T3JWYWx1ZXNdOiB2YWx1ZSB9LFxuICAgICAgICBlbnRyaWVzOiBbeyBrZXk6IGtleU9yVmFsdWVzLCB2YWx1ZSB9XSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBNdWx0aXBsZSBrZXktdmFsdWUgcGFpcnNcbiAgICAgIGF3YWl0IHRoaXMucHJvdmlkZXIuc2V0KGtleU9yVmFsdWVzKTtcbiAgICAgIE9iamVjdC5lbnRyaWVzKGtleU9yVmFsdWVzKS5mb3JFYWNoKChba2V5LCB2YWxdKSA9PiB0aGlzLnNjb3BlQ2FjaGUuc2V0KGtleSwgdmFsKSk7IC8vIFN5bmMgdGhlIGNhY2hlXG4gICAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoa2V5T3JWYWx1ZXMpLm1hcCgoW2tleSwgdmFsXSkgPT4gKHsga2V5LCB2YWx1ZTogdmFsIH0pKTtcbiAgICAgIHRoaXMucGFyZW50Lmludm9rZUNoYW5nZUV2ZW50KHtcbiAgICAgICAgc2NvcGU6IHRoaXMucHJvdmlkZXIuc2NvcGUsXG4gICAgICAgIGtleXM6IE9iamVjdC5rZXlzKGtleU9yVmFsdWVzKSxcbiAgICAgICAgdmFsdWVzOiBrZXlPclZhbHVlcyxcbiAgICAgICAgZW50cmllcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZTxUID0gYW55PihrZXk6IHN0cmluZywgdXBkYXRlRm46IChjdXJyZW50VmFsdWU6IFQpID0+IFQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBhd2FpdCB0aGlzLmdldDxUPihrZXkpO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdXBkYXRlRm4oY3VycmVudFZhbHVlKTtcbiAgICBhd2FpdCB0aGlzLnNldChrZXksIG5ld1ZhbHVlKTtcbiAgfVxufVxuIl19","export var AXPHomePageSettings;\n(function (AXPHomePageSettings) {\n AXPHomePageSettings[\"UserHomePath\"] = \"general:startup:home-page\";\n})(AXPHomePageSettings || (AXPHomePageSettings = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLXNldHRpbmdzLmtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS1zZXR0aW5ncy5rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksbUJBRVg7QUFGRCxXQUFZLG1CQUFtQjtJQUMzQixpRUFBMEMsQ0FBQTtBQUM5QyxDQUFDLEVBRlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUU5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFYUEhvbWVQYWdlU2V0dGluZ3Mge1xuICAgIFVzZXJIb21lUGF0aCA9ICdnZW5lcmFsOnN0YXJ0dXA6aG9tZS1wYWdlJyxcbn0iXX0=","import { AXPSessionService } from '@acorex/platform/auth';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { merge } from 'rxjs';\nimport { AXPSettingService } from '../settings';\nimport { AXPHomePageSettings } from './home-page-settings.key';\nimport { AXP_HOME_PAGE_DEFAULT_KEY, AXP_HOME_PAGES } from './home-page.types';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageService {\n get flatCandidates() {\n return this.candidates.flatMap((c) => c);\n }\n constructor() {\n this.defaultHomePageKey = inject(AXP_HOME_PAGE_DEFAULT_KEY, { optional: true }) ?? 'home';\n this.userHomePageKey = null;\n this.candidates = inject(AXP_HOME_PAGES, { optional: true }) ?? [];\n this.settingsService = inject(AXPSettingService);\n this.sessionService = inject(AXPSessionService);\n this.injector = inject(Injector);\n this.originalConfig = null;\n this.loginPath = 'auth/login';\n // remove circular dependency\n setTimeout(async () => {\n await this.init();\n });\n }\n async init() {\n await this.load();\n //\n const keys = [AXPHomePageSettings.UserHomePath];\n this.settingsService.onChanged.subscribe(async (c) => {\n if (keys.some((k) => c.keys.includes(k))) {\n await this.load();\n this.refreshRoutes();\n }\n });\n //\n merge(this.sessionService.status$, this.sessionService.application$, this.sessionService.tenant$).subscribe(async (data) => {\n await this.load();\n this.refreshRoutes();\n });\n }\n async load() {\n this.userHomePageKey = await this.settingsService.get(AXPHomePageSettings.UserHomePath);\n }\n getRegisteredList() {\n return this.flatCandidates.filter((c) => c.route);\n }\n getRegisteredRoutes() {\n const defaultHomePage = this.flatCandidates.find((c) => c.key === this.defaultHomePageKey);\n const home = this.flatCandidates.find((c) => this.userHomePageKey && c.key === this.userHomePageKey) ?? defaultHomePage;\n if (home && home.route && this.sessionService.application?.name) {\n const fullPath = this.findPath(home.route);\n return [\n { path: '', redirectTo: fullPath, pathMatch: 'full' },\n { path: ':app', redirectTo: fullPath, pathMatch: 'full' },\n { ...home?.route, ...{ data: { key: home?.key, title: home?.title, path: fullPath } } },\n ];\n }\n return [\n { path: '', redirectTo: this.loginPath, pathMatch: 'full' },\n ];\n }\n getCurrent() {\n const key = this.userHomePageKey ?? this.defaultHomePageKey;\n const homePage = this.getRegisteredRoutes().find((c) => c.data?.['key'] === key);\n if (homePage) {\n return {\n path: homePage.data?.['path'],\n title: homePage.data?.['title'],\n };\n }\n return {\n path: this.loginPath,\n title: '',\n };\n }\n findPath(target) {\n const rawPath = this.buildFullPaths(target).join('/');\n const appName = this.sessionService.application?.name;\n if (appName) {\n return rawPath.replace(':app', appName);\n }\n return rawPath;\n }\n buildFullPaths(route, parentPath = []) {\n const segments = [...parentPath];\n if (route.path) {\n segments.push(route.path);\n }\n // Recursively search the first matched child (deepest first match)\n if (route.children?.length) {\n return this.buildFullPaths(route.children[0], segments);\n }\n return segments;\n }\n refreshRoutes() {\n const router = this.injector.get(Router);\n // 👇 On first call, remember what was there before:\n if (!this.originalConfig) {\n this.originalConfig = router.config;\n }\n this.applyMergedConfig(router);\n }\n applyMergedConfig(router) {\n const newHomeRoutes = this.getRegisteredRoutes(); // your 3 home entries\n // Filter the original routes to drop the old home placeholders.\n // We know your dynamic routes always have path === '' or ':app'\n // or carry a `data.key` matching one of your home-page keys.\n const otherRoutes = (this.originalConfig ?? [])\n .filter(r => r.path !== '' &&\n r.path !== ':app' &&\n !(r.data && typeof r.data['key'] === 'string'));\n // Build the new merged tree\n const merged = [\n ...newHomeRoutes,\n ...otherRoutes\n ];\n // TODO: check this for custom menu like :app/terms\n router.resetConfig(merged);\n }\n async navigateTo() {\n // wait for the router to be initialized \n setTimeout(() => {\n const router = this.injector.get(Router);\n const current = this.getCurrent();\n router.navigate([current.path]);\n }, 100);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2hvbWUtcGFnZS9ob21lLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFTLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQXlCLE1BQU0sbUJBQW1CLENBQUM7O0FBS3JHLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsSUFBWSxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDtRQWJRLHVCQUFrQixHQUFHLE1BQU0sQ0FBUyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUM3RixvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZGLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsbUJBQWMsR0FB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TTtZQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQy9DLENBQUM7UUFFSiw0QkFBNEI7UUFDNUIsTUFBTSxNQUFNLEdBQVc7WUFDckIsR0FBRyxhQUFhO1lBQ2hCLEdBQUcsV0FBVztTQUNmLENBQUM7UUFDRixtREFBbUQ7UUFDbkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVU7UUFDZCwwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzs4R0FwSlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlLCBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncyc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNldHRpbmdzIH0gZnJvbSAnLi9ob21lLXBhZ2Utc2V0dGluZ3Mua2V5JztcbmltcG9ydCB7IEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVksIEFYUF9IT01FX1BBR0VTLCBBWFBIb21lUGFnZURlZmluaXRpb24gfSBmcm9tICcuL2hvbWUtcGFnZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBIb21lUGFnZVNlcnZpY2Uge1xuICBwcml2YXRlIGRlZmF1bHRIb21lUGFnZUtleSA9IGluamVjdDxzdHJpbmc+KEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVksIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gJ2hvbWUnO1xuICBwcml2YXRlIHVzZXJIb21lUGFnZUtleTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgY2FuZGlkYXRlcyA9IGluamVjdDxBWFBIb21lUGFnZURlZmluaXRpb25bXT4oQVhQX0hPTUVfUEFHRVMsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gW107XG4gIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlID0gaW5qZWN0KEFYUFNldHRpbmdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIG9yaWdpbmFsQ29uZmlnOiBSb3V0ZXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBsb2dpblBhdGggPSAnYXV0aC9sb2dpbic7XG5cbiAgcHJpdmF0ZSBnZXQgZmxhdENhbmRpZGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FuZGlkYXRlcy5mbGF0TWFwKChjKSA9PiBjKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHJlbW92ZSBjaXJjdWxhciBkZXBlbmRlbmN5XG4gICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmluaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvYWQoKTtcbiAgICAvL1xuICAgIGNvbnN0IGtleXMgPSBbQVhQSG9tZVBhZ2VTZXR0aW5ncy5Vc2VySG9tZVBhdGhdO1xuICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLm9uQ2hhbmdlZC5zdWJzY3JpYmUoYXN5bmMgKGMpID0+IHtcbiAgICAgIGlmIChrZXlzLnNvbWUoKGspID0+IGMua2V5cy5pbmNsdWRlcyhrKSkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaFJvdXRlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vXG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnN0YXR1cyQsXG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uJCxcbiAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UudGVuYW50JCxcbiAgICApLnN1YnNjcmliZShcbiAgICAgIGFzeW5jIChkYXRhKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICAgICAgICB0aGlzLnJlZnJlc2hSb3V0ZXMoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbG9hZCgpIHtcbiAgICB0aGlzLnVzZXJIb21lUGFnZUtleSA9IGF3YWl0IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmdldChBWFBIb21lUGFnZVNldHRpbmdzLlVzZXJIb21lUGF0aCk7XG4gIH1cblxuICBnZXRSZWdpc3RlcmVkTGlzdCgpOiBBWFBIb21lUGFnZURlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhdENhbmRpZGF0ZXMuZmlsdGVyKChjKSA9PiBjLnJvdXRlKTtcbiAgfVxuXG4gIGdldFJlZ2lzdGVyZWRSb3V0ZXMoKTogUm91dGVzIHtcbiAgICBjb25zdCBkZWZhdWx0SG9tZVBhZ2UgPSB0aGlzLmZsYXRDYW5kaWRhdGVzLmZpbmQoKGMpID0+IGMua2V5ID09PSB0aGlzLmRlZmF1bHRIb21lUGFnZUtleSk7XG5cbiAgICBjb25zdCBob21lID1cbiAgICAgIHRoaXMuZmxhdENhbmRpZGF0ZXMuZmluZCgoYykgPT4gdGhpcy51c2VySG9tZVBhZ2VLZXkgJiYgYy5rZXkgPT09IHRoaXMudXNlckhvbWVQYWdlS2V5KSA/PyBkZWZhdWx0SG9tZVBhZ2U7XG4gICAgaWYgKGhvbWUgJiYgaG9tZS5yb3V0ZSAmJiB0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lKSB7XG4gICAgICBjb25zdCBmdWxsUGF0aCA9IHRoaXMuZmluZFBhdGgoaG9tZS5yb3V0ZSk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7IHBhdGg6ICcnLCByZWRpcmVjdFRvOiBmdWxsUGF0aCwgcGF0aE1hdGNoOiAnZnVsbCcgfSxcbiAgICAgICAgeyBwYXRoOiAnOmFwcCcsIHJlZGlyZWN0VG86IGZ1bGxQYXRoLCBwYXRoTWF0Y2g6ICdmdWxsJyB9LFxuICAgICAgICB7IC4uLmhvbWU/LnJvdXRlLCAuLi57IGRhdGE6IHsga2V5OiBob21lPy5rZXksIHRpdGxlOiBob21lPy50aXRsZSwgcGF0aDogZnVsbFBhdGggfSB9IH0sXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgeyBwYXRoOiAnJywgcmVkaXJlY3RUbzogdGhpcy5sb2dpblBhdGgsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXG4gICAgXTtcbiAgfVxuXG4gIGdldEN1cnJlbnQoKTogeyBwYXRoOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy51c2VySG9tZVBhZ2VLZXkgPz8gdGhpcy5kZWZhdWx0SG9tZVBhZ2VLZXk7XG4gICAgY29uc3QgaG9tZVBhZ2UgPSB0aGlzLmdldFJlZ2lzdGVyZWRSb3V0ZXMoKS5maW5kKChjKSA9PiBjLmRhdGE/Llsna2V5J10gPT09IGtleSkhO1xuICAgIGlmIChob21lUGFnZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogaG9tZVBhZ2UuZGF0YT8uWydwYXRoJ10sXG4gICAgICAgIHRpdGxlOiBob21lUGFnZS5kYXRhPy5bJ3RpdGxlJ10sXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aDogdGhpcy5sb2dpblBhdGgsXG4gICAgICB0aXRsZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhdGgodGFyZ2V0OiBSb3V0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3UGF0aCA9IHRoaXMuYnVpbGRGdWxsUGF0aHModGFyZ2V0KS5qb2luKCcvJyk7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG4gICAgaWYgKGFwcE5hbWUpIHtcbiAgICAgIHJldHVybiByYXdQYXRoLnJlcGxhY2UoJzphcHAnLCBhcHBOYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHJhd1BhdGg7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRnVsbFBhdGhzKHJvdXRlOiBSb3V0ZSwgcGFyZW50UGF0aDogc3RyaW5nW10gPSBbXSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IFsuLi5wYXJlbnRQYXRoXTtcbiAgICBpZiAocm91dGUucGF0aCkge1xuICAgICAgc2VnbWVudHMucHVzaChyb3V0ZS5wYXRoKTtcbiAgICB9XG5cbiAgICAvLyBSZWN1cnNpdmVseSBzZWFyY2ggdGhlIGZpcnN0IG1hdGNoZWQgY2hpbGQgKGRlZXBlc3QgZmlyc3QgbWF0Y2gpXG4gICAgaWYgKHJvdXRlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkRnVsbFBhdGhzKHJvdXRlLmNoaWxkcmVuWzBdLCBzZWdtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoUm91dGVzKCkge1xuICAgIGNvbnN0IHJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG5cbiAgICAvLyDwn5GHIE9uIGZpcnN0IGNhbGwsIHJlbWVtYmVyIHdoYXQgd2FzIHRoZXJlIGJlZm9yZTpcbiAgICBpZiAoIXRoaXMub3JpZ2luYWxDb25maWcpIHtcbiAgICAgIHRoaXMub3JpZ2luYWxDb25maWcgPSByb3V0ZXIuY29uZmlnO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbHlNZXJnZWRDb25maWcocm91dGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNZXJnZWRDb25maWcocm91dGVyOiBSb3V0ZXIpIHtcbiAgICBjb25zdCBuZXdIb21lUm91dGVzID0gdGhpcy5nZXRSZWdpc3RlcmVkUm91dGVzKCk7ICAvLyB5b3VyIDMgaG9tZSBlbnRyaWVzXG5cbiAgICAvLyBGaWx0ZXIgdGhlIG9yaWdpbmFsIHJvdXRlcyB0byBkcm9wIHRoZSBvbGQgaG9tZSBwbGFjZWhvbGRlcnMuXG4gICAgLy8gV2Uga25vdyB5b3VyIGR5bmFtaWMgcm91dGVzIGFsd2F5cyBoYXZlIHBhdGggPT09ICcnIG9yICc6YXBwJ1xuICAgIC8vIG9yIGNhcnJ5IGEgYGRhdGEua2V5YCBtYXRjaGluZyBvbmUgb2YgeW91ciBob21lLXBhZ2Uga2V5cy5cbiAgICBjb25zdCBvdGhlclJvdXRlcyA9ICh0aGlzLm9yaWdpbmFsQ29uZmlnID8/IFtdKVxuICAgICAgLmZpbHRlcihyID0+XG4gICAgICAgIHIucGF0aCAhPT0gJycgJiZcbiAgICAgICAgci5wYXRoICE9PSAnOmFwcCcgJiZcbiAgICAgICAgIShyLmRhdGEgJiYgdHlwZW9mIHIuZGF0YVsna2V5J10gPT09ICdzdHJpbmcnKVxuICAgICAgKTtcblxuICAgIC8vIEJ1aWxkIHRoZSBuZXcgbWVyZ2VkIHRyZWVcbiAgICBjb25zdCBtZXJnZWQ6IFJvdXRlcyA9IFtcbiAgICAgIC4uLm5ld0hvbWVSb3V0ZXMsXG4gICAgICAuLi5vdGhlclJvdXRlc1xuICAgIF07XG4gICAgLy8gVE9ETzogY2hlY2sgdGhpcyBmb3IgY3VzdG9tIG1lbnUgbGlrZSA6YXBwL3Rlcm1zXG4gICAgcm91dGVyLnJlc2V0Q29uZmlnKG1lcmdlZCk7XG4gIH1cblxuICBhc3luYyBuYXZpZ2F0ZVRvKCkge1xuICAgIC8vIHdhaXQgZm9yIHRoZSByb3V0ZXIgdG8gYmUgaW5pdGlhbGl6ZWQgIFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQoUm91dGVyKTtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldEN1cnJlbnQoKTtcbiAgICAgIHJvdXRlci5uYXZpZ2F0ZShbY3VycmVudC5wYXRoXSk7XG4gICAgfSwgMTAwKTtcbiAgfVxufVxuIl19","import { inject, makeEnvironmentProviders } from \"@angular/core\";\nimport { ROUTES } from \"@angular/router\";\nimport { AXPHomePageService } from \"./home-page.service\";\nfunction dynamicRoutesFactory() {\n const service = inject(AXPHomePageService);\n return service.getRegisteredRoutes();\n}\nexport function provideDynamicHomePage() {\n return makeEnvironmentProviders([\n {\n provide: ROUTES,\n useFactory: dynamicRoutesFactory,\n multi: true\n }\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLnJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS5yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixNQUFNLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELFNBQVMsb0JBQW9CO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0I7SUFDbEMsT0FBTyx3QkFBd0IsQ0FBQztRQUM1QjtZQUNJLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLG9CQUFvQjtZQUNoQyxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50UHJvdmlkZXJzLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb3V0ZXMsIFJPVVRFUyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2VydmljZSB9IGZyb20gXCIuL2hvbWUtcGFnZS5zZXJ2aWNlXCI7XG5cbmZ1bmN0aW9uIGR5bmFtaWNSb3V0ZXNGYWN0b3J5KCk6IFJvdXRlcyB7XG4gICAgY29uc3Qgc2VydmljZSA9IGluamVjdChBWFBIb21lUGFnZVNlcnZpY2UpO1xuICAgIHJldHVybiBzZXJ2aWNlLmdldFJlZ2lzdGVyZWRSb3V0ZXMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEeW5hbWljSG9tZVBhZ2UoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICAgIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBkeW5hbWljUm91dGVzRmFjdG9yeSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdKTtcbn0iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope, objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { inject, Injectable, Injector } from '@angular/core';\nimport { AXPHomePageSettings } from './home-page-settings.key';\nimport { AXPHomePageService } from './home-page.service';\nimport { AXP_HOME_PAGE_DEFAULT_KEY } from './home-page.types';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n this.homePageService = this.injector.get(AXPHomePageService);\n this.defaultHomePageKey = inject(AXP_HOME_PAGE_DEFAULT_KEY, { optional: true }) ?? 'home';\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`settings.${key}`, { scope: 'general' });\n const list = await this.homePageService.getRegisteredList().map((c) => ({ id: c.key, title: c.title }));\n if (list.length === 0) {\n return;\n }\n // Define the 'General Settings' group\n context\n .addGroup('general', await trans('general.title'), await trans('general.description'), 'fa-light fa-palette')\n // Add the 'Startup' section\n .addSection('startup', await trans('general.startup.title'), await trans('general.startup.description'))\n // Add the 'Home Page' setting\n .addSetting({\n key: AXPHomePageSettings.UserHomePath,\n title: await trans('general.startup.home-page.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: this.defaultHomePageKey || list[0].id,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: list,\n },\n },\n description: await trans('general.startup.home-page.description'),\n })\n // End the 'Startup' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9ob21lLXBhZ2UvaG9tZS1wYWdlLXNldHRpbmdzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0Qsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pFLHVCQUFrQixHQUFHLE1BQU0sQ0FBUyx5QkFBeUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUU1RCxDQUFDO0lBRTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQ2xDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFdEYsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE9BQU87YUFDSixRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUscUJBQXFCLENBQUM7WUFFN0csNEJBQTRCO2FBQzNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ3hHLDhCQUE4QjthQUM3QixVQUFVLENBQUM7WUFDVixHQUFHLEVBQUUsbUJBQW1CLENBQUMsWUFBWTtZQUNyQyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUM7WUFDckQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxlQUFlLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQy9DLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxFQUFFO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsT0FBTztvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsdUNBQXVDLENBQUM7U0FDbEUsQ0FBQztZQUVGLDRCQUE0QjthQUMzQixVQUFVLEVBQUU7WUFFYixtQ0FBbUM7YUFDbEMsUUFBUSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs4R0E5Q1UsMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlLCBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVhQSG9tZVBhZ2VTZXR0aW5ncyB9IGZyb20gJy4vaG9tZS1wYWdlLXNldHRpbmdzLmtleSc7XG5pbXBvcnQgeyBBWFBIb21lUGFnZVNlcnZpY2UgfSBmcm9tICcuL2hvbWUtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUF9IT01FX1BBR0VfREVGQVVMVF9LRVkgfSBmcm9tICcuL2hvbWUtcGFnZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBIb21lUGFnZVNldHRpbmdQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9tZVBhZ2VTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhQSG9tZVBhZ2VTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkZWZhdWx0SG9tZVBhZ2VLZXkgPSBpbmplY3Q8c3RyaW5nPihBWFBfSE9NRV9QQUdFX0RFRkFVTFRfS0VZLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/ICdob21lJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoYHNldHRpbmdzLiR7a2V5fWAsIHsgc2NvcGU6ICdnZW5lcmFsJyB9KTtcblxuICAgIGNvbnN0IGxpc3QgPSBhd2FpdCB0aGlzLmhvbWVQYWdlU2VydmljZS5nZXRSZWdpc3RlcmVkTGlzdCgpLm1hcCgoYykgPT4gKHsgaWQ6IGMua2V5LCB0aXRsZTogYy50aXRsZSB9KSk7XG4gICAgaWYgKGxpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRGVmaW5lIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICBjb250ZXh0XG4gICAgICAuYWRkR3JvdXAoJ2dlbmVyYWwnLCBhd2FpdCB0cmFucygnZ2VuZXJhbC50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5kZXNjcmlwdGlvbicpLCAnZmEtbGlnaHQgZmEtcGFsZXR0ZScpXG5cbiAgICAgIC8vIEFkZCB0aGUgJ1N0YXJ0dXAnIHNlY3Rpb25cbiAgICAgIC5hZGRTZWN0aW9uKCdzdGFydHVwJywgYXdhaXQgdHJhbnMoJ2dlbmVyYWwuc3RhcnR1cC50aXRsZScpLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5zdGFydHVwLmRlc2NyaXB0aW9uJykpXG4gICAgICAvLyBBZGQgdGhlICdIb21lIFBhZ2UnIHNldHRpbmdcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBIb21lUGFnZVNldHRpbmdzLlVzZXJIb21lUGF0aCxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLnN0YXJ0dXAuaG9tZS1wYWdlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiBBWFBQbGF0Zm9ybVNjb3BlLlVzZXIsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZGVmYXVsdEhvbWVQYWdlS2V5IHx8IGxpc3RbMF0uaWQsXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCdpZCcpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5zZWxlY3QsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2lkJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGxpc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLnN0YXJ0dXAuaG9tZS1wYWdlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuXG4gICAgICAvLyBFbmQgdGhlICdTdGFydHVwJyBzZWN0aW9uXG4gICAgICAuZW5kU2VjdGlvbigpXG5cbiAgICAgIC8vIEVuZCB0aGUgJ0dlbmVyYWwgU2V0dGluZ3MnIGdyb3VwXG4gICAgICAuZW5kR3JvdXAoKTtcbiAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { AXP_SETTING_DEFINITION_PROVIDER } from '../settings';\nimport { AXPHomePageSettingProvider } from './home-page-settings.provider';\nimport * as i0 from \"@angular/core\";\nexport class AXPHomePageModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageModule, providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPHomePageSettingProvider,\n multi: true,\n },\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPHomePageModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n providers: [\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPHomePageSettingProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1wYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvaG9tZS1wYWdlL2hvbWUtcGFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBWTNFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsYUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGlCQUFpQjtrQkFWN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLCtCQUErQjs0QkFDeEMsUUFBUSxFQUFFLDBCQUEwQjs0QkFDcEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX1NFVFRJTkdfREVGSU5JVElPTl9QUk9WSURFUiB9IGZyb20gJy4uL3NldHRpbmdzJztcbmltcG9ydCB7IEFYUEhvbWVQYWdlU2V0dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9ob21lLXBhZ2Utc2V0dGluZ3MucHJvdmlkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFVFRJTkdfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBIb21lUGFnZVNldHRpbmdQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEhvbWVQYWdlTW9kdWxlIHt9XG4iXX0=","export class AXPDataProvider {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm92aWRlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZGF0YS9kYXRhLXByb3ZpZGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsZUFBZTtDQWFwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBEYXRhUHJvdmlkZXIge1xuICBhYnN0cmFjdCBpbnNlcnRPbmUoZW50aXR5OiBhbnksIGVudGl0eUl0ZW06IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgaW5zZXJ0TWFueShlbnRpdHk6IGFueSwgZW50aXR5TGlzdDogYW55KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBnZXRPbmUoZW50aXR5OiBhbnksIGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGdldE1hbnkoZW50aXR5OiBhbnksIHBhcmFtcz86IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgdXBkYXRlT25lKGVudGl0eTogYW55LCBpZD86IHN0cmluZywgZGF0YT86IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGRlbGV0ZU9uZShlbnRpdHk6IGFueSwgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZ2V0Rmlyc3QoZW50aXR5OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHVwbG9hZEZpbGUoZmlsZTogRmlsZSwgdGl0bGU6IHN0cmluZywgY3VzdG9tVXJsPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+O1xuICBhYnN0cmFjdCB1cGRhdGVGaWxlKGlkOnN0cmluZyxmaWxlOiBGaWxlLCB0aXRsZTogc3RyaW5nLCBjdXN0b21Vcmw/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz47XG4gIGFic3RyYWN0IHVwbG9hZE11bHRpcGxlRmlsZXMoZmlsZXM6IEZpbGVbXSwgdGl0bGU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+O1xuICBhYnN0cmFjdCB2aWV3RmlsZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+O1xuICBhYnN0cmFjdCBkb3dubG9hZEZpbGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxCbG9iPjtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPCustomOperatorService {\n}\nexport class AXPCustomOperatorServiceImpl extends AXPCustomOperatorService {\n getCustomOperators() {\n return {};\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCustomOperatorServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCustomOperatorServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCustomOperatorServiceImpl, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2RhdGEvb3BlcmF0b3JzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxPQUFnQix3QkFBd0I7Q0FFN0M7QUFHRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3hFLGtCQUFrQjtRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBSFUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2VPcGVyYXRvciB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2Uge1xuICBhYnN0cmFjdCBnZXRDdXN0b21PcGVyYXRvcnMoKTogeyBba2V5OiBzdHJpbmddOiBBWERhdGFTb3VyY2VPcGVyYXRvciB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlSW1wbCBleHRlbmRzIEFYUEN1c3RvbU9wZXJhdG9yU2VydmljZSB7XG4gIGdldEN1c3RvbU9wZXJhdG9ycygpOiB7IFtrZXk6IHN0cmluZ106IEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIl19","import { inject, Injectable } from '@angular/core';\nimport { ALL_DEFAULT_OPERATORS } from '../app';\nimport { AXPCustomOperatorService } from './operators.service';\nimport * as i0 from \"@angular/core\";\nexport class AXPFilterOperatorMiddlewareService {\n}\nexport class AXPFilterOperatorMiddlewareServiceImpl extends AXPFilterOperatorMiddlewareService {\n constructor() {\n super(...arguments);\n this.customOperatorService = inject(AXPCustomOperatorService);\n this.operators = {\n ...this.getDefaultOperators(),\n ...this.customOperatorService.getCustomOperators(),\n };\n }\n transformFilters(filters) {\n return filters.map((filter) => this.transformFilter(filter));\n }\n transformFilter(filter) {\n const { operator, value, filters, field } = filter;\n // Find the operator (either default or custom)\n const filterOperator = this.operators[operator?.type ?? ''] || null;\n // Start by transforming the filter itself\n const transformedFilter = {\n ...filter, // Keep the original filter structure\n operator: filterOperator ? filterOperator : operator, // Add operator name\n };\n // If the filter contains nested filters, recursively transform them\n if (filters && filters.length > 0) {\n transformedFilter.filters = this.transformFilters(filters); // Recursively transform nested filters\n }\n return transformedFilter;\n }\n getOperator(key) {\n return this.operators[key];\n }\n // Helper function to return the default operators\n getDefaultOperators() {\n return ALL_DEFAULT_OPERATORS.reduce((acc, operator) => {\n acc[operator.name] = {\n type: operator.name,\n };\n return acc;\n }, {});\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFilterOperatorMiddlewareServiceImpl, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW1pZGRsZXdhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZGF0YS9maWx0ZXItbWlkZGxld2FyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFL0QsTUFBTSxPQUFnQixrQ0FBa0M7Q0FpQnZEO0FBR0QsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLGtDQUFrQztJQUQ5Rjs7UUFFVSwwQkFBcUIsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUV6RCxjQUFTLEdBQTRDO1lBQzNELEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFO1NBQ25ELENBQUM7S0F5Q0g7SUF2Q0MsZ0JBQWdCLENBQUMsT0FBbUM7UUFDbEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFnQztRQUM5QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ25ELCtDQUErQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO1FBRXBFLDBDQUEwQztRQUMxQyxNQUFNLGlCQUFpQixHQUE2QjtZQUNsRCxHQUFHLE1BQU0sRUFBRSxxQ0FBcUM7WUFDaEQsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CO1NBQzNFLENBQUM7UUFFRixvRUFBb0U7UUFDcEUsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1FBQ3JHLENBQUM7UUFFRCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGtEQUFrRDtJQUMxQyxtQkFBbUI7UUFDekIsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQ2pDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2hCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ25CLElBQUksRUFBRSxRQUFRLENBQUMsSUFBVzthQUMzQixDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0QsRUFBNkMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7OEdBOUNVLHNDQUFzQztrSEFBdEMsc0NBQXNDOzsyRkFBdEMsc0NBQXNDO2tCQURsRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uLCBBWERhdGFTb3VyY2VPcGVyYXRvciB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFMTF9ERUZBVUxUX09QRVJBVE9SUyB9IGZyb20gJy4uL2FwcCc7XG5pbXBvcnQgeyBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2UgfSBmcm9tICcuL29wZXJhdG9ycy5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2Uge1xuICAvKipcbiAgICogTWlkZGxld2FyZSB0byB0cmFuc2Zvcm0gc2VsZWN0ZWQgZmlsdGVycyBpbnRvIGNvcnJlc3BvbmRpbmcgb3BlcmF0b3JzLlxuICAgKiBAcGFyYW0gZmlsdGVycyBBcnJheSBvZiBzZWxlY3RlZCBmaWx0ZXJzIChlLmcuLCB1c2VyIGlucHV0KS5cbiAgICogQHBhcmFtIGN1c3RvbU9wZXJhdG9ycyBPcHRpb25hbCBjdXN0b20gb3BlcmF0b3JzIG1hcCB0byBvdmVycmlkZSBkZWZhdWx0IG9wZXJhdG9ycy5cbiAgICogQHJldHVybnMgVHJhbnNmb3JtZWQgZmlsdGVycyBiYXNlZCBvbiBjdXN0b20gb3IgZGVmYXVsdCBvcGVyYXRvcnMuXG4gICAqL1xuICBhYnN0cmFjdCB0cmFuc2Zvcm1GaWx0ZXJzKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW107XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gdHJhbnNmb3JtIGEgc2luZ2xlIGZpbHRlci4gVGhpcyBoYW5kbGVzIHJlY3Vyc2lvbiBmb3IgbmVzdGVkIGZpbHRlcnMuXG4gICAqIEBwYXJhbSBmaWx0ZXIgQSBzaW5nbGUgZmlsdGVyIG9iamVjdC5cbiAgICogQHJldHVybnMgVHJhbnNmb3JtZWQgZmlsdGVyLlxuICAgKi9cbiAgYWJzdHJhY3QgdHJhbnNmb3JtRmlsdGVyKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbik6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbjtcblxuICBhYnN0cmFjdCBnZXRPcGVyYXRvcihrZXk6IHN0cmluZyk6IEFYRGF0YVNvdXJjZU9wZXJhdG9yO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRmlsdGVyT3BlcmF0b3JNaWRkbGV3YXJlU2VydmljZUltcGwgZXh0ZW5kcyBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjdXN0b21PcGVyYXRvclNlcnZpY2UgPSBpbmplY3QoQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlKTtcblxuICBwcml2YXRlIG9wZXJhdG9yczogeyBba2V5OiBzdHJpbmddOiBBWERhdGFTb3VyY2VPcGVyYXRvciB9ID0ge1xuICAgIC4uLnRoaXMuZ2V0RGVmYXVsdE9wZXJhdG9ycygpLFxuICAgIC4uLnRoaXMuY3VzdG9tT3BlcmF0b3JTZXJ2aWNlLmdldEN1c3RvbU9wZXJhdG9ycygpLFxuICB9O1xuXG4gIHRyYW5zZm9ybUZpbHRlcnMoZmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10pOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb25bXSB7XG4gICAgcmV0dXJuIGZpbHRlcnMubWFwKChmaWx0ZXIpID0+IHRoaXMudHJhbnNmb3JtRmlsdGVyKGZpbHRlcikpO1xuICB9XG5cbiAgdHJhbnNmb3JtRmlsdGVyKGZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uIHtcbiAgICBjb25zdCB7IG9wZXJhdG9yLCB2YWx1ZSwgZmlsdGVycywgZmllbGQgfSA9IGZpbHRlcjtcbiAgICAvLyBGaW5kIHRoZSBvcGVyYXRvciAoZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tKVxuICAgIGNvbnN0IGZpbHRlck9wZXJhdG9yID0gdGhpcy5vcGVyYXRvcnNbb3BlcmF0b3I/LnR5cGUgPz8gJyddIHx8IG51bGw7XG5cbiAgICAvLyBTdGFydCBieSB0cmFuc2Zvcm1pbmcgdGhlIGZpbHRlciBpdHNlbGZcbiAgICBjb25zdCB0cmFuc2Zvcm1lZEZpbHRlcjogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICAgICAgLi4uZmlsdGVyLCAvLyBLZWVwIHRoZSBvcmlnaW5hbCBmaWx0ZXIgc3RydWN0dXJlXG4gICAgICBvcGVyYXRvcjogZmlsdGVyT3BlcmF0b3IgPyBmaWx0ZXJPcGVyYXRvciA6IG9wZXJhdG9yLCAvLyBBZGQgb3BlcmF0b3IgbmFtZVxuICAgIH07XG5cbiAgICAvLyBJZiB0aGUgZmlsdGVyIGNvbnRhaW5zIG5lc3RlZCBmaWx0ZXJzLCByZWN1cnNpdmVseSB0cmFuc2Zvcm0gdGhlbVxuICAgIGlmIChmaWx0ZXJzICYmIGZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgICAgdHJhbnNmb3JtZWRGaWx0ZXIuZmlsdGVycyA9IHRoaXMudHJhbnNmb3JtRmlsdGVycyhmaWx0ZXJzKTsgLy8gUmVjdXJzaXZlbHkgdHJhbnNmb3JtIG5lc3RlZCBmaWx0ZXJzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkRmlsdGVyO1xuICB9XG5cbiAgZ2V0T3BlcmF0b3Ioa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRvcnNba2V5XTtcbiAgfVxuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGRlZmF1bHQgb3BlcmF0b3JzXG4gIHByaXZhdGUgZ2V0RGVmYXVsdE9wZXJhdG9ycygpOiB7IFtrZXk6IHN0cmluZ106IEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0ge1xuICAgIHJldHVybiBBTExfREVGQVVMVF9PUEVSQVRPUlMucmVkdWNlKFxuICAgICAgKGFjYywgb3BlcmF0b3IpID0+IHtcbiAgICAgICAgYWNjW29wZXJhdG9yLm5hbWVdID0ge1xuICAgICAgICAgIHR5cGU6IG9wZXJhdG9yLm5hbWUgYXMgYW55LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIHsgW2tleTogc3RyaW5nXTogQVhEYXRhU291cmNlT3BlcmF0b3IgfSxcbiAgICApO1xuICB9XG59XG4iXX0=","import { Injectable, Injector } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPErrorHandlerRegistryService {\n constructor(injector) {\n this.injector = injector;\n this.errorHandlers = [];\n }\n register(...plugins) {\n plugins.forEach(t => {\n const childInjector = Injector.create({ providers: [{ provide: t, useClass: t, deps: [] }], parent: this.injector });\n const handler = childInjector.get(t);\n if (handler) {\n this.errorHandlers.push(handler);\n }\n });\n }\n get handlers() {\n return this.errorHandlers;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPErrorHandlerRegistryService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPErrorHandlerRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPErrorHandlerRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9lcnJvcnMvZXJyb3ItaGFuZGxlci1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1yRCxNQUFNLE9BQU8sOEJBQThCO0lBR3ZDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUIsa0JBQWEsR0FBc0IsRUFBRSxDQUFDO0lBRzlDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBRyxPQUFzQztRQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckgsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFHRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQzs4R0FuQlEsOEJBQThCO2tIQUE5Qiw4QkFBOEIsY0FGM0IsTUFBTTs7MkZBRVQsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciB9IGZyb20gXCIuL2Vycm9yLWhhbmRsZXIudHlwZXNcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2Uge1xuICAgIHByaXZhdGUgZXJyb3JIYW5kbGVyczogQVhQRXJyb3JIYW5kbGVyW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXIoLi4ucGx1Z2luczogKG5ldyAoKSA9PiBBWFBFcnJvckhhbmRsZXIpW10pIHtcbiAgICAgICAgcGx1Z2lucy5mb3JFYWNoKHQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogdCwgdXNlQ2xhc3M6IHQsIGRlcHM6IFtdIH1dLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IgfSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gY2hpbGRJbmplY3Rvci5nZXQodCk7XG4gICAgICAgICAgICBpZiAoaGFuZGxlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVycy5wdXNoKGhhbmRsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuXG4gICAgcHVibGljIGdldCBoYW5kbGVycygpOiBBWFBFcnJvckhhbmRsZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlcnM7XG4gICAgfVxufSJdfQ==","import { ErrorHandler, Injectable, Injector } from \"@angular/core\";\nimport { AXPErrorHandlerRegistryService } from \"./error-handler-registry.service\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./error-handler-registry.service\";\nexport class AXPGlobalErrorHandler extends ErrorHandler {\n constructor(injector, registry) {\n super();\n this.injector = injector;\n this.registry = registry;\n }\n handleError(error) {\n const handleErrorRecursively = (index, error) => {\n const errorHandlers = this.registry.handlers;\n if (index < errorHandlers.length) {\n errorHandlers[index].handleError(error, (err) => {\n handleErrorRecursively(index + 1, err);\n });\n }\n else {\n super.handleError(error); // Fallback to default handler\n }\n };\n if (error.message?.startsWith('NG0100')) {\n //ignore it\n return;\n }\n handleErrorRecursively(0, error);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalErrorHandler, deps: [{ token: i0.Injector }, { token: i1.AXPErrorHandlerRegistryService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalErrorHandler, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalErrorHandler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AXPErrorHandlerRegistryService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUdsRixNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUluRCxZQUFvQixRQUFrQixFQUFVLFFBQXdDO1FBQ3BGLEtBQUssRUFBRSxDQUFBO1FBRFMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdDO0lBRXhGLENBQUM7SUFFUSxXQUFXLENBQUMsS0FBWTtRQUM3QixNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBYSxFQUFFLEtBQVUsRUFBRSxFQUFFO1lBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQzdDLElBQUksS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDNUMsc0JBQXNCLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtZQUM1RCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RDLFdBQVc7WUFDWCxPQUFNO1FBQ1YsQ0FBQztRQUNELHNCQUFzQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQXhCUSxxQkFBcUI7a0hBQXJCLHFCQUFxQixjQURSLE1BQU07OzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2UgfSBmcm9tIFwiLi9lcnJvci1oYW5kbGVyLXJlZ2lzdHJ5LnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBHbG9iYWxFcnJvckhhbmRsZXIgZXh0ZW5kcyBFcnJvckhhbmRsZXIge1xuXG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlZ2lzdHJ5OiBBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcikge1xuICAgICAgICBjb25zdCBoYW5kbGVFcnJvclJlY3Vyc2l2ZWx5ID0gKGluZGV4OiBudW1iZXIsIGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ySGFuZGxlcnMgPSB0aGlzLnJlZ2lzdHJ5LmhhbmRsZXJzO1xuICAgICAgICAgICAgaWYgKGluZGV4IDwgZXJyb3JIYW5kbGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBlcnJvckhhbmRsZXJzW2luZGV4XS5oYW5kbGVFcnJvcihlcnJvciwgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVFcnJvclJlY3Vyc2l2ZWx5KGluZGV4ICsgMSwgZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXJyb3IoZXJyb3IpOyAvLyBGYWxsYmFjayB0byBkZWZhdWx0IGhhbmRsZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGVycm9yLm1lc3NhZ2U/LnN0YXJ0c1dpdGgoJ05HMDEwMCcpKSB7XG4gICAgICAgICAgICAvL2lnbm9yZSBpdFxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlRXJyb3JSZWN1cnNpdmVseSgwLCBlcnJvcik7XG4gICAgfVxufVxuIl19","// src/app/directives/grid-layout.directive.ts\nimport { Directive, Input, ElementRef, Renderer2 } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPGridLayoutDirective {\n constructor(el, renderer) {\n this.el = el;\n this.renderer = renderer;\n }\n ngOnChanges(changes) {\n if (changes['options']) {\n this.applyTailwindClasses();\n }\n }\n applyTailwindClasses() {\n if (this.options?.positions == null)\n return;\n // Clear existing grid classes\n this.clearClasses();\n // Apply new grid classes based on the input options\n this.setClasses(this.options.positions?.default, '');\n this.setClasses(this.options.positions?.md, 'md:');\n this.setClasses(this.options.positions?.lg, 'lg:');\n this.setClasses(this.options.positions?.xl, 'xl:');\n this.setClasses(this.options.positions?.xxl, '2xl:');\n }\n setClasses(positions, prefix) {\n if (positions == null)\n return;\n const colStart = positions.colStart ? `${prefix}ax-col-start-${positions.colStart}` : '';\n const colEnd = positions.colEnd ? `${prefix}ax-col-end-${positions.colEnd}` : '';\n const colSpan = positions.colSpan ? `${prefix}ax-col-span-${positions.colSpan}` : '';\n const rowStart = positions.rowStart ? `${prefix}ax-row-start-${positions.rowStart}` : '';\n const rowEnd = positions.rowEnd ? `${prefix}ax-row-end-${positions.rowEnd}` : '';\n const rowSpan = positions.rowSpan ? `${prefix}ax-row-span-${positions.rowSpan}` : '';\n const order = positions.order ? `${prefix}ax-order-${positions.order}` : ''; // Handling order\n [colStart, colEnd, colSpan, rowStart, rowEnd, rowSpan, order].forEach(cls => {\n if (cls) {\n this.renderer.addClass(this.el.nativeElement, cls);\n }\n });\n }\n clearClasses() {\n const currentClasses = this.el.nativeElement.className.split(' ');\n currentClasses.forEach((className) => {\n if (className.startsWith('ax-col-') || className.startsWith('ax-row-') || className.startsWith('ax-order-')) {\n this.renderer.removeClass(this.el.nativeElement, className);\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGridLayoutDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPGridLayoutDirective, isStandalone: true, selector: \"[gridLayout]\", inputs: { options: [\"gridLayout\", \"options\"] }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGridLayoutDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[gridLayout]',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { options: [{\n type: Input,\n args: ['gridLayout']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvZ3JpZC1sYXlvdXQvZ3JpZC1sYXlvdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhDQUE4QztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPbEcsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBSSxDQUFDO0lBRXBFLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU87UUFDNUMsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUs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QUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2FwcC9kaXJlY3RpdmVzL2dyaWQtbGF5b3V0LmRpcmVjdGl2ZS50c1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEdyaWRMYXlvdXRQb3NpdGlvbnMgfSBmcm9tICcuL2dyaWQtbGF5b3V0LnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dyaWRMYXlvdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQR3JpZExheW91dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnZ3JpZExheW91dCcpIG9wdGlvbnM6IEFYUEdyaWRMYXlvdXRPcHRpb25zO1xuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ29wdGlvbnMnXSkge1xuICAgICAgdGhpcy5hcHBseVRhaWx3aW5kQ2xhc3NlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUYWlsd2luZENsYXNzZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucz8ucG9zaXRpb25zID09IG51bGwpIHJldHVybjtcbiAgICAvLyBDbGVhciBleGlzdGluZyBncmlkIGNsYXNzZXNcbiAgICB0aGlzLmNsZWFyQ2xhc3NlcygpO1xuXG4gICAgLy8gQXBwbHkgbmV3IGdyaWQgY2xhc3NlcyBiYXNlZCBvbiB0aGUgaW5wdXQgb3B0aW9uc1xuICAgIHRoaXMuc2V0Q2xhc3Nlcyh0aGlzLm9wdGlvbnMucG9zaXRpb25zPy5kZWZhdWx0LCAnJyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/Lm1kLCAnbWQ6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/LmxnLCAnbGc6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/LnhsLCAneGw6Jyk7XG4gICAgdGhpcy5zZXRDbGFzc2VzKHRoaXMub3B0aW9ucy5wb3NpdGlvbnM/Lnh4bCwgJzJ4bDonKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2xhc3Nlcyhwb3NpdGlvbnM6IEFYUEdyaWRMYXlvdXRQb3NpdGlvbnMgfCB1bmRlZmluZWQsIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBvc2l0aW9ucyA9PSBudWxsKSByZXR1cm47XG5cbiAgICBjb25zdCBjb2xTdGFydCA9IHBvc2l0aW9ucy5jb2xTdGFydCA/IGAke3ByZWZpeH1heC1jb2wtc3RhcnQtJHtwb3NpdGlvbnMuY29sU3RhcnR9YCA6ICcnO1xuICAgIGNvbnN0IGNvbEVuZCA9IHBvc2l0aW9ucy5jb2xFbmQgPyBgJHtwcmVmaXh9YXgtY29sLWVuZC0ke3Bvc2l0aW9ucy5jb2xFbmR9YCA6ICcnO1xuICAgIGNvbnN0IGNvbFNwYW4gPSBwb3NpdGlvbnMuY29sU3BhbiA/IGAke3ByZWZpeH1heC1jb2wtc3Bhbi0ke3Bvc2l0aW9ucy5jb2xTcGFufWAgOiAnJztcbiAgICBjb25zdCByb3dTdGFydCA9IHBvc2l0aW9ucy5yb3dTdGFydCA/IGAke3ByZWZpeH1heC1yb3ctc3RhcnQtJHtwb3NpdGlvbnMucm93U3RhcnR9YCA6ICcnO1xuICAgIGNvbnN0IHJvd0VuZCA9IHBvc2l0aW9ucy5yb3dFbmQgPyBgJHtwcmVmaXh9YXgtcm93LWVuZC0ke3Bvc2l0aW9ucy5yb3dFbmR9YCA6ICcnO1xuICAgIGNvbnN0IHJvd1NwYW4gPSBwb3NpdGlvbnMucm93U3BhbiA/IGAke3ByZWZpeH1heC1yb3ctc3Bhbi0ke3Bvc2l0aW9ucy5yb3dTcGFufWAgOiAnJztcbiAgICBjb25zdCBvcmRlciA9IHBvc2l0aW9ucy5vcmRlciA/IGAke3ByZWZpeH1heC1vcmRlci0ke3Bvc2l0aW9ucy5vcmRlcn1gIDogJyc7IC8vIEhhbmRsaW5nIG9yZGVyXG5cbiAgICBbY29sU3RhcnQsIGNvbEVuZCwgY29sU3Bhbiwgcm93U3RhcnQsIHJvd0VuZCwgcm93U3Bhbiwgb3JkZXJdLmZvckVhY2goY2xzID0+IHtcbiAgICAgIGlmIChjbHMpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNscyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ2xhc3NlcygpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Q2xhc3NlcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc05hbWUuc3BsaXQoJyAnKTtcbiAgICBjdXJyZW50Q2xhc3Nlcy5mb3JFYWNoKChjbGFzc05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKCdheC1jb2wtJykgfHwgY2xhc3NOYW1lLnN0YXJ0c1dpdGgoJ2F4LXJvdy0nKSB8fCBjbGFzc05hbWUuc3RhcnRzV2l0aCgnYXgtb3JkZXItJykpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPStickyDirective {\n get isSticky() {\n return this._isSticky;\n }\n set isSticky(value) {\n if (this._isSticky !== value) {\n this._isSticky = value;\n this.isStickyChange.emit(value);\n }\n }\n constructor(element, renderer, zone, cdr) {\n this.element = element;\n this.renderer = renderer;\n this.zone = zone;\n this.cdr = cdr;\n this.stickyOffset = 100;\n this.isStickyChange = new EventEmitter();\n this._isSticky = false;\n this.onParentScroll = () => {\n this.zone.runOutsideAngular(() => {\n const scrollTop = this.parentElement === window\n ? window.scrollY\n : this.parentElement.scrollTop;\n const shouldStick = scrollTop + this.stickyOffset >= this.topOffset;\n if (shouldStick !== this.isSticky) {\n this.zone.run(() => {\n this.isSticky = shouldStick;\n this.toggleStickyClasses(shouldStick);\n this.cdr.markForCheck();\n });\n }\n });\n };\n }\n ngAfterViewInit() {\n this.initSticky();\n // Add mutation observer for dynamic content\n this.mutationObserver = new MutationObserver(() => {\n this.updateTopOffset();\n });\n this.mutationObserver.observe(this.element.nativeElement, {\n childList: true,\n subtree: true,\n });\n // Add resize event listener\n window.addEventListener('resize', this.updateTopOffset.bind(this));\n }\n initSticky() {\n if (this.stickyParent instanceof HTMLElement) {\n this.parentElement = this.stickyParent;\n }\n else {\n this.parentElement =\n document.querySelector(this.stickyParent) || window;\n }\n this.targetElement =\n document.querySelector(this.stickyTarget) ||\n this.element.nativeElement;\n this.updateTopOffset();\n this.parentElement.addEventListener('scroll', this.onParentScroll);\n }\n updateTopOffset() {\n this.zone.runOutsideAngular(() => {\n const rect = this.targetElement.getBoundingClientRect();\n this.topOffset = rect.top + (window.scrollY || 0);\n });\n }\n toggleStickyClasses(isSticky) {\n const classes = this.stickyClass.split(' ').filter(Boolean);\n classes.forEach((className) => {\n if (isSticky) {\n this.renderer.addClass(this.targetElement, className);\n }\n else {\n this.renderer.removeClass(this.targetElement, className);\n }\n });\n }\n ngOnDestroy() {\n this.parentElement.removeEventListener('scroll', this.onParentScroll);\n window.removeEventListener('resize', this.updateTopOffset.bind(this));\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPStickyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPStickyDirective, isStandalone: true, selector: \"[axpSticky]\", inputs: { stickyClass: [\"axpSticky\", \"stickyClass\"], stickyOffset: \"stickyOffset\", stickyParent: \"stickyParent\", stickyTarget: \"stickyTarget\" }, outputs: { isStickyChange: \"isStickyChange\" }, exportAs: [\"axpSticky\"], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPStickyDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[axpSticky]',\n exportAs: 'axpSticky',\n standalone: true,\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { stickyClass: [{\n type: Input,\n args: ['axpSticky']\n }], stickyOffset: [{\n type: Input,\n args: ['stickyOffset']\n }], isStickyChange: [{\n type: Output\n }], stickyParent: [{\n type: Input\n }], stickyTarget: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L3N0aWNreS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7O0FBT3ZCLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFVRCxZQUNVLE9BQW1DLEVBQ25DLFFBQW1CLEVBQ25CLElBQVksRUFDWixHQUFzQjtRQUh0QixZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTNCVCxpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUV4QyxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXRFLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFrRTNCLG1CQUFjLEdBQUcsR0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMs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QUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDOzhHQTdHVSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs0SkFFcUIsV0FBVztzQkFBOUIsS0FBSzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQWxDLEtBQUs7dUJBQUMsY0FBYztnQkFFWCxjQUFjO3NCQUF2QixNQUFNO2dCQWtCRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4cFN0aWNreV0nLFxuICBleHBvcnRBczogJ2F4cFN0aWNreScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0aWNreURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnYXhwU3RpY2t5Jykgc3RpY2t5Q2xhc3MhOiBzdHJpbmc7XG4gIEBJbnB1dCgnc3RpY2t5T2Zmc2V0Jykgc3RpY2t5T2Zmc2V0OiBudW1iZXIgPSAxMDA7XG5cbiAgQE91dHB1dCgpIGlzU3RpY2t5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfaXNTdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGdldCBpc1N0aWNreSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdGlja3k7XG4gIH1cbiAgcHVibGljIHNldCBpc1N0aWNreSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9pc1N0aWNreSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX2lzU3RpY2t5ID0gdmFsdWU7XG4gICAgICB0aGlzLmlzU3RpY2t5Q2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9wT2Zmc2V0ITogbnVtYmVyO1xuICBwcml2YXRlIHBhcmVudEVsZW1lbnQhOiBIVE1MRWxlbWVudCB8IFdpbmRvdztcbiAgcHJpdmF0ZSB0YXJnZXRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgbXV0YXRpb25PYnNlcnZlciE6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgQElucHV0KCkgc3RpY2t5UGFyZW50ITogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHN0aWNreVRhcmdldCE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5pbml0U3RpY2t5KCk7XG5cbiAgICAvLyBBZGQgbXV0YXRpb24gb2JzZXJ2ZXIgZm9yIGR5bmFtaWMgY29udGVudFxuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVG9wT2Zmc2V0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIEFkZCByZXNpemUgZXZlbnQgbGlzdGVuZXJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVUb3BPZmZzZXQuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTdGlja3koKSB7XG4gICAgaWYgKHRoaXMuc3RpY2t5UGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IHRoaXMuc3RpY2t5UGFyZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQgPVxuICAgICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnN0aWNreVBhcmVudCkgYXMgSFRNTEVsZW1lbnQpIHx8IHdpbmRvdztcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldEVsZW1lbnQgPVxuICAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zdGlja3lUYXJnZXQpIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnVwZGF0ZVRvcE9mZnNldCgpO1xuICAgIHRoaXMucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVG9wT2Zmc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy50YXJnZXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy50b3BPZmZzZXQgPSByZWN0LnRvcCArICh3aW5kb3cuc2Nyb2xsWSB8fCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QYXJlbnRTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbFRvcCA9XG4gICAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9PT0gd2luZG93XG4gICAgICAgICAgPyB3aW5kb3cuc2Nyb2xsWVxuICAgICAgICAgIDogKHRoaXMucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc2Nyb2xsVG9wO1xuXG4gICAgICBjb25zdCBzaG91bGRTdGljayA9IHNjcm9sbFRvcCArIHRoaXMuc3RpY2t5T2Zmc2V0ID49IHRoaXMudG9wT2Zmc2V0O1xuXG4gICAgICBpZiAoc2hvdWxkU3RpY2sgIT09IHRoaXMuaXNTdGlja3kpIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1N0aWNreSA9IHNob3VsZFN0aWNrO1xuICAgICAgICAgIHRoaXMudG9nZ2xlU3RpY2t5Q2xhc3NlcyhzaG91bGRTdGljayk7XG4gICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgdG9nZ2xlU3RpY2t5Q2xhc3Nlcyhpc1N0aWNreTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnN0aWNreUNsYXNzLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNsYXNzZXMuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PiB7XG4gICAgICBpZiAoaXNTdGlja3kpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhcmdldEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFyZ2V0RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVUb3BPZmZzZXQuYmluZCh0aGlzKSk7XG5cbiAgICBpZiAodGhpcy5tdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxufVxuIl19","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPComponentLogoConfig, AXPImageUrlLogoConfig } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/image\";\nexport class AXPLogoComponent {\n constructor() {\n this.platform = inject(AXPlatform);\n }\n ngOnInit() {\n this.setLogoType();\n this.platform.themeMode$.subscribe(() => {\n this.setLogoTheme();\n });\n }\n ngOnChanges() {\n this.setLogoTheme();\n }\n setLogoType() {\n switch (true) {\n case this.source instanceof AXPImageUrlLogoConfig:\n this.logoType = 'url';\n break;\n case this.source instanceof AXPComponentLogoConfig:\n this.logoType = 'component';\n break;\n default:\n break;\n }\n }\n setLogoTheme() {\n if (this.source && this.source.dark && this.source.light) {\n this.source = this.platform.isDark() ? this.source.dark : this.source.light;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPLogoComponent, isStandalone: true, selector: \"axp-logo\", inputs: { source: \"source\" }, host: { classAttribute: \"ax-flex ax-justify-center\" }, usesOnChanges: true, ngImport: i0, template: \"@switch (logoType) { @case ('url') {\\n<ax-image [width]=\\\"source.width\\\" [height]=\\\"source.height\\\" [src]=\\\"source.url\\\"></ax-image>\\n} @case ('component') {\\n<ng-container *ngComponentOutlet=\\\"source.component\\\"></ng-container>\\n} }\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"ngmodule\", type: AXImageModule }, { kind: \"component\", type: i2.AXImageComponent, selector: \"ax-image\", inputs: [\"width\", \"height\", \"overlayMode\", \"src\", \"alt\", \"priority\", \"lazy\"], outputs: [\"onLoad\", \"onError\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLogoComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-logo', imports: [CommonModule, AXImageModule, AXDecoratorModule], host: { class: 'ax-flex ax-justify-center' }, template: \"@switch (logoType) { @case ('url') {\\n<ax-image [width]=\\\"source.width\\\" [height]=\\\"source.height\\\" [src]=\\\"source.url\\\"></ax-image>\\n} @case ('component') {\\n<ng-container *ngComponentOutlet=\\\"source.component\\\"></ng-container>\\n} }\\n\" }]\n }], propDecorators: { source: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC9sb2dvL2xvZ28uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbG9nby9sb2dvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBWVUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWdDdkM7SUE5QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxXQUFXO1FBQ25CLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLElBQUksQ0FBQyxNQUFNLFlBQVkscUJBQXFCO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsTUFBTTtZQUVSLEtBQUssSUFBSSxDQUFDLE1BQU0sWUFBWSxzQkFBc0I7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUM1QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUssSUFBSSxDQUFDLE1BQWMsQ0FBQyxJQUFJLElBQUssSUFBSSxDQUFDLE1BQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBYyxDQUFDLEtBQUssQ0FBQztRQUNoRyxDQUFDO0lBQ0gsQ0FBQzs4R0FyQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsOEtDZDdCLDZPQUtBLDJDRE1ZLFlBQVksK1dBQUUsYUFBYSxvTkFBRSxpQkFBaUI7OzJGQUc3QyxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsVUFBVSxXQUVYLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUNuRCxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTs4QkFJNUMsTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEltYWdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2ltYWdlJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuXG5pbXBvcnQgeyBBWFBDb21wb25lbnRMb2dvQ29uZmlnLCBBWFBJbWFnZVVybExvZ29Db25maWcgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtbG9nbycsXG4gIHRlbXBsYXRlVXJsOiBgbG9nby5jb21wb25lbnQuaHRtbGAsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYSW1hZ2VNb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlXSxcbiAgaG9zdDogeyBjbGFzczogJ2F4LWZsZXggYXgtanVzdGlmeS1jZW50ZXInIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUExvZ29Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBzb3VyY2UhOiBhbnk7XG5cbiAgcHJvdGVjdGVkIGxvZ29UeXBlITogc3RyaW5nO1xuXG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMb2dvVHlwZSgpO1xuICAgIHRoaXMucGxhdGZvcm0udGhlbWVNb2RlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRMb2dvVGhlbWUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9nb1RoZW1lKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TG9nb1R5cGUoKSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuc291cmNlIGluc3RhbmNlb2YgQVhQSW1hZ2VVcmxMb2dvQ29uZmlnOlxuICAgICAgICB0aGlzLmxvZ29UeXBlID0gJ3VybCc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIHRoaXMuc291cmNlIGluc3RhbmNlb2YgQVhQQ29tcG9uZW50TG9nb0NvbmZpZzpcbiAgICAgICAgdGhpcy5sb2dvVHlwZSA9ICdjb21wb25lbnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRMb2dvVGhlbWUoKSB7XG4gICAgaWYgKHRoaXMuc291cmNlICYmICh0aGlzLnNvdXJjZSBhcyBhbnkpLmRhcmsgJiYgKHRoaXMuc291cmNlIGFzIGFueSkubGlnaHQpIHtcbiAgICAgIHRoaXMuc291cmNlID0gdGhpcy5wbGF0Zm9ybS5pc0RhcmsoKSA/ICh0aGlzLnNvdXJjZSBhcyBhbnkpLmRhcmsgOiAodGhpcy5zb3VyY2UgYXMgYW55KS5saWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIkBzd2l0Y2ggKGxvZ29UeXBlKSB7IEBjYXNlICgndXJsJykge1xuPGF4LWltYWdlIFt3aWR0aF09XCJzb3VyY2Uud2lkdGhcIiBbaGVpZ2h0XT1cInNvdXJjZS5oZWlnaHRcIiBbc3JjXT1cInNvdXJjZS51cmxcIj48L2F4LWltYWdlPlxufSBAY2FzZSAoJ2NvbXBvbmVudCcpIHtcbjxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic291cmNlLmNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxufSB9XG4iXX0=","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_MENU_PROVIDER = new InjectionToken('AXP_MENU_PROVIDER');\nexport class AXPMenuProviderService {\n constructor() {\n this.providers = inject(AXP_MENU_PROVIDER, { optional: true });\n this.cache = null;\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n async items() {\n // Return cached items if available\n if (this.cache) {\n return this.cache;\n }\n const items = [];\n const context = this.createMenuProviderContext(items);\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n // Apply pending operations\n this.applyPendingOperations(items);\n // Sort items by priority\n items.sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));\n // ADD level property to items\n setMenuItemMeta(items);\n // Cache the computed items\n this.cache = items;\n return items;\n }\n createMenuProviderContext(items) {\n return {\n addItems: (newItems) => {\n items.push(...newItems);\n },\n find: (target) => {\n return {\n insert: (newItems, position) => {\n this.pendingInserts.push({ target, newItems, position });\n },\n remove: () => {\n this.pendingRemovals.push(target);\n },\n update: (updatedItem) => {\n this.pendingUpdates.push({ target, updatedItem });\n },\n addItems: (newItems) => {\n this.pendingAdditions.push({ target, newItems });\n }\n };\n }\n };\n }\n applyPendingOperations(items) {\n for (const { target, newItems, position } of this.pendingInserts) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem, parentItems } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, appending items.`);\n items.push(...newItems);\n }\n else {\n if (position == 'inside') {\n foundItem.children?.push(...newItems);\n }\n else {\n const index = parentItems.indexOf(foundItem);\n const insertPosition = position === 'before' ? index : index + 1;\n parentItems.splice(insertPosition, 0, ...newItems);\n }\n }\n }\n for (const target of this.pendingRemovals) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem, parentItems } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to remove.`);\n }\n else {\n const index = parentItems.indexOf(foundItem);\n parentItems.splice(index, 1);\n }\n }\n for (const { target, updatedItem } of this.pendingUpdates) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to update.`);\n }\n else {\n Object.assign(foundItem, updatedItem);\n }\n }\n for (const { target, newItems } of this.pendingAdditions) {\n const foundItemInfo = this.findItemWithParent(items, target);\n const { foundItem } = foundItemInfo;\n if (!foundItem) {\n console.warn(`Target \"${target}\" not found, nothing to add items to.`);\n }\n else {\n if (!foundItem.children) {\n foundItem.children = [];\n }\n foundItem.children.push(...newItems);\n }\n }\n // Clear pending operations after applying them\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n findItemWithParent(items, target, parentItems = items) {\n for (const item of items) {\n if (item.name === target) {\n return { foundItem: item, parentItems };\n }\n if (item.children) {\n const result = this.findItemWithParent(item.children, target, item.children);\n if (result.foundItem) {\n return result;\n }\n }\n }\n return { foundItem: null, parentItems: items };\n }\n // Method to clear the cache, if needed (e.g., when providers change)\n clearCache() {\n this.cache = null;\n this.pendingInserts = [];\n this.pendingRemovals = [];\n this.pendingUpdates = [];\n this.pendingAdditions = [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMenuProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMenuProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPMenuProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nfunction setMenuItemMeta(items, parentIndex = '', depth = 0) {\n items.forEach((item, index) => {\n const currentIndex = parentIndex ? `${parentIndex}-${index}` : `${index}`;\n const hasChildren = !!(item.children && Array.isArray(item.children) && item.children.length > 0);\n item.meta = {\n index: currentIndex,\n isRoot: depth === 0,\n hasChildren,\n depth\n };\n if (hasChildren) {\n setMenuItemMeta(item.children, currentIndex, depth + 1);\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L21lbnUvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUW5FLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFvQixtQkFBbUIsQ0FBQyxDQUFDO0FBRzVGLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFHWSxjQUFTLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsVUFBSyxHQUF5QixJQUFJLENBQUM7UUFDbkMsbUJBQWMsR0FBbUYsRUFBRSxDQUFDO1FBQ3BHLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLG1CQUFjLEdBQWlFLEVBQUUsQ0FBQztRQUNsRixxQkFBZ0IsR0FBdUQsRUFBRSxDQUFDO0tBMElyRjtJQXhJRyxLQUFLLENBQUMsS0FBSztRQUNQLG1DQUFtQztRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFD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QUksQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQTWVudUZpbmRlclJlc3VsdCwgQVhQTWVudUluc2VydGlvbiwgQVhQTWVudUl0ZW0sIEFYUE1lbnVQcm92aWRlckNvbnRleHQgfSBmcm9tICcuL21lbnUudHlwZXMnO1xuaW1wb3J0IHsgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBNZW51UHJvdmlkZXIge1xuICAgIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjb25zdCBBWFBfTUVOVV9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBNZW51UHJvdmlkZXJbXT4oJ0FYUF9NRU5VX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQTWVudVByb3ZpZGVyU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHByb3ZpZGVycyA9IGluamVjdChBWFBfTUVOVV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIGNhY2hlOiBBWFBNZW51SXRlbVtdIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBwZW5kaW5nSW5zZXJ0czogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgbmV3SXRlbXM6IEFYUE1lbnVJdGVtW107IHBvc2l0aW9uOiBBWFBNZW51SW5zZXJ0aW9uIH0+ID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nUmVtb3ZhbHM6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nVXBkYXRlczogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgdXBkYXRlZEl0ZW06IFBhcnRpYWw8QVhQTWVudUl0ZW0+IH0+ID0gW107XG4gICAgcHJpdmF0ZSBwZW5kaW5nQWRkaXRpb25zOiBBcnJheTx7IHRhcmdldDogc3RyaW5nOyBuZXdJdGVtczogQVhQTWVudUl0ZW1bXSB9PiA9IFtdO1xuXG4gICAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBNZW51SXRlbVtdPiB7XG4gICAgICAgIC8vIFJldHVybiBjYWNoZWQgaXRlbXMgaWYgYXZhaWxhYmxlXG4gICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGl0ZW1zOiBBWFBNZW51SXRlbVtdID0gW107XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNyZWF0ZU1lbnVQcm92aWRlckNvbnRleHQoaXRlbXMpO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICAgICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSBwZW5kaW5nIG9wZXJhdGlvbnNcbiAgICAgICAgdGhpcy5hcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zKTtcblxuICAgICAgICAvLyBTb3J0IGl0ZW1zIGJ5IHByaW9yaXR5XG4gICAgICAgIGl0ZW1zLnNvcnQoKGEsIGIpID0+IChhLnByaW9yaXR5ID8/IDApIC0gKGIucHJpb3JpdHkgPz8gMCkpO1xuICAgICAgICAvLyBBREQgbGV2ZWwgcHJvcGVydHkgdG8gaXRlbXNcbiAgICAgICAgc2V0TWVudUl0ZW1NZXRhKGl0ZW1zKTtcblxuICAgICAgICAvLyBDYWNoZSB0aGUgY29tcHV0ZWQgaXRlbXNcbiAgICAgICAgdGhpcy5jYWNoZSA9IGl0ZW1zO1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVNZW51UHJvdmlkZXJDb250ZXh0KGl0ZW1zOiBBWFBNZW51SXRlbVtdKTogQVhQTWVudVByb3ZpZGVyQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhZGRJdGVtczogKG5ld0l0ZW1zOiBBWFBNZW51SXRlbVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCguLi5uZXdJdGVtcyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmluZDogKHRhcmdldDogc3RyaW5nKTogQVhQTWVudUZpbmRlclJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0OiAobmV3SXRlbXM6IEFYUE1lbnVJdGVtW10sIHBvc2l0aW9uOiBBWFBNZW51SW5zZXJ0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zLCBwb3NpdGlvbiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdSZW1vdmFscy5wdXNoKHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZTogKHVwZGF0ZWRJdGVtOiBQYXJ0aWFsPEFYUE1lbnVJdGVtPikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nVXBkYXRlcy5wdXNoKHsgdGFyZ2V0LCB1cGRhdGVkSXRlbSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbXM6IChuZXdJdGVtczogQVhQTWVudUl0ZW1bXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nQWRkaXRpb25zLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5UGVuZGluZ09wZXJhdGlvbnMoaXRlbXM6IEFYUE1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCB7IHRhcmdldCwgbmV3SXRlbXMsIHBvc2l0aW9uIH0gb2YgdGhpcy5wZW5kaW5nSW5zZXJ0cykge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0sIHBhcmVudEl0ZW1zIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICAgICAgaWYgKCFmb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCwgYXBwZW5kaW5nIGl0ZW1zLmApO1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAocG9zaXRpb24gPT0gJ2luc2lkZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmRJdGVtLmNoaWxkcmVuPy5wdXNoKC4uLm5ld0l0ZW1zKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydFBvc2l0aW9uID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gaW5kZXggOiBpbmRleCArIDE7XG4gICAgICAgICAgICAgICAgICAgIHBhcmVudEl0ZW1zLnNwbGljZShpbnNlcnRQb3NpdGlvbiwgMCwgLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHRoaXMucGVuZGluZ1JlbW92YWxzKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoaXRlbXMsIHRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSwgcGFyZW50SXRlbXMgfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICBpZiAoIWZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kLCBub3RoaW5nIHRvIHJlbW92ZS5gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgICAgICAgICAgcGFyZW50SXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIHVwZGF0ZWRJdGVtIH0gb2YgdGhpcy5wZW5kaW5nVXBkYXRlcykge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICBpZiAoIWZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kLCBub3RoaW5nIHRvIHVwZGF0ZS5gKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihmb3VuZEl0ZW0sIHVwZGF0ZWRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIG5ld0l0ZW1zIH0gb2YgdGhpcy5wZW5kaW5nQWRkaXRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoaXRlbXMsIHRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgIGlmICghZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQsIG5vdGhpbmcgdG8gYWRkIGl0ZW1zIHRvLmApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kSXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZEl0ZW0uY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm91bmRJdGVtLmNoaWxkcmVuLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2xlYXIgcGVuZGluZyBvcGVyYXRpb25zIGFmdGVyIGFwcGx5aW5nIHRoZW1cbiAgICAgICAgdGhpcy5wZW5kaW5nSW5zZXJ0cyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdSZW1vdmFscyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdVcGRhdGVzID0gW107XG4gICAgICAgIHRoaXMucGVuZGluZ0FkZGl0aW9ucyA9IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zOiBBWFBNZW51SXRlbVtdLCB0YXJnZXQ6IHN0cmluZywgcGFyZW50SXRlbXM6IEFYUE1lbnVJdGVtW10gPSBpdGVtcyk6IHsgZm91bmRJdGVtOiBBWFBNZW51SXRlbSB8IG51bGwsIHBhcmVudEl0ZW1zOiBBWFBNZW51SXRlbVtdIH0ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLm5hbWUgPT09IHRhcmdldCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogaXRlbSwgcGFyZW50SXRlbXMgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtLmNoaWxkcmVuLCB0YXJnZXQsIGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogbnVsbCwgcGFyZW50SXRlbXM6IGl0ZW1zIH07XG4gICAgfVxuXG4gICAgLy8gTWV0aG9kIHRvIGNsZWFyIHRoZSBjYWNoZSwgaWYgbmVlZGVkIChlLmcuLCB3aGVuIHByb3ZpZGVycyBjaGFuZ2UpXG4gICAgY2xlYXJDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IG51bGw7XG4gICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMgPSBbXTtcbiAgICAgICAgdGhpcy5wZW5kaW5nUmVtb3ZhbHMgPSBbXTtcbiAgICAgICAgdGhpcy5wZW5kaW5nVXBkYXRlcyA9IFtdO1xuICAgICAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMgPSBbXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHNldE1lbnVJdGVtTWV0YShpdGVtczogYW55W10sIHBhcmVudEluZGV4OiBzdHJpbmcgPSAnJywgZGVwdGg6IG51bWJlciA9IDApIHtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBwYXJlbnRJbmRleCA/IGAke3BhcmVudEluZGV4fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xuICAgICAgICBjb25zdCBoYXNDaGlsZHJlbiA9ICEhKGl0ZW0uY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuXG4gICAgICAgIGl0ZW0ubWV0YSA9IHtcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICBpc1Jvb3Q6IGRlcHRoID09PSAwLFxuICAgICAgICAgICAgaGFzQ2hpbGRyZW4sXG4gICAgICAgICAgICBkZXB0aFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBzZXRNZW51SXRlbU1ldGEoaXRlbS5jaGlsZHJlbiwgY3VycmVudEluZGV4LCBkZXB0aCArIDEpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=","import { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { patchState, signalStore, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { AXPMenuProviderService } from './menu.provider';\nexport const AXPMenuService = signalStore({ providedIn: 'root' }, \n// Initial State\nwithState((router = inject(Router)) => {\n return {\n items: [],\n selectedMenuItem: {\n item: null,\n isFullMatch: false,\n },\n };\n}), \n// Methods for State Management\nwithMethods((store, router = inject(Router), workflow = inject(AXPWorkflowService)) => {\n return {\n setMenuItems(items) {\n patchState(store, { items: items });\n },\n selectMenuItemByRoute(path) {\n const pathWithoutQuery = path.split('?')[0];\n const findItem = (items) => {\n for (const item of items) {\n // Recursively search children first\n if (item.children) {\n const foundChild = findItem(item.children);\n if (foundChild.item) {\n return foundChild;\n }\n }\n if (item.path) {\n // Check if the item path matches the current path\n const matchResult = pathsMatch(item.path, pathWithoutQuery, ['list', 'view', 'edit', 'create']);\n if (matchResult.isMatch) {\n return { item, isPartialMatch: matchResult.isPartial };\n }\n }\n }\n return { item: null, isPartialMatch: false };\n };\n const pathsMatch = (itemPath, currentPath, trailingSegmentsToIgnore = []) => {\n const itemSegments = itemPath.split('/').filter((segment) => segment.length > 0);\n const pathSegments = currentPath.split('/').filter((segment) => segment.length > 0);\n const menuLength = itemSegments.length;\n const pathLength = pathSegments.length;\n // Identify the effective base length for the menuPath\n let effectiveMenuLength = menuLength;\n if (menuLength > 0 && trailingSegmentsToIgnore.includes(itemSegments[menuLength - 1])) {\n effectiveMenuLength--; // Exclude trailing non-hierarchical segments\n }\n // Check if the menuPath (base segments) is a prefix of browserPath\n let isPrefix = true;\n if (pathLength < effectiveMenuLength) {\n return { isMatch: false, isPartial: false };\n }\n for (let i = 0; i < effectiveMenuLength; i++) {\n if (itemSegments[i] !== pathSegments[i]) {\n isPrefix = false;\n break;\n }\n }\n if (!isPrefix) {\n return { isMatch: false, isPartial: false };\n }\n // Partial match: menuPath base is a strict prefix of browserPath\n const isPartialMatch = effectiveMenuLength < pathLength;\n // Exact match: all segments match completely\n const isExactMatch = effectiveMenuLength === pathLength;\n return {\n isMatch: isExactMatch || isPartialMatch,\n isPartial: isPartialMatch && !isExactMatch,\n };\n };\n const items = store.items();\n const { item, isPartialMatch } = findItem(items);\n patchState(store, { selectedMenuItem: { item, isFullMatch: !isPartialMatch } });\n },\n executeCommand(item) {\n if (item.path) {\n workflow.execute('navigate', {\n type: 'router',\n options: { path: item.path },\n });\n patchState(store, { selectedMenuItem: { item, isFullMatch: true } });\n }\n if (item.command) {\n const command = item.command;\n workflow.execute(command.name, command.options);\n }\n },\n isItemOpen(item) {\n const selectedItem = store.selectedMenuItem();\n if (!selectedItem.item) {\n return false;\n }\n const findParent = (currentItem, targetItem) => {\n if (currentItem.children?.includes(targetItem)) {\n return true;\n }\n return currentItem.children?.some((child) => findParent(child, targetItem)) ?? false;\n };\n return item === selectedItem.item || findParent(item, selectedItem.item);\n },\n };\n}), withHooks((store, menuProviderService = inject(AXPMenuProviderService)) => ({\n onInit() {\n (async () => {\n const items = await menuProviderService.items();\n patchState(store, { items: items });\n })();\n },\n onDestroy() { },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbWVudS9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHekQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FDdkMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0FBRXRCLGdCQUFnQjtBQUNoQixTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7SUFDcEMsT0FBTztRQUNMLEtBQUssRUFBRSxFQUFtQjtRQUMxQixnQkFBZ0IsRUFBRTtZQUNoQixJQUFJLEVBQUUsSUFBMEI7WUFDaEMsV0FBVyxFQUFFLEtBQUs7U0FDbkI7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsK0JBQStCO0FBQy9CLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFO0lBQ3BGLE9BQU87UUFDTCxZQUFZLENBQUMsS0FBb0I7WUFDL0IsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxD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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRXhlY3V0ZUNvbW1hbmQsIEFYUE5hdmlnYXRlQWN0aW9uQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBhdGNoU3RhdGUsIHNpZ25hbFN0b3JlLCB3aXRoSG9va3MsIHdpdGhNZXRob2RzLCB3aXRoU3RhdGUgfSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IEFYUE1lbnVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL21lbnUucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQTWVudUl0ZW0gfSBmcm9tICcuL21lbnUudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQVhQTWVudVNlcnZpY2UgPSBzaWduYWxTdG9yZShcbiAgeyBwcm92aWRlZEluOiAncm9vdCcgfSxcblxuICAvLyBJbml0aWFsIFN0YXRlXG4gIHdpdGhTdGF0ZSgocm91dGVyID0gaW5qZWN0KFJvdXRlcikpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbXM6IFtdIGFzIEFYUE1lbnVJdGVtW10sXG4gICAgICBzZWxlY3RlZE1lbnVJdGVtOiB7XG4gICAgICAgIGl0ZW06IG51bGwgYXMgQVhQTWVudUl0ZW0gfCBudWxsLFxuICAgICAgICBpc0Z1bGxNYXRjaDogZmFsc2UsXG4gICAgICB9LFxuICAgIH07XG4gIH0pLFxuXG4gIC8vIE1ldGhvZHMgZm9yIFN0YXRlIE1hbmFnZW1lbnRcbiAgd2l0aE1ldGhvZHMoKHN0b3JlLCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKSwgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBzZXRNZW51SXRlbXMoaXRlbXM6IEFYUE1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBpdGVtczogaXRlbXMgfSk7XG4gICAgICB9LFxuXG4gICAgICBzZWxlY3RNZW51SXRlbUJ5Um91dGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhdGhXaXRob3V0UXVlcnkgPSBwYXRoLnNwbGl0KCc/JylbMF07XG5cbiAgICAgICAgY29uc3QgZmluZEl0ZW0gPSAoaXRlbXM6IEFYUE1lbnVJdGVtW10pOiB7IGl0ZW06IEFYUE1lbnVJdGVtIHwgbnVsbDsgaXNQYXJ0aWFsTWF0Y2g6IGJvb2xlYW4gfSA9PiB7XG4gICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBzZWFyY2ggY2hpbGRyZW4gZmlyc3RcbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZvdW5kQ2hpbGQgPSBmaW5kSXRlbShpdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgaWYgKGZvdW5kQ2hpbGQuaXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3VuZENoaWxkO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5wYXRoKSB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBpdGVtIHBhdGggbWF0Y2hlcyB0aGUgY3VycmVudCBwYXRoXG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoUmVzdWx0ID0gcGF0aHNNYXRjaChpdGVtLnBhdGgsIHBhdGhXaXRob3V0UXVlcnksIFsnbGlzdCcsICd2aWV3JywgJ2VkaXQnLCAnY3JlYXRlJ10pO1xuICAgICAgICAgICAgICBpZiAobWF0Y2hSZXN1bHQuaXNNYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGl0ZW0sIGlzUGFydGlhbE1hdGNoOiBtYXRjaFJlc3VsdC5pc1BhcnRpYWwgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyBpdGVtOiBudWxsLCBpc1BhcnRpYWxNYXRjaDogZmFsc2UgfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBwYXRoc01hdGNoID0gKFxuICAgICAgICAgIGl0ZW1QYXRoOiBzdHJpbmcsXG4gICAgICAgICAgY3VycmVudFBhdGg6IHN0cmluZyxcbiAgICAgICAgICB0cmFpbGluZ1NlZ21lbnRzVG9JZ25vcmU6IHN0cmluZ1tdID0gW10sXG4gICAgICAgICk6IHsgaXNNYXRjaDogYm9vbGVhbjsgaXNQYXJ0aWFsOiBib29sZWFuIH0gPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1TZWdtZW50cyA9IGl0ZW1QYXRoLnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDApO1xuICAgICAgICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IGN1cnJlbnRQYXRoLnNwbGl0KCcvJykuZmlsdGVyKChzZWdtZW50KSA9PiBzZWdtZW50Lmxlbmd0aCA+IDApO1xuXG4gICAgICAgICAgY29uc3QgbWVudUxlbmd0aCA9IGl0ZW1TZWdtZW50cy5sZW5ndGg7XG4gICAgICAgICAgY29uc3QgcGF0aExlbmd0aCA9IHBhdGhTZWdtZW50cy5sZW5ndGg7XG5cbiAgICAgICAgICAvLyBJZGVudGlmeSB0aGUgZWZmZWN0aXZlIGJhc2UgbGVuZ3RoIGZvciB0aGUgbWVudVBhdGhcbiAgICAgICAgICBsZXQgZWZmZWN0aXZlTWVudUxlbmd0aCA9IG1lbnVMZW5ndGg7XG4gICAgICAgICAgaWYgKG1lbnVMZW5ndGggPiAwICYmIHRyYWlsaW5nU2VnbWVudHNUb0lnbm9yZS5pbmNsdWRlcyhpdGVtU2VnbWVudHNbbWVudUxlbmd0aCAtIDFdKSkge1xuICAgICAgICAgICAgZWZmZWN0aXZlTWVudUxlbmd0aC0tOyAvLyBFeGNsdWRlIHRyYWlsaW5nIG5vbi1oaWVyYXJjaGljYWwgc2VnbWVudHNcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgbWVudVBhdGggKGJhc2Ugc2VnbWVudHMpIGlzIGEgcHJlZml4IG9mIGJyb3dzZXJQYXRoXG4gICAgICAgICAgbGV0IGlzUHJlZml4ID0gdHJ1ZTtcbiAgICAgICAgICBpZiAocGF0aExlbmd0aCA8IGVmZmVjdGl2ZU1lbnVMZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGlzTWF0Y2g6IGZhbHNlLCBpc1BhcnRpYWw6IGZhbHNlIH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlZmZlY3RpdmVNZW51TGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChpdGVtU2VnbWVudHNbaV0gIT09IHBhdGhTZWdtZW50c1tpXSkge1xuICAgICAgICAgICAgICBpc1ByZWZpeCA9IGZhbHNlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWlzUHJlZml4KSB7XG4gICAgICAgICAgICByZXR1cm4geyBpc01hdGNoOiBmYWxzZSwgaXNQYXJ0aWFsOiBmYWxzZSB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFBhcnRpYWwgbWF0Y2g6IG1lbnVQYXRoIGJhc2UgaXMgYSBzdHJpY3QgcHJlZml4IG9mIGJyb3dzZXJQYXRoXG4gICAgICAgICAgY29uc3QgaXNQYXJ0aWFsTWF0Y2ggPSBlZmZlY3RpdmVNZW51TGVuZ3RoIDwgcGF0aExlbmd0aDtcblxuICAgICAgICAgIC8vIEV4YWN0IG1hdGNoOiBhbGwgc2VnbWVudHMgbWF0Y2ggY29tcGxldGVseVxuICAgICAgICAgIGNvbnN0IGlzRXhhY3RNYXRjaCA9IGVmZmVjdGl2ZU1lbnVMZW5ndGggPT09IHBhdGhMZW5ndGg7XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNNYXRjaDogaXNFeGFjdE1hdGNoIHx8IGlzUGFydGlhbE1hdGNoLFxuICAgICAgICAgICAgaXNQYXJ0aWFsOiBpc1BhcnRpYWxNYXRjaCAmJiAhaXNFeGFjdE1hdGNoLFxuICAgICAgICAgIH07XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXRlbXMgPSBzdG9yZS5pdGVtcygpO1xuICAgICAgICBjb25zdCB7IGl0ZW0sIGlzUGFydGlhbE1hdGNoIH0gPSBmaW5kSXRlbShpdGVtcyk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRNZW51SXRlbTogeyBpdGVtLCBpc0Z1bGxNYXRjaDogIWlzUGFydGlhbE1hdGNoIH0gfSk7XG4gICAgICB9LFxuXG4gICAgICBleGVjdXRlQ29tbWFuZChpdGVtOiBBWFBNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5wYXRoKSB7XG4gICAgICAgICAgd29ya2Zsb3cuZXhlY3V0ZSgnbmF2aWdhdGUnLCB7XG4gICAgICAgICAgICB0eXBlOiAncm91dGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHsgcGF0aDogaXRlbS5wYXRoIH0sXG4gICAgICAgICAgfSBhcyBBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQ8J3JvdXRlcic+KTtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkTWVudUl0ZW06IHsgaXRlbSwgaXNGdWxsTWF0Y2g6IHRydWUgfSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbS5jb21tYW5kKSB7XG4gICAgICAgICAgY29uc3QgY29tbWFuZCA9IGl0ZW0uY29tbWFuZCBhcyBBWFBFeGVjdXRlQ29tbWFuZDtcbiAgICAgICAgICB3b3JrZmxvdy5leGVjdXRlKGNvbW1hbmQubmFtZSwgY29tbWFuZC5vcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgaXNJdGVtT3BlbihpdGVtOiBBWFBNZW51SXRlbSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBzdG9yZS5zZWxlY3RlZE1lbnVJdGVtKCk7XG4gICAgICAgIGlmICghc2VsZWN0ZWRJdGVtLml0ZW0pIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaW5kUGFyZW50ID0gKGN1cnJlbnRJdGVtOiBBWFBNZW51SXRlbSwgdGFyZ2V0SXRlbTogQVhQTWVudUl0ZW0pOiBib29sZWFuID0+IHtcbiAgICAgICAgICBpZiAoY3VycmVudEl0ZW0uY2hpbGRyZW4/LmluY2x1ZGVzKHRhcmdldEl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRJdGVtLmNoaWxkcmVuPy5zb21lKChjaGlsZCkgPT4gZmluZFBhcmVudChjaGlsZCwgdGFyZ2V0SXRlbSkpID8/IGZhbHNlO1xuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBpdGVtID09PSBzZWxlY3RlZEl0ZW0uaXRlbSB8fCBmaW5kUGFyZW50KGl0ZW0sIHNlbGVjdGVkSXRlbS5pdGVtKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSksXG4gIHdpdGhIb29rcygoc3RvcmUsIG1lbnVQcm92aWRlclNlcnZpY2UgPSBpbmplY3QoQVhQTWVudVByb3ZpZGVyU2VydmljZSkpID0+ICh7XG4gICAgb25Jbml0KCkge1xuICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBtZW51UHJvdmlkZXJTZXJ2aWNlLml0ZW1zKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgaXRlbXM6IGl0ZW1zIH0pO1xuICAgICAgfSkoKTtcbiAgICB9LFxuICAgIG9uRGVzdHJveSgpIHt9LFxuICB9KSksXG4pO1xuIl19","export class AXPMenuSearchDefinitionProvider {\n async provide(context) {\n context.addDefinition('menu', 'Menu', 'menu', 'fa-thin fa-bars', 2, {\n format: {\n id: '{{data.name}}',\n },\n actions: [\n {\n name: 'navigate',\n type: 'view',\n priority: 'primary',\n },\n ],\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC9tZW51L3NlYXJjaC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywrQkFBK0I7SUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQztRQUN2RCxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRTtZQUNsRSxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLGVBQWU7YUFDcEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLElBQUksRUFBRSxNQUFNO29CQUNaLFFBQVEsRUFBRSxTQUFTO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyLCBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vc2VhcmNoJztcblxuZXhwb3J0IGNsYXNzIEFYUE1lbnVTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIge1xuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb250ZXh0LmFkZERlZmluaXRpb24oJ21lbnUnLCAnTWVudScsICdtZW51JywgJ2ZhLXRoaW4gZmEtYmFycycsIDIsIHtcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBpZDogJ3t7ZGF0YS5uYW1lfX0nLFxuICAgICAgfSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZScsXG4gICAgICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgICAgIHByaW9yaXR5OiAncHJpbWFyeScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { AXTranslationService } from '@acorex/core/translation';\nimport { inject } from '@angular/core';\nimport { omit, sortBy } from 'lodash-es';\nimport { AXPMenuProviderService } from './menu.provider';\nexport class AXPMenuSearchProvider {\n constructor() {\n this.menuService = inject(AXPMenuProviderService);\n this.translateService = inject(AXTranslationService);\n }\n async search(text) {\n const menuItems = await this.searchMenuItems(await this.menuService.items(), text);\n return sortBy(menuItems.map((item) => ({\n group: 'menu', // Use `name` or empty string if undefined\n title: item.text, // Use `text` for the `title`\n icon: item.icon, // Include the `icon` if present\n data: omit(item, ['parent', 'children']), // Include all data except `parent` and `children`\n command: item.path ? {\n name: 'navigate',\n options: {\n type: 'router',\n options: {\n path: item.path,\n },\n }\n } : item.command,\n parent: item.parent\n ? {\n title: item.parent.text,\n }\n : undefined,\n })), [(o) => this.translateService.translateSync(o.title)]);\n }\n /**\n * Recursively searches AXPMenuItem and its children for a matching text.\n *\n * @param menuItems - The array of AXPMenuItem to search in.\n * @param searchText - The text to search for (case-insensitive).\n * @returns An array of AXPMenuItem that match the search text.\n */\n async searchMenuItems(menuItems, searchText) {\n const result = [];\n for (const item of menuItems) {\n // Check if the current item's text matches the search text\n if (item.type != 'group' &&\n (item.children?.length ?? 0) == 0 &&\n (await this.translateService.translateAsync(item.text)).toLowerCase().includes(searchText.toLowerCase())) {\n result.push(item);\n }\n // Recursively search in children if they exist\n if (item.children && item.children.length > 0) {\n const childResults = await this.searchMenuItems(item.children, searchText);\n result.push(...childResults.map((x) => ({ ...x, parent: item })));\n }\n }\n return result;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvbWVudS9zZWFyY2gucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVF6RCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsZ0JBQVcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM3QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQTBEbEQsQ0FBQztJQXhEQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRixPQUFPLE1BQU0sQ0FDWCxTQUFTLENBQUMsR0FBRyxDQUFrQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsTUFBTSxFQUFFLDBDQUEwQztZQUN6RCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSw2QkFBNkI7WUFDL0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDO1lBQ2pELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsa0RBQWtEO1lBQzVGLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNoQjtpQkFDRjthQUNtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBNEI7WUFDMUQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNqQixDQUFDLENBQUM7b0JBQ0EsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtpQkFDeEI7Z0JBQ0QsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDLENBQUMsRUFDSCxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBd0IsRUFBRSxVQUFrQjtRQUN4RSxNQUFNLE1BQU0sR0FBNEIsRUFBRSxDQUFDO1FBRTNDLEtBQUssTUFBTSxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDN0IsMkRBQTJEO1lBQzNELElBQ0UsSUFBSSxDQUFDLElBQUksSUFBSSxPQUFPO2dCQUNwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsRUFDeEcsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQTZCLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBRUQsK0NBQStDO1lBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBNEIsQ0FBQSxDQUFDLENBQUMsQ0FBQztZQUM3RixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb21pdCwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFYUFNlYXJjaFByb3ZpZGVyLCBBWFBTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9zZWFyY2gnO1xuaW1wb3J0IHsgQVhQTWVudVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vbWVudS5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBNZW51SXRlbSB9IGZyb20gJy4vbWVudS50eXBlcyc7XG5pbXBvcnQgeyBBWFBFeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWVudUl0ZW1XaXRoUGFyZW50IGV4dGVuZHMgQVhQTWVudUl0ZW0ge1xuICBwYXJlbnQ/OiBBWFBNZW51SXRlbTtcbn1cblxuZXhwb3J0IGNsYXNzIEFYUE1lbnVTZWFyY2hQcm92aWRlciBpbXBsZW1lbnRzIEFYUFNlYXJjaFByb3ZpZGVyIHtcbiAgbWVudVNlcnZpY2UgPSBpbmplY3QoQVhQTWVudVByb3ZpZGVyU2VydmljZSk7XG4gIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGFzeW5jIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPEFYUFNlYXJjaFJlc3VsdFtdPiB7XG4gICAgY29uc3QgbWVudUl0ZW1zID0gYXdhaXQgdGhpcy5zZWFyY2hNZW51SXRlbXMoYXdhaXQgdGhpcy5tZW51U2VydmljZS5pdGVtcygpLCB0ZXh0KTtcbiAgICByZXR1cm4gc29ydEJ5PEFYUFNlYXJjaFJlc3VsdD4oXG4gICAgICBtZW51SXRlbXMubWFwPEFYUFNlYXJjaFJlc3VsdD4oKGl0ZW0pID0+ICh7XG4gICAgICAgIGdyb3VwOiAnbWVudScsIC8vIFVzZSBgbmFtZWAgb3IgZW1wdHkgc3RyaW5nIGlmIHVuZGVmaW5lZFxuICAgICAgICB0aXRsZTogaXRlbS50ZXh0LCAvLyBVc2UgYHRleHRgIGZvciB0aGUgYHRpdGxlYFxuICAgICAgICBpY29uOiBpdGVtLmljb24sIC8vIEluY2x1ZGUgdGhlIGBpY29uYCBpZiBwcmVzZW50XG4gICAgICAgIGRhdGE6IG9taXQoaXRlbSwgWydwYXJlbnQnLCAnY2hpbGRyZW4nXSksIC8vIEluY2x1ZGUgYWxsIGRhdGEgZXhjZXB0IGBwYXJlbnRgIGFuZCBgY2hpbGRyZW5gXG4gICAgICAgIGNvbW1hbmQ6IGl0ZW0ucGF0aCA/IHtcbiAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUnLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6ICdyb3V0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwYXRoOiBpdGVtLnBhdGgsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfSBhcyBBWFBFeGVjdXRlQ29tbWFuZCA6IGl0ZW0uY29tbWFuZCBhcyBBWFBFeGVjdXRlQ29tbWFuZCxcbiAgICAgICAgcGFyZW50OiBpdGVtLnBhcmVudFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ucGFyZW50LnRleHQsXG4gICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgfSkpLFxuICAgICAgWyhvKSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlU3luYyhvLnRpdGxlISldXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBzZWFyY2hlcyBBWFBNZW51SXRlbSBhbmQgaXRzIGNoaWxkcmVuIGZvciBhIG1hdGNoaW5nIHRleHQuXG4gICAqXG4gICAqIEBwYXJhbSBtZW51SXRlbXMgLSBUaGUgYXJyYXkgb2YgQVhQTWVudUl0ZW0gdG8gc2VhcmNoIGluLlxuICAgKiBAcGFyYW0gc2VhcmNoVGV4dCAtIFRoZSB0ZXh0IHRvIHNlYXJjaCBmb3IgKGNhc2UtaW5zZW5zaXRpdmUpLlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBBWFBNZW51SXRlbSB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggdGV4dC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc2VhcmNoTWVudUl0ZW1zKG1lbnVJdGVtczogQVhQTWVudUl0ZW1bXSwgc2VhcmNoVGV4dDogc3RyaW5nKTogUHJvbWlzZTxBWFBNZW51SXRlbVdpdGhQYXJlbnRbXT4ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhQTWVudUl0ZW1XaXRoUGFyZW50W10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBtZW51SXRlbXMpIHtcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGl0ZW0ncyB0ZXh0IG1hdGNoZXMgdGhlIHNlYXJjaCB0ZXh0XG4gICAgICBpZiAoXG4gICAgICAgIGl0ZW0udHlwZSAhPSAnZ3JvdXAnICYmXG4gICAgICAgIChpdGVtLmNoaWxkcmVuPy5sZW5ndGggPz8gMCkgPT0gMCAmJlxuICAgICAgICAoYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGl0ZW0udGV4dCkpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0gYXMgQVhQTWVudUl0ZW1XaXRoUGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVjdXJzaXZlbHkgc2VhcmNoIGluIGNoaWxkcmVuIGlmIHRoZXkgZXhpc3RcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBjaGlsZFJlc3VsdHMgPSBhd2FpdCB0aGlzLnNlYXJjaE1lbnVJdGVtcyhpdGVtLmNoaWxkcmVuLCBzZWFyY2hUZXh0KTtcbiAgICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRSZXN1bHRzLm1hcCgoeCkgPT4gKHsgLi4ueCwgcGFyZW50OiBpdGVtIH0gYXMgQVhQTWVudUl0ZW1XaXRoUGFyZW50KSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==","import { Component, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPFooterTextSlotComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFooterTextSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: AXPFooterTextSlotComponent, isStandalone: true, selector: \"ng-component\", inputs: { text: \"text\" }, ngImport: i0, template: `\n <small class=\"ax-text-sm\" [innerHTML]=\"text\"></small>\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFooterTextSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <small class=\"ax-text-sm\" [innerHTML]=\"text\"></small>\n `,\n standalone: true\n }]\n }], propDecorators: { text: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXRleHQtc2xvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2xheW91dC90aGVtZS9jb21wb25lbnRzL3Nsb3RzL2Zvb3Rlci10ZXh0LXNsb3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRCxNQUFNLE9BQU8sMEJBQTBCOzhHQUExQiwwQkFBMEI7a0dBQTFCLDBCQUEwQixrR0FMM0I7O0tBRVA7OzJGQUdRLDBCQUEwQjtrQkFOdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7O0tBRVA7b0JBQ0gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdRLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgICA8c21hbGwgY2xhc3M9XCJheC10ZXh0LXNtXCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zbWFsbD5cbiAgICBgLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEFYUEZvb3RlclRleHRTbG90Q29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRleHQhOiBzdHJpbmc7XG59Il19","import { Component, Input, ViewEncapsulation } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPNavBarSlotComponent {\n handleCommand(action) {\n // if (action)\n // this.store.dispatch(action)\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPNavBarSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPNavBarSlotComponent, isStandalone: true, selector: \"ng-component\", inputs: { items: \"items\" }, ngImport: i0, template: `\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-5\">\n @for (link of items; track link) {\n <a (click)=\"handleCommand(link.command)\" >{{ link.text }}</a>\n }\n </div>\n `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPNavBarSlotComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-5\">\n @for (link of items; track link) {\n <a (click)=\"handleCommand(link.command)\" >{{ link.text }}</a>\n }\n </div>\n `,\n imports: [],\n encapsulation: ViewEncapsulation.None\n }]\n }], propDecorators: { items: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXNsb3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sYXlvdXQvdGhlbWUvY29tcG9uZW50cy9zbG90cy9uYXZiYXItc2xvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBYzVFLE1BQU0sT0FBTyxzQkFBc0I7SUFLckIsYUFBYSxDQUFDLE1BQTJCO1FBQy9DLGNBQWM7UUFDZCxrQ0FBa0M7SUFDdEMsQ0FBQzs4R0FSUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvR0FWckI7Ozs7OztLQU1UOzsyRkFJUSxzQkFBc0I7a0JBWGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFOzs7Ozs7S0FNVDtvQkFDRCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7OEJBR1UsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBNZW51SXRlbSwgQVhQTWVudUl0ZW1Db21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1nYXAtNVwiPlxuICAgICAgQGZvciAobGluayBvZiBpdGVtczsgdHJhY2sgbGluaykge1xuICAgICAgICA8YSAoY2xpY2spPVwiaGFuZGxlQ29tbWFuZChsaW5rLmNvbW1hbmQpXCIgPnt7IGxpbmsudGV4dCB9fTwvYT5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGltcG9ydHM6IFtdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQVhQTmF2QmFyU2xvdENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXMhOiBBWFBNZW51SXRlbVtdO1xuXG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ29tbWFuZChhY3Rpb24/OiBBWFBNZW51SXRlbUNvbW1hbmQpIHtcbiAgICAgICAgLy8gaWYgKGFjdGlvbilcbiAgICAgICAgLy8gICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goYWN0aW9uKVxuICAgIH1cbn0iXX0=","export class AXPSearchDefinitionProviderContext {\n constructor() {\n this.definitions = [];\n this.definitionMap = new Map();\n }\n addDefinition(name, title, group, icon, order, options) {\n const definitionSearch = {\n name,\n title,\n group,\n icon,\n order,\n format: {\n title: options?.format?.title ?? '{{ title }}',\n description: options?.format?.description ?? undefined,\n icon: options?.format?.icon ?? undefined,\n id: options?.format?.id ?? '{{ id }}',\n },\n actions: options?.actions ?? [],\n };\n this.definitions.push(definitionSearch);\n this.definitionMap.set(name, definitionSearch); // Index by name\n return new AXPSearchDefinitionBuilder(this, definitionSearch);\n }\n getDefinitions() {\n return this.definitions;\n }\n // Expose groupMap for controlled access\n hasEntity(name) {\n return this.definitionMap.has(name);\n }\n getDefinition(name) {\n return this.definitionMap.get(name);\n }\n}\nexport class AXPSearchDefinitionBuilder {\n constructor(context, definition) {\n this.context = context;\n this.definition = definition;\n }\n addAction(name) {\n const newAction = {\n name,\n type: 'view',\n priority: 'primary',\n };\n this.definition.actions.push(newAction);\n return new AXPSearchDefinitionActionBuilder(this);\n }\n action(name) {\n const foundAction = this.definition.actions.find((action) => action.name === name);\n if (!foundAction) {\n throw new Error(`action with name \"${name}\" not found in entity \"${this.definition.name}\".`);\n }\n return new AXPSearchDefinitionActionBuilder(this);\n }\n endEntity() {\n return this.context;\n }\n}\nexport class AXPSearchDefinitionActionBuilder {\n constructor(entityBuilder) {\n this.entityBuilder = entityBuilder;\n }\n endAction() {\n return this.entityBuilder;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2VhcmNoL3NlYXJjaC1kZWZpbml0aW9uLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtDQUFrQztJQUEvQztRQUNVLGdCQUFXLEdBQTBCLEVBQUUsQ0FBQztRQUN4QyxrQkFBYSxHQUFxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBOEN0RSxDQUFDO0lBNUNDLGFBQWEsQ0FDWCxJQUFZLEVBQ1osS0FBYSxFQUNiLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLE9BR0M7UUFFRCxNQUFNLGdCQUFnQixHQUF3QjtZQUM1QyxJQUFJO1lBQ0osS0FBSztZQUNMLEtBQUs7WUFDTCxJQUFJO1lBQ0osS0FBSztZQUNMLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksYUFBYTtnQkFDOUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxJQUFJLFNBQVM7Z0JBQ3RELElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxTQUFTO2dCQUN4QyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksVUFBVTthQUN0QztZQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7U0FDaEMsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDaEUsT0FBTyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFHRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsU0FBUyxDQUFDLElBQVk7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQVksT0FBMkMsRUFBRSxVQUErQjtRQUN0RixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxTQUFTLEdBQW9CO1lBQ2pDLElBQUk7WUFDSixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLElBQUksMEJBQTBCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsT0FBTyxJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQ0FBZ0M7SUFHM0MsWUFBWSxhQUF5QztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBTZWFyY2hBY3Rpb24sIEFYUFNlYXJjaERlZmluaXRpb24sIEFYUFNlYXJjaERlZmluaXRpb25EaXNwbGF5Rm9ybWF0IH0gZnJvbSAnLi9zZWFyY2gudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEFYUFNlYXJjaERlZmluaXRpb25bXSA9IFtdO1xuICBwcml2YXRlIGRlZmluaXRpb25NYXA6IE1hcDxzdHJpbmcsIEFYUFNlYXJjaERlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuXG4gIGFkZERlZmluaXRpb24oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZ3JvdXA6IHN0cmluZyxcbiAgICBpY29uOiBzdHJpbmcsXG4gICAgb3JkZXI6IG51bWJlcixcbiAgICBvcHRpb25zPzoge1xuICAgICAgZm9ybWF0PzogQVhQU2VhcmNoRGVmaW5pdGlvbkRpc3BsYXlGb3JtYXQ7XG4gICAgICBhY3Rpb25zPzogQVhQU2VhcmNoQWN0aW9uW107XG4gICAgfVxuICApOiBBWFBTZWFyY2hEZWZpbml0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgZGVmaW5pdGlvblNlYXJjaDogQVhQU2VhcmNoRGVmaW5pdGlvbiA9IHtcbiAgICAgIG5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIGdyb3VwLFxuICAgICAgaWNvbixcbiAgICAgIG9yZGVyLFxuICAgICAgZm9ybWF0OiB7XG4gICAgICAgIHRpdGxlOiBvcHRpb25zPy5mb3JtYXQ/LnRpdGxlID8/ICd7eyB0aXRsZSB9fScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zPy5mb3JtYXQ/LmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgaWNvbjogb3B0aW9ucz8uZm9ybWF0Py5pY29uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgaWQ6IG9wdGlvbnM/LmZvcm1hdD8uaWQgPz8gJ3t7IGlkIH19JyxcbiAgICAgIH0sXG4gICAgICBhY3Rpb25zOiBvcHRpb25zPy5hY3Rpb25zID8/IFtdLFxuICAgIH07XG5cbiAgICB0aGlzLmRlZmluaXRpb25zLnB1c2goZGVmaW5pdGlvblNlYXJjaCk7XG4gICAgdGhpcy5kZWZpbml0aW9uTWFwLnNldChuYW1lLCBkZWZpbml0aW9uU2VhcmNoKTsgLy8gSW5kZXggYnkgbmFtZVxuICAgIHJldHVybiBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvbkJ1aWxkZXIodGhpcywgZGVmaW5pdGlvblNlYXJjaCk7XG4gIH1cblxuXG4gIGdldERlZmluaXRpb25zKCk6IEFYUFNlYXJjaERlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnM7XG4gIH1cblxuICAvLyBFeHBvc2UgZ3JvdXBNYXAgZm9yIGNvbnRyb2xsZWQgYWNjZXNzXG4gIGhhc0VudGl0eShuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uTWFwLmhhcyhuYW1lKTtcbiAgfVxuXG4gIGdldERlZmluaXRpb24obmFtZTogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbk1hcC5nZXQobmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBjb250ZXh0OiBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0O1xuICBwcml2YXRlIGRlZmluaXRpb246IEFYUFNlYXJjaERlZmluaXRpb247XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCwgZGVmaW5pdGlvbjogQVhQU2VhcmNoRGVmaW5pdGlvbikge1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gICAgdGhpcy5kZWZpbml0aW9uID0gZGVmaW5pdGlvbjtcbiAgfVxuXG4gIGFkZEFjdGlvbihuYW1lOiBzdHJpbmcpOiBBWFBTZWFyY2hEZWZpbml0aW9uQWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgbmV3QWN0aW9uOiBBWFBTZWFyY2hBY3Rpb24gPSB7XG4gICAgICBuYW1lLFxuICAgICAgdHlwZTogJ3ZpZXcnLFxuICAgICAgcHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICB9O1xuICAgIHRoaXMuZGVmaW5pdGlvbi5hY3Rpb25zLnB1c2gobmV3QWN0aW9uKTtcbiAgICByZXR1cm4gbmV3IEFYUFNlYXJjaERlZmluaXRpb25BY3Rpb25CdWlsZGVyKHRoaXMpO1xuICB9XG5cbiAgYWN0aW9uKG5hbWU6IHN0cmluZyk6IEFYUFNlYXJjaERlZmluaXRpb25BY3Rpb25CdWlsZGVyIHwgbnVsbCB7XG4gICAgY29uc3QgZm91bmRBY3Rpb24gPSB0aGlzLmRlZmluaXRpb24uYWN0aW9ucy5maW5kKChhY3Rpb24pID0+IGFjdGlvbi5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoIWZvdW5kQWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGFjdGlvbiB3aXRoIG5hbWUgXCIke25hbWV9XCIgbm90IGZvdW5kIGluIGVudGl0eSBcIiR7dGhpcy5kZWZpbml0aW9uLm5hbWV9XCIuYCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvbkFjdGlvbkJ1aWxkZXIodGhpcyk7XG4gIH1cblxuICBlbmRFbnRpdHkoKTogQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvbkFjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIGVudGl0eUJ1aWxkZXI6IEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKGVudGl0eUJ1aWxkZXI6IEFYUFNlYXJjaERlZmluaXRpb25CdWlsZGVyKSB7XG4gICAgdGhpcy5lbnRpdHlCdWlsZGVyID0gZW50aXR5QnVpbGRlcjtcbiAgfVxuXG4gIGVuZEFjdGlvbigpOiBBWFBTZWFyY2hEZWZpbml0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5QnVpbGRlcjtcbiAgfVxufVxuIl19","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { AXPSearchDefinitionProviderContext } from './search-definition.builder';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SEARCH_DEFINITION_PROVIDER = new InjectionToken('AXP_SEARCH_DEFINITION_PROVIDER');\nexport class AXPSearchDefinitionProviderService {\n constructor() {\n this.providers = inject(AXP_SEARCH_DEFINITION_PROVIDER, { optional: true });\n this.cache = null;\n }\n async load() {\n if (this.cache) {\n return;\n }\n const context = new AXPSearchDefinitionProviderContext();\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n await provider.provide(context);\n }\n }\n this.cache = context.getDefinitions();\n }\n async getListAsync() {\n await this.load();\n return this.getList();\n }\n getList() {\n if (!this.cache) {\n return [];\n }\n else {\n return this.cache;\n }\n }\n findDefinition(definitionName) {\n const definition = this.getList().find((definition) => definition.name === definitionName);\n if (!definition) {\n throw new Error(`Definition with name ${definitionName} not found`);\n }\n return definition;\n }\n findDefinitionByGroup(definitionGroup) {\n const definition = this.getList().find((definition) => definition.group === definitionGroup);\n if (!definition) {\n throw new Error(`Definition with group ${definitionGroup} not found`);\n }\n return definition;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchDefinitionProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchDefinitionProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NlYXJjaC9zZWFyY2gtZGVmaW5pdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUWpGLHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FDOUQsZ0NBQWdDLENBQ2pDLENBQUM7QUFHRixNQUFNLE9BQU8sa0NBQWtDO0lBRC9DO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFVBQUssR0FBaUMsSUFBSSxDQUFDO0tBMkNwRDtJQXpDUyxLQUFLLENBQUMsSUFBSTtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQ0FBa0MsRUFBRSxDQUFDO1FBQ3pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLGNBQXNCO1FBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLGNBQWMsWUFBWSxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxlQUF1QjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixlQUFlLFlBQVksQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQTVDVSxrQ0FBa0M7a0hBQWxDLGtDQUFrQyxjQURyQixNQUFNOzsyRkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICcuL3NlYXJjaC1kZWZpbml0aW9uLmJ1aWxkZXInO1xuaW1wb3J0IHsgQVhQU2VhcmNoRGVmaW5pdGlvbiB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcm92aWRlKGNvbnRleHQ6IEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlckNvbnRleHQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vLyBJbmplY3Rpb24gdG9rZW4gZm9yIHNldHRpbmcgcHJvdmlkZXJzXG5leHBvcnQgY29uc3QgQVhQX1NFQVJDSF9ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNlYXJjaERlZmluaXRpb25Qcm92aWRlcltdPihcbiAgJ0FYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUidcbik7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjYWNoZTogQVhQU2VhcmNoRGVmaW5pdGlvbltdIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgQVhQU2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKGNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNhY2hlID0gY29udGV4dC5nZXREZWZpbml0aW9ucygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3RBc3luYygpOiBQcm9taXNlPEFYUFNlYXJjaERlZmluaXRpb25bXT4ge1xuICAgIGF3YWl0IHRoaXMubG9hZCgpO1xuICAgIHJldHVybiB0aGlzLmdldExpc3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0KCk6IEFYUFNlYXJjaERlZmluaXRpb25bXSB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kRGVmaW5pdGlvbihkZWZpbml0aW9uTmFtZTogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXMuZ2V0TGlzdCgpLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24ubmFtZSA9PT0gZGVmaW5pdGlvbk5hbWUpO1xuICAgIGlmICghZGVmaW5pdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWZpbml0aW9uIHdpdGggbmFtZSAke2RlZmluaXRpb25OYW1lfSBub3QgZm91bmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cblxuICBwdWJsaWMgZmluZERlZmluaXRpb25CeUdyb3VwKGRlZmluaXRpb25Hcm91cDogc3RyaW5nKTogQVhQU2VhcmNoRGVmaW5pdGlvbiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IHRoaXMuZ2V0TGlzdCgpLmZpbmQoKGRlZmluaXRpb24pID0+IGRlZmluaXRpb24uZ3JvdXAgPT09IGRlZmluaXRpb25Hcm91cCk7XG4gICAgaWYgKCFkZWZpbml0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYERlZmluaXRpb24gd2l0aCBncm91cCAke2RlZmluaXRpb25Hcm91cH0gbm90IGZvdW5kYCk7XG4gICAgfVxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG59XG4iXX0=","export class AXPSearchCommandProvider {\n async search(text) {\n return this.commands.filter((command) => command.title.toLowerCase().includes(text.toLowerCase()));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZWFyY2gvc2VhcmNoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBZ0Isd0JBQXdCO0lBRzVDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBWTtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW50ZXJmYWNlIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGludGVyZmFjZSBBWFBTZWFyY2hQcm92aWRlciB7XG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPEFYUFNlYXJjaFJlc3VsdFtdPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFNlYXJjaENvbW1hbmRQcm92aWRlciB7XG4gIGFic3RyYWN0IGNvbW1hbmRzOiBBWFBTZWFyY2hSZXN1bHRbXTtcblxuICBhc3luYyBzZWFyY2godGV4dDogc3RyaW5nKTogUHJvbWlzZTxBWFBTZWFyY2hSZXN1bHRbXT4ge1xuICAgIHJldHVybiB0aGlzLmNvbW1hbmRzLmZpbHRlcigoY29tbWFuZCkgPT4gY29tbWFuZC50aXRsZSEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXh0LnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxufVxuIl19","import { AXFormatService } from '@acorex/core/format';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { omit } from 'lodash-es';\nimport { AXPSearchDefinitionProviderService } from './search-definition.provider';\nimport * as i0 from \"@angular/core\";\n// Injection token for setting providers\nexport const AXP_SEARCH_PROVIDER = new InjectionToken('AXP_SEARCH_PROVIDER');\nexport class AXPSearchService {\n constructor() {\n this.providers = inject(AXP_SEARCH_PROVIDER, { optional: true });\n this.definitionService = inject(AXPSearchDefinitionProviderService);\n this.formatService = inject(AXFormatService);\n }\n async search(text) {\n //TODO better handle this\n if (this.definitionService.getList().length == 0) {\n await this.definitionService.getListAsync();\n }\n if (!this.providers || (this.providers?.length || 0) === 0) {\n throw new Error('No search providers available'); // No providers available\n }\n const mergeData = [];\n const promises = this.providers.map((provider) => provider.search(text));\n const results = await Promise.all(promises);\n for (const resultArray of results) {\n for (const result of resultArray) {\n try {\n const definition = this.definitionService.findDefinition(result.group);\n mergeData.push({\n definitionName: definition.group,\n definitionTitle: definition.title,\n name: result.group,\n id: `${definition.name}:${this.formatService.format(definition.format.id, 'string', result)}`,\n title: result.title ??\n (definition.format.title\n ? this.formatService.format(definition.format.title, 'string', result.data)\n : 'Unknown'),\n description: result.description ??\n (definition.format.description\n ? this.formatService.format(definition.format.description, 'string', result.data)\n : undefined),\n icon: result.icon ??\n (result.icon\n ? this.formatService.format(definition.format.icon, 'string', result.data)\n : definition.icon),\n data: result.data,\n command: result.command,\n actions: definition.actions,\n parent: result.parent,\n order: definition.order,\n });\n }\n catch (e) {\n console.error(e);\n }\n }\n }\n // Group data\n const groupedData = [];\n const groupMap = {};\n // Create groups\n for (const item of mergeData) {\n const groupName = item.definitionName; // Change this to the property you want to group by\n if (!groupMap[groupName]) {\n groupMap[groupName] = {\n name: groupName,\n title: item.definitionTitle, // You can adjust the title logic if needed\n order: item.order, // Add order to the group\n children: [],\n };\n groupedData.push(groupMap[groupName]);\n }\n groupMap[groupName].children.push(omit(item, ['definitionName', 'definitionTitle', 'order']));\n }\n // Sort groups by order\n groupedData.sort((a, b) => a.order - b.order);\n return groupedData;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPSearchService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NlYXJjaC9zZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBSWxGLHdDQUF3QztBQUN4QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBc0IscUJBQXFCLENBQUMsQ0FBQztBQUdsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQy9ELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBNEVqRDtJQTFFQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDdkIseUJBQXlCO1FBQ3pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVB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USxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztvQkFDcEIsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFnQixFQUFFLDJDQUEyQztvQkFDekUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUseUJBQXlCO29CQUM1QyxRQUFRLEVBQUUsRUFBRTtpQkFDYixDQUFDO2dCQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0E5RVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBTZWFyY2hQcm92aWRlciB9IGZyb20gJy4vc2VhcmNoLnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdCwgQVhQU2VhcmNoRGlzcGxheVJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLnR5cGVzJztcblxuLy8gSW5qZWN0aW9uIHRva2VuIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGNvbnN0IEFYUF9TRUFSQ0hfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQU2VhcmNoUHJvdmlkZXJbXT4oJ0FYUF9TRUFSQ0hfUFJPVklERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBTZWFyY2hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwcm92aWRlcnMgPSBpbmplY3QoQVhQX1NFQVJDSF9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBkZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgYXN5bmMgc2VhcmNoKHRleHQ6IHN0cmluZyk6IFByb21pc2U8QVhQU2VhcmNoRGlzcGxheUdyb3VwUmVzdWx0W10+IHtcbiAgICAvL1RPRE8gYmV0dGVyIGhhbmRsZSB0aGlzXG4gICAgaWYgKHRoaXMuZGVmaW5pdGlvblNlcnZpY2UuZ2V0TGlzdCgpLmxlbmd0aCA9PSAwKSB7XG4gICAgICBhd2FpdCB0aGlzLmRlZmluaXRpb25TZXJ2aWNlLmdldExpc3RBc3luYygpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wcm92aWRlcnMgfHwgKHRoaXMucHJvdmlkZXJzPy5sZW5ndGggfHwgMCkgPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc2VhcmNoIHByb3ZpZGVycyBhdmFpbGFibGUnKTsgLy8gTm8gcHJvdmlkZXJzIGF2YWlsYWJsZVxuICAgIH1cblxuICAgIGNvbnN0IG1lcmdlRGF0YTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdFtdID0gW107XG4gICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLnByb3ZpZGVycy5tYXAoKHByb3ZpZGVyKSA9PiBwcm92aWRlci5zZWFyY2godGV4dCkpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgZm9yIChjb25zdCByZXN1bHRBcnJheSBvZiByZXN1bHRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRBcnJheSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSB0aGlzLmRlZmluaXRpb25TZXJ2aWNlLmZpbmREZWZpbml0aW9uKHJlc3VsdC5ncm91cCk7XG5cbiAgICAgICAgICBtZXJnZURhdGEucHVzaCh7XG4gICAgICAgICAgICBkZWZpbml0aW9uTmFtZTogZGVmaW5pdGlvbi5ncm91cCxcbiAgICAgICAgICAgIGRlZmluaXRpb25UaXRsZTogZGVmaW5pdGlvbi50aXRsZSxcbiAgICAgICAgICAgIG5hbWU6IHJlc3VsdC5ncm91cCxcbiAgICAgICAgICAgIGlkOiBgJHtkZWZpbml0aW9uLm5hbWV9OiR7dGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChkZWZpbml0aW9uLmZvcm1hdC5pZCwgJ3N0cmluZycsIHJlc3VsdCl9YCxcbiAgICAgICAgICAgIHRpdGxlOlxuICAgICAgICAgICAgICByZXN1bHQudGl0bGUgPz9cbiAgICAgICAgICAgICAgKGRlZmluaXRpb24uZm9ybWF0LnRpdGxlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGRlZmluaXRpb24uZm9ybWF0LnRpdGxlLCAnc3RyaW5nJywgcmVzdWx0LmRhdGEpXG4gICAgICAgICAgICAgICAgOiAnVW5rbm93bicpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIHJlc3VsdC5kZXNjcmlwdGlvbiA/P1xuICAgICAgICAgICAgICAoZGVmaW5pdGlvbi5mb3JtYXQuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICA/IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZGVmaW5pdGlvbi5mb3JtYXQuZGVzY3JpcHRpb24sICdzdHJpbmcnLCByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICBpY29uOlxuICAgICAgICAgICAgICByZXN1bHQuaWNvbiA/P1xuICAgICAgICAgICAgICAocmVzdWx0Lmljb25cbiAgICAgICAgICAgICAgICA/IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZGVmaW5pdGlvbi5mb3JtYXQuaWNvbiwgJ3N0cmluZycsIHJlc3VsdC5kYXRhKVxuICAgICAgICAgICAgICAgIDogZGVmaW5pdGlvbi5pY29uKSxcbiAgICAgICAgICAgIGRhdGE6IHJlc3VsdC5kYXRhLFxuICAgICAgICAgICAgY29tbWFuZDogcmVzdWx0LmNvbW1hbmQsXG4gICAgICAgICAgICBhY3Rpb25zOiBkZWZpbml0aW9uLmFjdGlvbnMsXG4gICAgICAgICAgICBwYXJlbnQ6IHJlc3VsdC5wYXJlbnQsXG4gICAgICAgICAgICBvcmRlcjogZGVmaW5pdGlvbi5vcmRlcixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcm91cCBkYXRhXG4gICAgY29uc3QgZ3JvdXBlZERhdGE6IEFYUFNlYXJjaERpc3BsYXlHcm91cFJlc3VsdFtdID0gW107XG4gICAgY29uc3QgZ3JvdXBNYXA6IHsgW2tleTogc3RyaW5nXTogQVhQU2VhcmNoRGlzcGxheUdyb3VwUmVzdWx0IH0gPSB7fTtcblxuICAgIC8vIENyZWF0ZSBncm91cHNcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbWVyZ2VEYXRhKSB7XG4gICAgICBjb25zdCBncm91cE5hbWUgPSBpdGVtLmRlZmluaXRpb25OYW1lITsgLy8gQ2hhbmdlIHRoaXMgdG8gdGhlIHByb3BlcnR5IHlvdSB3YW50IHRvIGdyb3VwIGJ5XG4gICAgICBpZiAoIWdyb3VwTWFwW2dyb3VwTmFtZV0pIHtcbiAgICAgICAgZ3JvdXBNYXBbZ3JvdXBOYW1lXSA9IHtcbiAgICAgICAgICBuYW1lOiBncm91cE5hbWUsXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uZGVmaW5pdGlvblRpdGxlISwgLy8gWW91IGNhbiBhZGp1c3QgdGhlIHRpdGxlIGxvZ2ljIGlmIG5lZWRlZFxuICAgICAgICAgIG9yZGVyOiBpdGVtLm9yZGVyLCAvLyBBZGQgb3JkZXIgdG8gdGhlIGdyb3VwXG4gICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICB9O1xuICAgICAgICBncm91cGVkRGF0YS5wdXNoKGdyb3VwTWFwW2dyb3VwTmFtZV0pO1xuICAgICAgfVxuICAgICAgZ3JvdXBNYXBbZ3JvdXBOYW1lXS5jaGlsZHJlbi5wdXNoKG9taXQoaXRlbSwgWydkZWZpbml0aW9uTmFtZScsICdkZWZpbml0aW9uVGl0bGUnLCAnb3JkZXInXSkpO1xuICAgIH1cblxuICAgIC8vIFNvcnQgZ3JvdXBzIGJ5IG9yZGVyXG4gICAgZ3JvdXBlZERhdGEuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuXG4gICAgcmV0dXJuIGdyb3VwZWREYXRhO1xuICB9XG59XG4iXX0=","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\n//TODO Loading, Redirect, Drawer, Show toast\nexport const AXPRedirectEvent = createWorkFlowEvent('Redirect Event Fired');\nexport const AXPRefreshEvent = createWorkFlowEvent('Refresh Event Fired');\nexport const AXPReloadEvent = createWorkFlowEvent('Reload Event Fired');\nexport class AXPWorkflowNavigateAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n }\n async execute(context) {\n const payload = context.getVariable('payload');\n if (Array.isArray(payload.commands)) {\n this.router.navigate(payload.commands, payload.extras);\n }\n else {\n if (payload.commands.toLowerCase().startsWith('http') || payload.target == 'blank') {\n window.open(payload.commands, '_blank');\n }\n else\n this.router.navigate([payload.commands], payload.extras);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowNavigateAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowNavigateAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPDialogConfirmAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n this.defaultAction = 'cancel';\n }\n async execute(context) {\n context.setOutput('result', false);\n const dialogResult = await this.dialogService.confirm(await this.translationService.translateAsync(this.title), await this.translationService.translateAsync(this.message), (await this.translationService.translateAsync(this.type)), 'horizontal', false, 'cancel');\n console.log({ dialogResult });\n context.setOutput('result', dialogResult.result);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPDialogConfirmAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPDialogConfirmAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPToastAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.toastService = inject(AXToastService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n const options = context.getVariable('options');\n const process = options?.['process'];\n const showResult = process?.showResult ?? true;\n if (showResult) {\n this.toastService.show({\n color: this.color,\n title: await this.translationService.translateAsync(this.title),\n content: await this.translationService.translateAsync(this.content),\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPToastAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPToastAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPToastAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPReloadAction extends AXPWorkflowAction {\n async execute(context) {\n this.dispatch(AXPReloadEvent({ entity: context.getVariable('entity'), meta: context.getVariable('meta') }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReloadAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReloadAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReloadAction, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi93b3JrZmxvd3MvY29tbW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBQzdGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBaUMscUJBQXFCLENBQUMsQ0FBQztBQUMxRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQWlDLG9CQUFvQixDQUFDLENBQUM7QUFHeEcsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGlCQUFpQjtJQURoRTs7UUFFVSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBV2pDO0lBVkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxJQUFJ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TCxDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVOztBQTJCWCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxpQkFBaUI7SUFDcEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFNLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7OEdBSFUsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQsIGNyZWF0ZVdvcmtGbG93RXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLy9UT0RPIExvYWRpbmcsIFJlZGlyZWN0LCBEcmF3ZXIsIFNob3cgdG9hc3RcblxuZXhwb3J0IGNvbnN0IEFYUFJlZGlyZWN0RXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgdXJsOiBzdHJpbmcgfT4oJ1JlZGlyZWN0IEV2ZW50IEZpcmVkJyk7XG5leHBvcnQgY29uc3QgQVhQUmVmcmVzaEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IGVudGl0eTogc3RyaW5nOyBtZXRhPzogYW55IH0+KCdSZWZyZXNoIEV2ZW50IEZpcmVkJyk7XG5leHBvcnQgY29uc3QgQVhQUmVsb2FkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgZW50aXR5OiBzdHJpbmc7IG1ldGE/OiBhbnkgfT4oJ1JlbG9hZCBFdmVudCBGaXJlZCcpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dOYXZpZ2F0ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gY29udGV4dC5nZXRWYXJpYWJsZSgncGF5bG9hZCcpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBheWxvYWQuY29tbWFuZHMpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShwYXlsb2FkLmNvbW1hbmRzLCBwYXlsb2FkLmV4dHJhcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYXlsb2FkLmNvbW1hbmRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnaHR0cCcpIHx8IHBheWxvYWQudGFyZ2V0ID09ICdibGFuaycpIHtcbiAgICAgICAgd2luZG93Lm9wZW4ocGF5bG9hZC5jb21tYW5kcywgJ19ibGFuaycpO1xuICAgICAgfSBlbHNlIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXlsb2FkLmNvbW1hbmRzXSwgcGF5bG9hZC5leHRyYXMpO1xuICAgIH1cbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRGlhbG9nQ29uZmlybUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICB0aXRsZSE6IHN0cmluZztcbiAgbWVzc2FnZSE6IHN0cmluZztcbiAgdHlwZSE6IEFYU3R5bGVDb2xvclR5cGU7XG5cbiAgZGVmYXVsdEFjdGlvbiA9ICdjYW5jZWwnO1xuXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29udGV4dC5zZXRPdXRwdXQoJ3Jlc3VsdCcsIGZhbHNlKTtcbiAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybShcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudGl0bGUpLFxuICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy5tZXNzYWdlKSxcbiAgICAgIChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLnR5cGUpKSBhcyBBWFN0eWxlQ29sb3JUeXBlLFxuICAgICAgJ2hvcml6b250YWwnLFxuICAgICAgZmFsc2UsXG4gICAgICAnY2FuY2VsJyxcbiAgICApO1xuICAgIGNvbnNvbGUubG9nKHsgZGlhbG9nUmVzdWx0IH0pO1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCBkaWFsb2dSZXN1bHQucmVzdWx0KTtcbiAgfVxuICAvLyBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAvLyAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCBmYWxzZSk7XG4gIC8vICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oe1xuICAvLyAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudGl0bGUpLFxuICAvLyAgICAgY29udGVudDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy5tZXNzYWdlKSxcbiAgLy8gICAgIHR5cGU6IChhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyh0aGlzLnR5cGUpKSBhcyBBWFN0eWxlQ29sb3JUeXBlLFxuICAvLyAgICAgYnV0dG9uczogW1xuICAvLyAgICAgICB7XG4gIC8vICAgICAgICAgdGV4dDogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ29rYXknKSxcbiAgLy8gICAgICAgICBjb2xvcjogKGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMudHlwZSkpIGFzIEFYU3R5bGVDb2xvclR5cGUsXG4gIC8vICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAvLyAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Jlc3VsdCcsIHsgcmVzdWx0OiB0cnVlIH0pO1xuICAvLyAgICAgICAgICAgZGlhbG9nUmVzdWx0LmNsb3NlKCk7XG4gIC8vICAgICAgICAgfSxcbiAgLy8gICAgICAgfSxcbiAgLy8gICAgICAge1xuICAvLyAgICAgICAgIHRleHQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdjYW5jZWwnKSxcbiAgLy8gICAgICAgICBjb2xvcjogJ2RlZmF1bHQnLFxuICAvLyAgICAgICAgIGxvb2s6ICdvdXRsaW5lJyxcbiAgLy8gICAgICAgICBhdXRvZm9jdXM6IHRydWUsXG4gIC8vICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAvLyAgICAgICAgICAgY29udGV4dC5zZXRPdXRwdXQoJ3Jlc3VsdCcsIHsgcmVzdWx0OiBmYWxzZSB9KTtcbiAgLy8gICAgICAgICAgIGRpYWxvZ1Jlc3VsdC5jbG9zZSgpO1xuICAvLyAgICAgICAgIH0sXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICBdLFxuICAvLyAgIH0pO1xuICAvLyB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBUb2FzdEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgY29sb3IhOiBBWFN0eWxlQ29sb3JUeXBlO1xuICB0aXRsZSE6IHN0cmluZztcbiAgY29udGVudCE6IHN0cmluZztcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0LmdldFZhcmlhYmxlPGFueT4oJ29wdGlvbnMnKTtcbiAgICBjb25zdCBwcm9jZXNzID0gb3B0aW9ucz8uWydwcm9jZXNzJ107XG4gICAgY29uc3Qgc2hvd1Jlc3VsdCA9IHByb2Nlc3M/LnNob3dSZXN1bHQgPz8gdHJ1ZTtcbiAgICBpZiAoc2hvd1Jlc3VsdCkge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yLFxuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGhpcy50aXRsZSksXG4gICAgICAgIGNvbnRlbnQ6IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRoaXMuY29udGVudCksXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgICB0aW1lT3V0UHJvZ3Jlc3M6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUFJlbG9hZEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmRpc3BhdGNoKEFYUFJlbG9hZEV2ZW50KHsgZW50aXR5OiBjb250ZXh0LmdldFZhcmlhYmxlKCdlbnRpdHknKSwgbWV0YTogY29udGV4dC5nZXRWYXJpYWJsZTxhbnk+KCdtZXRhJykgfSkpO1xuICB9XG59XG4iXX0=","import { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRouterNavigateAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.router = inject(Router);\n }\n async execute(context) {\n const command = context.getVariable();\n const path = command.options.path;\n if (path?.toLowerCase()?.startsWith('http') || command.options?.extras?.target === 'blank') {\n window.open(path, '_blank');\n }\n else {\n const [basePathAndFragment, queryString] = path.split('?');\n const [basePath, fragment] = basePathAndFragment.split('#'); // Extract fragment if present\n const queryParams = this.parseQueryParams(queryString);\n this.router.navigate([basePath], {\n ...command.options.extras,\n queryParams, // Pass query parameters separately\n fragment, // Pass fragment explicitly\n });\n }\n }\n /**\n * Parses query parameters from a query string into an object.\n */\n parseQueryParams(queryString) {\n if (!queryString)\n return undefined;\n return queryString\n .split('&')\n .map((pair) => pair.split('='))\n .reduce((params, [key, value]) => {\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n return params;\n }, {});\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowRouterNavigateAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowRouterNavigateAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPWorkflowRouterNavigateAction, decorators: [{\n type: Injectable\n }] });\nexport const AXPNavigateWorkflow = {\n startStepId: 'start',\n steps: {\n start: {\n action: 'navigate-router',\n },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGUud29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3dvcmtmbG93cy9uYXZpZ2F0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUd6QyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsaUJBQWlCO0lBRHRFOztRQUVVLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FtQ2pDO0lBakNDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBc0MsQ0FBQztRQUMxRSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVsQyxJQUFJLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7WUFDM0YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXZELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9CLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUN6QixXQUFXLEVBQUUsbUNBQW1DO2dCQUNoRCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0IsQ0FBQyxXQUErQjtRQUN0RCxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRW5DLE9BQU8sV0FBVzthQUNmLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQTRCLENBQUMsQ0FBQztJQUNyQyxDQUFDOzhHQW5DVSwrQkFBK0I7a0hBQS9CLCtCQUErQjs7MkZBQS9CLCtCQUErQjtrQkFEM0MsVUFBVTs7QUF1Q1gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdCO0lBQzlDLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxpQkFBaUI7U0FDMUI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3csIEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Um91dGVyTmF2aWdhdGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb21tYW5kID0gY29udGV4dC5nZXRWYXJpYWJsZTxBWFBOYXZpZ2F0ZUFjdGlvbkNvbW1hbmQ8J3JvdXRlcic+PigpO1xuICAgIGNvbnN0IHBhdGggPSBjb21tYW5kLm9wdGlvbnMucGF0aDtcblxuICAgIGlmIChwYXRoPy50b0xvd2VyQ2FzZSgpPy5zdGFydHNXaXRoKCdodHRwJykgfHwgY29tbWFuZC5vcHRpb25zPy5leHRyYXM/LnRhcmdldCA9PT0gJ2JsYW5rJykge1xuICAgICAgd2luZG93Lm9wZW4ocGF0aCwgJ19ibGFuaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBbYmFzZVBhdGhBbmRGcmFnbWVudCwgcXVlcnlTdHJpbmddID0gcGF0aC5zcGxpdCgnPycpO1xuICAgICAgY29uc3QgW2Jhc2VQYXRoLCBmcmFnbWVudF0gPSBiYXNlUGF0aEFuZEZyYWdtZW50LnNwbGl0KCcjJyk7IC8vIEV4dHJhY3QgZnJhZ21lbnQgaWYgcHJlc2VudFxuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnBhcnNlUXVlcnlQYXJhbXMocXVlcnlTdHJpbmcpO1xuXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYmFzZVBhdGhdLCB7XG4gICAgICAgIC4uLmNvbW1hbmQub3B0aW9ucy5leHRyYXMsXG4gICAgICAgIHF1ZXJ5UGFyYW1zLCAvLyBQYXNzIHF1ZXJ5IHBhcmFtZXRlcnMgc2VwYXJhdGVseVxuICAgICAgICBmcmFnbWVudCwgLy8gUGFzcyBmcmFnbWVudCBleHBsaWNpdGx5XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIHF1ZXJ5IHBhcmFtZXRlcnMgZnJvbSBhIHF1ZXJ5IHN0cmluZyBpbnRvIGFuIG9iamVjdC5cbiAgICovXG4gIHByaXZhdGUgcGFyc2VRdWVyeVBhcmFtcyhxdWVyeVN0cmluZzogc3RyaW5nIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFxdWVyeVN0cmluZykgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBxdWVyeVN0cmluZ1xuICAgICAgLnNwbGl0KCcmJylcbiAgICAgIC5tYXAoKHBhaXIpID0+IHBhaXIuc3BsaXQoJz0nKSlcbiAgICAgIC5yZWR1Y2UoKHBhcmFtcywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHBhcmFtc1tkZWNvZGVVUklDb21wb25lbnQoa2V5KV0gPSBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUE5hdmlnYXRlV29ya2Zsb3c6IEFYUFdvcmtmbG93ID0ge1xuICBzdGFydFN0ZXBJZDogJ3N0YXJ0JyxcbiAgc3RlcHM6IHtcbiAgICBzdGFydDoge1xuICAgICAgYWN0aW9uOiAnbmF2aWdhdGUtcm91dGVyJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==","import { Injectable, inject } from \"@angular/core\";\nimport { AXDialogService } from \"@acorex/components/dialog\";\nimport { AXPWorkflowError } from \"@acorex/platform/workflow\";\nimport * as i0 from \"@angular/core\";\nexport class AXMWorkflowErrorHandler {\n constructor() {\n this.dialog = inject(AXDialogService);\n }\n handleError(error, next) {\n if (error instanceof AXPWorkflowError) {\n this.dialog.alert(\"Somthing is wrong!\", error.inner ? error.inner.message : error.message, 'danger');\n next(error);\n }\n else {\n next(error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMWorkflowErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMWorkflowErrorHandler }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMWorkflowErrorHandler, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvd29ya2Zsb3dzL2Vycm9yLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUk3RCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQVc1QztJQVJHLFdBQVcsQ0FBQyxLQUFVLEVBQUUsSUFBMEI7UUFDOUMsSUFBSSxLQUFLLFlBQVksZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7OEdBWFEsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIGluamVjdCwgaXNEZXZNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0Vycm9yIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVdvcmtmbG93RXJyb3JIYW5kbGVyIGltcGxlbWVudHMgQVhQRXJyb3JIYW5kbGVyIHtcbiAgICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuXG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55LCBuZXh0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBWFBXb3JrZmxvd0Vycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZy5hbGVydChcIlNvbXRoaW5nIGlzIHdyb25nIVwiLCBlcnJvci5pbm5lciA/IGVycm9yLmlubmVyLm1lc3NhZ2UgOiBlcnJvci5tZXNzYWdlLCAnZGFuZ2VyJyk7XG4gICAgICAgICAgICBuZXh0KGVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5leHQoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==","import { InjectionToken } from '@angular/core';\nexport const AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER = new InjectionToken('AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2dsb2JhbC12YXJpYWJsZXMvZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxJQUFJLGNBQWMsQ0FDdkUseUNBQXlDLEVBQ3pDO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDbEIsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uUHJvdmlkZXJUb2tlbiA9XG4gIHwgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uUHJvdmlkZXJcbiAgfCBQcm9taXNlPEFYUEdsb2JhbFZhcmlhYmxlRGVmaW5pdGlvblByb3ZpZGVyPjtcblxuZXhwb3J0IGNvbnN0IEFYUF9HTE9CQUxfVkFSSUFCTEVfREVGSU5JVElPTl9QUk9WSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb25Qcm92aWRlclRva2VuW10+KFxuICAnQVhQX0dMT0JBTF9WQVJJQUJMRV9ERUZJTklUSU9OX1BST1ZJREVSJyxcbiAge1xuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxuICB9LFxuKTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb25Qcm92aWRlcjxUID0gYW55PiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIG9yZGVyPzogbnVtYmVyO1xuXG4gIGV4ZWN1dGUoKTogUHJvbWlzZTxUPiB8IFQ7XG59XG4iXX0=","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER } from './global-variable-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPGlobalVariableDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.definitionProviders = inject(AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by name. */\n this.definitionsByName = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns a report definition by its id.\n * First checks the cache, then queries all providers if not found.\n * @param name The global variable name.\n * @returns The global variable definition if found, undefined otherwise.\n */\n async getByName(name) {\n // Check cache first\n if (this.definitionsByName.has(name)) {\n return this.definitionsByName.get(name);\n }\n // Not in cache, query providers (each provider is itself a global variable definition)\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const match = resolvedProviders.find(def => def?.name === name);\n if (match) {\n this.definitionsByName.set(name, match);\n return match;\n }\n return undefined;\n }\n async execute(name) {\n const definition = await this.getByName(name);\n if (definition) {\n return await definition.execute();\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n /** Clears the definitions by name cache. */\n clearDefinitionsCache() {\n this.definitionsByName.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalVariableDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalVariableDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPGlobalVariableDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGUtZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFHaEcsWUFBWTtBQUtaLE1BQU0sT0FBTyxrQ0FBa0M7SUFIL0M7UUFJRSwwQ0FBMEM7UUFFekIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHVDQUF1QyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpILHFDQUFxQztRQUM3QixzQkFBaUIsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQTZDakY7SUE1Q0MsWUFBWTtJQUVaLGtDQUFrQztJQUVsQzs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUMxQixvQkFBb0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCx1RkFBdUY7UUFDdkYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdEUsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoRSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUN4QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU8sTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUFZO0lBRVosd0NBQXdDO0lBRXhDLDRDQUE0QztJQUM1QyxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7OEdBaERVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRmpDLE1BQU07OzJGQUVQLGtDQUFrQztrQkFIOUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQX0dMT0JBTF9WQVJJQUJMRV9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9nbG9iYWwtdmFyaWFibGUtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5pbXBvcnQgeyBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24gfSBmcm9tICcuL2dsb2JhbC12YXJpYWJsZS50eXBlcyc7XG5cbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgUHJvdmlkZXJzICYgQ2FjaGVzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmaW5pdGlvblByb3ZpZGVycyA9IGluamVjdChBWFBfR0xPQkFMX1ZBUklBQkxFX0RFRklOSVRJT05fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG5cbiAgLyoqIENhY2hlIGZvciBkZWZpbml0aW9ucyBieSBuYW1lLiAqL1xuICBwcml2YXRlIGRlZmluaXRpb25zQnlOYW1lOiBNYXA8c3RyaW5nLCBBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24+ID0gbmV3IE1hcCgpO1xuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBBUEkgICAtLS0tXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuXG4gICAqIEZpcnN0IGNoZWNrcyB0aGUgY2FjaGUsIHRoZW4gcXVlcmllcyBhbGwgcHJvdmlkZXJzIGlmIG5vdCBmb3VuZC5cbiAgICogQHBhcmFtIG5hbWUgVGhlIGdsb2JhbCB2YXJpYWJsZSBuYW1lLlxuICAgKiBAcmV0dXJucyBUaGUgZ2xvYmFsIHZhcmlhYmxlIGRlZmluaXRpb24gaWYgZm91bmQsIHVuZGVmaW5lZCBvdGhlcndpc2UuXG4gICAqL1xuICBhc3luYyBnZXRCeU5hbWUobmFtZTogc3RyaW5nKTogUHJvbWlzZTxBWFBHbG9iYWxWYXJpYWJsZURlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICAvLyBDaGVjayBjYWNoZSBmaXJzdFxuICAgIGlmICh0aGlzLmRlZmluaXRpb25zQnlOYW1lLmhhcyhuYW1lKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNCeU5hbWUuZ2V0KG5hbWUpO1xuICAgIH1cbiAgICAvLyBOb3QgaW4gY2FjaGUsIHF1ZXJ5IHByb3ZpZGVycyAoZWFjaCBwcm92aWRlciBpcyBpdHNlbGYgYSBnbG9iYWwgdmFyaWFibGUgZGVmaW5pdGlvbilcbiAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG5cbiAgICBjb25zdCBtYXRjaCA9IHJlc29sdmVkUHJvdmlkZXJzLmZpbmQoZGVmID0+IGRlZj8ubmFtZSA9PT0gbmFtZSk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zQnlOYW1lLnNldChuYW1lLCBtYXRjaCk7XG4gICAgICByZXR1cm4gbWF0Y2g7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKG5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGVmaW5pdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QnlOYW1lKG5hbWUpO1xuICAgIGlmIChkZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gYXdhaXQgZGVmaW5pdGlvbi5leGVjdXRlKCk7ICAgIFxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDYWNoZSBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gIC8qKiBDbGVhcnMgdGhlIGRlZmluaXRpb25zIGJ5IG5hbWUgY2FjaGUuICovXG4gIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlZmluaXRpb25zQnlOYW1lLmNsZWFyKCk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==","import { inject } from \"@angular/core\";\nimport { AXPGlobalVariableDefinitionService } from \"./global-variable-definition.service\";\nexport class AXPGlobalVariableEvaluatorScopeProvider {\n constructor() {\n this.globalVariableService = inject(AXPGlobalVariableDefinitionService);\n }\n async provide(context) {\n context.addScope('variables', {\n execute: async (name) => {\n return await this.globalVariableService.execute(name);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXZhcmlhYmxlLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvZ2xvYmFsLXZhcmlhYmxlcy9nbG9iYWwtdmFyaWFibGUtZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFMUYsTUFBTSxPQUFPLHVDQUF1QztJQUFwRDtRQUVjLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBU2pGLENBQUM7SUFQRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQW1EO1FBQzdELE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELENBQUM7U0FDSixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSB9IGZyb20gXCIuL2dsb2JhbC12YXJpYWJsZS1kZWZpbml0aW9uLnNlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIEFYUEdsb2JhbFZhcmlhYmxlRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBnbG9iYWxWYXJpYWJsZVNlcnZpY2UgPSBpbmplY3QoQVhQR2xvYmFsVmFyaWFibGVEZWZpbml0aW9uU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCd2YXJpYWJsZXMnLCB7XG4gICAgICAgICAgICBleGVjdXRlOiBhc3luYyAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2xvYmFsVmFyaWFibGVTZXJ2aWNlLmV4ZWN1dGUobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxufSJdfQ==","import { AXPopupModule } from '@acorex/components/popup';\nimport { AXToastModule } from '@acorex/components/toast';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXPAppStartUpProvider, AXPAppStartUpService } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { ErrorHandler, Inject, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, } from './data';\nimport { AXPErrorHandlerRegistryService, AXPGlobalErrorHandler } from './errors';\nimport { AXPMenuSearchDefinitionProvider } from './layout';\nimport { AXPMenuSearchProvider } from './layout/menu/search.provider';\nimport { AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from './search';\nimport { AXPSettingService } from './settings';\nimport { AXPDialogConfirmAction, AXPNavigateWorkflow, AXPReloadAction, AXPToastAction, AXPWorkflowRouterNavigateAction, } from './workflows';\nimport { AXPGlobalVariableEvaluatorScopeProvider } from './global-variables';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/core\";\nimport * as i2 from \"./settings\";\nimport * as i3 from \"@acorex/platform/workflow\";\nexport class AXPCommonModule {\n static forRoot(configs) {\n return {\n ngModule: AXPCommonModule,\n providers: [\n ...(configs?.errorHandlers || []),\n {\n provide: 'AXPCommonModuleFactory',\n useFactory: (registry) => () => {\n registry.register(...(configs?.errorHandlers || []));\n },\n deps: [AXPErrorHandlerRegistryService],\n multi: true,\n },\n ],\n };\n }\n static forChild(configs) {\n return {\n ngModule: AXPCommonModule,\n providers: [\n ...(configs?.errorHandlers || []),\n {\n provide: 'AXPCommonModuleFactory',\n useFactory: (registry) => () => {\n registry.register(...(configs?.errorHandlers || []));\n },\n deps: [AXPErrorHandlerRegistryService],\n multi: true,\n },\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances, appInitService, settingsService) {\n instances.forEach((f) => {\n f();\n });\n appInitService.registerTask({\n name: 'Settings',\n statusText: 'Loading Settings ...',\n priority: 2,\n run: async () => {\n await settingsService.load();\n },\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCommonModule, deps: [{ token: 'AXPCommonModuleFactory' }, { token: i1.AXPAppStartUpService }, { token: i2.AXPSettingService }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCommonModule, imports: [i3.AXPWorkflowModule, AXPopupModule,\n AXDateTimeModule,\n AXToastModule], exports: [RouterModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCommonModule, providers: [\n AXPAppStartUpProvider,\n {\n provide: ErrorHandler,\n useClass: AXPGlobalErrorHandler,\n },\n {\n provide: AXPCustomOperatorService,\n useClass: AXPCustomOperatorServiceImpl,\n },\n {\n provide: AXPFilterOperatorMiddlewareService,\n useClass: AXPFilterOperatorMiddlewareServiceImpl,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPMenuSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPMenuSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPGlobalVariableEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPWorkflowModule.forChild({\n actions: {\n 'navigate-router': AXPWorkflowRouterNavigateAction,\n 'show-prompt-dialog': AXPDialogConfirmAction,\n 'show-toast': AXPToastAction,\n 'reload': AXPReloadAction,\n },\n workflows: {\n navigate: AXPNavigateWorkflow,\n },\n }),\n AXPopupModule,\n AXDateTimeModule,\n AXToastModule, RouterModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPCommonModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPWorkflowModule.forChild({\n actions: {\n 'navigate-router': AXPWorkflowRouterNavigateAction,\n 'show-prompt-dialog': AXPDialogConfirmAction,\n 'show-toast': AXPToastAction,\n 'reload': AXPReloadAction,\n },\n workflows: {\n navigate: AXPNavigateWorkflow,\n },\n }),\n AXPopupModule,\n AXDateTimeModule,\n AXToastModule,\n ],\n exports: [RouterModule],\n providers: [\n AXPAppStartUpProvider,\n {\n provide: ErrorHandler,\n useClass: AXPGlobalErrorHandler,\n },\n {\n provide: AXPCustomOperatorService,\n useClass: AXPCustomOperatorServiceImpl,\n },\n {\n provide: AXPFilterOperatorMiddlewareService,\n useClass: AXPFilterOperatorMiddlewareServiceImpl,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXPMenuSearchProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_DEFINITION_PROVIDER,\n useClass: AXPMenuSearchDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXPGlobalVariableEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Inject,\n args: ['AXPCommonModuleFactory']\n }] }, { type: i1.AXPAppStartUpService }, { type: i2.AXPSettingService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyxzQ0FBc0MsR0FDdkMsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFtQiw4QkFBOEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsY0FBYyxFQUNkLCtCQUErQixH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LEVBQUUsdUNBQXVDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7MEJBd0NJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRvYXN0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiwgQVhQQXBwU3RhcnRVcFByb3ZpZGVyLCBBWFBBcHBTdGFydFVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3QsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlLFxuICBBWFBDdXN0b21PcGVyYXRvclNlcnZpY2VJbXBsLFxuICBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlLFxuICBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlSW1wbCxcbn0gZnJvbSAnLi9kYXRhJztcbmltcG9ydCB7IEFYUEVycm9ySGFuZGxlciwgQVhQRXJyb3JIYW5kbGVyUmVnaXN0cnlTZXJ2aWNlLCBBWFBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQgeyBBWFBNZW51U2VhcmNoRGVmaW5pdGlvblByb3ZpZGVyIH0gZnJvbSAnLi9sYXlvdXQnO1xuaW1wb3J0IHsgQVhQTWVudVNlYXJjaFByb3ZpZGVyIH0gZnJvbSAnLi9sYXlvdXQvbWVudS9zZWFyY2gucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhQX1NFQVJDSF9ERUZJTklUSU9OX1BST1ZJREVSLCBBWFBfU0VBUkNIX1BST1ZJREVSIH0gZnJvbSAnLi9zZWFyY2gnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzJztcbmltcG9ydCB7XG4gIEFYUERpYWxvZ0NvbmZpcm1BY3Rpb24sXG4gIEFYUE5hdmlnYXRlV29ya2Zsb3csXG4gIEFYUFJlbG9hZEFjdGlvbixcbiAgQVhQVG9hc3RBY3Rpb24sXG4gIEFYUFdvcmtmbG93Um91dGVyTmF2aWdhdGVBY3Rpb24sXG59IGZyb20gJy4vd29ya2Zsb3dzJztcbmltcG9ydCB7IEFYUEdsb2JhbFZhcmlhYmxlRXZhbHVhdG9yU2NvcGVQcm92aWRlciB9IGZyb20gJy4vZ2xvYmFsLXZhcmlhYmxlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tbW9uTW9kdWxlQ29uZmlncyB7XG4gIGVycm9ySGFuZGxlcnM6IChuZXcgKCkgPT4gQVhQRXJyb3JIYW5kbGVyKVtdO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICAnbmF2aWdhdGUtcm91dGVyJzogQVhQV29ya2Zsb3dSb3V0ZXJOYXZpZ2F0ZUFjdGlvbixcbiAgICAgICAgJ3Nob3ctcHJvbXB0LWRpYWxvZyc6IEFYUERpYWxvZ0NvbmZpcm1BY3Rpb24sXG4gICAgICAgICdzaG93LXRvYXN0JzogQVhQVG9hc3RBY3Rpb24sXG4gICAgICAgICdyZWxvYWQnOiBBWFBSZWxvYWRBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgIG5hdmlnYXRlOiBBWFBOYXZpZ2F0ZVdvcmtmbG93LFxuICAgICAgfSxcbiAgICB9KSxcbiAgICBBWFBvcHVwTW9kdWxlLFxuICAgIEFYRGF0ZVRpbWVNb2R1bGUsXG4gICAgQVhUb2FzdE1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYUEFwcFN0YXJ0VXBQcm92aWRlcixcbiAgICB7XG4gICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXG4gICAgICB1c2VDbGFzczogQVhQR2xvYmFsRXJyb3JIYW5kbGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQQ3VzdG9tT3BlcmF0b3JTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYUEN1c3RvbU9wZXJhdG9yU2VydmljZUltcGwsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2VJbXBsLFxuICAgIH0sXG5cbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfU0VBUkNIX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYUE1lbnVTZWFyY2hQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1NFQVJDSF9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYUE1lbnVTZWFyY2hEZWZpbml0aW9uUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUixcbiAgICAgIHVzZUNsYXNzOiBBWFBHbG9iYWxWYXJpYWJsZUV2YWx1YXRvclNjb3BlUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDb21tb25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWdzPzogQVhQQ29tbW9uTW9kdWxlQ29uZmlncyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QVhQQ29tbW9uTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWFBDb21tb25Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uKGNvbmZpZ3M/LmVycm9ySGFuZGxlcnMgfHwgW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYUENvbW1vbk1vZHVsZUZhY3RvcnknLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IChyZWdpc3RyeTogQVhQRXJyb3JIYW5kbGVyUmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlciguLi4oY29uZmlncz8uZXJyb3JIYW5kbGVycyB8fCBbXSkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVwczogW0FYUEVycm9ySGFuZGxlclJlZ2lzdHJ5U2VydmljZV0sXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlncz86IEFYUENvbW1vbk1vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUENvbW1vbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhQQ29tbW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLihjb25maWdzPy5lcnJvckhhbmRsZXJzIHx8IFtdKSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6ICdBWFBDb21tb25Nb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUEVycm9ySGFuZGxlclJlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXIoLi4uKGNvbmZpZ3M/LmVycm9ySGFuZGxlcnMgfHwgW10pKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHM6IFtBWFBFcnJvckhhbmRsZXJSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ0FYUENvbW1vbk1vZHVsZUZhY3RvcnknKSBpbnN0YW5jZXM6IGFueVtdLFxuICAgIGFwcEluaXRTZXJ2aWNlOiBBWFBBcHBTdGFydFVwU2VydmljZSxcbiAgICBzZXR0aW5nc1NlcnZpY2U6IEFYUFNldHRpbmdTZXJ2aWNlXG4gICkge1xuICAgIGluc3RhbmNlcy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICBmKCk7XG4gICAgfSk7XG4gICAgYXBwSW5pdFNlcnZpY2UucmVnaXN0ZXJUYXNrKHtcbiAgICAgIG5hbWU6ICdTZXR0aW5ncycsXG4gICAgICBzdGF0dXNUZXh0OiAnTG9hZGluZyBTZXR0aW5ncyAuLi4nLFxuICAgICAgcHJpb3JpdHk6IDIsXG4gICAgICBydW46IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgc2V0dGluZ3NTZXJ2aWNlLmxvYWQoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { InjectionToken } from '@angular/core';\nimport { merge } from 'lodash-es';\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT');\nexport const AXP_PLATFORM_CONFIG_TOKEN = new InjectionToken('AXP_PLATFORM_CONFIG_TOKEN', {\n providedIn: 'root',\n factory: () => {\n return AXPPlatformDefaultConfigs;\n },\n});\nexport const AXPPlatformDefaultConfigs = {\n copyright: 'ACoreX @ 2024',\n title: 'ACoreX Platform',\n network: {\n timeOut: 5000,\n },\n};\nexport function configPlatform(config = AXPPlatformDefaultConfigs) {\n return merge(AXPPlatformDefaultConfigs, config);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvY29uZmlncy9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQU0sYUFBYSxDQUFDLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxjQUFjLENBQXFCLDJCQUEyQixFQUFFO0lBQzNHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixPQUFPLHlCQUF5QixDQUFDO0lBQ25DLENBQUM7Q0FDRixDQUFDLENBQUM7QUF3QkgsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQXVCO0lBQzNELFNBQVMsRUFBRSxlQUFlO0lBQzFCLEtBQUssRUFBRSxpQkFBaUI7SUFFeEIsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLElBQUk7S0FDZDtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQXNDLHlCQUF5QjtJQUM1RixPQUFPLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQTG9nb0NvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgY29uc3QgRU5WSVJPTk1FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignRU5WSVJPTk1FTlQnKTtcblxuZXhwb3J0IGNvbnN0IEFYUF9QTEFURk9STV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUGxhdGZvcm1Db25maWdzPignQVhQX1BMQVRGT1JNX0NPTkZJR19UT0tFTicsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgcmV0dXJuIEFYUFBsYXRmb3JtRGVmYXVsdENvbmZpZ3M7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBQbGF0Zm9ybUNvbmZpZ3Mge1xuICB0aXRsZT86IHN0cmluZztcbiAgY29weXJpZ2h0Pzogc3RyaW5nO1xuICBsb2dvPzoge1xuICAgIGljb246IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICAgIHRleHQ6IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICAgIGZ1bGw6IHtcbiAgICAgIGxpZ2h0OiBBWFBMb2dvQ29uZmlnO1xuICAgICAgZGFyazogQVhQTG9nb0NvbmZpZztcbiAgICB9O1xuICB9O1xuICBuZXR3b3JrPzoge1xuICAgIHRpbWVPdXQ/OiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBWFBQbGF0Zm9ybURlZmF1bHRDb25maWdzOiBBWFBQbGF0Zm9ybUNvbmZpZ3MgPSB7XG4gIGNvcHlyaWdodDogJ0FDb3JlWCBAIDIwMjQnLFxuICB0aXRsZTogJ0FDb3JlWCBQbGF0Zm9ybScsXG5cbiAgbmV0d29yazoge1xuICAgIHRpbWVPdXQ6IDUwMDAsXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnUGxhdGZvcm0oY29uZmlnOiBQYXJ0aWFsPEFYUFBsYXRmb3JtQ29uZmlncz4gPSBBWFBQbGF0Zm9ybURlZmF1bHRDb25maWdzKTogQVhQUGxhdGZvcm1Db25maWdzIHtcbiAgcmV0dXJuIG1lcmdlKEFYUFBsYXRmb3JtRGVmYXVsdENvbmZpZ3MsIGNvbmZpZyk7XG59XG4iXX0=","import { InjectionToken } from \"@angular/core\";\nexport const AXP_ROOT_CONFIG_TOKEN = new InjectionToken('AXP_ROOT_CONFIG_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbmZpZy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQVhQX1JPT1RfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJvb3RDb25maWdzPignQVhQX1JPT1RfQ09ORklHX1RPS0VOJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUm9vdENvbmZpZ3Mge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbn0iXX0=","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPFileStorageService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileStorageService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileStorageService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL2ZpbGUtc3RvcmFnZS9maWxlLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQWdCLHFCQUFxQjs4R0FBckIscUJBQXFCO2tIQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRDFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUEZpbGVTdG9yYWdlQ3JlYXRlUmVxdWVzdCwgQVhQRmlsZVN0b3JhZ2VJbmZvLCBBWFBGaWxlU3RvcmFnZVVwZGF0ZVJlcXVlc3QsIEFYUEZpbGVTdG9yYWdlRmluZFJlcXVlc3QgfSBmcm9tIFwiLi9maWxlLXN0b3JhZ2UudHlwZXNcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlIHtcblxuICAgIGFic3RyYWN0IHNhdmUocmVxdWVzdDogQVhQRmlsZVN0b3JhZ2VDcmVhdGVSZXF1ZXN0KTogUHJvbWlzZTxBWFBGaWxlU3RvcmFnZUluZm8+O1xuXG4gICAgYWJzdHJhY3QgdXBkYXRlKHJlcXVlc3Q6IEFYUEZpbGVTdG9yYWdlVXBkYXRlUmVxdWVzdCk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvPjtcblxuICAgIGFic3RyYWN0IGZpbmQocmVxdWVzdDogQVhQRmlsZVN0b3JhZ2VGaW5kUmVxdWVzdCk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvW10+O1xuXG4gICAgYWJzdHJhY3QgZ2V0SW5mbyhmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8QVhQRmlsZVN0b3JhZ2VJbmZvPjtcblxuICAgIGFic3RyYWN0IHJlbW92ZShmaWxlSWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBjb21taXQoZmlsZUlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgYWJzdHJhY3QgbWFya0ZvckRlbGV0aW9uKGZpbGVJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==","export var AXPFileStorageStatus;\n(function (AXPFileStorageStatus) {\n AXPFileStorageStatus[\"Temporary\"] = \"temporary\";\n AXPFileStorageStatus[\"Committed\"] = \"committed\";\n AXPFileStorageStatus[\"PendingDeletion\"] = \"pendingDeletion\";\n AXPFileStorageStatus[\"Archived\"] = \"archived\";\n AXPFileStorageStatus[\"Error\"] = \"error\";\n})(AXPFileStorageStatus || (AXPFileStorageStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdG9yYWdlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9maWxlLXN0b3JhZ2UvZmlsZS1zdG9yYWdlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLG9CQU1YO0FBTkQsV0FBWSxvQkFBb0I7SUFDOUIsK0NBQXVCLENBQUE7SUFDdkIsK0NBQXVCLENBQUE7SUFDdkIsMkRBQW1DLENBQUE7SUFDbkMsNkNBQXFCLENBQUE7SUFDckIsdUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQU0vQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1ldGFEYXRhIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGVudW0gQVhQRmlsZVN0b3JhZ2VTdGF0dXMge1xuICBUZW1wb3JhcnkgPSAndGVtcG9yYXJ5JywgLy8gRmlsZSBpcyBub3QgeWV0IGFzc29jaWF0ZWQgd2l0aCBhIHBhcmVudCBlbnRpdHlcbiAgQ29tbWl0dGVkID0gJ2NvbW1pdHRlZCcsIC8vIEZpbGUgaXMgZnVsbHkgYXNzb2NpYXRlZCBhbmQgaW4gdXNlXG4gIFBlbmRpbmdEZWxldGlvbiA9ICdwZW5kaW5nRGVsZXRpb24nLCAvLyBGaWxlIGlzIG1hcmtlZCBmb3IgZGVsZXRpb24gYnV0IG5vdCB5ZXQgcmVtb3ZlZFxuICBBcmNoaXZlZCA9ICdhcmNoaXZlZCcsIC8vIEZpbGUgaXMgYXJjaGl2ZWQgYW5kIG5vIGxvbmdlciBhY3RpdmVseSB1c2VkXG4gIEVycm9yID0gJ2Vycm9yJywgLy8gRmlsZSBlbmNvdW50ZXJlZCBhbiBlcnJvciBkdXJpbmcgcHJvY2Vzc2luZ1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBmaWxlIHN0b3JhZ2UgcmVxdWVzdCBpbiB0aGUgQWNvcmV4IHBsYXRmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlQ3JlYXRlUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSB0byBiZSBzdG9yZWQuXG4gICAqL1xuICBmaWxlOiBGaWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmlsZS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiByZWZlcmVuY2VkIGVudGl0eS5cbiAgICovXG4gIHJlZklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgcmVmZXJlbmNlZCBlbnRpdHkuXG4gICAqL1xuICByZWZUeXBlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY2F0ZWdvcnkgb2YgdGhlIGZpbGUuIHByb2ZpbGUtcGljdHVyZSwgY29tcGFueS1sb2dvLCBwb2xpY3ksIGRvY3VtZW50LCBldGMuXG4gICAqL1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGZvbGRlciBwYXRoIHdoZXJlIHRoZSBmaWxlIHNob3VsZCBiZSBzdG9yZWQuXG4gICAqIElmIG51bGwsIHRoZSBzZXJ2aWNlIHdpbGwgcmVzb2x2ZSB0aGUgcGF0aCBiYXNlZCBvbiBtZXRhZGF0YSwgdXNlciwgdGVuYW50LCBvciBkZWZhdWx0IHJ1bGVzLlxuICAgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIE1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZS5cbiAgICovXG4gIG1ldGFkYXRhPzogQVhQTWV0YURhdGE7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSBzdGF0dXMgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBzdGF0dXM/OiBBWFBGaWxlU3RvcmFnZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBGaWxlU3RvcmFnZVVwZGF0ZVJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3RvcmVkIGZpbGUuXG4gICAqL1xuICBmaWxlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgcGF0aCB3aGVyZSB0aGUgZmlsZSBzaG91bGQgYmUgc3RvcmVkLlxuICAgKiBJZiBudWxsLCB0aGUgc2VydmljZSB3aWxsIHJlc29sdmUgdGhlIHBhdGggYmFzZWQgb24gbWV0YWRhdGEsIHVzZXIsIHRlbmFudCwgb3IgZGVmYXVsdCBydWxlcy5cbiAgICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGZpbGUuXG4gICAqL1xuICBtZXRhZGF0YTogQVhQTWV0YURhdGE7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGEgZmlsZSBzdG9yZWQgaW4gdGhlIEFYUCBmaWxlIHN0b3JhZ2Ugc3lzdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlSW5mbyB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBzdG9yZWQgZmlsZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc3RvcmVkIGZpbGUuXG4gICAqL1xuICBmaWxlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHJlZmVyZW5jZWQgZW50aXR5LlxuICAgKi9cbiAgcmVmSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSByZWZlcmVuY2VkIGVudGl0eS5cbiAgICovXG4gIHJlZlR5cGU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjYXRlZ29yeSBvZiB0aGUgZmlsZS4gcHJvZmlsZS1waWN0dXJlLCBjb21wYW55LWxvZ28sIHBvbGljeSwgZG9jdW1lbnQsIGV0Yy5cbiAgICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVUkwgd2hlcmUgdGhlIGZpbGUgY2FuIGJlIGFjY2Vzc2VkLlxuICAgKi9cbiAgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZmlsZSBpbiBieXRlcy5cbiAgICovXG4gIHNpemU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbGUuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGUgYW5kIHRpbWUgd2hlbiB0aGUgZmlsZSB3YXMgdXBsb2FkZWQuXG4gICAqL1xuICB1cGxvYWRlZEF0OiBEYXRlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwdWJsaWMgb3IgcHJpdmF0ZS5cbiAgICovXG4gIGlzUHVibGljOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwcmltYXJ5IG9yIG5vdC5cbiAgICovXG4gIGlzUHJpbWFyeT86IGJvb2xlYW47XG5cbiAgc3RhdHVzOiBBWFBGaWxlU3RvcmFnZVN0YXR1czsgLy8gVXBkYXRlZCB0byB1c2UgZW51bVxuXG4gIGJpbmFyeTogRmlsZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGluZm9ybWF0aW9uIGFib3V0IGEgZmlsZSBzdG9yZWQgaW4gdGhlIEFYUCBmaWxlIHN0b3JhZ2Ugc3lzdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEZpbGVTdG9yYWdlRmluZFJlcXVlc3Qge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHJlZmVyZW5jZWQgZW50aXR5LlxuICAgKi9cbiAgcmVmSWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgcmVmZXJlbmNlZCBlbnRpdHkuXG4gICAqL1xuICByZWZUeXBlPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNhdGVnb3J5IG9mIHRoZSBmaWxlLiBwcm9maWxlLXBpY3R1cmUsIGNvbXBhbnktbG9nbywgcG9saWN5LCBkb2N1bWVudCwgZXRjLlxuICAgKi9cbiAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgTUlNRSB0eXBlIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgbWltZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlsZSBpcyBwdWJsaWMgb3IgcHJpdmF0ZS5cbiAgICovXG4gIGlzUHVibGljPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWxlIGlzIHByaW1hcnkgb3Igbm90LlxuICAgKi9cbiAgaXNQcmltYXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBkYXRlIGFuZCB0aW1lIHJhbmdlIHdoZW4gdGhlIGZpbGUgd2FzIHVwbG9hZGVkLlxuICAgKi9cbiAgdXBsb2FkZWRBdFJhbmdlPzogeyBmcm9tOiBEYXRlOyB0bzogRGF0ZSB9O1xufVxuIl19","import { inject, Injectable, InjectionToken } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const AXP_FILE_TYPE_INFO_PROVIDER = new InjectionToken('AXP_FILE_TYPE_INFO_PROVIDER');\nexport class AXPFileTypeProviderService {\n constructor() {\n this.providers = inject(AXP_FILE_TYPE_INFO_PROVIDER, { optional: true });\n }\n async items() {\n const items = [];\n if (Array.isArray(this.providers)) {\n for (const provider of this.providers) {\n items.push(...(await provider.items()));\n }\n }\n return items;\n }\n async get(name) {\n return (await this.items()).find((c) => c.name == name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileTypeProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileTypeProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPFileTypeProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS10eXBlLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9maWxlLXR5cGUvZmlsZS10eXBlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPbkUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQTRCLDZCQUE2QixDQUFDLENBQUM7QUFHeEgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGNBQVMsR0FBRyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQWdCN0U7SUFkQyxLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7UUFFaEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDcEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBaEJVLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRGIsTUFBTTs7MkZBQ25CLDBCQUEwQjtrQkFEdEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBGaWxlVHlwZSB9IGZyb20gJy4vZmlsZS10eXBlLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBGaWxlVHlwZUluZm9Qcm92aWRlciB7XG4gIGl0ZW1zKCk6IFByb21pc2U8QVhQRmlsZVR5cGVbXT47XG59XG5cbmV4cG9ydCBjb25zdCBBWFBfRklMRV9UWVBFX0lORk9fUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQRmlsZVR5cGVJbmZvUHJvdmlkZXJbXT4oJ0FYUF9GSUxFX1RZUEVfSU5GT19QUk9WSURFUicpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgQVhQRmlsZVR5cGVJbmZvUHJvdmlkZXIge1xuICBwcml2YXRlIHByb3ZpZGVycyA9IGluamVjdChBWFBfRklMRV9UWVBFX0lORk9fUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBGaWxlVHlwZVtdPiB7XG4gICAgY29uc3QgaXRlbXM6IEFYUEZpbGVUeXBlW10gPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvdmlkZXJzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiB0aGlzLnByb3ZpZGVycykge1xuICAgICAgICBpdGVtcy5wdXNoKC4uLihhd2FpdCBwcm92aWRlci5pdGVtcygpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIGFzeW5jIGdldChuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEZpbGVUeXBlIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLml0ZW1zKCkpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcbiAgfVxufVxuIl19","import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class AXPLockService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLockService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPLockService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9sb2NrLXN5c3RlbS9sb2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFnQixjQUFjOzhHQUFkLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtBWFBMb2NrR2V0SW5mb1JlcXVlc3QsIEFYUExvY2tJbmZvLCBBWFBMb2NrUmVxdWVzdCwgQVhQVW5Mb2NrUmVxdWVzdCB9IGZyb20gXCIuL2xvY2sudHlwZXNcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUExvY2tTZXJ2aWNlIHtcblxuICAgIGFic3RyYWN0IGxvY2socmVxdWVzdDogQVhQTG9ja1JlcXVlc3QpOiBQcm9taXNlPEFYUExvY2tJbmZvPjtcblxuICAgIGFic3RyYWN0IHVubG9jayhyZXF1ZXN0OiBBWFBVbkxvY2tSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPjtcblxuICAgIGFic3RyYWN0IGNoZWNrKHJlcXVlc3Q6IEFYUExvY2tHZXRJbmZvUmVxdWVzdCk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgICBhYnN0cmFjdCBnZXRJbmZvKHJlcXVlc3Q6IEFYUExvY2tHZXRJbmZvUmVxdWVzdCk6IFByb21pc2U8QVhQTG9ja0luZm8+O1xufVxuIl19","//#region ---- Imports ----\nexport {};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7O0FBK2QvQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQRXhwb3J0T3B0aW9ucywgQVhQT3B0aW9uc0RhdGEgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb2x1bW5Ob2RlLCBBWFBXaWRnZXROb2RlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IEFYUENvbW1hbmRBY3Rpb25UeXBlLCBBWFBRdWVyeVNvcnQgfSBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBDb3JlIFJlcG9ydCBUeXBlcyBhbmQgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0VHlwZSA9ICd0YWJsZScgfCAnY2hhcnQnIHwgJ2NhcmRzJyB8ICdjdXN0b20nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc1JlcG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXTtcbiAgICBwYXJhbWV0ZXJHcm91cHM6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwW107XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgICBsYXlvdXRzOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uW107ICAvLyBDaGFuZ2VkIHRvIHN1cHBvcnQgbXVsdGlwbGUgbGF5b3V0c1xuICAgIGRlZmF1bHRMYXlvdXRJZDogc3RyaW5nOyAgICAgICAgICAgICAgLy8gV2hpY2ggbGF5b3V0IHRvIHNob3cgYnkgZGVmYXVsdFxuICAgIGRhdGFTb3VyY2U/OiBBWFBSZXBvcnREYXRhU291cmNlOyAgICAgLy8gT3B0aW9uYWwgZmFsbGJhY2sgZGF0YVNvdXJjZSBmb3IgYWxsIGxheW91dHNcbn1cblxuLyoqXG4gKiBMYXlvdXQgRGVmaW5pdGlvbiAtIEFzc29jaWF0ZXMgYSBsYXlvdXQgd2l0aCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydExheW91dERlZmluaXRpb24ge1xuICAgIGlkOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBsYXlvdXRcbiAgICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSBuYW1lIChlLmcuLCBcIlRhYmxlIFZpZXdcIiwgXCJDaGFydCBWaWV3XCIpXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7ICAgICAgICAgIC8vIE9wdGlvbmFsIGRlc2NyaXB0aW9uXG4gICAgaWNvbj86IHN0cmluZzsgICAgICAgICAgICAgICAgIC8vIEljb24gZm9yIGxheW91dCBzd2l0Y2hlciBVSVxuICAgIGxheW91dDogQVhQUmVwb3J0TGF5b3V0OyAgICAgICAvLyBUaGUgYWN0dWFsIGxheW91dCBjb25maWd1cmF0aW9uXG4gICAgZGF0YVNvdXJjZT86IEFYUFJlcG9ydERhdGFTb3VyY2U7IC8vIE9wdGlvbmFsIGxheW91dC1zcGVjaWZpYyBkYXRhU291cmNlIChvdmVycmlkZXMgcmVwb3J0LWxldmVsKVxuICAgIGlzRGVmYXVsdD86IGJvb2xlYW47ICAgICAgICAgICAvLyBBbHRlcm5hdGl2ZSB0byBkZWZhdWx0TGF5b3V0SWRcbiAgICBleHBvcnQ/OiBBWFBFeHBvcnRPcHRpb25zO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyR3JvdXAge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM6IEFYUFJlcG9ydFBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlciB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBEYXRhIFNvdXJjZSBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0RGF0YVNvdXJjZSA9XG4gICAgfCBBWFBRdWVyeURhdGFTb3VyY2VcbiAgICB8IEFYUEN1c3RvbURhdGFTb3VyY2VcbiAgICB8IEFYUEFnZ3JlZ2F0ZWREYXRhU291cmNlXG4gICAgfCBBWFBUcmFuc2Zvcm1lZERhdGFTb3VyY2U7XG5cbi8qKlxuICogUXVlcnkgRGF0YSBTb3VyY2UgLSBVc2VkIGZvciBleGVjdXRpbmcgcHJlZGVmaW5lZCBxdWVyaWVzIChBWFBRdWVyeSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBRdWVyeURhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICdxdWVyeSc7XG4gICAgbmFtZTogc3RyaW5nOyAvLyBUaGUgcmVnaXN0ZXJlZCBxdWVyeSBuYW1lLCBlLmcuLCAnZ2V0RW1wbG95ZWVMaXN0J1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHF1ZXJ5IGlucHV0c1xuICAgIHNvcnRGaWVsZHM/OiBBWFBRdWVyeVNvcnRbXTsgICAgICAgICAgLy8gRGVmYXVsdCBzb3J0aW5nIGFwcGxpZWQgYnkgdGhlIGJhY2tlbmRcbiAgICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgICAgICAgICAgICAgICAgIC8vIEVuYWJsZXMgcGFnaW5nIGluIHJlc3VsdCBzZXRcbn1cblxuXG5cbi8qKlxuICogQ3VzdG9tIERhdGEgU291cmNlIC0gVXNlZCBmb3IgZmV0Y2hpbmcgZGF0YSBmcm9tIGN1c3RvbSBwcm92aWRlcnMgbGlrZSBSRVNUIEFQSXMgb3IgZXh0ZXJuYWwgc2VydmljZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDdXN0b21EYXRhU291cmNlIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBwcm92aWRlcjogc3RyaW5nOyAvLyBFeGFtcGxlOiAnaHR0cDovL2FwaS9yZXBvcnQnIG9yICdjdXN0b206TXlIYW5kbGVyJ1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHBheWxvYWRcbiAgICBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgICAgIC8vIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGN1c3RvbSBoYW5kbGVyXG59XG5cbi8qKlxuICogUGFyYW1ldGVyIEJpbmRpbmcgLSBNYXBzIHJlcG9ydC1sZXZlbCBwYXJhbWV0ZXJzIHRvIGFjdHVhbCBxdWVyeS9jb21tYW5kIGlucHV0IHN0cnVjdHVyZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmcge1xuICAgIHBhcmFtZXRlcktleTogc3RyaW5nOyAvLyBSZXBvcnQgcGFyYW1ldGVyIGtleSwgZS5nLiwgJ3N0YXJ0RGF0ZSdcbiAgICBiaW5kVG86IHN0cmluZzsgICAgICAgLy8gSW5wdXQga2V5IGluIHRoZSBxdWVyeS9jb21tYW5kIHBheWxvYWQsIGUuZy4sICdmaWx0ZXJzLmZyb20nXG59XG5cbi8qKlxuICogQWdncmVnYXRlZCBEYXRhIFNvdXJjZSAtIFVzZWQgZm9yIHByZS1hZ2dyZWdhdGVkIGRhdGEgb3B0aW1pemVkIGZvciBjaGFydHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBZ2dyZWdhdGVkRGF0YVNvdXJjZSB7XG4gICAgdHlwZTogJ2FnZ3JlZ2F0ZWQnO1xuICAgIGJhc2VRdWVyeTogc3RyaW5nOyAgICAvLyBCYXNlIHF1ZXJ5IHRvIGFnZ3JlZ2F0ZSBmcm9tXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBncm91cEJ5OiBzdHJpbmdbXTsgICAgLy8gRmllbGRzIHRvIGdyb3VwIGJ5XG4gICAgYWdncmVnYXRpb25zOiBBWFBBZ2dyZWdhdGlvbltdOyAvLyBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybWVkIERhdGEgU291cmNlIC0gQXBwbGllcyB0cmFuc2Zvcm1hdGlvbnMgdG8gZXhpc3RpbmcgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVHJhbnNmb3JtZWREYXRhU291cmNlIHtcbiAgICB0eXBlOiAndHJhbnNmb3JtZWQnO1xuICAgIGJhc2VEYXRhU291cmNlOiBBWFBSZXBvcnREYXRhU291cmNlOyAvLyBTb3VyY2UgdG8gdHJhbnNmb3JtXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICB0cmFuc2Zvcm1hdGlvbnM6IEFYUERhdGFUcmFuc2Zvcm1hdGlvbltdOyAvLyBMaXN0IG9mIHRyYW5zZm9ybWF0aW9uc1xuICAgIGlucHV0cz86IEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmdbXTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGlvbiBvcGVyYXRpb24gZm9yIGFnZ3JlZ2F0ZWQgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWdncmVnYXRpb24ge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3BlcmF0aW9uOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCcgfCAnZGlzdGluY3QnO1xuICAgIGFsaWFzPzogc3RyaW5nOyAvLyBPdXRwdXQgZmllbGQgbmFtZVxufVxuXG4vKipcbiAqIERhdGEgdHJhbnNmb3JtYXRpb24gb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRGF0YVRyYW5zZm9ybWF0aW9uIHtcbiAgICB0eXBlOiAnZmlsdGVyJyB8ICdzb3J0JyB8ICdncm91cCcgfCAncGl2b3QnIHwgJ2Zvcm1hdCc7XG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyAvLyBUcmFuc2Zvcm1hdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIExheW91dCBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0ID1cbiAgICB8IEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgfCBBWFBSZXBvcnRDaGFydExheW91dFxuXG4vKipcbiAqIFRhYmxlIExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdGFidWxhciBmb3JtYXRcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIGV4dGVuZHMgQVhQQWN0aW9uTWVudUl0ZW0ge1xuICAgIHByaW9yaXR5OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgICB0eXBlOiBBWFBDb21tYW5kQWN0aW9uVHlwZTtcbiAgICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRUYWJsZUxheW91dCB7XG4gICAgdHlwZTogJ3RhYmxlJztcbiAgICBjb2x1bW5zOiBBWFBSZXBvcnRDb2x1bW5bXTtcbiAgICBhY3Rpb25zPzogQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb25bXTtcbiAgICBvcHRpb25zPzogQVhQVGFibGVPcHRpb25zO1xuICAgIGdyb3VwQnk/OiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmc/OiBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGVbXTtcbiAgICBzdW1tYXJ5PzogQVhQUmVwb3J0U3VtbWFyeU9wdGlvbnNbXTtcbiAgICBoZWFkZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG4gICAgZm9vdGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRhYmxlT3B0aW9ucyB7XG4gICAgcGFnaW5hdGlvbj86IGJvb2xlYW47XG4gICAgc3RpY2t5SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzdHJpcGVkUm93cz86IGJvb2xlYW47XG4gICAgc29ydGluZz86IEFYUFF1ZXJ5U29ydFtdO1xuICAgIHNlbGVjdGFibGU/OiB7XG4gICAgICAgIG1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdub25lJztcbiAgICB9O1xufVxuXG4vKipcbiAqIENoYXJ0IExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdmFyaW91cyBjaGFydCBmb3JtYXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRMYXlvdXQge1xuICAgIHR5cGU6ICdjaGFydCc7XG4gICAgb3B0aW9uczogQVhQUmVwb3J0Q2hhcnRPcHRpb25zO1xuICAgIGhlYWRlcj86IEFYUFJlcG9ydEhlYWRlckZvb3RlcjtcbiAgICBmb290ZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRPcHRpb25zIHtcbiAgICBjaGFydFR5cGU6ICdiYXInIHwgJ2xpbmUnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ2FyZWEnIHwgJ3NjYXR0ZXInIHwgJ3JhZGFyJyB8ICdtaXhlZCc7XG4gICAgZGF0YU1hcHBpbmc6IEFYUENoYXJ0RGF0YU1hcHBpbmc7XG4gICAgc3R5bGluZz86IEFYUENoYXJ0U3R5bGluZztcbiAgICBpbnRlcmFjdGl2aXR5PzogQVhQQ2hhcnRJbnRlcmFjdGl2aXR5O1xufVxuXG4vKipcbiAqIENoYXJ0IERhdGEgTWFwcGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnREYXRhTWFwcGluZyB7XG4gICAgLy8gQ29yZSBmaWVsZHNcbiAgICB4RmllbGQ6IHN0cmluZzsgICAgICAgICAgICAgICAgICAgIC8vIFgtYXhpcyBkYXRhIGZpZWxkXG4gICAgeUZpZWxkczogc3RyaW5nIHwgc3RyaW5nW107ICAgICAgICAvLyBZLWF4aXMgZGF0YSBmaWVsZChzKSBmb3IgbXVsdGlwbGUgc2VyaWVzXG5cbiAgICAvLyBHcm91cGluZyBhbmQgY2F0ZWdvcml6YXRpb25cbiAgICBncm91cEJ5Pzogc3RyaW5nOyAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIGRhdGEgYnkgdGhpcyBmaWVsZFxuICAgIHNlcmllc0ZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgLy8gRmllbGQgdG8gY3JlYXRlIG11bHRpcGxlIHNlcmllc1xuXG4gICAgLy8gU3BlY2lhbCBmaWVsZHMgZm9yIHNwZWNpZmljIGNoYXJ0IHR5cGVzXG4gICAgc2l6ZUZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgICAvLyBGb3IgYnViYmxlIGNoYXJ0c1xuICAgIGNvbG9yRmllbGQ/OiBzdHJpbmc7ICAgICAgICAgICAgICAgLy8gRm9yIGdyYWRpZW50L2NvbmRpdGlvbmFsIGNvbG9yaW5nXG4gICAgbGFiZWxGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgICAvLyBDdXN0b20gbGFiZWwgZmllbGRcblxuICAgIC8vIERhdGEgYWdncmVnYXRpb25cbiAgICBhZ2dyZWdhdGlvbj86IHtcbiAgICAgICAgbWV0aG9kOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCc7XG4gICAgICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBWaXN1YWwgU3R5bGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRTdHlsaW5nIHtcbiAgICAvLyBUaGVtZSBhbmQgY29sb3JzXG4gICAgY29sb3JTY2hlbWU/OiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdjdXN0b20nO1xuICAgIGN1c3RvbUNvbG9ycz86IHN0cmluZ1tdO1xuXG4gICAgLy8gQ2hhcnQgYXBwZWFyYW5jZVxuICAgIGdyaWRMaW5lcz86IGJvb2xlYW47XG4gICAgbGVnZW5kPzoge1xuICAgICAgICBzaG93OiBib29sZWFuO1xuICAgICAgICBwb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgfTtcblxuICAgIC8vIEF4ZXMgY29uZmlndXJhdGlvblxuICAgIHhBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuICAgIHlBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuXG4gICAgLy8gQW5pbWF0aW9uXG4gICAgYW5pbWF0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBkdXJhdGlvbj86IG51bWJlcjtcbiAgICB9O1xuXG4gICAgLy8gQ2hhcnQtc3BlY2lmaWMgc3R5bGluZ1xuICAgIGNoYXJ0U3BlY2lmaWM/OiB7XG4gICAgICAgIC8vIEJhciBjaGFydCBvcHRpb25zXG4gICAgICAgIGJhcj86IHtcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICAgICAgICAgICAgbW9kZTogJ2dyb3VwZWQnIHwgJ3N0YWNrZWQnO1xuICAgICAgICAgICAgYmFyV2lkdGg/OiBudW1iZXI7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTGluZSBjaGFydCBvcHRpb25zXG4gICAgICAgIGxpbmU/OiB7XG4gICAgICAgICAgICBzdHlsZTogJ3N0cmFpZ2h0JyB8ICdjdXJ2ZWQnIHwgJ3N0ZXBwZWQnO1xuICAgICAgICAgICAgc2hvd1BvaW50cz86IGJvb2xlYW47XG4gICAgICAgICAgICB0ZW5zaW9uPzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEFyZWEgY2hhcnQgb3B0aW9uc1xuICAgICAgICBhcmVhPzoge1xuICAgICAgICAgICAgbW9kZTogJ25vcm1hbCcgfCAnc3RhY2tlZCcgfCAncGVyY2VudGFnZSc7XG4gICAgICAgICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBpZS9Eb3VnaG51dCBvcHRpb25zXG4gICAgICAgIHBpZT86IHtcbiAgICAgICAgICAgIHN0YXJ0QW5nbGU/OiBudW1iZXI7XG4gICAgICAgICAgICBpbm5lclJhZGl1cz86IG51bWJlcjsgLy8gRm9yIGRvdWdobnV0IGNoYXJ0c1xuICAgICAgICAgICAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBBeGlzIENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEF4aXNDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHR5cGU/OiAnbGluZWFyJyB8ICdsb2dhcml0aG1pYycgfCAnZGF0ZXRpbWUnIHwgJ2NhdGVnb3J5JztcbiAgICBtaW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4PzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGZvcm1hdD86IHN0cmluZztcbiAgICBncmlkTGluZXM/OiBib29sZWFuO1xuICAgIHRpY2tJbnRlcnZhbD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDaGFydCBJbnRlcmFjdGl2aXR5IENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEludGVyYWN0aXZpdHkge1xuICAgIC8vIFpvb20gYW5kIHBhblxuICAgIHpvb20/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIG1vZGU/OiAneCcgfCAneScgfCAneHknO1xuICAgIH07XG5cbiAgICAvLyBUb29sdGlwc1xuICAgIHRvb2x0aXBzPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgICAgIHNob3dPbkhvdmVyPzogYm9vbGVhbjtcbiAgICB9O1xuXG4gICAgLy8gQ2xpY2sgZXZlbnRzXG4gICAgb25DbGljaz86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgYWN0aW9uPzogJ2RyaWxsLWRvd24nIHwgJ2ZpbHRlcicgfCAnY3VzdG9tJztcbiAgICB9O1xuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgc2VsZWN0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBtb2RlPzogJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuICAgIH07XG5cbiAgICAvLyBFeHBvcnRcbiAgICBleHBvcnQ/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIGZvcm1hdHM/OiAoJ3BuZycgfCAnanBnJyB8ICdwZGYnIHwgJ3N2ZycpW107XG4gICAgfTtcbn1cblxuXG4vLyNyZWdpb24gLS0tLSAgIFNoYXJlZCBNb2RlbHMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q29sdW1uIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIHdpZGdldD86IEFYUFdpZGdldENvbHVtbk5vZGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRTdW1tYXJ5T3B0aW9ucyB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRpb246ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21pbicgfCAnbWF4JztcbiAgICBkaXNwbGF5SW46ICdncm91cEZvb3RlcicgfCAncmVwb3J0Rm9vdGVyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGUge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uOiAnPicgfCAnPCcgfCAnPScgfCAnIT0nIHwgJ2NvbnRhaW5zJztcbiAgICB2YWx1ZTogYW55O1xuICAgIHN0eWxlOiB7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgICAgIGZvbnRXZWlnaHQ/OiAnbm9ybWFsJyB8ICdib2xkJztcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEhlYWRlckZvb3RlciB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nb1VybD86IHN0cmluZztcbiAgICBzaG93RGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd1BhcmFtZXRlcnM/OiBib29sZWFuO1xuICAgIGN1c3RvbUh0bWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGF5b3V0IHN3aXRjaGVyIG9wdGlvbnMgZm9yIFVJIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdHlwZTogQVhQUmVwb3J0TGF5b3V0VHlwZTtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGxheW91dCBzZWxlY3Rpb24gc3RhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRMYXlvdXRTdGF0ZSB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBhY3RpdmVMYXlvdXRJZDogc3RyaW5nO1xuICAgIGF2YWlsYWJsZUxheW91dHM6IEFYUExheW91dFN3aXRjaGVyT3B0aW9uW107XG59XG5cbi8qKlxuICogTGF5b3V0IHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICBlcnJvcnM6IHN0cmluZ1tdO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBzb3VyY2UgcmVzb2x1dGlvbiByZXN1bHQgZm9yIGEgc3BlY2lmaWMgbGF5b3V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RGF0YVNvdXJjZVJlc29sdXRpb24ge1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgZGF0YVNvdXJjZTogQVhQUmVwb3J0RGF0YVNvdXJjZTtcbiAgICBzb3VyY2U6ICdsYXlvdXQnIHwgJ3JlcG9ydCcgfCAnbm9uZSc7IC8vIFdoZXJlIHRoZSBkYXRhU291cmNlIGNhbWUgZnJvbVxufVxuXG4vKipcbiAqIExheW91dCBleGVjdXRpb24gY29udGV4dCB3aXRoIHJlc29sdmVkIGRhdGEgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIGRhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuXG5leHBvcnQgdHlwZSBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgPVxuICAgIHwgeyB0eXBlOiAndGFibGUnLCBpdGVtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgdG90YWw6IG51bWJlciB9XG4gICAgfCB7IHR5cGU6ICdjaGFydCcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH1cbiAgICB8IHsgdHlwZTogJ2NhcmRzJywgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gfVxuICAgIHwgeyB0eXBlOiAnY3VzdG9tJywgZGF0YTogdW5rbm93biB9O1xuXG5cbmV4cG9ydCB0eXBlIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgPSBBWFBSZXBvcnRMYXlvdXQgJiB7IGRhdGE6IEFYUEV4ZWN1dGlvblJlcG9ydFJlc3VsdCB9O1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZCBleHRlbmRzIEFYUENvbW1hbmQ8QVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCwgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZFJlc3VsdD4ge1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gc3RhdHVzIGFuZCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvblN0YXR1cyB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIHN0YXR1czogJ3BlbmRpbmcnIHwgJ2V4ZWN1dGluZycgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2NhbmNlbGxlZCc7XG4gICAgc3RhcnRUaW1lOiBEYXRlO1xuICAgIGVuZFRpbWU/OiBEYXRlO1xuICAgIGR1cmF0aW9uPzogbnVtYmVyOyAvLyBtaWxsaXNlY29uZHNcbiAgICByZWNvcmRDb3VudD86IG51bWJlcjtcbiAgICBlcnJvcj86IEFYUFJlcG9ydEV4ZWN1dGlvbkVycm9yO1xufVxuXG4vKipcbiAqIERldGFpbGVkIGVycm9yIGluZm9ybWF0aW9uIGZvciByZXBvcnQgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RXhlY3V0aW9uRXJyb3Ige1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHN0YWNrPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gcmVxdWVzdCB3aXRoIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25SZXF1ZXN0IHtcbiAgICByZXBvcnRJZDogc3RyaW5nO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgb3B0aW9ucz86IEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcmVwb3J0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnMge1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7IC8vIG1pbGxpc2Vjb25kc1xuICAgIHByaW9yaXR5PzogJ2xvdycgfCAnbm9ybWFsJyB8ICdoaWdoJztcbiAgICBjYWNoZT86IGJvb2xlYW47XG4gICAgY2FjaGVUaW1lb3V0PzogbnVtYmVyOyAvLyBzZWNvbmRzXG59XG5cbi8vI2VuZHJlZ2lvblxuIl19","import { InjectionToken } from '@angular/core';\nexport const AXP_REPORT_DEFINITION_PROVIDER = new InjectionToken('AXP_REPORT_DEFINITION_PROVIDER', {\n factory: () => [],\n});\nexport const AXP_REPORT_CATEGORY_PROVIDER = new InjectionToken('AXP_REPORT_CATEGORY_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBcUMsZ0NBQWdDLEVBQUU7SUFDbkksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDO0FBWUgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQW1DLDhCQUE4QixFQUFFO0lBQzdILE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yeSwgQVhQUmVwb3J0RGVmaW5pdGlvbiB9IGZyb20gJy4vcmVwb3J0LnR5cGVzJztcblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyVG9rZW4gPVxuICAgIHwgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyXG4gICAgfCBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlcj47XG5cbmV4cG9ydCBjb25zdCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyVG9rZW5bXT4oJ0FYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBbXSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgZ2V0TGlzdChjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT47XG4gICAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uIHwgdW5kZWZpbmVkPjtcbn1cblxuXG5leHBvcnQgdHlwZSBBWFBSZXBvcnRDYXRlZ29yeVByb3ZpZGVyVG9rZW4gPVxuICAgIHwgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclxuICAgIHwgUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVByb3ZpZGVyPjtcblxuZXhwb3J0IGNvbnN0IEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclRva2VuW10+KCdBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IFtdLFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciB7XG4gICAgZ2V0TGlzdChwYXJlbnRJZD86IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT47XG4gICAgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD47XG59XG5cblxuIl19","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_REPORT_CATEGORY_PROVIDER, AXP_REPORT_DEFINITION_PROVIDER } from './report-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPReportDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.categoryProviders = inject(AXP_REPORT_CATEGORY_PROVIDER, { optional: true }) || [];\n this.definitionProviders = inject(AXP_REPORT_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by categoryId. */\n this.definitionsByCategory = new Map();\n /** Cache for categories by id. */\n this.categoriesById = new Map();\n /** Cache for categories by parentId. */\n this.categoriesByParentId = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns all categories for a given parentId, loading from providers if not cached.\n * @param parentId The parent ID to filter by (or undefined for root categories).\n */\n async getCategories(parentId) {\n if (this.categoriesByParentId.has(parentId)) {\n return this.categoriesByParentId.get(parentId);\n }\n const resolvedProviders = await Promise.all(this.categoryProviders);\n const categories = [];\n for (const provider of resolvedProviders) {\n if (provider && typeof provider.getList === 'function') {\n const cats = await provider.getList(parentId);\n if (Array.isArray(cats)) {\n categories.push(...cats);\n }\n }\n }\n this.categoriesByParentId.set(parentId, categories);\n // Optionally update categoriesById cache for fast lookup by id\n for (const cat of categories) {\n this.categoriesById.set(cat.id, cat);\n }\n return categories;\n }\n /**\n * Returns all report definitions for a given categoryId, loading from providers if not cached.\n * @param categoryId The category ID to filter by.\n */\n async getReportsByCategoryId(categoryId) {\n if (this.definitionsByCategory.has(categoryId)) {\n return this.definitionsByCategory.get(categoryId);\n }\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const definitions = [];\n for (const provider of resolvedProviders) {\n if (provider && typeof provider.getList === 'function') {\n const defs = await provider.getList(categoryId);\n if (Array.isArray(defs)) {\n definitions.push(...defs);\n }\n }\n }\n this.definitionsByCategory.set(categoryId, definitions);\n return definitions;\n }\n /**\n * Returns a report definition by its id.\n * First checks the cache, then queries all providers if not found.\n * @param id The report id.\n * @returns The report definition if found, undefined otherwise.\n */\n async getReportById(id) {\n // Check cache first\n for (const reports of this.definitionsByCategory.values()) {\n const found = reports.find(report => report.id === id);\n if (found) {\n return found;\n }\n }\n // Not in cache, query providers\n const resolvedProviders = await Promise.all(this.definitionProviders);\n const results = await Promise.all(resolvedProviders\n .filter(p => p && typeof p.getById === 'function')\n .map(p => p.getById(id)));\n return results.find(r => r !== undefined);\n }\n /**\n * Returns a category by its id, using cache and providers if needed.\n * @param categoryId The category id.\n */\n async getCategoryById(categoryId) {\n // Check if it's already in cache\n if (this.categoriesById.has(categoryId)) {\n return this.categoriesById.get(categoryId);\n }\n // Search in already loaded categories first\n for (const [parentId, categories] of this.categoriesByParentId.entries()) {\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n this.categoriesById.set(categoryId, found);\n return found;\n }\n }\n // If not found in loaded categories, we need to search level by level\n // Start with root categories if not already loaded\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n const found = this.categoriesById.get(categoryId);\n if (found)\n return found;\n }\n // Search through loaded categories and their children\n const searchQueue = [undefined];\n const searched = new Set();\n while (searchQueue.length > 0) {\n const parentId = searchQueue.shift();\n if (searched.has(parentId))\n continue;\n searched.add(parentId);\n const categories = await this.getCategories(parentId);\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n return found;\n }\n // Add children to search queue\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searchQueue.push(category.id);\n }\n }\n }\n return undefined;\n }\n /**\n * Returns the full categories path from root to the specified category.\n * @param categoryId The category ID to get the path for.\n * @returns Array of categories from root to the specified category.\n * @throws Error if category not found.\n */\n async getCategoriesPathById(categoryId) {\n const path = [];\n let currentCategoryId = categoryId;\n while (currentCategoryId) {\n // Try to get from cache first\n let category = this.categoriesById.get(currentCategoryId);\n // If not in cache, we need to find it by searching parent levels\n if (!category) {\n category = await this.getCategoryById(currentCategoryId);\n if (!category) {\n throw new Error(`Category with id '${currentCategoryId}' not found`);\n }\n }\n path.unshift(category); // Add to beginning to maintain root->target order\n currentCategoryId = category.parentId;\n }\n return path;\n }\n /**\n * Returns the full categories path for the category that contains the specified report.\n * @param reportId The report ID to find the category path for.\n * @returns Array of categories from root to the category containing the report.\n * @throws Error if report not found.\n */\n async getCategoriesPathByReportId(reportId) {\n // Find which category contains this report\n const categoryId = await this.getCategoryIdByReportId(reportId);\n if (!categoryId) {\n throw new Error(`Report with id '${reportId}' not found in any category`);\n }\n return this.getCategoriesPathById(categoryId);\n }\n /**\n * Returns the category ID that contains a specific report.\n * @param reportId The report ID to search for.\n * @returns The category ID containing the report, or undefined if not found.\n */\n async getCategoryIdByReportId(reportId) {\n // First check already cached report definitions\n for (const [categoryId, reports] of this.definitionsByCategory.entries()) {\n if (reports.some(report => report.id === reportId)) {\n return categoryId;\n }\n }\n // If not found in cache, search through categories level by level\n // Start with root categories\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n }\n const searchQueue = [];\n const searched = new Set();\n // Add all known category IDs to search queue\n for (const category of this.categoriesById.values()) {\n searchQueue.push(category.id);\n }\n // Search level by level\n const searchQueueParents = [undefined];\n const searchedParents = new Set();\n while (searchQueueParents.length > 0) {\n const parentId = searchQueueParents.shift();\n if (searchedParents.has(parentId))\n continue;\n searchedParents.add(parentId);\n const categories = await this.getCategories(parentId);\n // Check reports in each category\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searched.add(category.id);\n const reports = await this.getReportsByCategoryId(category.id);\n if (reports.some(report => report.id === reportId)) {\n return category.id;\n }\n // Add category to search queue for children\n searchQueueParents.push(category.id);\n }\n }\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n /** Clears the definitions by category cache. */\n clearDefinitionsCache() {\n this.definitionsByCategory.clear();\n }\n /** Clears the categories by parentId cache. */\n clearCategoriesCache() {\n this.categoriesByParentId.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtZGVmaW5pdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUUvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFNUcsWUFBWTtBQUtaLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJSSwwQ0FBMEM7UUFFekIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25GLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV4RywyQ0FBMkM7UUFDbkMsMEJBQXFCLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDOUUsa0NBQWtDO1FBQzFCLG1CQUFjLEdBQW1DLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbkUsd0NBQXdDO1FBQ2hDLHlCQUFvQixHQUFpRCxJQUFJLEdBQUcsRUFBRSxDQUFDO0tBa08xRjtJQWhPRyxZQUFZO0lBRVosa0NBQWtDO0lBRWxDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBaUI7UUFDakMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQ3BELENBQUM7UUFDRCxN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LENBQUM7b0JBQzdCLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQy9ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQzt3QkFDakQsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUN2QixDQUFDO29CQUNELDRDQUE0QztvQkFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7SUFFWix3Q0FBd0M7SUFFeEMsZ0RBQWdEO0lBQ2hELHFCQUFxQjtRQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELCtDQUErQztJQUMvQyxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBMU9RLDBCQUEwQjtrSEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07OzJGQUVULDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIEltcG9ydHMgICAtLS0tXG5cbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuL3JlcG9ydC50eXBlcyc7XG5pbXBvcnQgeyBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSLCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIgfSBmcm9tICcuL3JlcG9ydC1kZWZpbml0aW9uLnByb3ZpZGVyJztcblxuLy8jZW5kcmVnaW9uXG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlIHtcbiAgICAvLyNyZWdpb24gLS0tLSAgIFByb3ZpZGVycyAmIENhY2hlcyAgIC0tLS1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcnlQcm92aWRlcnMgPSBpbmplY3QoQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmluaXRpb25Qcm92aWRlcnMgPSBpbmplY3QoQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8IFtdO1xuXG4gICAgLyoqIENhY2hlIGZvciBkZWZpbml0aW9ucyBieSBjYXRlZ29yeUlkLiAqL1xuICAgIHByaXZhdGUgZGVmaW5pdGlvbnNCeUNhdGVnb3J5OiBNYXA8c3RyaW5nLCBBWFBSZXBvcnREZWZpbml0aW9uW10+ID0gbmV3IE1hcCgpO1xuICAgIC8qKiBDYWNoZSBmb3IgY2F0ZWdvcmllcyBieSBpZC4gKi9cbiAgICBwcml2YXRlIGNhdGVnb3JpZXNCeUlkOiBNYXA8c3RyaW5nLCBBWFBSZXBvcnRDYXRlZ29yeT4gPSBuZXcgTWFwKCk7XG4gICAgLyoqIENhY2hlIGZvciBjYXRlZ29yaWVzIGJ5IHBhcmVudElkLiAqL1xuICAgIHByaXZhdGUgY2F0ZWdvcmllc0J5UGFyZW50SWQ6IE1hcDxzdHJpbmcgfCB1bmRlZmluZWQsIEFYUFJlcG9ydENhdGVnb3J5W10+ID0gbmV3IE1hcCgpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBBUEkgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCBjYXRlZ29yaWVzIGZvciBhIGdpdmVuIHBhcmVudElkLCBsb2FkaW5nIGZyb20gcHJvdmlkZXJzIGlmIG5vdCBjYWNoZWQuXG4gICAgICogQHBhcmFtIHBhcmVudElkIFRoZSBwYXJlbnQgSUQgdG8gZmlsdGVyIGJ5IChvciB1bmRlZmluZWQgZm9yIHJvb3QgY2F0ZWdvcmllcykuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0Q2F0ZWdvcmllcyhwYXJlbnRJZD86IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXMocGFyZW50SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5nZXQocGFyZW50SWQpITtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuY2F0ZWdvcnlQcm92aWRlcnMpO1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzOiBBWFBSZXBvcnRDYXRlZ29yeVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwcm92aWRlciAmJiB0eXBlb2YgcHJvdmlkZXIuZ2V0TGlzdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhdHMgPSBhd2FpdCBwcm92aWRlci5nZXRMaXN0KHBhcmVudElkKTtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjYXRzKSkge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goLi4uY2F0cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuc2V0KHBhcmVudElkLCBjYXRlZ29yaWVzKTtcbiAgICAgICAgLy8gT3B0aW9uYWxseSB1cGRhdGUgY2F0ZWdvcmllc0J5SWQgY2FjaGUgZm9yIGZhc3QgbG9va3VwIGJ5IGlkXG4gICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5SWQuc2V0KGNhdC5pZCwgY2F0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCByZXBvcnQgZGVmaW5pdGlvbnMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnlJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkIFRoZSBjYXRlZ29yeSBJRCB0byBmaWx0ZXIgYnkuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT4ge1xuICAgICAgICBpZiAodGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuaGFzKGNhdGVnb3J5SWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuZ2V0KGNhdGVnb3J5SWQpITtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG4gICAgICAgIGNvbnN0IGRlZmluaXRpb25zOiBBWFBSZXBvcnREZWZpbml0aW9uW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwcm92aWRlciBvZiByZXNvbHZlZFByb3ZpZGVycykge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVyICYmIHR5cGVvZiBwcm92aWRlci5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVmcyA9IGF3YWl0IHByb3ZpZGVyLmdldExpc3QoY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMucHVzaCguLi5kZWZzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5SWQsIGRlZmluaXRpb25zKTtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuXG4gICAgICogRmlyc3QgY2hlY2tzIHRoZSBjYWNoZSwgdGhlbiBxdWVyaWVzIGFsbCBwcm92aWRlcnMgaWYgbm90IGZvdW5kLlxuICAgICAqIEBwYXJhbSBpZCBUaGUgcmVwb3J0IGlkLlxuICAgICAqIEByZXR1cm5zIFRoZSByZXBvcnQgZGVmaW5pdGlvbiBpZiBmb3VuZCwgdW5kZWZpbmVkIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRSZXBvcnRCeUlkKGlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb24gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3RcbiAgICAgICAgZm9yIChjb25zdCByZXBvcnRzIG9mIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LnZhbHVlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHJlcG9ydHMuZmluZChyZXBvcnQgPT4gcmVwb3J0LmlkID09PSBpZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm90IGluIGNhY2hlLCBxdWVyeSBwcm92aWRlcnNcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm92aWRlcnMgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmRlZmluaXRpb25Qcm92aWRlcnMpO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICByZXNvbHZlZFByb3ZpZGVyc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIocCA9PiBwICYmIHR5cGVvZiBwLmdldEJ5SWQgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgLm1hcChwID0+IHAuZ2V0QnlJZChpZCkpXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmZpbmQociA9PiByICE9PSB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjYXRlZ29yeSBieSBpdHMgaWQsIHVzaW5nIGNhY2hlIGFuZCBwcm92aWRlcnMgaWYgbmVlZGVkLlxuICAgICAqIEBwYXJhbSBjYXRlZ29yeUlkIFRoZSBjYXRlZ29yeSBpZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlCeUlkKGNhdGVnb3J5SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXQncyBhbHJlYWR5IGluIGNhY2hlXG4gICAgICAgIGlmICh0aGlzLmNhdGVnb3JpZXNCeUlkLmhhcyhjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNlYXJjaCBpbiBhbHJlYWR5IGxvYWRlZCBjYXRlZ29yaWVzIGZpcnN0XG4gICAgICAgIGZvciAoY29uc3QgW3BhcmVudElkLCBjYXRlZ29yaWVzXSBvZiB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeUlkLCBmb3VuZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIG5vdCBmb3VuZCBpbiBsb2FkZWQgY2F0ZWdvcmllcywgd2UgbmVlZCB0byBzZWFyY2ggbGV2ZWwgYnkgbGV2ZWxcbiAgICAgICAgLy8gU3RhcnQgd2l0aCByb290IGNhdGVnb3JpZXMgaWYgbm90IGFscmVhZHkgbG9hZGVkXG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2VhcmNoIHRocm91Z2ggbG9hZGVkIGNhdGVnb3JpZXMgYW5kIHRoZWlyIGNoaWxkcmVuXG4gICAgICAgIGNvbnN0IHNlYXJjaFF1ZXVlOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW3VuZGVmaW5lZF07XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgICAgIHdoaWxlIChzZWFyY2hRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHNlYXJjaFF1ZXVlLnNoaWZ0KCkhO1xuICAgICAgICAgICAgaWYgKHNlYXJjaGVkLmhhcyhwYXJlbnRJZCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgc2VhcmNoZWQuYWRkKHBhcmVudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBhd2FpdCB0aGlzLmdldENhdGVnb3JpZXMocGFyZW50SWQpO1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBZGQgY2hpbGRyZW4gdG8gc2VhcmNoIHF1ZXVlXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNlYXJjaGVkLmhhcyhjYXRlZ29yeS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoUXVldWUucHVzaChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZnVsbCBjYXRlZ29yaWVzIHBhdGggZnJvbSByb290IHRvIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkuXG4gICAgICogQHBhcmFtIGNhdGVnb3J5SWQgVGhlIGNhdGVnb3J5IElEIHRvIGdldCB0aGUgcGF0aCBmb3IuXG4gICAgICogQHJldHVybnMgQXJyYXkgb2YgY2F0ZWdvcmllcyBmcm9tIHJvb3QgdG8gdGhlIHNwZWNpZmllZCBjYXRlZ29yeS5cbiAgICAgKiBAdGhyb3dzIEVycm9yIGlmIGNhdGVnb3J5IG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGg6IEFYUFJlcG9ydENhdGVnb3J5W10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYXRlZ29yeUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjYXRlZ29yeUlkO1xuICAgICAgICB3aGlsZSAoY3VycmVudENhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIC8vIFRyeSB0byBnZXQgZnJvbSBjYWNoZSBmaXJzdFxuICAgICAgICAgICAgbGV0IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzQnlJZC5nZXQoY3VycmVudENhdGVnb3J5SWQpO1xuICAgICAgICAgICAgLy8gSWYgbm90IGluIGNhY2hlLCB3ZSBuZWVkIHRvIGZpbmQgaXQgYnkgc2VhcmNoaW5nIHBhcmVudCBsZXZlbHNcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnlCeUlkKGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2F0ZWdvcnkgd2l0aCBpZCAnJHtjdXJyZW50Q2F0ZWdvcnlJZH0nIG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChjYXRlZ29yeSk7IC8vIEFkZCB0byBiZWdpbm5pbmcgdG8gbWFpbnRhaW4gcm9vdC0+dGFyZ2V0IG9yZGVyXG4gICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5LnBhcmVudElkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgY2F0ZWdvcmllcyBwYXRoIGZvciB0aGUgY2F0ZWdvcnkgdGhhdCBjb250YWlucyB0aGUgc3BlY2lmaWVkIHJlcG9ydC5cbiAgICAgKiBAcGFyYW0gcmVwb3J0SWQgVGhlIHJlcG9ydCBJRCB0byBmaW5kIHRoZSBjYXRlZ29yeSBwYXRoIGZvci5cbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBjYXRlZ29yaWVzIGZyb20gcm9vdCB0byB0aGUgY2F0ZWdvcnkgY29udGFpbmluZyB0aGUgcmVwb3J0LlxuICAgICAqIEB0aHJvd3MgRXJyb3IgaWYgcmVwb3J0IG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICAvLyBGaW5kIHdoaWNoIGNhdGVnb3J5IGNvbnRhaW5zIHRoaXMgcmVwb3J0XG4gICAgICAgIGNvbnN0IGNhdGVnb3J5SWQgPSBhd2FpdCB0aGlzLmdldENhdGVnb3J5SWRCeVJlcG9ydElkKHJlcG9ydElkKTtcbiAgICAgICAgaWYgKCFjYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9ydCB3aXRoIGlkICcke3JlcG9ydElkfScgbm90IGZvdW5kIGluIGFueSBjYXRlZ29yeWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmdldENhdGVnb3JpZXNQYXRoQnlJZChjYXRlZ29yeUlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjYXRlZ29yeSBJRCB0aGF0IGNvbnRhaW5zIGEgc3BlY2lmaWMgcmVwb3J0LlxuICAgICAqIEBwYXJhbSByZXBvcnRJZCBUaGUgcmVwb3J0IElEIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHJldHVybnMgVGhlIGNhdGVnb3J5IElEIGNvbnRhaW5pbmcgdGhlIHJlcG9ydCwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlJZEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIC8vIEZpcnN0IGNoZWNrIGFscmVhZHkgY2FjaGVkIHJlcG9ydCBkZWZpbml0aW9uc1xuICAgICAgICBmb3IgKGNvbnN0IFtjYXRlZ29yeUlkLCByZXBvcnRzXSBvZiB0aGlzLmRlZmluaXRpb25zQnlDYXRlZ29yeS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGlmIChyZXBvcnRzLnNvbWUocmVwb3J0ID0+IHJlcG9ydC5pZCA9PT0gcmVwb3J0SWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5SWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgbm90IGZvdW5kIGluIGNhY2hlLCBzZWFyY2ggdGhyb3VnaCBjYXRlZ29yaWVzIGxldmVsIGJ5IGxldmVsXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggcm9vdCBjYXRlZ29yaWVzXG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoUXVldWU6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIC8vIEFkZCBhbGwga25vd24gY2F0ZWdvcnkgSURzIHRvIHNlYXJjaCBxdWV1ZVxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIHRoaXMuY2F0ZWdvcmllc0J5SWQudmFsdWVzKCkpIHtcbiAgICAgICAgICAgIHNlYXJjaFF1ZXVlLnB1c2goY2F0ZWdvcnkuaWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNlYXJjaCBsZXZlbCBieSBsZXZlbFxuICAgICAgICBjb25zdCBzZWFyY2hRdWV1ZVBhcmVudHM6IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoZWRQYXJlbnRzID0gbmV3IFNldDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gICAgICAgIHdoaWxlIChzZWFyY2hRdWV1ZVBhcmVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50SWQgPSBzZWFyY2hRdWV1ZVBhcmVudHMuc2hpZnQoKSE7XG4gICAgICAgICAgICBpZiAoc2VhcmNoZWRQYXJlbnRzLmhhcyhwYXJlbnRJZCkpIGNvbnRpbnVlO1xuICAgICAgICAgICAgc2VhcmNoZWRQYXJlbnRzLmFkZChwYXJlbnRJZCk7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKHBhcmVudElkKTtcbiAgICAgICAgICAgIC8vIENoZWNrIHJlcG9ydHMgaW4gZWFjaCBjYXRlZ29yeVxuICAgICAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hlZC5oYXMoY2F0ZWdvcnkuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkLmFkZChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcG9ydHMgPSBhd2FpdCB0aGlzLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVwb3J0cy5zb21lKHJlcG9ydCA9PiByZXBvcnQuaWQgPT09IHJlcG9ydElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5LmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBjYXRlZ29yeSB0byBzZWFyY2ggcXVldWUgZm9yIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFF1ZXVlUGFyZW50cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ2FjaGUgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIC8qKiBDbGVhcnMgdGhlIGRlZmluaXRpb25zIGJ5IGNhdGVnb3J5IGNhY2hlLiAqL1xuICAgIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvKiogQ2xlYXJzIHRoZSBjYXRlZ29yaWVzIGJ5IHBhcmVudElkIGNhY2hlLiAqL1xuICAgIGNsZWFyQ2F0ZWdvcmllc0NhY2hlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iXX0=","export function AXPBarChartReportMapper(data, options) {\n return data.map((item) => {\n return {\n id: item.id,\n label: item[options.xField],\n value: item[options.yFields[0]]\n };\n });\n}\nexport function AXPieChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFXLEVBQUUsT0FBNEI7SUFDN0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckIsT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FBQTtJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUE0QjtJQUMvRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsRUFBRSxFQUFFLEdBQUc7UUFDUCxLQUFLLEVBQUUsR0FBRztRQUNWLEtBQUssRUFBRSxLQUFLO0tBQ2YsQ0FBQyxDQUFDLENBQUM7QUFDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQ2hhcnREYXRhTWFwcGluZyB9IGZyb20gXCIuL3JlcG9ydC50eXBlc1wiO1xuaW1wb3J0IHsgQVhCYXJDaGFydERhdGEgfSBmcm9tIFwiQGFjb3JleC9jaGFydHMvYmFyLWNoYXJ0XCI7XG5pbXBvcnQgeyBBWERvbnV0Q2hhcnRWYWx1ZSB9IGZyb20gXCJAYWNvcmV4L2NoYXJ0cy9kb251dC1jaGFydFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQVhQQmFyQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogYW55W10sIG9wdGlvbnM6IEFYUENoYXJ0RGF0YU1hcHBpbmcpOiBBWEJhckNoYXJ0RGF0YVtdIHtcbiAgICByZXR1cm4gZGF0YS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgbGFiZWw6IGl0ZW1bb3B0aW9ucy54RmllbGRdLFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW1bb3B0aW9ucy55RmllbGRzWzBdXVxuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBWFBpZUNoYXJ0UmVwb3J0TWFwcGVyKGRhdGE6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4pOiBBWERvbnV0Q2hhcnRWYWx1ZSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGRhdGEpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgICBpZDoga2V5LFxuICAgICAgICBsYWJlbDoga2V5LFxuICAgICAgICB2YWx1ZTogdmFsdWVcbiAgICB9KSk7XG59Il19","import { AXToastService } from '@acorex/components/toast';\nimport { Injectable, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPClipBoardService {\n constructor() {\n this.toast = inject(AXToastService);\n }\n copy(title, value) {\n const copyText = document.createElement('input');\n copyText.type = 'text';\n copyText.select();\n copyText.setSelectionRange(0, 99999); // For mobile devices\n copyText.remove();\n navigator.clipboard.writeText(value);\n this.toast.success(`${title} copied!`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPClipBoardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPClipBoardService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPClipBoardService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2NsaXBib2FyZC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlZLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FZMUM7SUFWVSxJQUFJLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN2QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtRQUMzRCxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBWFEsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBDbGlwQm9hcmRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBjb3B5KHRpdGxlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY29weVRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgICAgICBjb3B5VGV4dC50eXBlID0gJ3RleHQnO1xuICAgICAgICBjb3B5VGV4dC5zZWxlY3QoKTtcbiAgICAgICAgY29weVRleHQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgOTk5OTkpOyAvLyBGb3IgbW9iaWxlIGRldmljZXNcbiAgICAgICAgY29weVRleHQucmVtb3ZlKCk7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKGAke3RpdGxlfSBjb3BpZWQhYCk7XG4gICAgfVxuXG59Il19","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXNumberBoxModule } from '@acorex/components/number-box';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { afterNextRender, Component, linkedSignal, model, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/number-box\";\nimport * as i3 from \"@acorex/components/label\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/color-box\";\nexport class AXMOrgChartPrintPage extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.ratio = signal(false, ...(ngDevMode ? [{ debugName: \"ratio\" }] : []));\n this.baseWidth = signal(undefined, ...(ngDevMode ? [{ debugName: \"baseWidth\" }] : []));\n this.baseHeight = signal(undefined, ...(ngDevMode ? [{ debugName: \"baseHeight\" }] : []));\n this.bgcolor = model(...(ngDevMode ? [undefined, { debugName: \"bgcolor\" }] : []));\n this.width = model(...(ngDevMode ? [undefined, { debugName: \"width\" }] : []));\n this.height = model(...(ngDevMode ? [undefined, { debugName: \"height\" }] : []));\n this.quality = model(...(ngDevMode ? [undefined, { debugName: \"quality\" }] : []));\n this.qualityComputed = linkedSignal(() => (this.data.quality ?? 1) * 100);\n this.scale = model(...(ngDevMode ? [undefined, { debugName: \"scale\" }] : []));\n this.#init = afterNextRender(() => {\n this.bgcolor.set(this.data.bgcolor);\n this.width.set(this.data.width);\n this.baseWidth.set(this.data.width);\n this.height.set(this.data.height);\n this.baseHeight.set(this.data.height);\n this.quality.set(this.data.quality);\n this.scale.set(this.data.scale);\n });\n }\n #init;\n calculateRatio(event, type) {\n if (!this.ratio() || !event.isUserInteraction)\n return;\n const value = event.value;\n if (type === 'width') {\n const newHeight = Math.round((value / this.baseWidth()) * this.baseHeight() * 100) / 100;\n this.height.set(newHeight);\n this.width.set(value);\n }\n else {\n const newWidth = Math.round((value / this.baseHeight()) * this.baseWidth() * 100) / 100;\n this.width.set(newWidth);\n this.height.set(value);\n }\n }\n async handleClose(isCanceled = false) {\n this.close({\n bgcolor: this.bgcolor(),\n width: this.width(),\n height: this.height(),\n quality: this.qualityComputed() / 100,\n scale: this.scale(),\n isCanceled,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartPrintPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.1.4\", type: AXMOrgChartPrintPage, isStandalone: true, selector: \"ng-component\", inputs: { bgcolor: { classPropertyName: \"bgcolor\", publicName: \"bgcolor\", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: \"height\", publicName: \"height\", isSignal: true, isRequired: false, transformFunction: null }, quality: { classPropertyName: \"quality\", publicName: \"quality\", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: \"scale\", publicName: \"scale\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { bgcolor: \"bgcolorChange\", width: \"widthChange\", height: \"heightChange\", quality: \"qualityChange\", scale: \"scaleChange\" }, usesInheritance: true, ngImport: i0, template: ` <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Resolution (px)</ax-label>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"width()\"\n (onValueChanged)=\"calculateRatio($event, 'width')\"\n name=\"Width\"\n >\n </ax-number-box>\n <ax-button [toggleable]=\"true\" [(selected)]=\"ratio\"\n ><ax-icon><i class=\"fa-solid fa-vector-square\"></i></ax-icon\n ></ax-button>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"height()\"\n (onValueChanged)=\"calculateRatio($event, 'height')\"\n name=\"Height\"\n >\n </ax-number-box>\n </div>\n\n <ax-label>Background color</ax-label>\n <ax-color-box [(ngModel)]=\"bgcolor\"></ax-color-box>\n\n <ax-label>Quality of image (50-100%)</ax-label>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [minValue]=\"50\"\n [maxValue]=\"100\"\n [(ngModel)]=\"qualityComputed\"\n name=\"Quality\"\n >\n </ax-number-box>\n\n <ax-label>Scale</ax-label>\n <ax-number-box [changeOnScroll]=\"true\" [minValue]=\"1\" [(ngModel)]=\"scale\" name=\"scale\"> </ax-number-box>\n </div>\n\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Print\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-print\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: AXNumberBoxModule }, { kind: \"component\", type: i2.AXNumberBoxComponent, selector: \"ax-number-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"type\", \"changeOnScroll\", \"allDigits\", \"thousandsSeparator\", \"padDecimalZeros\", \"step\", \"decimals\", \"decimalStep\", \"showSpinButtons\", \"minValue\", \"maxValue\", \"class\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i3.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i5.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXColorBoxModule }, { kind: \"component\", type: i6.AXColorBoxComponent, selector: \"ax-color-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"showBadge\", \"showValue\", \"showClearButton\", \"showIcon\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMOrgChartPrintPage, decorators: [{\n type: Component,\n args: [{\n template: ` <div class=\"ax-grid ax-grid-cols-[auto_18rem] ax-gap-4 ax-justify-center ax-p-4 ax-items-center\">\n <ax-label>Resolution (px)</ax-label>\n <div class=\"ax-flex ax-gap-2 ax-items-center\">\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"width()\"\n (onValueChanged)=\"calculateRatio($event, 'width')\"\n name=\"Width\"\n >\n </ax-number-box>\n <ax-button [toggleable]=\"true\" [(selected)]=\"ratio\"\n ><ax-icon><i class=\"fa-solid fa-vector-square\"></i></ax-icon\n ></ax-button>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [decimals]=\"4\"\n [value]=\"height()\"\n (onValueChanged)=\"calculateRatio($event, 'height')\"\n name=\"Height\"\n >\n </ax-number-box>\n </div>\n\n <ax-label>Background color</ax-label>\n <ax-color-box [(ngModel)]=\"bgcolor\"></ax-color-box>\n\n <ax-label>Quality of image (50-100%)</ax-label>\n <ax-number-box\n [changeOnScroll]=\"true\"\n [minValue]=\"50\"\n [maxValue]=\"100\"\n [(ngModel)]=\"qualityComputed\"\n name=\"Quality\"\n >\n </ax-number-box>\n\n <ax-label>Scale</ax-label>\n <ax-number-box [changeOnScroll]=\"true\" [minValue]=\"1\" [(ngModel)]=\"scale\" name=\"scale\"> </ax-number-box>\n </div>\n\n <ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-button text=\"Cancel\" look=\"solid\" (onClick)=\"handleClose(true)\"> </ax-button>\n <ax-button text=\"Print\" look=\"solid\" color=\"primary\" (onClick)=\"handleClose()\">\n <ax-icon class=\"fa-solid fa-print\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-footer>`,\n imports: [\n FormsModule,\n AXCheckBoxModule,\n AXNumberBoxModule,\n AXTextBoxModule,\n AXLabelModule,\n AXDecoratorModule,\n AXButtonModule,\n AXColorBoxModule,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXBvcHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi91dGlscy9leHBvcnQtcG9wdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQWlFN0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQTlEN0Q7O1FBaUVZLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxpREFBQyxDQUFDO1FBQ3RCLGNBQVMsR0FBRyxNQUFNLENBQXFCLFNBQVMscURBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsTUFBTSxDQUFxQixTQUFTLHNEQUFDLENBQUM7UUFFbkQsWUFBTyxHQUFHLEtBQUssNkRBQVUsQ0FBQztRQUMxQixVQUFLLEdBQUcsS0FBSywyREFBVSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxL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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlESywyREFFYixXQUFXLDhWQUNYLGdCQUFnQiw4QkFDaEIsaUJBQWlCLHFoQkFDakIsZUFBZSw4QkFDZixhQUFhLGdLQUNiLGlCQUFpQixzVkFDakIsY0FBYyw2WEFDZCxnQkFBZ0I7OzJGQUdQLG9CQUFvQjtrQkE5RGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlESztvQkFDZixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2hlY2stYm94JztcbmltcG9ydCB7IEFYQ29sb3JCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29sb3ItYm94JztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL251bWJlci1ib3gnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIENvbXBvbmVudCwgbGlua2VkU2lnbmFsLCBtb2RlbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUERvbVRvSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9leHBvcnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtW2F1dG9fMThyZW1dIGF4LWdhcC00IGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxheC1sYWJlbD5SZXNvbHV0aW9uIChweCk8L2F4LWxhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgW2NoYW5nZU9uU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICAgIFtkZWNpbWFsc109XCI0XCJcbiAgICAgICAgICBbdmFsdWVdPVwid2lkdGgoKVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNhbGN1bGF0ZVJhdGlvKCRldmVudCwgJ3dpZHRoJylcIlxuICAgICAgICAgIG5hbWU9XCJXaWR0aFwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8YXgtYnV0dG9uIFt0b2dnbGVhYmxlXT1cInRydWVcIiBbKHNlbGVjdGVkKV09XCJyYXRpb1wiXG4gICAgICAgICAgPjxheC1pY29uPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtdmVjdG9yLXNxdWFyZVwiPjwvaT48L2F4LWljb25cbiAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIFtjaGFuZ2VPblNjcm9sbF09XCJ0cnVlXCJcbiAgICAgICAgICBbZGVjaW1hbHNdPVwiNFwiXG4gICAgICAgICAgW3ZhbHVlXT1cImhlaWdodCgpXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2FsY3VsYXRlUmF0aW8oJGV2ZW50LCAnaGVpZ2h0JylcIlxuICAgICAgICAgIG5hbWU9XCJIZWlnaHRcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXgtbGFiZWw+QmFja2dyb3VuZCBjb2xvcjwvYXgtbGFiZWw+XG4gICAgICA8YXgtY29sb3ItYm94IFsobmdNb2RlbCldPVwiYmdjb2xvclwiPjwvYXgtY29sb3ItYm94PlxuXG4gICAgICA8YXgtbGFiZWw+UXVhbGl0eSBvZiBpbWFnZSAoNTAtMTAwJSk8L2F4LWxhYmVsPlxuICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgW2NoYW5nZU9uU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICBbbWluVmFsdWVdPVwiNTBcIlxuICAgICAgICBbbWF4VmFsdWVdPVwiMTAwXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJxdWFsaXR5Q29tcHV0ZWRcIlxuICAgICAgICBuYW1lPVwiUXVhbGl0eVwiXG4gICAgICA+XG4gICAgICA8L2F4LW51bWJlci1ib3g+XG5cbiAgICAgIDxheC1sYWJlbD5TY2FsZTwvYXgtbGFiZWw+XG4gICAgICA8YXgtbnVtYmVyLWJveCBbY2hhbmdlT25TY3JvbGxdPVwidHJ1ZVwiIFttaW5WYWx1ZV09XCIxXCIgWyhuZ01vZGVsKV09XCJzY2FsZVwiIG5hbWU9XCJzY2FsZVwiPiA8L2F4LW51bWJlci1ib3g+XG4gICAgPC9kaXY+XG5cbiAgICA8YXgtZm9vdGVyPlxuICAgICAgPGF4LXByZWZpeD4gPC9heC1wcmVmaXg+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYnV0dG9uIHRleHQ9XCJDYW5jZWxcIiBsb29rPVwic29saWRcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZSh0cnVlKVwiPiA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiUHJpbnRcIiBsb29rPVwic29saWRcIiBjb2xvcj1cInByaW1hcnlcIiAob25DbGljayk9XCJoYW5kbGVDbG9zZSgpXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wcmludFwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgPC9heC1mb290ZXI+YCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgQVhOdW1iZXJCb3hNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhDb2xvckJveE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNT3JnQ2hhcnRQcmludFBhZ2UgZXh0ZW5kcyBBWEJhc2VQYWdlQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBkYXRhOiBBWFBEb21Ub0ltYWdlT3B0aW9ucztcblxuICBwcm90ZWN0ZWQgcmF0aW8gPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgYmFzZVdpZHRoID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJvdGVjdGVkIGJhc2VIZWlnaHQgPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHByb3RlY3RlZCBiZ2NvbG9yID0gbW9kZWw8c3RyaW5nPigpO1xuICBwcm90ZWN0ZWQgd2lkdGggPSBtb2RlbDxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBoZWlnaHQgPSBtb2RlbDxudW1iZXI+KCk7XG4gIHByb3RlY3RlZCBxdWFsaXR5ID0gbW9kZWw8bnVtYmVyPigpO1xuICBwcm90ZWN0ZWQgcXVhbGl0eUNvbXB1dGVkID0gbGlua2VkU2lnbmFsKCgpID0+ICh0aGlzLmRhdGEucXVhbGl0eSA/PyAxKSAqIDEwMCk7XG4gIHByb3RlY3RlZCBzY2FsZSA9IG1vZGVsPG51bWJlcj4oKTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgdGhpcy5iZ2NvbG9yLnNldCh0aGlzLmRhdGEuYmdjb2xvcik7XG5cbiAgICB0aGlzLndpZHRoLnNldCh0aGlzLmRhdGEud2lkdGgpO1xuICAgIHRoaXMuYmFzZVdpZHRoLnNldCh0aGlzLmRhdGEud2lkdGgpO1xuXG4gICAgdGhpcy5oZWlnaHQuc2V0KHRoaXMuZGF0YS5oZWlnaHQpO1xuICAgIHRoaXMuYmFzZUhlaWdodC5zZXQodGhpcy5kYXRhLmhlaWdodCk7XG5cbiAgICB0aGlzLnF1YWxpdHkuc2V0KHRoaXMuZGF0YS5xdWFsaXR5KTtcbiAgICB0aGlzLnNjYWxlLnNldCh0aGlzLmRhdGEuc2NhbGUpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlUmF0aW8oZXZlbnQ6IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIHR5cGU6ICd3aWR0aCcgfCAnaGVpZ2h0Jyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yYXRpbygpIHx8ICFldmVudC5pc1VzZXJJbnRlcmFjdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgaWYgKHR5cGUgPT09ICd3aWR0aCcpIHtcbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IE1hdGgucm91bmQoKHZhbHVlIC8gdGhpcy5iYXNlV2lkdGgoKSEpICogdGhpcy5iYXNlSGVpZ2h0KCkhICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMuaGVpZ2h0LnNldChuZXdIZWlnaHQpO1xuICAgICAgdGhpcy53aWR0aC5zZXQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuZXdXaWR0aCA9IE1hdGgucm91bmQoKHZhbHVlIC8gdGhpcy5iYXNlSGVpZ2h0KCkhKSAqIHRoaXMuYmFzZVdpZHRoKCkhICogMTAwKSAvIDEwMDtcbiAgICAgIHRoaXMud2lkdGguc2V0KG5ld1dpZHRoKTtcbiAgICAgIHRoaXMuaGVpZ2h0LnNldCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNsb3NlKGlzQ2FuY2VsZWQgPSBmYWxzZSkge1xuICAgIHRoaXMuY2xvc2Uoe1xuICAgICAgYmdjb2xvcjogdGhpcy5iZ2NvbG9yKCksXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCgpLFxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCgpLFxuICAgICAgcXVhbGl0eTogdGhpcy5xdWFsaXR5Q29tcHV0ZWQoKSAvIDEwMCxcbiAgICAgIHNjYWxlOiB0aGlzLnNjYWxlKCksXG4gICAgICBpc0NhbmNlbGVkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=","// AXPPdfService\nimport { AXPopupService } from '@acorex/components/popup';\nimport { Injectable, inject } from '@angular/core';\nimport { AXMOrgChartPrintPage } from './export-popup';\nimport * as i0 from \"@angular/core\";\nexport class AXPExportService {\n constructor() {\n this.popupService = inject(AXPopupService);\n }\n async generateBlobFromElement(element, blobOptions) {\n const domtoimage = (await import('dom-to-image')).default;\n const originalWidth = element.scrollWidth;\n const originalHeight = element.scrollHeight;\n let popup, options = {}, newOptions = {};\n if (blobOptions) {\n ({ popup, ...options } = blobOptions);\n }\n if (popup) {\n const result = await this.popupService.open(AXMOrgChartPrintPage, {\n header: true,\n size: 'fit',\n draggable: true,\n hasBackdrop: true,\n title: 'Export Options',\n data: { data: options },\n });\n if (result.data.isCanceled) {\n throw new Error('Process is Canceled by User!');\n }\n else {\n newOptions = { ...options, ...result.data };\n }\n }\n return domtoimage.toBlob(element, {\n ...newOptions,\n width: (newOptions.width ?? originalWidth) * (newOptions?.scale ?? 1),\n height: (newOptions.height ?? originalHeight) * (newOptions?.scale ?? 1),\n style: {\n transform: `scale(${newOptions?.scale ?? 1})`,\n transformOrigin: 'top left',\n },\n });\n }\n download(blob, filename) {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPExportService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPExportService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQW1EdkM7SUFsREMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQW9CLEVBQUUsV0FBa0M7UUFDcEYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUUxRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFFNUMsSUFBSSxLQUEwQixFQUM1QixPQUFPLEdBQXlCLEVBQUUsRUFDbEMsVUFBVSxHQUF5QixFQUFFLENBQUM7UUFFeEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUNoRSxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUUsS0FBSztnQkFDWCxTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSTtnQkFDakIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTthQUN4QixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUNsRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2hDLEdBQUcsVUFBVTtZQUNiLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNyRSxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDeEUsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxTQUFTLFVBQVUsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHO2dCQUM3QyxlQUFlLEVBQUUsVUFBVTthQUM1QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBbkRVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFYUFBkZlNlcnZpY2VcbmltcG9ydCB7IEFYUG9wdXBTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcHVwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhNT3JnQ2hhcnRQcmludFBhZ2UgfSBmcm9tICcuL2V4cG9ydC1wb3B1cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFeHBvcnRTZXJ2aWNlIHtcbiAgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgYXN5bmMgZ2VuZXJhdGVCbG9iRnJvbUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGJsb2JPcHRpb25zPzogQVhQRG9tVG9JbWFnZU9wdGlvbnMpOiBQcm9taXNlPEJsb2I+IHtcbiAgICBjb25zdCBkb210b2ltYWdlID0gKGF3YWl0IGltcG9ydCgnZG9tLXRvLWltYWdlJykpLmRlZmF1bHQ7XG5cbiAgICBjb25zdCBvcmlnaW5hbFdpZHRoID0gZWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCBvcmlnaW5hbEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuXG4gICAgbGV0IHBvcHVwOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogQVhQRG9tVG9JbWFnZU9wdGlvbnMgPSB7fSxcbiAgICAgIG5ld09wdGlvbnM6IEFYUERvbVRvSW1hZ2VPcHRpb25zID0ge307XG5cbiAgICBpZiAoYmxvYk9wdGlvbnMpIHtcbiAgICAgICh7IHBvcHVwLCAuLi5vcHRpb25zIH0gPSBibG9iT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKHBvcHVwKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKEFYTU9yZ0NoYXJ0UHJpbnRQYWdlLCB7XG4gICAgICAgIGhlYWRlcjogdHJ1ZSxcbiAgICAgICAgc2l6ZTogJ2ZpdCcsXG4gICAgICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgIHRpdGxlOiAnRXhwb3J0IE9wdGlvbnMnLFxuICAgICAgICBkYXRhOiB7IGRhdGE6IG9wdGlvbnMgfSxcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlc3VsdC5kYXRhLmlzQ2FuY2VsZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9jZXNzIGlzIENhbmNlbGVkIGJ5IFVzZXIhJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdPcHRpb25zID0geyAuLi5vcHRpb25zLCAuLi5yZXN1bHQuZGF0YSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkb210b2ltYWdlLnRvQmxvYihlbGVtZW50LCB7XG4gICAgICAuLi5uZXdPcHRpb25zLFxuICAgICAgd2lkdGg6IChuZXdPcHRpb25zLndpZHRoID8/IG9yaWdpbmFsV2lkdGgpICogKG5ld09wdGlvbnM/LnNjYWxlID8/IDEpLFxuICAgICAgaGVpZ2h0OiAobmV3T3B0aW9ucy5oZWlnaHQgPz8gb3JpZ2luYWxIZWlnaHQpICogKG5ld09wdGlvbnM/LnNjYWxlID8/IDEpLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgdHJhbnNmb3JtOiBgc2NhbGUoJHtuZXdPcHRpb25zPy5zY2FsZSA/PyAxfSlgLFxuICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICd0b3AgbGVmdCcsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgZG93bmxvYWQoYmxvYjogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBEb21Ub0ltYWdlT3B0aW9ucyB7XG4gIHBvcHVwPzogdHJ1ZTtcbiAgZmlsdGVyPzogKG5vZGU6IE5vZGUpID0+IGJvb2xlYW47XG4gIGJnY29sb3I/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIHN0eWxlPzoge307XG4gIHF1YWxpdHk/OiBudW1iZXI7XG4gIGltYWdlUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGNhY2hlQnVzdD86IGJvb2xlYW47XG4gIHNjYWxlPzogbnVtYmVyO1xufVxuIl19","export function AXPCleanNestedFilters(filters) {\n return filters\n .map((filter) => {\n if (!filter)\n return undefined;\n if (filter.filters?.length) {\n const cleanedNestedFilters = AXPCleanNestedFilters(filter.filters);\n if (!filter.field && !filter.operator && cleanedNestedFilters.length === 0) {\n return undefined;\n }\n return {\n ...filter,\n filters: cleanedNestedFilters.filter(Boolean),\n };\n }\n if ((!filter.value && filter.value != false) || filter.value === 'unknown') {\n return undefined;\n }\n return filter;\n })\n .filter(Boolean);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNsZWFuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2ZpbHRlci1jbGVhbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFtQztJQUN2RSxPQUFPLE9BQU87U0FDWCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNkLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNFLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPO2dCQUNMLEdBQUcsTUFBTTtnQkFDVCxPQUFPLEVBQUUsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUM5QyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNFLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsT0FBTyxDQUErQixDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gQVhQQ2xlYW5OZXN0ZWRGaWx0ZXJzKGZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdKTogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10ge1xuICByZXR1cm4gZmlsdGVyc1xuICAgIC5tYXAoKGZpbHRlcikgPT4ge1xuICAgICAgaWYgKCFmaWx0ZXIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjbGVhbmVkTmVzdGVkRmlsdGVycyA9IEFYUENsZWFuTmVzdGVkRmlsdGVycyhmaWx0ZXIuZmlsdGVycyk7XG4gICAgICAgIGlmICghZmlsdGVyLmZpZWxkICYmICFmaWx0ZXIub3BlcmF0b3IgJiYgY2xlYW5lZE5lc3RlZEZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBmaWx0ZXJzOiBjbGVhbmVkTmVzdGVkRmlsdGVycy5maWx0ZXIoQm9vbGVhbiksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoKCFmaWx0ZXIudmFsdWUgJiYgZmlsdGVyLnZhbHVlICE9IGZhbHNlKSB8fCBmaWx0ZXIudmFsdWUgPT09ICd1bmtub3duJykge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9KVxuICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW107XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9hY29yZXgtcGxhdGZvcm0tY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["merge","i1.AXPErrorHandlerRegistryService","i1","i2.AXPSettingService","i2","i3"],"mappings":"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"}
|