@acorex/modules 21.0.0-next.75 → 21.0.0-next.76
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/fesm2022/{acorex-modules-ai-management-model.entity-DiDaXVa3.mjs → acorex-modules-ai-management-index-1AKm3Wpv.mjs} +4 -7
- package/fesm2022/acorex-modules-ai-management-index-1AKm3Wpv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs → acorex-modules-ai-management-index-D-oYCWiP.mjs} +2 -5
- package/fesm2022/acorex-modules-ai-management-index-D-oYCWiP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-CeALRRoV.mjs → acorex-modules-ai-management-index-IOX4YfSO.mjs} +2 -5
- package/fesm2022/acorex-modules-ai-management-index-IOX4YfSO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs → acorex-modules-ai-management-index-KMGY_nWq.mjs} +2 -5
- package/fesm2022/acorex-modules-ai-management-index-KMGY_nWq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs → acorex-modules-ai-management-index-r6kkpdsP.mjs} +2 -5
- package/fesm2022/acorex-modules-ai-management-index-r6kkpdsP.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +92 -92
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-application-management-application-status.provider-CGRoY79H.mjs → acorex-modules-application-management-application-status.provider-BmTGAssq.mjs} +2 -2
- package/fesm2022/acorex-modules-application-management-application-status.provider-BmTGAssq.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management-permission-definition.provider-DEO50hd3.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +1143 -1146
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs} +85 -86
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-CLXKpUoU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs → acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-rAq2m3xt.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-DECCIZSO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs → acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-B-0MdMq1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs → acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-pLGZAFqT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs → acorex-modules-assessment-management-index-Cj5KtvVT.mjs} +6 -8
- package/fesm2022/acorex-modules-assessment-management-index-Cj5KtvVT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs → acorex-modules-assessment-management-index-ClRMor3R.mjs} +8 -10
- package/fesm2022/acorex-modules-assessment-management-index-ClRMor3R.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs → acorex-modules-assessment-management-index-DDhc6vR7.mjs} +7 -9
- package/fesm2022/acorex-modules-assessment-management-index-DDhc6vR7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs → acorex-modules-assessment-management-index-VYBOM8GR.mjs} +6 -9
- package/fesm2022/acorex-modules-assessment-management-index-VYBOM8GR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs → acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-Bgqajt80.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs → acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B84qnNRw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CyZGi_Zx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs} +2 -2
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-CRQjv1Vz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs → acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dgaf88SW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs → acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs} +3 -3
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CocxFTxZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs → acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs} +4 -13
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-_iNFw6nf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs → acorex-modules-asset-management-index-BE9Pt9Yl.mjs} +4 -7
- package/fesm2022/acorex-modules-asset-management-index-BE9Pt9Yl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs → acorex-modules-asset-management-index-BGnVFHyV.mjs} +4 -7
- package/fesm2022/acorex-modules-asset-management-index-BGnVFHyV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs → acorex-modules-asset-management-index-BNW-nI4M.mjs} +7 -12
- package/fesm2022/acorex-modules-asset-management-index-BNW-nI4M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs → acorex-modules-asset-management-index-BQRNWXnd.mjs} +4 -7
- package/fesm2022/acorex-modules-asset-management-index-BQRNWXnd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs → acorex-modules-asset-management-index-BmydXxB7.mjs} +4 -7
- package/fesm2022/acorex-modules-asset-management-index-BmydXxB7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs → acorex-modules-asset-management-index-Bza8Y2Qq.mjs} +6 -10
- package/fesm2022/acorex-modules-asset-management-index-Bza8Y2Qq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs → acorex-modules-asset-management-index-CBoHnVCB.mjs} +5 -9
- package/fesm2022/acorex-modules-asset-management-index-CBoHnVCB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs → acorex-modules-asset-management-index-DDyvfemO.mjs} +4 -7
- package/fesm2022/acorex-modules-asset-management-index-DDyvfemO.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +134 -119
- package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs → acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs} +130 -129
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs → acorex-modules-auth-app-chooser.component-DN75LxY3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-DLtnhyB9.mjs.map → acorex-modules-auth-app-chooser.component-DN75LxY3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-change-password.command-DcGeenns.mjs → acorex-modules-auth-change-password.command-DDH7PMLT.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-change-password.command-DcGeenns.mjs.map → acorex-modules-auth-change-password.command-DDH7PMLT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs → acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-BnPtwAxA.mjs.map → acorex-modules-auth-edit-account-info.command-BtzrBEGu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs → acorex-modules-auth-lock-screen.command-BIiErYnc.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-lock-screen.command-Dh0Sgo3_.mjs.map → acorex-modules-auth-lock-screen.command-BIiErYnc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-C8psUPfq.mjs → acorex-modules-auth-login.module-CM6a_pvB.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-C8psUPfq.mjs.map → acorex-modules-auth-login.module-CM6a_pvB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-KMxMqtt8.mjs → acorex-modules-auth-master.layout-D9al7lUX.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-KMxMqtt8.mjs.map → acorex-modules-auth-master.layout-D9al7lUX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs → acorex-modules-auth-oauth-callback.component-CndekwOM.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-BF_3fuuz.mjs.map → acorex-modules-auth-oauth-callback.component-CndekwOM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs → acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-open-sessions.command-vxmxqvOa.mjs.map → acorex-modules-auth-open-sessions.command-Bgk9TcH-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BOoUt4Gn.mjs → acorex-modules-auth-password.component-BWEq8tpz.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BOoUt4Gn.mjs.map → acorex-modules-auth-password.component-BWEq8tpz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-Cpjc_S82.mjs → acorex-modules-auth-password.component-Z980dxkh.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-Cpjc_S82.mjs.map → acorex-modules-auth-password.component-Z980dxkh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs → acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-DfWYy7TN.mjs.map → acorex-modules-auth-profile-activity-chart.component-8uSUOk9s.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs → acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-DJcIyOxg.mjs.map → acorex-modules-auth-profile-delete-account-danger-zone.component-C-zoKWsQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs → acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-DR2-c0_6.mjs.map → acorex-modules-auth-profile-page-component.provider-BoGC3tKI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs → acorex-modules-auth-profile-page.component-B-qdKgOT.mjs} +11 -6
- package/fesm2022/acorex-modules-auth-profile-page.component-B-qdKgOT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs → acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-LFwvvyZ9.mjs.map → acorex-modules-auth-remove-pin-code.command-DnYc0CYG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-CuY_v2GN.mjs → acorex-modules-auth-routes-Cg0xipUZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-CuY_v2GN.mjs.map → acorex-modules-auth-routes-Cg0xipUZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs → acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-CwNAumIp.mjs.map → acorex-modules-auth-session-lock-overlay.component-BkpYhoVc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs → acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-CfIHBTiI.mjs.map → acorex-modules-auth-set-pin-code.command-9DY-hUvp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs → acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-CNZE8NXL.mjs.map → acorex-modules-auth-set-pin-code.component-QhO37PUy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-BMc1yFRY.mjs → acorex-modules-auth-settings.provider-DhaMQd28.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-settings.provider-BMc1yFRY.mjs.map → acorex-modules-auth-settings.provider-DhaMQd28.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs → acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-OsTNt9lp.mjs.map → acorex-modules-auth-tenant-chooser.component-Hy_FsSVy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs → acorex-modules-auth-two-factor.module-l0zICZtk.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-CcKZ6dpb.mjs.map → acorex-modules-auth-two-factor.module-l0zICZtk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs → acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-view-login-history.command-Crx7Dw2t.mjs.map → acorex-modules-auth-view-login-history.command-o2IzCKbr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs +993 -313
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs +6 -0
- package/fesm2022/acorex-modules-calendar-management-index-DIxSknUT.mjs.map +1 -0
- package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs +6 -0
- package/fesm2022/acorex-modules-calendar-management-index-pvTUhYWL.mjs.map +1 -0
- package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs +6 -0
- package/fesm2022/acorex-modules-calendar-management-index-xkdBRrFw.mjs.map +1 -0
- package/fesm2022/acorex-modules-calendar-management.mjs +57 -73
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common.mjs +136 -240
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs +425 -0
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-D9-WvwGJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs +35 -0
- package/fesm2022/acorex-modules-contact-core-entity.provider-Cl4zx8WX.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs +57 -0
- package/fesm2022/acorex-modules-contact-core-menu.provider-DfUbrqFh.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs +24 -0
- package/fesm2022/acorex-modules-contact-core-permission-definition.provider-Dni6YOWm.mjs.map +1 -0
- package/fesm2022/acorex-modules-contact-core.mjs +2 -0
- package/fesm2022/acorex-modules-contact-core.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs → acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs} +58 -138
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-DSdJ2hZ-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs → acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs} +2 -2
- package/fesm2022/acorex-modules-content-management-permission-definition.provider-DRVW7Xxa.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-ChmkpMy9.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-DwUqz7ZX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-LyoQmopL.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-CnUc_fhC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs → acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs} +192 -191
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DtFH9LbP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-D0SGSQC8.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Cpc1seYt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs → acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-Bqeplzuy.mjs.map → acorex-modules-conversation-comments-page.component-B1CmPB0U.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs → acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CFwkUHCc.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-BFFF5GTX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs → acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-aEOnD6ax.mjs.map → acorex-modules-conversation-start-assist-chat.command-C-KVIK-L.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/{acorex-modules-customer-management-lead.entity-CH7iga2T.mjs → acorex-modules-customer-management-index-7teVSkdT.mjs} +2 -5
- package/fesm2022/acorex-modules-customer-management-index-7teVSkdT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs → acorex-modules-customer-management-index-B0wUbd2e.mjs} +2 -4
- package/fesm2022/acorex-modules-customer-management-index-B0wUbd2e.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs → acorex-modules-customer-management-index-CQLsaDJ-.mjs} +3 -7
- package/fesm2022/acorex-modules-customer-management-index-CQLsaDJ-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs → acorex-modules-customer-management-index-CQWjFZ-D.mjs} +4 -7
- package/fesm2022/acorex-modules-customer-management-index-CQWjFZ-D.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs → acorex-modules-customer-management-index-DHaf2JAF.mjs} +2 -4
- package/fesm2022/acorex-modules-customer-management-index-DHaf2JAF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-activity.entity-BENCtWk0.mjs → acorex-modules-customer-management-index-Df-6hCzG.mjs} +2 -4
- package/fesm2022/acorex-modules-customer-management-index-Df-6hCzG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs → acorex-modules-customer-management-index-DwPwxZI6.mjs} +3 -7
- package/fesm2022/acorex-modules-customer-management-index-DwPwxZI6.mjs.map +1 -0
- package/fesm2022/acorex-modules-customer-management.mjs +42 -28
- package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs} +49 -45
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-d_3MEOVx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-DAQNEq43.mjs → acorex-modules-dashboard-management-index-0npgb7TY.mjs} +2 -2
- package/fesm2022/acorex-modules-dashboard-management-index-0npgb7TY.mjs.map +1 -0
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-data-management-contracts.mjs +351 -0
- package/fesm2022/acorex-modules-data-management-contracts.mjs.map +1 -0
- package/fesm2022/acorex-modules-data-management.mjs +903 -902
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +109 -75
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core-data-source.provider-Do4rvgy4.mjs.map +1 -1
- package/fesm2022/acorex-modules-financial-core.mjs +608 -625
- package/fesm2022/acorex-modules-financial-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-CtTkFhXf.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +442 -30
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs +257 -0
- package/fesm2022/acorex-modules-health-core-start-health-record-flow.command-BzGYbiw_.mjs.map +1 -0
- package/fesm2022/acorex-modules-health-core.mjs +2408 -93
- package/fesm2022/acorex-modules-health-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs → acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs} +208 -204
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-AWSV_TiH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs → acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-O3qJdpnt.mjs.map → acorex-modules-help-desk-capture-screen.component-DjUG9lk7.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs} +1694 -196
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ7fkZVA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs → acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-8MwfTrgO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-DJft6ua8.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-r5zEA5Oa.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs → acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-uCNZW1KF.mjs.map → acorex-modules-human-capital-management-edit-personal-info.command-CTQywAzz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs → acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9XI2V0Yt.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-Ba2f-i0A.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs} +2 -2
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-g9p7YKJ1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs → acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs} +3 -3
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-BPFrBjWG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs} +19 -7
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-C62jEjUD.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-identifier-management.mjs +11 -1
- package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs +179 -0
- package/fesm2022/acorex-modules-jira-management-index-BGnRJkkx.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs +155 -0
- package/fesm2022/acorex-modules-jira-management-index-BXgxorT1.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs +177 -0
- package/fesm2022/acorex-modules-jira-management-index-Bw8ivjR_.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs +143 -0
- package/fesm2022/acorex-modules-jira-management-index-CJNrjlaV.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs +399 -0
- package/fesm2022/acorex-modules-jira-management-index-CjgROlD2.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs +372 -0
- package/fesm2022/acorex-modules-jira-management-index-D0vXHcrg.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs +123 -0
- package/fesm2022/acorex-modules-jira-management-index-D2wdvXoF.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs +281 -0
- package/fesm2022/acorex-modules-jira-management-index-DPRA7BCN.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs +222 -0
- package/fesm2022/acorex-modules-jira-management-index-DpCX35Ob.mjs.map +1 -0
- package/fesm2022/acorex-modules-jira-management.mjs +479 -0
- package/fesm2022/acorex-modules-jira-management.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs → acorex-modules-learning-management-index-9Sessbgl.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-9Sessbgl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs → acorex-modules-learning-management-index-B2ZI7U9N.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-B2ZI7U9N.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs → acorex-modules-learning-management-index-Cb6YmwUo.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-Cb6YmwUo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-attendance.entity-40THDVHu.mjs → acorex-modules-learning-management-index-CnBTaY0y.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-CnBTaY0y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs → acorex-modules-learning-management-index-CnXPymvw.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-CnXPymvw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs → acorex-modules-learning-management-index-CtfhNokr.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-CtfhNokr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-training.entity-BkxK-rqz.mjs → acorex-modules-learning-management-index-D3O6qDpQ.mjs} +5 -8
- package/fesm2022/acorex-modules-learning-management-index-D3O6qDpQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs → acorex-modules-learning-management-index-D4Yh8EmO.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-D4Yh8EmO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs → acorex-modules-learning-management-index-DJ4H2IOW.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-DJ4H2IOW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs → acorex-modules-learning-management-index-DPb7aOIM.mjs} +5 -8
- package/fesm2022/acorex-modules-learning-management-index-DPb7aOIM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course.entity-HoC-FUPB.mjs → acorex-modules-learning-management-index-Da29yyOM.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-Da29yyOM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate.entity-DA882F-J.mjs → acorex-modules-learning-management-index-DdgLO2B8.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-DdgLO2B8.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs → acorex-modules-learning-management-index-DnUv_C6e.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-DnUv_C6e.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs → acorex-modules-learning-management-index-Dxutf3MN.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-Dxutf3MN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs → acorex-modules-learning-management-index-pWAVoZBF.mjs} +4 -7
- package/fesm2022/acorex-modules-learning-management-index-pWAVoZBF.mjs.map +1 -0
- package/fesm2022/acorex-modules-learning-management.mjs +153 -168
- package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-locale-management-contracts.mjs +77 -0
- package/fesm2022/acorex-modules-locale-management-contracts.mjs.map +1 -0
- package/fesm2022/acorex-modules-locale-management.mjs +62 -71
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +1207 -1208
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs → acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs} +2 -2
- package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-DM5m-VsU.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-BMsD_d6k.mjs.map +1 -1
- package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs +181 -0
- package/fesm2022/acorex-modules-maintenance-management-work-order-status.provider-BvnpsgY3.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management.mjs +899 -629
- package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-measurement-core.mjs +898 -914
- package/fesm2022/acorex-modules-measurement-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs +278 -170
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs → acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs} +583 -573
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-W0YINm5V.mjs.map +1 -0
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs → acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs} +2 -2
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-DlFbwB9o.mjs.map → acorex-modules-notification-management-notification-page.component-BAQGDRTj.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/{acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs → acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-C6HBZfQ_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs → acorex-modules-order-management-entity.provider-BVlBsDWW.mjs} +5 -5
- package/fesm2022/acorex-modules-order-management-entity.provider-BVlBsDWW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-member-order.entity-BItj1CLq.mjs → acorex-modules-order-management-index-BeIiBPSs.mjs} +3 -8
- package/fesm2022/acorex-modules-order-management-index-BeIiBPSs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs → acorex-modules-order-management-index-DUMuaQGE.mjs} +3 -8
- package/fesm2022/acorex-modules-order-management-index-DUMuaQGE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs → acorex-modules-order-management-index-Du2PsO2f.mjs} +5 -11
- package/fesm2022/acorex-modules-order-management-index-Du2PsO2f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs → acorex-modules-order-management-index-QHrmfhTE.mjs} +2 -6
- package/fesm2022/acorex-modules-order-management-index-QHrmfhTE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs → acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs} +2 -2
- package/fesm2022/acorex-modules-order-management-member-order-status.provider-CKIrQc_7.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management-menu.provider-DeMKkRZa.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-permission-definition.provider-B8ext6Sn.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BFOghuIS.mjs.map +1 -1
- package/fesm2022/acorex-modules-order-management.mjs +54 -54
- package/fesm2022/acorex-modules-order-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs +4119 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BALTqTo-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-23eGqIxP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-B4C1jxs3.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-B5vh3rwS.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs → acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs} +15 -15
- package/fesm2022/acorex-modules-organization-management-entity.provider-3IL0cFTC.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs → acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-DsSdRjcX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs} +4 -4
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-BRovo6NC.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs} +3 -3
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-CNtaaDfp.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs → acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-D1ymUBeQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs → acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-_6F_fvTn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-menu.provider-BeCkTwia.mjs → acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-menu.provider-Dt7bfM-4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-Cf789vAr.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CL32hDBZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-CpNTM-Ts.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-D-qPXdfm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs → acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BglvBI8J.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs → acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-BOz0kQKZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-CcfOkd7Z.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs → acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-B3OVj92j.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-nNGkuyKE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-COCty9r1.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CymCi80F.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BAC2jImJ.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-E46T_VO-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs → acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs} +2 -2
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-Bw22pUUE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs → acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-B4ijPkN_.mjs.map → acorex-modules-organization-management-settings.provider-BOMwSEpo.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/acorex-modules-person-core.mjs +1076 -223
- package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BYy7NCvH.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +27 -27
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs} +47 -46
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CdMzH5Qu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs → acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-MJCUVTho.mjs.map → acorex-modules-platform-management-menu-list.component-B8ZKMl1A.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-procurement-management.mjs +15 -16
- package/fesm2022/acorex-modules-procurement-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-product-catalog.mjs +1545 -33
- package/fesm2022/acorex-modules-product-catalog.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +234 -230
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs → acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs} +2 -3
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management-settings.provider-CA7o3xKu.mjs.map +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +4 -3
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs → acorex-modules-reservation-management-index-DNLOtNNW.mjs} +2 -6
- package/fesm2022/acorex-modules-reservation-management-index-DNLOtNNW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs → acorex-modules-reservation-management-index-DSDnPzHh.mjs} +2 -5
- package/fesm2022/acorex-modules-reservation-management-index-DSDnPzHh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs → acorex-modules-reservation-management-index-DySHYsCz.mjs} +2 -6
- package/fesm2022/acorex-modules-reservation-management-index-DySHYsCz.mjs.map +1 -0
- package/fesm2022/acorex-modules-reservation-management.mjs +47 -52
- package/fesm2022/acorex-modules-reservation-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-risk-management.mjs +122 -115
- package/fesm2022/acorex-modules-risk-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management-terminate-session.command-CRWFd-YW.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +468 -335
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs → acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs} +2 -2
- package/fesm2022/acorex-modules-settings-management-permission-definition.provider-CfCLhvZi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs → acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs} +9 -6
- package/fesm2022/acorex-modules-settings-management-setting-page.component-B7wP0i5k.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs → acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CuDjGo2x.mjs.map → acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +813 -1
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-subscription-management.mjs +47 -52
- package/fesm2022/acorex-modules-subscription-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs +34 -36
- package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-system-insight.mjs +74 -61
- package/fesm2022/acorex-modules-system-insight.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-CfgeDnBx.mjs → acorex-modules-task-management-task-board.page-DhPzh72z.mjs} +5 -5
- package/fesm2022/acorex-modules-task-management-task-board.page-DhPzh72z.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +7571 -1
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +42 -48
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs} +1453 -143
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-AgY9tA7s.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs +127 -0
- package/fesm2022/acorex-modules-workflow-management-execute-workflow-with-input.command-DUYGWSu8.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs +142 -0
- package/fesm2022/acorex-modules-workflow-management-execute-workflow.command-DSgQNTtL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DXIQw3Ao.mjs → acorex-modules-workflow-management-index-78oCkrbR.mjs} +3 -5
- package/fesm2022/acorex-modules-workflow-management-index-78oCkrbR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-8gv17yqF.mjs → acorex-modules-workflow-management-index-CvPrfCTv.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-8gv17yqF.mjs.map → acorex-modules-workflow-management-index-CvPrfCTv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index--D61tV-f.mjs → acorex-modules-workflow-management-index-DmnrXTPk.mjs} +3 -4
- package/fesm2022/acorex-modules-workflow-management-index-DmnrXTPk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs} +3 -3
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-aLlfQxaT.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs → acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs} +2 -2
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-Ph_BjL_5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs} +5 -3
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CfKTRKNQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs → acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs} +6 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-D1A_EHNk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs → acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs} +4 -4
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CHvHPHt9.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/fesm2022/{acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs → acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-CsJpSfdA.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs +42 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-status.provider-CdzRLBqN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs → acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-CmtTvpk0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs → acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs} +2 -2
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-Bx2yqUVH.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +1221 -555
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -1
- package/package.json +18 -2
- package/types/acorex-modules-ai-management.d.ts +35 -34
- package/types/acorex-modules-application-management.d.ts +23 -47
- package/types/acorex-modules-assessment-management.d.ts +517 -511
- package/types/acorex-modules-asset-management.d.ts +96 -79
- package/types/acorex-modules-auth.d.ts +2 -9
- package/types/acorex-modules-business-core.d.ts +72 -64
- package/types/acorex-modules-calendar-management.d.ts +4 -4
- package/types/acorex-modules-common.d.ts +11 -117
- package/types/acorex-modules-contact-core.d.ts +70 -0
- package/types/acorex-modules-content-management.d.ts +24 -31
- package/types/acorex-modules-conversation.d.ts +74 -73
- package/types/acorex-modules-customer-management.d.ts +69 -55
- package/types/acorex-modules-dashboard-management.d.ts +64 -66
- package/types/acorex-modules-data-management-contracts.d.ts +256 -0
- package/types/acorex-modules-data-management.d.ts +100 -22
- package/types/acorex-modules-document-management.d.ts +47 -40
- package/types/acorex-modules-financial-core.d.ts +69 -69
- package/types/acorex-modules-form-template-management.d.ts +4 -2
- package/types/acorex-modules-health-core.d.ts +241 -29
- package/types/acorex-modules-help-desk.d.ts +44 -38
- package/types/acorex-modules-human-capital-management.d.ts +67 -54
- package/types/acorex-modules-jira-management.d.ts +354 -0
- package/types/acorex-modules-learning-management.d.ts +2 -2
- package/types/acorex-modules-locale-management-contracts.d.ts +66 -0
- package/types/acorex-modules-locale-management.d.ts +4 -4
- package/types/acorex-modules-location-management.d.ts +67 -67
- package/types/acorex-modules-maintenance-management.d.ts +45 -43
- package/types/acorex-modules-measurement-core.d.ts +106 -106
- package/types/acorex-modules-meeting-management.d.ts +31 -23
- package/types/acorex-modules-notification-management.d.ts +19 -20
- package/types/acorex-modules-order-management.d.ts +39 -39
- package/types/acorex-modules-organization-management.d.ts +137 -109
- package/types/acorex-modules-person-core.d.ts +73 -52
- package/types/acorex-modules-platform-management.d.ts +1 -3
- package/types/acorex-modules-procurement-management.d.ts +1 -3
- package/types/acorex-modules-product-catalog.d.ts +13 -6
- package/types/acorex-modules-project-management.d.ts +16 -15
- package/types/acorex-modules-report-management.d.ts +3 -4
- package/types/acorex-modules-reservation-management.d.ts +3 -3
- package/types/acorex-modules-risk-management.d.ts +57 -54
- package/types/acorex-modules-security-management.d.ts +65 -63
- package/types/acorex-modules-settings-management.d.ts +15 -1
- package/types/acorex-modules-subscription-management.d.ts +4 -3
- package/types/acorex-modules-supplier-management.d.ts +4 -4
- package/types/acorex-modules-system-insight.d.ts +4 -3
- package/types/acorex-modules-task-management.d.ts +95 -70
- package/types/acorex-modules-tenant-management.d.ts +5 -4
- package/types/acorex-modules-workflow-management.d.ts +23 -4
- package/types/acorex-modules-workplacesafety-management.d.ts +153 -16
- package/fesm2022/acorex-modules-ai-management-agent.entity-3ZBa5t2D.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-CeALRRoV.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-rule.entity-CQNx4QEB.mjs.map +0 -1
- package/fesm2022/acorex-modules-application-management-application-status.provider-CGRoY79H.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-yboYQ8I-.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case-status.provider-B9sQAPwy.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-BBWeshSs.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-UCYBAHLk.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session-status.provider-Lee6Cwg8.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-session.entity-Bp_dS1Js.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-fill-assessment-session.command-VivCLw2H.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-CKF4BjCx.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-B_2o4jC2.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-s8KcR3D0.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-Sj-5woTX.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-ClvQ18w6.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire.entity-BbyNZvoc.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-B2QViI9d.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-CWdBtkn1.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-D7g3TSrr.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system-assignment.entity-ufjDJ-0D.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DbeerQdD.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system.entity-0Fy7wSBh.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-OsuWeo2l.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-C6tA_OBh.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-Cjy7Xetu.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-D1HwzXL_.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-CUpNfm_0.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-profile-page.component-ChsI9B3Y.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs +0 -139
- package/fesm2022/acorex-modules-business-core-business-status.entity-BcfEL0kf.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs +0 -139
- package/fesm2022/acorex-modules-business-core-business-type.entity-BP5XZthY.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs +0 -139
- package/fesm2022/acorex-modules-business-core-industry.entity-Byz8pFA7.mjs.map +0 -1
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs +0 -286
- package/fesm2022/acorex-modules-business-core-manufacturer.entity-CKzGz3Ix.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-B5zqb3b_.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-permission-definition.provider-DxI6NmP4.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-lPw23AJc.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-activity.entity-BENCtWk0.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-customer.entity-Doc1f5gH.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-deal-contact-role.entity-BmDALoWz.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-lead.entity-CH7iga2T.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-opportunity-stage.entity-gXGyRjOR.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-opportunity.entity-BX1vocD3.mjs.map +0 -1
- package/fesm2022/acorex-modules-customer-management-sales-pipeline.entity-TN7eqaA1.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-D2TrYnCW.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-index-DAQNEq43.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs +0 -30
- package/fesm2022/acorex-modules-document-management-document-shortcut.entity-D3BI4azq.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs +0 -412
- package/fesm2022/acorex-modules-form-template-management-template.entity-CNWAvD6Z.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs +0 -68
- package/fesm2022/acorex-modules-health-core-allergy-type.entity-Ba06KigW.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs +0 -121
- package/fesm2022/acorex-modules-health-core-blood-type.entity-165JDo8r.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs +0 -68
- package/fesm2022/acorex-modules-health-core-body-part.entity-CGk798g1.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs +0 -68
- package/fesm2022/acorex-modules-health-core-chronic-condition-type.entity-CHeAJ1Mm.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs +0 -121
- package/fesm2022/acorex-modules-health-core-disability-status.entity-DN5reubi.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs +0 -68
- package/fesm2022/acorex-modules-health-core-injury-type.entity-x9bs6Zly.mjs.map +0 -1
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs +0 -68
- package/fesm2022/acorex-modules-health-core-vaccination-type.entity-DlQ4MQVm.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-B8de7ifz.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CqROha3-.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-approve-leave-request.command-B0pyS4rY.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-assign-position-assignment.command-Dc0eoIAI.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-cancel-leave-request.command-TjMXVKCB.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-edit-signature.command-9psDoX-o.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs +0 -416
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRkS6cY0.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs +0 -99
- package/fesm2022/acorex-modules-human-capital-management-employment-type.entity-BZ1vVzeJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs +0 -292
- package/fesm2022/acorex-modules-human-capital-management-leave-request.entity-C_hKrBJ1.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs +0 -95
- package/fesm2022/acorex-modules-human-capital-management-leave-type.entity-1FFKAk-t.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs +0 -121
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-3zBc21d1.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs +0 -226
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-CeE-5Dko.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs +0 -267
- package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BABjM2Mr.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-reject-leave-request.command-DHqsjUdQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-revoke-position-assignment.command-DQqsqBRM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-start-leave-request-flow.command-nF6sDrFL.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bya_9T7H.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-attendance.entity-40THDVHu.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-definition.entity-DzRELZ1L.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate-type.entity-Br35cJ-M.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-certificate.entity-DA882F-J.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course-type.entity-DAc4cRbW.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-course.entity-HoC-FUPB.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-enrollment.entity-D4j7oSWb.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path-course.entity-B0DurZqy.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-learning-path.entity-C-FcZefB.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-mandatory-training-rule.entity-CxsoSJh-.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill-level.entity-CnAgJyuR.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-skill.entity-DmIjc2gw.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-definition.entity-DPY0OQdW.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training-type.entity-Bt37GacX.mjs.map +0 -1
- package/fesm2022/acorex-modules-learning-management-training.entity-BkxK-rqz.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register-status.provider-B8-Snxbx.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs +0 -487
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-B9Jp4r3m.mjs.map +0 -1
- package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs +0 -107
- package/fesm2022/acorex-modules-meeting-management-meeting-schedule.entity-BJGUKFuu.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification-management-acorex-modules-notification-management-ZgxwReDF.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-item.entity-DsXE-kqT.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-bulk-buy-order-status.provider-CECieSZF.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-bulk-buy-order.entity-B9f4Tppc.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-entity.provider-ZaDnKtBk.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-member-order-line.entity-BX3rQTJ1.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-member-order-status.provider-Bkrzylqm.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-member-order.entity-BItj1CLq.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs +0 -8
- package/fesm2022/acorex-modules-organization-management-JOB_DEFINITION_SKILLS_PAGE_COMPONENT_KEY-BYfbGGOE.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs +0 -917
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Cl-ecmKK.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-business-unit-to-business-unit.command-BUOpdwIy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-CcoGv5J7.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-n9FYDyKE.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs +0 -404
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-LYKMuTLO.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs +0 -200
- package/fesm2022/acorex-modules-organization-management-chart.entity-BxAJonRP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs +0 -136
- package/fesm2022/acorex-modules-organization-management-company.entity-Cexgxajh.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-entity.provider-Dqn382Z2.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-C7VhASKJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-pages-component.provider-Bacrw4_J.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-responsibilities-page.component-BJkc7c-G.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition-skills-page.component-GuFiBC0r.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs +0 -321
- package/fesm2022/acorex-modules-organization-management-job-definition.entity-DsdjfMCs.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-CCvVPEVM.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs +0 -271
- package/fesm2022/acorex-modules-organization-management-job-level.entity-BrBHqHqn.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-menu.provider-BeCkTwia.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-DDY2Cgu6.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DbSxtEz6.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-ByqjxY2S.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DdyF5QS0.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DD1lvTXR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-CbXQwY_b.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs +0 -543
- package/fesm2022/acorex-modules-organization-management-position.entity-qwL31RSs.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-remove-position-from-business-unit.command-B1mrTFbI.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-CQ1RKj2l.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs +0 -135
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-DwpUOhLh.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs +0 -203
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-3d2Im-NE.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs +0 -300
- package/fesm2022/acorex-modules-organization-management-team-business-unit.entity-DdIc2pIC.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs +0 -150
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-UqmN5-zL.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs +0 -251
- package/fesm2022/acorex-modules-organization-management-team-member.entity-BlsBC7oU.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs +0 -307
- package/fesm2022/acorex-modules-organization-management-team.entity-rRp5rEKa.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs +0 -121
- package/fesm2022/acorex-modules-person-core-education-level.entity-BudWedmZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs +0 -121
- package/fesm2022/acorex-modules-person-core-gender.entity-BrnPFMd_.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs +0 -121
- package/fesm2022/acorex-modules-person-core-marital-status.entity-JSXaOaKH.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs +0 -191
- package/fesm2022/acorex-modules-person-core-person-identifier-type.entity-BwQ0fj61.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs +0 -121
- package/fesm2022/acorex-modules-person-core-person-title.entity-DPEl0HTw.mjs.map +0 -1
- package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs +0 -121
- package/fesm2022/acorex-modules-person-core-religion.entity-DD1UG9on.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-ilmoyxAw.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs +0 -261
- package/fesm2022/acorex-modules-product-catalog-brand.entity-DLK1M-a5.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs +0 -596
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-Dd43Ph0b.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs +0 -668
- package/fesm2022/acorex-modules-product-catalog-product.entity-CcLvq1uX.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-Dum62tB8.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-reservation-class-status.entity-CsOec92Y.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-reservation-resource-type.entity-DiEkzSO2.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-reservation-status-transition.entity-CSj9-uAb.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs +0 -168
- package/fesm2022/acorex-modules-security-management-profile.entity-BSDeLsJ1.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs +0 -798
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-e5asXiK4.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-permission-definition.provider-D5DqCfiz.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-TxoOyBRc.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs +0 -7564
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-Bv7Ye6d1.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-CfgeDnBx.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +0 -5
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-LJ8Bb-CT.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs +0 -255
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bhx1tC1u.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs +0 -279
- package/fesm2022/acorex-modules-workflow-management-automation.entity-C_WRtcFX.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index--D61tV-f.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DXIQw3Ao.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs +0 -264
- package/fesm2022/acorex-modules-workflow-management-index-OK7e-UOe.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-huamhFhc.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-column.component-B0f5IsoE.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-DQ703kRI.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs +0 -313
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DFN7awRu.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs +0 -256
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-DcqLomn4.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-run-history-popup.component-FLqOdI2t.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-Cvbzknxk.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-ppe-rule-status.provider-D1a0CBhs.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs.map +0 -1
- package/fesm2022/acorex-modules-workplacesafety-management-ppe-item-status.provider-VH_Bp0l5.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-auth-acorex-modules-auth-DBZfh3pH.mjs","sources":["../../../../libs/modules/auth/src/lib/contracts/commands.keys.ts","../../../../libs/modules/auth/src/lib/contracts/datasource.keys.ts","../../../../libs/modules/auth/src/lib/contracts/menu.keys.ts","../../../../libs/modules/auth/src/lib/contracts/permission.keys.ts","../../../../libs/modules/auth/src/lib/contracts/settings.keys.ts","../../../../libs/modules/auth/src/lib/contracts/index.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/profile-page.types.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/profile-page-identity.service.ts","../../../../libs/modules/auth/src/lib/shared/datasources/user-activity/user-activity.types.ts","../../../../libs/modules/auth/src/lib/shared/datasources/user-activity/user-activity.utils.ts","../../../../libs/modules/auth/src/lib/shared/datasources/user-activity/user-activity-filter.utils.ts","../../../../libs/modules/auth/src/lib/shared/datasources/user-activity/user-activity.datasource.ts","../../../../libs/modules/auth/src/lib/datasource.provider.ts","../../../../libs/modules/auth/src/lib/error-handler.ts","../../../../libs/modules/auth/src/lib/pages/login/login.guard.ts","../../../../libs/modules/auth/src/lib/auth.config.ts","../../../../libs/modules/auth/src/lib/shared/utils/password-complexity.utils.ts","../../../../libs/modules/auth/src/lib/shared/services/password-complexity.service.ts","../../../../libs/modules/auth/src/lib/validations/password-complexity-validation-rule.class.ts","../../../../libs/modules/auth/src/lib/validations/auth-validation-rules.module.ts","../../../../libs/modules/auth/src/lib/auth.routes.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-list.component.html","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-list.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-list.component.html","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser-dropdown.component.html","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot-menu.types.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot.component.html","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.ts","../../../../libs/modules/auth/src/lib/pages/account/user-profile-card/user-profile-card.component.html","../../../../libs/modules/auth/src/lib/pages/account/user-sessions/user-sessions.service.ts","../../../../libs/modules/auth/src/lib/pages/account/tenant-chooser/tenant-chooser.guard.ts","../../../../libs/modules/auth/src/lib/pages/account/app-chooser/app-chooser.guard.ts","../../../../libs/modules/auth/src/lib/pages/account/account.module.ts","../../../../libs/modules/auth/src/lib/shared/services/idle-lock.service.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/profile-page.component-keys.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/core-profile-sections.hook.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/security-pin-section.hook.ts","../../../../libs/modules/auth/src/lib/shared/services/password-change-tracking.service.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/profile-page-security-insights.service.ts","../../../../libs/modules/auth/src/lib/pages/account/profile-page/security-sections-insights.hook.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot-logout-menu.hook.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot-my-profile-menu.hook.ts","../../../../libs/modules/auth/src/lib/pages/account/profile/profile-slot-lock-menu.hook.ts","../../../../libs/modules/auth/src/lib/auth.module.ts","../../../../libs/modules/auth/src/lib/shared/services/login-history.service.ts","../../../../libs/modules/auth/src/acorex-modules-auth.ts"],"sourcesContent":["//#region ---- Command keys ----\n\nexport const AXMAuthCommandKeys = {\n Profile: {\n Show: 'auth:profile',\n ChangePhoto: 'auth:change-photo',\n EditAccountInfo: 'auth:edit-account-info',\n ComingSoon: 'auth:profile-coming-soon',\n },\n Session: {\n Signout: 'auth:signout',\n OpenSessions: 'auth:open-sessions',\n LockScreen: 'auth:lock-screen',\n },\n Security: {\n ChangePassword: 'auth:change-password',\n SetPinCode: 'auth:set-pin-code',\n RemovePinCode: 'auth:remove-pin-code',\n ViewLoginHistory: 'auth:view-login-history',\n EditSignature: 'auth:edit-signature',\n },\n} as const;\n\n//#endregion\n","//#region ---- Datasource keys ----\n\n/** Auth module datasource registry names. */\nexport const AXMAuthDataSourceKeys = {\n UserActivity: 'auth-user-activity',\n} as const;\n\n//#endregion\n","export const AXPAuthMenuKeys = {} as const;\n\n","export const AXMPermissionsKeys = {\n Auth: {\n Management: 'Auth:Permission:Management',\n // TODO: Add permission keys when permissions are defined\n },\n};\n","export enum AXPAuthSettings {\n TwoFactorAuth = 'Auth:Setting:Authentication.TwoFactorAuth',\n PasswordComplexity = 'Auth:Setting:Authentication.PasswordComplexity',\n PasswordExpiryDays = 'Auth:Setting:Authentication.PasswordExpiryDays',\n MaxLoginAttempts = 'Auth:Setting:Authentication.MaxLoginAttempts',\n LockoutDuration = 'Auth:Setting:Authentication.LockoutDuration',\n LockWhenIdleEnabled = 'Auth:Setting:SessionManagement.LockWhenIdleEnabled',\n LockWhenIdleMinutes = 'Auth:Setting:SessionManagement.LockWhenIdleMinutes',\n InactiveSessionTermination = 'Auth:Setting:SessionManagement.InactiveSessionTermination',\n}\n\nexport const AXPAuthInactiveSessionTerminationOptions = {\n OneWeek: 'oneWeek',\n OneMonth: 'oneMonth',\n ThreeMonths: 'threeMonths',\n SixMonths: 'sixMonths',\n} as const;\n\nexport type AXPAuthInactiveSessionTerminationValue =\n (typeof AXPAuthInactiveSessionTerminationOptions)[keyof typeof AXPAuthInactiveSessionTerminationOptions];\n\n","//#region ---- Contracts barrel ----\n\nexport * from './commands.keys';\nexport * from './datasource.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './settings.keys';\n\n//#endregion\n","import { AXPActionMenuItem, AXPMultiLanguageString } from '@acorex/platform/core';\n\n//#region ---- Hook keys ----\n\nexport const PROFILE_PAGE_GROUPS_HOOK = 'profile-page.groups';\nexport const PROFILE_PAGE_SECTIONS_HOOK = 'profile-page.sections';\nexport const PROFILE_PAGE_HEADER_META_HOOK = 'profile-page.header-meta';\n\n//#endregion\n\n//#region ---- Hook payloads ----\n\nexport type AXPUserProfileGroupsPayload = {\n groups: AXPUserProfileGroup[];\n};\n\nexport type AXPUserProfileSectionsPayload = {\n sections: AXPUserProfileSection[];\n};\n\nexport type AXPUserProfileHeaderMetaPayload = {\n items: AXPUserProfileHeaderMetaItem[];\n};\n\n//#endregion\n\n//#region ---- Content modes ----\n\n/** Renders section cards in a configurable grid (default). */\nexport interface AXPUserProfileGroupSectionsContent {\n mode: 'sections';\n}\n\n/** Replaces the entire tab body with a registered page component. */\nexport interface AXPUserProfileGroupComponentContent {\n mode: 'component';\n componentKey: string;\n pageConfig?: Record<string, unknown>;\n}\n\nexport type AXPUserProfileGroupContent =\n | AXPUserProfileGroupSectionsContent\n | AXPUserProfileGroupComponentContent;\n\n/** Standard card with title, description, and action buttons. */\nexport interface AXPUserProfileSectionCardContent {\n mode: 'card';\n actions: AXPUserProfileSectionAction[];\n}\n\n/** Replaces the section slot with a registered page component. */\nexport interface AXPUserProfileSectionComponentContent {\n mode: 'component';\n componentKey: string;\n pageConfig?: Record<string, unknown>;\n}\n\nexport type AXPUserProfileSectionContent =\n | AXPUserProfileSectionCardContent\n | AXPUserProfileSectionComponentContent;\n\n//#endregion\n\n//#region ---- Layout ----\n\n/** Grid placement for a section within the 12-column profile sections grid. */\nexport interface AXPUserProfileSectionLayout {\n /** 1-based column start on md+ breakpoints. */\n col?: number;\n /** Number of columns to span on md+ (default 6). */\n colSpan?: number;\n /** Number of grid rows to span (default 1). */\n rowSpan?: number;\n}\n\n//#endregion\n\n//#region ---- Definitions ----\n\n/** Action on a profile section card. */\nexport type AXPUserProfileSectionAction = AXPActionMenuItem & {\n /** Primary action when the section card is clicked (required for multi-action sections). */\n default?: boolean;\n};\n\n/** Top tab group on the profile hub. */\nexport interface AXPUserProfileGroup {\n id: string;\n /** URL segment under `/:app/profile/:route`; defaults to `id`. */\n route?: string;\n title: AXPMultiLanguageString;\n icon?: string;\n priority?: number;\n /** When omitted, the tab renders its section grid. */\n content?: AXPUserProfileGroupContent;\n}\n\n/** Profile hub section contributed by modules. */\nexport interface AXPUserProfileSection {\n id: string;\n groupId: string;\n title?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n icon?: string;\n priority?: number;\n feature?: string;\n layout?: AXPUserProfileSectionLayout;\n content?: AXPUserProfileSectionContent;\n /** Used when `content` is omitted (card mode). */\n actions?: AXPUserProfileSectionAction[];\n /** Optional contextual block shown instead of the section description. */\n insights?: AXPUserProfileSectionInsight[];\n}\n\n/** Contextual detail row on a profile section card. */\nexport interface AXPUserProfileSectionInsight {\n id: string;\n icon?: string;\n /** Plain line shown when no date is set. */\n text?: string;\n /** Date value formatted in the template when valid. */\n date?: Date;\n /** Optional prefix shown before a formatted relative date. */\n datePrefix?: AXPMultiLanguageString;\n}\n\n/** Extra row in the profile page header (label + value). */\nexport interface AXPUserProfileHeaderMetaItem {\n id: string;\n label: AXPMultiLanguageString;\n value: AXPMultiLanguageString;\n icon?: string;\n priority?: number;\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\n/** Resolves section content; top-level `actions` imply card mode. */\nexport function resolveUserProfileSectionContent(\n section: AXPUserProfileSection,\n): AXPUserProfileSectionContent {\n if (section.content) {\n return section.content;\n }\n\n return { mode: 'card', actions: section.actions ?? [] };\n}\n\n/** Whether the group renders a full-tab component instead of sections. */\nexport function isUserProfileGroupComponent(group: AXPUserProfileGroup): boolean {\n return group.content?.mode === 'component';\n}\n\n/** Visible actions on a section card. */\nexport function visibleUserProfileSectionActions(\n actions: AXPUserProfileSectionAction[],\n): AXPUserProfileSectionAction[] {\n return actions.filter((action) => action.visible !== false);\n}\n\n/** Default card action: explicit `default`, otherwise the first visible action. */\nexport function resolveDefaultUserProfileSectionAction(\n actions: AXPUserProfileSectionAction[],\n): AXPUserProfileSectionAction | undefined {\n const visibleActions = visibleUserProfileSectionActions(actions);\n if (!visibleActions.length) {\n return undefined;\n }\n\n return visibleActions.find((action) => action.default) ?? visibleActions[0];\n}\n\n//#endregion\n","import { AXPSessionService, AXPUser } from '@acorex/platform/auth';\nimport { AXPUserAvatarService } from '@acorex/platform/layout/components';\nimport { Injectable, inject } from '@angular/core';\n\n//#region ---- Profile page identity service ----\n\n/** Keeps session and avatar cache aligned after self-service profile identity updates. */\n@Injectable({ providedIn: 'root' })\nexport class AXPUserProfileIdentityService {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly userAvatarService = inject(AXPUserAvatarService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n async applySessionPatch(patch: Partial<Pick<AXPUser, 'name' | 'title' | 'avatar'>>): Promise<void> {\n const session = this.sessionService.getSessionData();\n const userId = session?.user?.id;\n if (!session?.user || !userId) {\n return;\n }\n\n this.sessionService.setSession({\n ...session,\n user: {\n ...session.user,\n ...patch,\n },\n });\n\n await this.refreshAvatar(userId);\n }\n\n async refreshAvatar(userId?: string): Promise<void> {\n const id = userId ?? this.sessionService.user?.id;\n if (!id) {\n return;\n }\n\n await this.userAvatarService.refreshUserInfo(id);\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- User activity data source types ----\n\nexport type AXPUserActivityLevel = 0 | 1 | 2 | 3 | 4;\n\nexport interface AXPUserActivityDay {\n date: string;\n count: number;\n level: AXPUserActivityLevel;\n}\n\nexport interface AXPUserActivityWeek {\n days: AXPUserActivityDay[];\n}\n\nexport interface AXPUserActivityStats {\n longestStreak: number;\n avgPerDay: number;\n avgPerWeek: number;\n total: number;\n}\n\n/** Single payload row returned by {@link AXMAuthDataSourceKeys.UserActivity}. */\nexport interface AXPUserActivityDataSourceItem {\n id: string;\n userId: string;\n startDate: string;\n endDate: string;\n weeks: AXPUserActivityWeek[];\n stats: AXPUserActivityStats;\n}\n\nexport interface AXPUserActivityLoadParams {\n userId: string;\n startDate: Date;\n endDate: Date;\n}\n\n//#endregion\n","//#region ---- User activity helpers ----\n\nimport { AXMSecurityManagementDeviceSessionsEntityModel } from '@acorex/modules/security-management';\nimport {\n AXPUserActivityDataSourceItem,\n AXPUserActivityDay,\n AXPUserActivityLevel,\n AXPUserActivityLoadParams,\n AXPUserActivityStats,\n AXPUserActivityWeek,\n} from './user-activity.types';\n\n//#region ---- Constants ----\n\nexport const AUTH_USER_ACTIVITY_DEFAULT_WEEKS = 53;\nconst LEVEL_THRESHOLDS = [0, 3, 8, 15, 30];\n\n//#endregion\n\n//#region ---- Date range ----\n\nexport function resolveDefaultUserActivityDateRange(\n weeksToShow = AUTH_USER_ACTIVITY_DEFAULT_WEEKS,\n referenceDate = new Date(),\n): { startDate: Date; endDate: Date } {\n const today = new Date(referenceDate);\n today.setHours(0, 0, 0, 0);\n\n const endSunday = new Date(today);\n endSunday.setDate(today.getDate() + (6 - today.getDay()));\n\n const startDate = new Date(endSunday);\n startDate.setDate(endSunday.getDate() - weeksToShow * 7 + 1);\n startDate.setHours(0, 0, 0, 0);\n\n return { startDate, endDate: endSunday };\n}\n\n//#endregion\n\n//#region ---- Session aggregation ----\n\nfunction normalizeDateRange(startDate: Date, endDate: Date): { rangeStart: Date; rangeEnd: Date } {\n const start = new Date(startDate);\n const end = new Date(endDate);\n start.setHours(0, 0, 0, 0);\n end.setHours(0, 0, 0, 0);\n return start <= end ? { rangeStart: start, rangeEnd: end } : { rangeStart: end, rangeEnd: start };\n}\n\nfunction toIsoDate(date: Date): string {\n return date.toISOString().slice(0, 10);\n}\n\nfunction toDayKey(value: Date | string): string | undefined {\n const date = new Date(value);\n if (Number.isNaN(date.getTime())) {\n return undefined;\n }\n date.setHours(0, 0, 0, 0);\n return toIsoDate(date);\n}\n\n/** Counts sign-in events per calendar day from device session rows. */\nexport function aggregateDailySessionCounts(\n sessions: ReadonlyArray<AXMSecurityManagementDeviceSessionsEntityModel>,\n params: AXPUserActivityLoadParams,\n): Map<string, number> {\n const { rangeStart, rangeEnd } = normalizeDateRange(params.startDate, params.endDate);\n const counts = new Map<string, number>();\n\n for (const session of sessions) {\n if (session.userId !== params.userId || session.lastLoginDate == null) {\n continue;\n }\n\n const dayKey = toDayKey(session.lastLoginDate);\n if (!dayKey) {\n continue;\n }\n\n const day = new Date(dayKey);\n if (day < rangeStart || day > rangeEnd) {\n continue;\n }\n\n counts.set(dayKey, (counts.get(dayKey) ?? 0) + 1);\n }\n\n return counts;\n}\n\n//#endregion\n\n//#region ---- Week grid ----\n\nexport function countToActivityLevel(count: number): AXPUserActivityLevel {\n if (count <= LEVEL_THRESHOLDS[1]) {\n return count === 0 ? 0 : 1;\n }\n if (count <= LEVEL_THRESHOLDS[2]) {\n return 2;\n }\n if (count <= LEVEL_THRESHOLDS[3]) {\n return 3;\n }\n return 4;\n}\n\nfunction startOfWeekSunday(date: Date): Date {\n const value = new Date(date);\n value.setHours(0, 0, 0, 0);\n value.setDate(value.getDate() - value.getDay());\n return value;\n}\n\nexport function buildUserActivityWeeks(\n params: AXPUserActivityLoadParams,\n dailyCounts: ReadonlyMap<string, number>,\n): AXPUserActivityWeek[] {\n const { rangeStart, rangeEnd } = normalizeDateRange(params.startDate, params.endDate);\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n\n const gridStart = startOfWeekSunday(rangeStart);\n const gridEnd = startOfWeekSunday(rangeEnd);\n gridEnd.setDate(gridEnd.getDate() + 6);\n\n const weeks: AXPUserActivityWeek[] = [];\n const cursor = new Date(gridStart);\n\n while (cursor <= gridEnd) {\n const days: AXPUserActivityDay[] = [];\n\n for (let dayIndex = 0; dayIndex < 7; dayIndex += 1) {\n const date = new Date(cursor);\n const inRange = date >= rangeStart && date <= rangeEnd;\n const dayKey = toIsoDate(date);\n const count = inRange && date <= today ? (dailyCounts.get(dayKey) ?? 0) : 0;\n\n days.push({\n date: dayKey,\n count,\n level: countToActivityLevel(count),\n });\n cursor.setDate(cursor.getDate() + 1);\n }\n\n weeks.push({ days });\n }\n\n return weeks;\n}\n\nexport function computeUserActivityStats(weeks: AXPUserActivityWeek[]): AXPUserActivityStats {\n const days = weeks.flatMap((week) => week.days).filter((day) => day.count > 0);\n const total = days.reduce((sum, day) => sum + day.count, 0);\n const activeDayCount = days.length || 1;\n\n let longestStreak = 0;\n let currentStreak = 0;\n\n for (const week of weeks) {\n for (const day of week.days) {\n if (day.count > 0) {\n currentStreak += 1;\n longestStreak = Math.max(longestStreak, currentStreak);\n } else {\n currentStreak = 0;\n }\n }\n }\n\n const weekCount = weeks.length || 1;\n\n return {\n longestStreak,\n avgPerDay: Math.round(total / activeDayCount),\n avgPerWeek: Math.round(total / weekCount),\n total,\n };\n}\n\nexport function buildUserActivityDataSourceItem(\n params: AXPUserActivityLoadParams,\n sessions: ReadonlyArray<AXMSecurityManagementDeviceSessionsEntityModel>,\n): AXPUserActivityDataSourceItem {\n const dailyCounts = aggregateDailySessionCounts(sessions, params);\n const weeks = buildUserActivityWeeks(params, dailyCounts);\n\n return {\n id: `${params.userId}:${toIsoDate(params.startDate)}:${toIsoDate(params.endDate)}`,\n userId: params.userId,\n startDate: toIsoDate(params.startDate),\n endDate: toIsoDate(params.endDate),\n weeks,\n stats: computeUserActivityStats(weeks),\n };\n}\n\nexport function formatCompactActivityCount(value: number): string {\n if (value >= 1_000_000) {\n return `${(value / 1_000_000).toFixed(2)}M`;\n }\n if (value >= 1_000) {\n return `${Math.round(value / 1000)}K`;\n }\n return String(value);\n}\n\n//#endregion\n","//#region ---- User activity filter helpers ----\n\nimport { AXDataSourceFilterOption } from '@acorex/cdk/common';\n\nfunction isResolvedFilterScalar(value: unknown): value is string | number | Date {\n if (value == null) {\n return false;\n }\n if (value instanceof Date) {\n return !Number.isNaN(value.getTime());\n }\n const text = String(value).trim();\n return text.length > 0 && !text.includes('{{');\n}\n\nfunction parseFilterDate(value: unknown): Date | undefined {\n if (!isResolvedFilterScalar(value)) {\n return undefined;\n }\n if (value instanceof Date) {\n return value;\n }\n const parsed = new Date(String(value));\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n}\n\nfunction extractFilterFieldValue(\n filter: AXDataSourceFilterOption | undefined,\n field: string,\n operators: string[],\n): unknown {\n if (!filter) {\n return undefined;\n }\n\n if (filter.filters?.length) {\n for (const child of filter.filters) {\n const value = extractFilterFieldValue(child, field, operators);\n if (value !== undefined) {\n return value;\n }\n }\n return undefined;\n }\n\n const operator = String(filter.operator?.type ?? '');\n if (filter.field === field && operators.includes(operator)) {\n return isResolvedFilterScalar(filter.value) ? filter.value : undefined;\n }\n\n return undefined;\n}\n\nexport function extractUserActivityUserId(filter: AXDataSourceFilterOption | undefined): string | undefined {\n const value = extractFilterFieldValue(filter, 'userId', ['equal', 'eq']);\n if (value == null) {\n return undefined;\n }\n const text = String(value).trim();\n return text.length > 0 ? text : undefined;\n}\n\nexport function extractUserActivityStartDate(filter: AXDataSourceFilterOption | undefined): Date | undefined {\n const gte = parseFilterDate(extractFilterFieldValue(filter, 'startDate', ['gte', 'greaterThanOrEqual', 'equal', 'eq']));\n if (gte) {\n return gte;\n }\n return parseFilterDate(extractFilterFieldValue(filter, 'dateFrom', ['gte', 'greaterThanOrEqual', 'equal', 'eq']));\n}\n\nexport function extractUserActivityEndDate(filter: AXDataSourceFilterOption | undefined): Date | undefined {\n const lte = parseFilterDate(extractFilterFieldValue(filter, 'endDate', ['lte', 'lessThanOrEqual', 'equal', 'eq']));\n if (lte) {\n return lte;\n }\n return parseFilterDate(extractFilterFieldValue(filter, 'dateTo', ['lte', 'lessThanOrEqual', 'equal', 'eq']));\n}\n\n//#endregion\n","//#region ---- User activity data source ----\n\nimport { AXDataSource, AXDataSourceFilterOption } from '@acorex/cdk/common';\nimport {\n AXMSecurityManagementDeviceSessionsEntityModel,\n RootConfig as SecurityManagementRootConfig,\n} from '@acorex/modules/security-management';\nimport {\n AXPDataSourceDefinition,\n AXPDataSourceDefinitionProvider,\n AXPFilterDefinition,\n AXPQueryRequest,\n} from '@acorex/platform/core';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { inject } from '@angular/core';\nimport { isEmpty } from 'lodash-es';\nimport {\n extractUserActivityEndDate,\n extractUserActivityStartDate,\n extractUserActivityUserId,\n} from './user-activity-filter.utils';\nimport { AXMAuthDataSourceKeys } from '../../../contracts/datasource.keys';\nimport {\n AXPUserActivityDataSourceItem,\n AXPUserActivityLoadParams,\n} from './user-activity.types';\nimport {\n buildUserActivityDataSourceItem,\n resolveDefaultUserActivityDateRange,\n} from './user-activity.utils';\n\nfunction resolveLoadParams(request?: AXPQueryRequest): AXPUserActivityLoadParams | null {\n const userId = extractUserActivityUserId(request?.filter);\n if (isEmpty(userId)) {\n return null;\n }\n\n const defaultRange = resolveDefaultUserActivityDateRange();\n const startDate = extractUserActivityStartDate(request?.filter) ?? defaultRange.startDate;\n const endDate = extractUserActivityEndDate(request?.filter) ?? defaultRange.endDate;\n\n return {\n userId: userId!,\n startDate,\n endDate,\n };\n}\n\n/** Contribution-style user activity heatmap derived from device session sign-in dates. */\nexport class AXMUserActivityDataSourceDefinition implements AXPDataSourceDefinitionProvider {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n items(): Promise<AXPDataSourceDefinition<AXPUserActivityDataSourceItem>[]> {\n const sampleParams = resolveDefaultUserActivityDateRange();\n const sampleItem = buildUserActivityDataSourceItem(\n { userId: 'sample-user', ...sampleParams },\n [],\n );\n\n return Promise.resolve([\n {\n name: AXMAuthDataSourceKeys.UserActivity,\n title: 'User Activity',\n columns: [\n {\n name: 'id',\n title: 'ID',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'userId',\n title: 'User ID',\n datatype: 'string',\n type: AXPWidgetsCatalog.text,\n },\n {\n name: 'startDate',\n title: 'Start Date',\n datatype: 'date',\n type: AXPWidgetsCatalog.dateTime,\n },\n {\n name: 'endDate',\n title: 'End Date',\n datatype: 'date',\n type: AXPWidgetsCatalog.dateTime,\n },\n ],\n filters: [\n {\n field: 'userId',\n title: 'User',\n operator: { type: 'equal' },\n widget: { type: AXPWidgetsCatalog.text },\n filterType: { advance: true, inline: true },\n } as AXPFilterDefinition,\n {\n field: 'startDate',\n title: 'Start Date',\n operator: { type: 'gte' },\n widget: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } },\n filterType: { advance: true, inline: true },\n } as AXPFilterDefinition,\n {\n field: 'endDate',\n title: 'End Date',\n operator: { type: 'lte' },\n widget: { type: AXPWidgetsCatalog.dateTime, options: { format: 'date' } },\n filterType: { advance: true, inline: true },\n } as AXPFilterDefinition,\n ],\n textField: { name: 'id', title: 'ID' },\n valueField: { name: 'id', title: 'ID' },\n samples: [sampleItem],\n source: () =>\n new AXDataSource<AXPUserActivityDataSourceItem>({\n key: 'id',\n pageSize: 1,\n load: async (request) => {\n const params = resolveLoadParams(request);\n if (!params) {\n return { items: [], total: 0 };\n }\n\n const sessions = await this.loadUserSessions(params.userId);\n const item = buildUserActivityDataSourceItem(params, sessions);\n return { items: [item], total: 1 };\n },\n }),\n },\n ]);\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async loadUserSessions(\n userId: string,\n ): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]> {\n const response = await this.entityService\n .withEntity(\n SecurityManagementRootConfig.module.name,\n SecurityManagementRootConfig.entities.deviceSessions.name,\n )\n .data<string, AXMSecurityManagementDeviceSessionsEntityModel>()\n .query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'userId',\n operator: { type: 'equal' },\n value: userId,\n } as AXDataSourceFilterOption,\n });\n\n return response.items ?? [];\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Auth data source provider ----\n\nimport { AXPDataSourceDefinitionProvider } from '@acorex/platform/core';\nimport { AXMUserActivityDataSourceDefinition } from './shared/datasources/user-activity';\n\n/**\n * Registers auth module data source definitions.\n */\nexport class AXMAuthDataSourceProvider implements AXPDataSourceDefinitionProvider {\n private readonly userActivity = new AXMUserActivityDataSourceDefinition();\n\n async items() {\n return [...(await this.userActivity.items())];\n }\n}\n\n//#endregion\n","import { AXPUnauthenticatedError, AXPUnauthorizedError } from '@acorex/platform/auth';\nimport { AXPErrorHandler } from '@acorex/platform/common';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable, NgZone, inject, isDevMode } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class AXMAuthErrorHandler implements AXPErrorHandler {\n private router = inject(Router);\n private layoutService = inject(AXPLayoutThemeService);\n\n handleError(error: Error, next: (error: any) => void): void {\n if (error instanceof HttpErrorResponse) {\n // if (error.status == 401) {\n // this.router.navigate(['/auth/login']);\n // }\n // else if (error.status == 404) {\n // this.router.navigate(['/404']);\n // }\n } else if (error instanceof AXPUnauthorizedError) {\n const redirectUrl = error.data?.redirectUrl;\n console.error(error.message);\n this.router.navigate(['/401'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else if (error instanceof AXPUnauthenticatedError) {\n console.error(error.message);\n const redirectUrl = error.data?.redirectUrl;\n this.router.navigate(['/auth/login'], { queryParams: redirectUrl ? { redirectUrl: redirectUrl } : null });\n } else {\n if (isDevMode()) {\n next(error); // Pass the error to the next handler\n } else {\n next(error); // maybe we need a error page\n }\n }\n this.layoutService.setNavigationLoading(false);\n }\n}\n","import { ActivatedRouteSnapshot, CanActivateFn, RouterStateSnapshot, UrlTree } from '@angular/router';\n\n/**\n * Guard for login page that redirects authenticated users to home page.\n * This guard prevents authenticated users from accessing the login page.\n */\nexport const canActivateLogin: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n): Promise<boolean | UrlTree> => {\n // If not authenticated, allow access to login page\n return true;\n};\n","import { InjectionToken } from '@angular/core';\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport enum AXMAuthenticationTypes {\n UsernamePassword,\n UsernameEmailPassword,\n EmailPassword,\n MobilePassword,\n EmailCode,\n MobileCode,\n}\n\nexport const AXM_AUTH_CONFIG_TOKEN = new InjectionToken<AXMAuthConfigs>('app-module-auth-config', {\n providedIn: 'root',\n factory: () => {\n return AXMDefaultAuthConfigs;\n },\n});\n\nexport interface AXMExternalProviderConfig {\n providerName: string;\n}\n\nexport interface AXMAuthConfigs {\n type: AXMAuthenticationTypes;\n // oidc_settings?: UserManagerSettings;\n authConfig?: AuthConfig; // تغییر به optional\n baseUrl?: string; // اضافه کردن baseUrl\n logoutUrl?: string; // اضافه کردن logoutUrl\n end_url?: string;\n signup?: {\n enable: boolean;\n url?: string;\n };\n externalProviders?: {\n [provider: string]: AXMExternalProviderConfig;\n };\n signinPage?: {\n description: string;\n slogan: string;\n };\n defaultStrategyName?: string;\n idleTimeout?: number;\n}\n\nexport const AXMDefaultAuthConfigs: AXMAuthConfigs = {\n type: AXMAuthenticationTypes.UsernamePassword,\n // defaultStrategyName:'oidc',\n // حذف authConfig از اینجا چون از environment خوانده میشود\n defaultStrategyName: 'user-pass',\n};\n\nexport function configAuthModule(config: Partial<AXMAuthConfigs> = AXMDefaultAuthConfigs): AXMAuthConfigs {\n return { ...AXMDefaultAuthConfigs, ...config };\n}\n\n//#region ---- Login Guard Token ----\n\nimport { CanActivateFn } from '@angular/router';\nimport { canActivateLogin } from './pages/login/login.guard';\n\n/**\n * Injection token for login page guard.\n * Apps can provide their own custom guard by providing this token.\n * If not provided, the default guard (canActivateLogin) will be used.\n */\nexport const AXM_LOGIN_GUARD_TOKEN = new InjectionToken<CanActivateFn>('AXM_LOGIN_GUARD_TOKEN', {\n providedIn: 'root',\n factory: () => canActivateLogin,\n});\n\n//#endregion\n","import { coerceUnknownToTrimmedString } from '@acorex/platform/core';\nimport { isNil } from 'lodash-es';\n\n//#region ---- Types ----\n\nexport const AXPAuthPasswordComplexityLevels = {\n Low: 'Low',\n Medium: 'Medium',\n High: 'High',\n} as const;\n\nexport type AXPAuthPasswordComplexityLevel =\n (typeof AXPAuthPasswordComplexityLevels)[keyof typeof AXPAuthPasswordComplexityLevels];\n\nexport interface AXPAuthPasswordComplexityPolicy {\n minLength: number;\n requireUppercase: boolean;\n requireLowercase: boolean;\n requireDigit: boolean;\n requireSpecialCharacter: boolean;\n}\n\n//#endregion\n\n//#region ---- Policy ----\n\nconst PASSWORD_COMPLEXITY_POLICIES: Record<AXPAuthPasswordComplexityLevel, AXPAuthPasswordComplexityPolicy> = {\n [AXPAuthPasswordComplexityLevels.Low]: {\n minLength: 6,\n requireUppercase: false,\n requireLowercase: false,\n requireDigit: false,\n requireSpecialCharacter: false,\n },\n [AXPAuthPasswordComplexityLevels.Medium]: {\n minLength: 8,\n requireUppercase: true,\n requireLowercase: true,\n requireDigit: true,\n requireSpecialCharacter: false,\n },\n [AXPAuthPasswordComplexityLevels.High]: {\n minLength: 12,\n requireUppercase: true,\n requireLowercase: true,\n requireDigit: true,\n requireSpecialCharacter: true,\n },\n};\n\nconst SPECIAL_CHARACTER_PATTERN = /[^a-zA-Z0-9]/;\n\n//#endregion\n\n//#region ---- Utility Methods ----\n\n/**\n * Normalizes tenant password complexity setting values to a supported level.\n */\nexport function normalizePasswordComplexityLevel(value: unknown): AXPAuthPasswordComplexityLevel {\n if (isNil(value)) {\n return AXPAuthPasswordComplexityLevels.Medium;\n }\n\n const normalized = coerceUnknownToTrimmedString(value).toLowerCase();\n\n if (normalized === 'low') {\n return AXPAuthPasswordComplexityLevels.Low;\n }\n\n if (normalized === 'medium') {\n return AXPAuthPasswordComplexityLevels.Medium;\n }\n\n if (normalized === 'high') {\n return AXPAuthPasswordComplexityLevels.High;\n }\n\n return AXPAuthPasswordComplexityLevels.Medium;\n}\n\n/**\n * Returns the validation policy for the given complexity level.\n */\nexport function getPasswordComplexityPolicy(\n level: AXPAuthPasswordComplexityLevel,\n): AXPAuthPasswordComplexityPolicy {\n return PASSWORD_COMPLEXITY_POLICIES[level];\n}\n\n/**\n * Validates a password against the configured complexity policy.\n */\nexport function validatePasswordAgainstComplexity(\n password: string,\n level: AXPAuthPasswordComplexityLevel,\n): boolean {\n const policy = getPasswordComplexityPolicy(level);\n\n if (password.length < policy.minLength) {\n return false;\n }\n\n if (policy.requireUppercase && !/[A-Z]/.test(password)) {\n return false;\n }\n\n if (policy.requireLowercase && !/[a-z]/.test(password)) {\n return false;\n }\n\n if (policy.requireDigit && !/\\d/.test(password)) {\n return false;\n }\n\n if (policy.requireSpecialCharacter && !SPECIAL_CHARACTER_PATTERN.test(password)) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Resolves the i18n key for the password complexity hint shown under the new password field.\n */\nexport function getPasswordComplexityHintKey(level: AXPAuthPasswordComplexityLevel): string {\n return `@auth:profile-page.commands.change-password.complexity.hint.${level.toLowerCase()}`;\n}\n\n/**\n * Resolves the i18n key for the password complexity validation error message.\n */\nexport function getPasswordComplexityValidationMessageKey(level: AXPAuthPasswordComplexityLevel): string {\n return `@auth:profile-page.commands.change-password.complexity.validation.${level.toLowerCase()}`;\n}\n\n//#endregion\n","import { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable } from '@angular/core';\nimport { AXPAuthSettings } from '../../contracts/settings.keys';\nimport {\n AXPAuthPasswordComplexityLevel,\n normalizePasswordComplexityLevel,\n} from '../utils/password-complexity.utils';\n\n//#region ---- Password Complexity Service ----\n\n/**\n * Resolves tenant password complexity policy for auth flows (change password, registration, etc.).\n * Uses tenant scope explicitly so inherited user-scope snapshots do not override tenant policy.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPAuthPasswordComplexityService {\n //#region ---- Services & Dependencies ----\n\n private readonly settingsService = inject(AXPSettingsService);\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n async getLevel(): Promise<AXPAuthPasswordComplexityLevel> {\n const tenantValue = await this.settingsService\n .scope(AXPPlatformScope.Tenant)\n .get<unknown>(AXPAuthSettings.PasswordComplexity);\n\n if (tenantValue !== undefined && tenantValue !== null) {\n return normalizePasswordComplexityLevel(tenantValue);\n }\n\n const effectiveValue = await this.settingsService.get<unknown>(AXPAuthSettings.PasswordComplexity);\n return normalizePasswordComplexityLevel(effectiveValue);\n }\n\n //#endregion\n}\n\n//#endregion\n","import {\n AXValidationRule,\n AXValidationRuleOptions,\n AXValidationRuleResult,\n} from '@acorex/core/validation';\nimport { inject, Injectable } from '@angular/core';\nimport { isString } from 'lodash-es';\nimport { AXPAuthPasswordComplexityService } from '../shared/services/password-complexity.service';\nimport {\n AXPAuthPasswordComplexityLevel,\n normalizePasswordComplexityLevel,\n validatePasswordAgainstComplexity,\n} from '../shared/utils/password-complexity.utils';\n\n//#region ---- Password Complexity Validation Rule ----\n\nexport interface AXPasswordComplexityValidationRuleOptions extends AXValidationRuleOptions {\n complexity?: AXPAuthPasswordComplexityLevel | string;\n message?: string;\n}\n\n/**\n * Validates passwords against tenant-configured complexity levels (Low, Medium, High).\n */\n@Injectable()\nexport class PasswordComplexityValidationRule implements AXValidationRule {\n //#region ---- Services & Dependencies ----\n\n private readonly passwordComplexityService = inject(AXPAuthPasswordComplexityService);\n\n //#endregion\n\n get name(): string {\n return 'password-complexity';\n }\n\n async validate(\n value: unknown,\n options?: AXPasswordComplexityValidationRuleOptions,\n ): Promise<AXValidationRuleResult> {\n const complexity = await this.resolveComplexity(options?.complexity);\n const message = options?.message ?? '';\n\n if (!isString(value) || value.length === 0) {\n return {\n rule: this.name,\n result: false,\n message,\n value,\n };\n }\n\n const isValid = validatePasswordAgainstComplexity(value, complexity);\n\n return {\n rule: this.name,\n result: isValid,\n message: isValid ? '' : message,\n value,\n };\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n private async resolveComplexity(\n override: AXPAuthPasswordComplexityLevel | string | undefined,\n ): Promise<AXPAuthPasswordComplexityLevel> {\n if (override !== undefined && override !== null && String(override).trim() !== '') {\n return normalizePasswordComplexityLevel(override);\n }\n\n return this.passwordComplexityService.getLevel();\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXValidationModule } from '@acorex/core/validation';\nimport { NgModule } from '@angular/core';\nimport { PasswordComplexityValidationRule } from './password-complexity-validation-rule.class';\n\n//#region ---- Auth Validation Rules Module ----\n\n@NgModule({\n imports: [\n AXValidationModule.forChild({\n rules: [PasswordComplexityValidationRule],\n }),\n ],\n})\nexport class AXMAuthValidationRulesModule {}\n\n//#endregion\n","import { Route } from '@angular/router';\nexport const routes: Route[] = [\n {\n path: 'auth',\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'login',\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/login/login.module').then((c) => c.AXPSignInModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/two-factor/two-factor.module').then((c) => c.AXPTwoFactorModule),\n },\n {\n path: '',\n loadComponent: () =>\n import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n loadChildren: () => import('./pages/forgot/routes').then((c) => c),\n },\n {\n path: 'axp-oauth-callback',\n loadComponent: () =>\n import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n },\n {\n path: 'account',\n loadComponent: () => import('./shared/layouts/blank/blank.layout').then((c) => c.AXPAuthBlankLayoutComponent),\n loadChildren: () => import('./pages/account/account.module').then((c) => c.AXPAccountModule),\n },\n // {\n // path: 'signincallback',\n // loadComponent: () =>\n // import('./pages/callback/oauth-callback.component').then((c) => c.AXPOAuthCallbackComponent),\n // },\n // {\n // path: '',\n // loadComponent: () =>\n // import('./shared/layouts/master/master.layout').then((c) => c.AXPAuthMasterLayoutComponent),\n // loadChildren: () => import('./register/register.module').then((c) => c.AXPRegisterModule),\n // },\n ],\n },\n];\n","import { RootConfig } from '@acorex/modules/application-management';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXListNavigationDirective, AXListNavigationItemDirective, AXListNavigationModule } from '@acorex/cdk/list-navigation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPApplication, AXPAuthStrategyRegistryService, AXPSessionContext, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, OnInit, output, signal, viewChild, viewChildren } from '@angular/core';\nimport { first } from 'rxjs';\n@Component({\n selector: 'axp-app-chooser-list',\n templateUrl: 'app-chooser-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXSelectBoxModule,\n AXSearchBoxModule,\n AXListNavigationModule,\n AXTranslationModule,\n AXPLogoComponent,\n ],\n})\nexport class AXPAppChooserListComponent implements OnInit {\n private readonly entityService = inject(AXPEntityService);\n //#region ---- Services & Dependencies ----\n\n private sessionService = inject(AXPSessionService);\n private homePageService = inject(AXPHomePageService);\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n private applicationService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.application.name).data<any, any>();\n private strategyName = this.sessionService.getSessionData()?.strategy;\n private strategy = this.authStrategyRegistry.get(this.strategyName!);\n\n //#endregion\n\n //#region ---- Inputs & Outputs ----\n\n simple = input<boolean>(false);\n applicationChosen = output<void>();\n\n //#endregion\n\n //#region ---- View References ----\n\n private listNav = viewChild(AXListNavigationDirective);\n private listItems = viewChildren(AXListNavigationItemDirective);\n\n //#endregion\n\n //#region ---- State ----\n\n protected isLoading = signal(true);\n protected allApplications = signal<AXPApplication[]>([]);\n protected useSelectBox = computed(() => this.allApplications().length > 3);\n protected selectedApplication = signal<AXPApplication | null>(null);\n protected isSelectBoxOpen = signal(false);\n protected canApply = computed(() => !!this.selectedApplication());\n protected skeletonItems = [1, 2, 3];\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected isApplicationSelected(application: AXPApplication): boolean {\n return application.id === this.sessionService.application?.id;\n }\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor() {\n effect(() => {\n if (!this.isLoading() && !this.useSelectBox() && this.allApplications().length > 0) {\n queueMicrotask(() => this.focusFirstListItem());\n }\n });\n }\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n ngOnInit(): void {\n this.sessionService.applications$.pipe(first()).subscribe((applications) => {\n this.allApplications.set(applications);\n\n if (applications.length > 0) {\n this.selectedApplication.set(applications[0]);\n }\n\n this.isLoading.set(false);\n });\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n handleApplicationSelect(event: AXValueChangedEvent): void {\n if (!event.isUserInteraction) {\n return;\n }\n\n this.selectedApplication.set((event.component.selectedItems[0] as AXPApplication) ?? null);\n }\n\n handleListItemKeyDown(event: KeyboardEvent, application: AXPApplication): void {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n void this.chooseApplication(application);\n }\n }\n\n handleSelectBoxKeyDown(event: Event): void {\n if (!(event instanceof KeyboardEvent)) {\n return;\n }\n\n if (event.key !== 'Enter' && event.key !== 'NumpadEnter') {\n return;\n }\n\n if (this.isSelectBoxOpen()) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.canApply()) {\n this.applySelection();\n }\n }\n\n applySelection(): void {\n const application = this.selectedApplication();\n if (application) {\n void this.chooseApplication(application);\n }\n }\n\n async chooseApplication(item: AXPApplication): Promise<void> {\n const tenantId = this.sessionService.tenant?.id || '';\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Cannot choose application.');\n }\n\n const fullApplication = await this.applicationService.byKey(item.id);\n if (!fullApplication) {\n throw new Error(`Application not found: ${item.id}`);\n }\n\n let selectedEdition = item.edition;\n if (!selectedEdition && fullApplication.editions && fullApplication.editions.length > 0) {\n selectedEdition = {\n id: fullApplication.editions[0].id,\n title: fullApplication.editions[0].title,\n description: fullApplication.editions[0].description,\n };\n }\n\n const applicationWithEdition: AXPApplication = {\n ...item,\n version: fullApplication.version || item.version,\n edition: selectedEdition,\n };\n\n if (this.strategy && typeof this.strategy.updateToken === 'function') {\n const updateContext = {\n application: applicationWithEdition,\n user: this.sessionService.user,\n tenant: this.sessionService.tenant,\n };\n await this.sessionService.updateToken(updateContext as AXPSessionContext);\n }\n\n this.applicationChosen.emit();\n await this.homePageService.navigateTo();\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n private focusFirstListItem(): void {\n const nav = this.listNav();\n const items = this.listItems();\n const applications = this.allApplications();\n const currentIndex = applications.findIndex((application) => this.isApplicationSelected(application));\n\n if (nav && items.length > 0) {\n nav.navigateTo(items[currentIndex >= 0 ? currentIndex : 0]);\n }\n }\n\n //#endregion\n}\n","@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allApplications()\"\n textField=\"title\"\n valueField=\"id\"\n [itemHeight]=\"56\"\n [value]=\"selectedApplication()\"\n [placeholder]=\"('@auth:application-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"applicationItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleApplicationSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (application of allApplications(); track application.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isApplicationSelected(application)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-bg-primary-darker]=\"isApplicationSelected(application)\"\n [class.ax-text-primary-on-lighter]=\"isApplicationSelected(application)\"\n [class.dark:ax-text-primary-on-darker]=\"isApplicationSelected(application)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseApplication(application)\"\n (keydown)=\"handleListItemKeyDown($event, application)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"application.logo\"\n [attr.alt]=\"application.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ application.title }}</span>\n @if (application.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs ax-shrink-0\">{{ application.edition?.title }}</span>\n }\n </div>\n </div>\n }\n </div>\n}\n\n<ng-template #applicationItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n @if (item.data.edition?.title) {\n <span class=\"ax-text-muted ax-text-xs\">{{ item.data.edition.title }}</span>\n }\n </div>\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPApplication, AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, viewChild } from '@angular/core';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPAppChooserListComponent } from './app-chooser-list.component';\n\n@Component({\n templateUrl: './app-chooser-slot.component.html',\n imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPAppChooserListComponent],\n})\nexport class AXMAppChooserSlotComponent {\n\n private sessionService = inject(AXPSessionService);\n protected applications$ = this.sessionService.applications$;\n\n private appPopover = viewChild<AXPopoverComponent>('appPopover');\n\n closePopover(): void {\n this.appPopover()?.close();\n }\n}\n","@if (((applications$ | async)?.length ?? 0) > 1) {\n <ax-button color=\"primary\" #appChooser>\n <ax-icon class=\"fa-regular fa-grid-2\"> </ax-icon>\n </ax-button>\n <ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #appPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-app-chooser-list [simple]=\"true\" (applicationChosen)=\"closePopover()\"></axp-app-chooser-list>\n </div>\n </ax-popover>\n}\n","import { AXValueChangedEvent } from '@acorex/cdk/common';\nimport {\n AXListNavigationDirective,\n AXListNavigationItemDirective,\n AXListNavigationModule,\n} from '@acorex/cdk/list-navigation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthStrategyRegistryService, AXPSessionService, AXPTenant } from '@acorex/platform/auth';\nimport { AXPIconLogoConfig } from '@acorex/platform/core';\nimport { AXPLogoComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n OnInit,\n output,\n signal,\n viewChild,\n viewChildren,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { first } from 'rxjs';\n\n@Component({\n selector: 'axp-tenant-chooser-list',\n templateUrl: 'tenant-chooser-list.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXTranslationModule,\n AXButtonModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXSelectBoxModule,\n AXSearchBoxModule,\n AXListNavigationModule,\n AXPLogoComponent,\n ],\n})\nexport class AXPTenantChooserListComponent implements OnInit {\n //#region ---- Services & Dependencies ----\n\n private sessionService = inject(AXPSessionService);\n private authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n private router = inject(Router);\n private strategyName = this.sessionService.getSessionData()?.strategy;\n private strategy = this.authStrategyRegistry.get(this.strategyName!);\n\n //#endregion\n\n //#region ---- Inputs & Outputs ----\n\n simple = input<boolean>(false);\n tenantChosen = output<void>();\n\n //#endregion\n\n //#region ---- View References ----\n\n private listNav = viewChild(AXListNavigationDirective);\n private listItems = viewChildren(AXListNavigationItemDirective);\n\n //#endregion\n\n //#region ---- State ----\n\n protected defaultLogo = new AXPIconLogoConfig('fa-solid fa-building', 'neutral-500');\n protected isLoading = signal(true);\n protected allTenants = signal<AXPTenant[]>([]);\n protected searchValue = signal('');\n protected showAll = signal(false);\n protected useSelectBox = computed(() => this.allTenants().length > 3);\n protected selectedTenant = signal<AXPTenant | null>(null);\n protected isSelectBoxOpen = signal(false);\n protected canApply = computed(() => !!this.selectedTenant());\n protected skeletonItems = [1, 2, 3];\n\n /** Tenants shown in the list (respects search and view-all toggle). */\n protected displayedTenants = computed(() => {\n const tenants = this.filterTenants(this.allTenants());\n if (this.showAll() || tenants.length <= 4) {\n return tenants;\n }\n return tenants.slice(0, 4);\n });\n\n protected showSearchAndViewAll = computed(() => this.allTenants().length > 4);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected isTenantSelected(tenant: AXPTenant): boolean {\n return tenant.id === this.sessionService.tenant?.id;\n }\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor() {\n effect(() => {\n if (!this.isLoading() && !this.useSelectBox() && !this.simple() && this.allTenants().length > 0) {\n queueMicrotask(() => this.focusFirstListItem());\n }\n });\n }\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n ngOnInit(): void {\n this.sessionService.tenants$.pipe(first()).subscribe((tenants) => {\n this.allTenants.set(tenants);\n\n if (tenants.length > 0) {\n this.selectedTenant.set(tenants[0]);\n }\n\n this.isLoading.set(false);\n });\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n filterTenants(tenants: AXPTenant[]): AXPTenant[] {\n const query = this.searchValue().toLowerCase();\n return tenants.filter((tenant) => tenant.title.toLowerCase().includes(query));\n }\n\n handleSearch(event: string): void {\n if (event !== undefined) {\n this.searchValue.set(event);\n }\n }\n\n showAllTenants(): void {\n this.showAll.update((value) => !value);\n }\n\n handleTenantSelect(event: AXValueChangedEvent): void {\n if (!event.isUserInteraction) {\n return;\n }\n\n this.selectedTenant.set((event.component.selectedItems[0] as AXPTenant) ?? null);\n }\n\n handleListItemKeyDown(event: KeyboardEvent, tenant: AXPTenant): void {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n void this.chooseTenant(tenant);\n }\n }\n\n handleSelectBoxKeyDown(event: Event): void {\n if (!(event instanceof KeyboardEvent)) {\n return;\n }\n\n if (event.key !== 'Enter' && event.key !== 'NumpadEnter') {\n return;\n }\n\n if (this.isSelectBoxOpen()) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.canApply()) {\n this.applySelection();\n }\n }\n\n applySelection(): void {\n const tenant = this.selectedTenant();\n if (tenant) {\n void this.chooseTenant(tenant);\n }\n }\n\n async chooseTenant(item: AXPTenant): Promise<boolean | void> {\n if (this.strategy) {\n const updateContext = {\n tenant: item,\n user: this.sessionService.user,\n };\n await this.sessionService.updateToken(updateContext);\n }\n\n this.tenantChosen.emit();\n return this.router.navigate(['/auth/account/app-chooser']);\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n private focusFirstListItem(): void {\n const nav = this.listNav();\n const items = this.listItems();\n const tenants = this.allTenants();\n const currentIndex = tenants.findIndex((tenant) => this.isTenantSelected(tenant));\n\n if (nav && items.length > 0) {\n nav.navigateTo(items[currentIndex >= 0 ? currentIndex : 0]);\n }\n }\n\n //#endregion\n}\n","@if (isLoading()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-3\">\n @for (item of skeletonItems; track item) {\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-12 ax-h-12 ax-rounded-full ax-shrink-0\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-flex-1 ax-h-6 ax-rounded-md\"></ax-skeleton>\n </div>\n }\n </div>\n} @else if (simple()) {\n <div class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-pe-2\">\n @for (tenant of allTenants(); track tenant.id) {\n <div\n class=\"ax-flex ax-gap-2 ax-justify-between ax-border-b last:ax-border-b-0 ax-py-3 ax-items-start ax-cursor-pointer\"\n (click)=\"chooseTenant(tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-font-medium\">\n <div\n class=\"ax-w-12 ax-h-12 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-m-auto\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-mx-auto ax-w-10 ax-h-10 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n} @else if (useSelectBox()) {\n <div class=\"ax-w-full ax-flex ax-flex-col ax-gap-4\" (keydown.capture)=\"handleSelectBoxKeyDown($event)\">\n <ax-select-box\n class=\"ax-w-full\"\n [dataSource]=\"allTenants()\"\n textField=\"title\"\n valueField=\"id\"\n [value]=\"selectedTenant()\"\n [itemHeight]=\"56\"\n [placeholder]=\"('@auth:tenant-chooser.select-placeholder' | translate | async) ?? ''\"\n [itemTemplate]=\"tenantItemTemplate\"\n (onOpened)=\"isSelectBoxOpen.set(true)\"\n (onClosed)=\"isSelectBoxOpen.set(false)\"\n (onValueChanged)=\"handleTenantSelect($event)\"\n >\n <ax-search-box look=\"fill\"></ax-search-box>\n </ax-select-box>\n <ax-button\n class=\"ax-w-full\"\n color=\"primary\"\n [disabled]=\"!canApply()\"\n [text]=\"('@general:actions.apply.title' | translate | async) ?? ''\"\n (onClick)=\"applySelection()\"\n ></ax-button>\n </div>\n} @else {\n @if (showSearchAndViewAll()) {\n <ax-search-box\n [placeholder]=\"'@general:search.title' | translate | async\"\n [ngModel]=\"searchValue()\"\n (ngModelChange)=\"handleSearch($event)\"\n class=\"ax-w-full\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n }\n <div\n axListNavigation\n #listNav=\"axListNavigation\"\n class=\"ax-w-full ax-overflow-auto ax-max-h-[300px] ax-flex ax-flex-col ax-gap-1\"\n role=\"listbox\"\n >\n @for (tenant of displayedTenants(); track tenant.id) {\n <div\n axListNavigationItem\n #navItem=\"axListNavigationItem\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isTenantSelected(tenant)\"\n class=\"ax-flex ax-gap-2 ax-items-center ax-p-2 ax-cursor-pointer ax-rounded-md ax-transition-colors ax-outline-none hover:ax-bg-primary-lightest hover:dark:ax-bg-primary-dark\"\n [class.ax-bg-primary-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-bg-primary-darker]=\"isTenantSelected(tenant)\"\n [class.ax-text-primary-on-lighter]=\"isTenantSelected(tenant)\"\n [class.dark:ax-text-primary-on-darker]=\"isTenantSelected(tenant)\"\n [class.ax-ring-2]=\"navItem.isActive()\"\n [class.ax-ring-primary]=\"navItem.isActive()\"\n (click)=\"chooseTenant(tenant)\"\n (keydown)=\"handleListItemKeyDown($event, tenant)\"\n >\n <div class=\"ax-flex ax-flex-1 ax-gap-2 ax-items-center ax-min-w-0\">\n <div\n class=\"ax-shrink-0 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100\"\n [class.ax-w-10]=\"simple()\"\n [class.ax-h-10]=\"simple()\"\n [class.ax-w-12]=\"!simple()\"\n [class.ax-h-12]=\"!simple()\"\n >\n <axp-logo\n [source]=\"tenant.logo ?? defaultLogo\"\n [attr.alt]=\"tenant.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-bg-neutral-200 dark:ax-bg-neutral-800 ax-rounded-full\"\n [class.ax-w-8]=\"simple()\"\n [class.ax-h-8]=\"simple()\"\n [class.ax-w-10]=\"!simple()\"\n [class.ax-h-10]=\"!simple()\"\n ></axp-logo>\n </div>\n <span class=\"ax-flex-1 ax-truncate ax-text-start md:ax-text-base ax-text-sm\">{{ tenant.title }}</span>\n </div>\n </div>\n }\n </div>\n @if (showSearchAndViewAll()) {\n <div class=\"ax-mt-6 ax-w-full ax-flex ax-justify-center\">\n <ax-button\n (onClick)=\"showAllTenants()\"\n class=\"ax-w-full\"\n look=\"outline\"\n [text]=\"\n showAll()\n ? ('@general:actions.view-less.title' | translate | async)\n : ('@general:actions.view-all.title' | translate | async)\n \"\n ></ax-button>\n </div>\n }\n}\n\n<ng-template #tenantItemTemplate let-item>\n <div class=\"ax-flex ax-gap-2 ax-items-center ax-p-2\">\n <div\n class=\"ax-w-10 ax-h-10 ax-flex ax-justify-center ax-items-center ax-rounded-full ax-bg-neutral-100 ax-shrink-0\"\n >\n <axp-logo\n [source]=\"item.data.logo ?? defaultLogo\"\n [attr.alt]=\"item.data.title\"\n class=\"!ax-flex ax-items-center ax-justify-center !ax-text-sm ax-w-8 ax-h-8 ax-bg-neutral-200 ax-rounded-full\"\n ></axp-logo>\n </div>\n <span class=\"ax-text-start md:ax-text-base ax-text-sm\">{{ item.data.title }}</span>\n </div>\n</ng-template>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, viewChild } from '@angular/core';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPTenantChooserListComponent } from './tenant-chooser-list.component';\n\n@Component({\n selector: 'axp-tenant-chooser-dropdown',\n templateUrl: 'tenant-chooser-dropdown.component.html',\n imports: [CommonModule, AXButtonModule, AXPopoverModule, AXDecoratorModule, AXPTenantChooserListComponent]\n})\nexport class AXPTenantChooserDropdownComponent {\n private sessionService = inject(AXPSessionService);\n protected tenants$ = this.sessionService.tenants$;\n protected tenant = this.sessionService.tenant;\n\n private tenantPopover = viewChild<AXPopoverComponent>('tenantPopover');\n\n closePopover(): void {\n this.tenantPopover()?.close();\n }\n}\n","@if (tenants$ | async; as tenants) {\n@if (tenants.length > 1) {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\" #tenantChooser>\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-caret-down\"></ax-icon>\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"tenantChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\"\n #tenantPopover>\n <div class=\"ax-bg-lightest ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-1\">\n <axp-tenant-chooser-list [simple]=\"true\" (tenantChosen)=\"closePopover()\"></axp-tenant-chooser-list>\n </div>\n</ax-popover>\n} @else {\n<ax-button [text]=\"tenant?.title ?? ''\" class=\"ax-xs\" look=\"blank\"></ax-button>\n}\n}","import { AXPActionMenuItem } from '@acorex/platform/core';\n\n//#region ---- Profile slot menu hook ----\n\nexport const PROFILE_SLOT_MENU_ITEMS_HOOK = 'profile-slot.menu-items';\n\nexport type AXPProfileSlotMenuBreakOptions = {\n before?: boolean;\n after?: boolean;\n};\n\nexport type AXPProfileSlotMenuItem = Omit<AXPActionMenuItem, 'break'> & {\n break?: AXPProfileSlotMenuBreakOptions;\n};\n\nexport type AXPProfileSlotMenuItemsPayload = {\n items: AXPProfileSlotMenuItem[];\n};\n\nexport function hasProfileSlotMenuBreakBefore(breakOptions?: AXPProfileSlotMenuBreakOptions): boolean {\n return breakOptions?.before === true;\n}\n\nexport function hasProfileSlotMenuBreakAfter(breakOptions?: AXPProfileSlotMenuBreakOptions): boolean {\n return breakOptions?.after === true;\n}\n\n//#endregion\n","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnInit,\n ViewEncapsulation,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { Router, RouterModule } from '@angular/router';\nimport {\n AXPExecuteCommand,\n AXPKeyboardShortcutBinding,\n AXPKeyboardShortcutPriority,\n AXPKeyboardShortcutRegistry,\n AXPNavigateActionCommand,\n AXPHookService,\n chordToKbdItemKeys,\n getPrimaryKeyboardShortcutChord,\n normalizeKeyboardShortcuts,\n} from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\nimport { AXPAuthSettings } from '../../../contracts/settings.keys';\nimport {\n AXPProfileSlotMenuItem,\n AXPProfileSlotMenuItemsPayload,\n hasProfileSlotMenuBreakAfter,\n hasProfileSlotMenuBreakBefore,\n PROFILE_SLOT_MENU_ITEMS_HOOK,\n} from './profile-slot-menu.types';\n\n@Component({\n templateUrl: './profile-slot.component.html',\n styleUrl: './profile-slot.component.scss',\n imports: [\n CommonModule,\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n // AXKBDComponent,\n // AXKBDItemComponent,\n AXLoadingModule,\n AXTranslationModule,\n AXPUserAvatarComponent,\n //\n\n AXPTenantChooserDropdownComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXMAuthProfileSlotComponent implements OnInit {\n //#region ---- Services & Dependencies ----\n\n private readonly router = inject(Router);\n private readonly sessionService = inject(AXPSessionService);\n private readonly themeService = inject(AXPLayoutThemeService);\n private readonly hooks = inject(AXPHookService);\n private readonly workflow = inject(AXPWorkflowService);\n private readonly commandService = inject(AXPCommandService);\n private readonly shortcutRegistry = inject(AXPKeyboardShortcutRegistry);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly destroyRef = inject(DestroyRef);\n\n //#endregion\n\n //#region ---- State ----\n\n protected readonly isDarkMode = this.themeService.isDarkMode;\n\n protected readonly user$ = this.sessionService.user$;\n protected readonly tenant$ = this.sessionService.tenant$;\n protected readonly isAuthenticated$ = this.sessionService.isAuthenticated$;\n private readonly isAuthenticated = toSignal(this.sessionService.isAuthenticated$, { initialValue: false });\n\n protected readonly menuItems = signal<AXPProfileSlotMenuItem[]>([]);\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n async ngOnInit(): Promise<void> {\n await this.loadMenuItems();\n this.bindLockMenuSettingsReload();\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n protected appName = () => this.sessionService.application?.name;\n\n protected menuItemClass(item: AXPProfileSlotMenuItem): Record<string, boolean> {\n return {\n 'ax-text-danger-500': item.color === 'danger',\n };\n }\n\n protected readonly hasProfileSlotMenuBreakBefore = hasProfileSlotMenuBreakBefore;\n protected readonly hasProfileSlotMenuBreakAfter = hasProfileSlotMenuBreakAfter;\n\n protected shortcutKeys(chord: string): string[] {\n return chordToKbdItemKeys(chord);\n }\n\n protected primaryShortcut(item: AXPProfileSlotMenuItem): string | undefined {\n return getPrimaryKeyboardShortcutChord(item.shortcuts);\n }\n\n protected async handleMenuItemClick(item: AXPProfileSlotMenuItem, popover: AXPopoverComponent): Promise<void> {\n popover.close();\n\n if (item.command) {\n await this.executeCommand(item.command);\n }\n }\n\n protected handleSignIn(): void {\n this.router.navigate(['/auth/login']);\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private bindLockMenuSettingsReload(): void {\n this.settingsService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!event.keys.includes(AXPAuthSettings.LockWhenIdleEnabled)) {\n return;\n }\n\n void this.loadMenuItems();\n });\n }\n\n private async loadMenuItems(): Promise<void> {\n const payload = await this.hooks.runAsync<AXPProfileSlotMenuItemsPayload>(PROFILE_SLOT_MENU_ITEMS_HOOK, {\n items: [],\n });\n const items = payload.items ?? [];\n this.menuItems.set(items);\n this.registerMenuShortcuts(items);\n }\n\n private registerMenuShortcuts(items: AXPProfileSlotMenuItem[]): void {\n const shortcuts: AXPKeyboardShortcutBinding[] = [];\n\n for (const item of items) {\n if (item.visible === false || !item.command || !item.shortcuts?.length) {\n continue;\n }\n\n const command = item.command;\n\n for (const shortcut of normalizeKeyboardShortcuts(item.shortcuts)) {\n for (const chord of shortcut.keys) {\n shortcuts.push({\n keys: [chord],\n title: item.title as string,\n group: '@general:keyboard-shortcuts.groups.global',\n allowInEditableFields: shortcut.allowInEditableFields,\n directionBehavior: shortcut.directionBehavior,\n when: () => this.isAuthenticated() && (shortcut.when?.() ?? true),\n handler: () => {\n void this.executeCommand(command);\n },\n });\n }\n }\n }\n\n if (shortcuts.length === 0) {\n return;\n }\n\n this.shortcutRegistry.register({\n owner: this.destroyRef,\n id: 'profile-slot-menu',\n priority: AXPKeyboardShortcutPriority.Global,\n group: '@general:keyboard-shortcuts.groups.global',\n when: () => this.isAuthenticated(),\n shortcuts,\n });\n }\n\n private async executeCommand(command: AXPExecuteCommand): Promise<void> {\n if (command.name === 'navigate') {\n const path = this.resolveNavigatePath(command.options);\n if (!path) {\n return;\n }\n\n await this.workflow.execute('navigate', {\n type: 'router',\n options: { path },\n } as AXPNavigateActionCommand<'router'>);\n return;\n }\n\n if (this.commandService.exists(command.name)) {\n await this.commandService.execute(command.name, command.options ?? {});\n }\n }\n\n private resolveNavigatePath(options?: AXPExecuteCommand['options']): string | undefined {\n if (!options) {\n return undefined;\n }\n\n if (typeof options['path'] === 'string') {\n return options['path'];\n }\n\n const routerOptions = options['router'] as { path?: string } | undefined;\n if (typeof routerOptions?.path === 'string') {\n return routerOptions.path;\n }\n\n const nestedOptions = options['options'] as { path?: string } | undefined;\n return nestedOptions?.path;\n }\n\n //#endregion\n}\n","@if (isAuthenticated$ | async) {\n<div class=\"ax-size-fit\">\n <div #avatar>\n <axp-user-avatar [size]=\"36\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" #p>\n <div class=\"ax-bg-lightest ax-border ax-border-lightest ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <axp-user-avatar [size]=\"64\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"axp-profile-slot-menus\">\n <ul>\n @for (item of menuItems(); track item.name ?? item.title) {\n @if (item.visible != false) {\n @if (hasProfileSlotMenuBreakBefore(item.break)) {\n <li class=\"axp-profile-slot-menu-break\" role=\"separator\"></li>\n }\n <li [class]=\"menuItemClass(item)\">\n <a (click)=\"handleMenuItemClick(item, p)\">\n <i [class]=\"item.icon\"></i>\n <span class=\"ax-flex-1\">{{ item.title | translate | async }}</span>\n <!-- @if (primaryShortcut(item); as shortcut) {\n <ax-kbd class=\"look-text ax-ms-auto ax-shrink-0\">\n <ax-kbd-item [keys]=\"shortcutKeys(shortcut)\"></ax-kbd-item>\n </ax-kbd>\n } -->\n </a>\n </li>\n @if (hasProfileSlotMenuBreakAfter(item.break)) {\n <li class=\"axp-profile-slot-menu-break\" role=\"separator\"></li>\n }\n }\n }\n </ul>\n </div>\n </div>\n </ax-popover>\n</div>\n} @else {\n<ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n}","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXHtmlEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverComponent, AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPDataProvider } from '@acorex/platform/common';\nimport { AXPDeviceService } from '@acorex/platform/core';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { AXPMenuVerticalMode, AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewChild, computed, inject, signal } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { first } from 'rxjs';\nimport { AXPTenantChooserDropdownComponent } from '../tenant-chooser/tenant-chooser-dropdown.component';\n\n@Component({\n templateUrl: './user-profile-card.component.html',\n imports: [\n RouterModule,\n //\n AXImageModule,\n AXAvatarModule,\n AXPopoverModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n //\n AXPTenantChooserDropdownComponent,\n AsyncPipe,\n AXPUserAvatarComponent,\n ],\n})\nexport class AXMUserProfileCardSlotComponent {\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n private dataService = inject(AXPDataProvider, { optional: true });\n private themeStore = inject(AXPLayoutThemeService);\n private deviceService = inject(AXPDeviceService);\n\n protected isCompactMode = computed(() => {\n this.deviceService.screenSize();\n return this.themeStore.effectiveMenuVerticalMode() === AXPMenuVerticalMode.Compact;\n });\n\n protected hasPicture = signal(true);\n protected avatarText = signal<string>('');\n\n constructor() {\n this.loadImage();\n this.getAvatarText();\n }\n protected src!: string;\n protected user$ = this.sessionService.user$;\n protected tenant$ = this.sessionService.tenant$;\n\n protected isAuthenticated$ = this.sessionService.isAuthenticated$;\n\n protected appName = () => this.sessionService.application?.name;\n\n @ViewChild('profilePopover') profilePopover!: AXPopoverComponent;\n\n editProfile() {\n this.router.navigate([`/${this.appName()}/m/securityManagement/e/profile/0/view`]);\n }\n\n async logOut() {\n await this.sessionService.signout();\n }\n\n toggleProfileMenu() {\n this.profilePopover.open();\n }\n\n protected handleSignIn() {\n this.router.navigate(['/auth/login']);\n }\n\n protected onImageError(event: AXHtmlEvent<ErrorEvent>) {\n this.hasPicture.set(false);\n }\n\n protected getAvatarText = () => {\n this.user$.pipe(first()).subscribe((user) => {\n const names = user?.title.split(' ');\n if (names?.length && names?.length > 1) {\n this.avatarText.set(`${names[0][0].toUpperCase()}${names[names.length - 1][0].toUpperCase()}`);\n } else return this.avatarText.set('AC');\n });\n };\n\n private async loadImage() {\n try {\n const url = this.sessionService.user?.avatar as string;\n if (url?.toLowerCase().startsWith('http')) {\n this.src = url;\n } else if (this.sessionService.user?.avatar != 'null' && this.dataService) {\n const blob = await this.dataService.viewFile(url, '');\n this.src = URL.createObjectURL(blob);\n } else {\n //this.src = this.mockerService.avatar();\n }\n } catch (error) {\n this.hasPicture.set(false);\n console.error('Failed to load image by ID:', error);\n this.src = '';\n }\n }\n}\n","@if((isAuthenticated$ | async)) {\n<div class=\"ax-p-3 ax-flex ax-items-center ax-gap-1 ax-border-b ax-border-lighter\" [class.ax-justify-center]=\"isCompactMode()\">\n <div #avatar>\n <axp-user-avatar [size]=\"48\" [userId]=\"(user$ | async)?.id!\"></axp-user-avatar>\n </div>\n @if (!isCompactMode()) {\n <div class=\"ax-flex ax-flex-col\">\n <ax-title class=\"ax-text-sm ax-font-medium ax-px-3\">{{ (user$ | async)?.title }}</ax-title>\n <axp-tenant-chooser-dropdown />\n </div>\n }\n</div>\n}\n","\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { inject, Injectable } from '@angular/core';\nimport { orderBy } from 'lodash-es';\nimport {\n AXPAuthInactiveSessionTerminationValue,\n AXPAuthSettings,\n} from '../../../contracts/settings.keys';\nimport {\n AXMDeviceSessionsService,\n AXMSecurityManagementDeviceSessionsEntityModel,\n RootConfig as SecurityManagementRootConfig,\n} from '@acorex/modules/security-management';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\n\nexport abstract class AXMUserDeviceSessionsService {\n abstract getSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]>;\n abstract getCurrentActiveSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel>;\n abstract terminateSession(sessionId: string): Promise<void>;\n abstract terminateAllSession(): Promise<void>;\n abstract setInactiveSessionTermination(value: AXPAuthInactiveSessionTerminationValue): Promise<void>;\n}\n\n@Injectable()\nexport class AXMUserDeviceSessionsServiceImp extends AXMUserDeviceSessionsService {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly entityService = inject(AXPEntityService);\n private readonly deviceSessionsDataAccessor = this.entityService\n .withEntity(SecurityManagementRootConfig.module.name, SecurityManagementRootConfig.entities.deviceSessions.name)\n .data<string, AXMSecurityManagementDeviceSessionsEntityModel>();\n private readonly deviceSessionsService = inject(AXMDeviceSessionsService);\n private readonly settingsService = inject(AXPSettingsService);\n\n //#endregion\n\n override async getSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n return [];\n }\n\n const response = await this.deviceSessionsDataAccessor.query();\n return response.items.filter(\n (item) =>\n item.userId === userId &&\n String(item.status).toLowerCase() === 'active' &&\n !item.isActiveSession,\n );\n }\n\n override async getCurrentActiveSessions(): Promise<AXMSecurityManagementDeviceSessionsEntityModel> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n throw new Error('No user found in session');\n }\n\n const response = await this.deviceSessionsDataAccessor.query();\n const userSessions = response.items.filter(\n (item) => item.userId === userId && String(item.status).toLowerCase() === 'active',\n );\n\n const activeSession = userSessions.find((item) => item.isActiveSession);\n if (activeSession) {\n return activeSession;\n }\n\n const mostRecentSession = orderBy(\n userSessions,\n [(session) => new Date(session.lastLoginDate).getTime()],\n ['desc'],\n )[0];\n\n if (!mostRecentSession) {\n throw new Error('No active session found for current user');\n }\n\n return mostRecentSession;\n }\n\n override async terminateSession(sessionId: string): Promise<void> {\n await this.deviceSessionsDataAccessor.update(sessionId, { status: 'revoked' });\n }\n\n override async terminateAllSession(): Promise<void> {\n await this.deviceSessionsService.terminateAllCurrentUserSessions();\n }\n\n override async setInactiveSessionTermination(value: AXPAuthInactiveSessionTerminationValue): Promise<void> {\n await this.settingsService\n .scope(AXPPlatformScope.User)\n .set(AXPAuthSettings.InactiveSessionTermination, value);\n }\n}\n","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nexport const canActivateTenantChooser: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const router = inject(Router);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName!);\n\n if (!sessionService.user?.id) {\n return router.createUrlTree(['/auth/login']);\n }\n\n const tenants = await firstValueFrom(sessionService.tenants$);\n\n if (tenants.length === 0) {\n window.alert(\n 'You do not have any tenant assigned to your account and cannot use the site. Please contact your administrator.',\n );\n return router.createUrlTree(['/auth/login']);\n }\n if (tenants.length === 1) {\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: tenants[0],\n };\n await sessionService.updateToken(updateContext);\n return router.createUrlTree(['/auth/account/app-chooser']);\n }\n return false;\n }\n return true;\n};\n","import { AXPAuthStrategyRegistryService, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateFn, Router, RouterStateSnapshot } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\n\nexport const canActivateAppChooser: CanActivateFn = async (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const sessionService = inject(AXPSessionService);\n const authStrategyRegistry = inject(AXPAuthStrategyRegistryService);\n const homePageService = inject(AXPHomePageService);\n const router = inject(Router);\n const strategyName = sessionService.getSessionData()?.strategy;\n const strategy = authStrategyRegistry.get(strategyName!);\n const apps = await firstValueFrom(sessionService.applications$);\n\n if (apps.length === 0) {\n await router.navigate(['/auth/login']);\n return false;\n }\n\n if (apps.length === 1) {\n const tenantId = sessionService.tenant?.id;\n if (!tenantId) {\n throw new Error('Tenant ID is missing. Please contact support.');\n }\n if (strategy && typeof strategy.updateToken === 'function') {\n const updateContext = {\n user: sessionService.user,\n tenant: sessionService.tenant,\n application: apps[0],\n };\n await sessionService.updateToken(updateContext);\n\n\n return router.createUrlTree([homePageService.getCurrent().path]);\n }\n return false;\n }\n return true;\n};\n","import { AXPAuthGuard, AXPSessionService } from '@acorex/platform/auth';\nimport { AXPHomePageService } from '@acorex/platform/common';\nimport { AXPComponentSlotModule } from '@acorex/platform/core';\nimport { NgModule, inject } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivateFn,\n ROUTES,\n Router,\n RouterModule,\n RouterStateSnapshot,\n Routes,\n} from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { AXMAppChooserSlotComponent } from './app-chooser/app-chooser-slot.component';\nimport { AXMAuthProfileSlotComponent } from './profile/profile-slot.component';\nimport { AXMUserProfileCardSlotComponent } from './user-profile-card/user-profile-card.component';\nimport { AXMUserDeviceSessionsService, AXMUserDeviceSessionsServiceImp } from './user-sessions/user-sessions.service';\nimport { canActivateTenantChooser } from './tenant-chooser/tenant-chooser.guard';\nimport { canActivateAppChooser } from './app-chooser/app-chooser.guard';\n\nfunction routesFacory() {\n let routes: Routes = [];\n routes = [\n {\n path: 'tenant-chooser',\n loadComponent: () =>\n import('./tenant-chooser/tenant-chooser.component').then((c) => c.AXPAuthTenantChooserComponent),\n canActivate: [AXPAuthGuard, canActivateTenantChooser],\n },\n {\n path: 'app-chooser',\n loadComponent: () => import('./app-chooser/app-chooser.component').then((c) => c.AXPAuthAppChooserComponent),\n canActivate: [AXPAuthGuard, canActivateAppChooser],\n },\n ];\n return routes;\n}\n\n@NgModule({\n declarations: [],\n imports: [\n RouterModule,\n //\n AXPComponentSlotModule.forChild({\n 'root-side-menu-header': [\n {\n priority: 1,\n name: 'user-card',\n component: AXMUserProfileCardSlotComponent,\n },\n ],\n 'root-header-end': [\n {\n priority: 98,\n name: 'app-choser',\n component: AXMAppChooserSlotComponent,\n },\n {\n priority: 99,\n name: 'profile',\n component: AXMAuthProfileSlotComponent,\n },\n ],\n }),\n ],\n exports: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n {\n provide: AXMUserDeviceSessionsService,\n useClass: AXMUserDeviceSessionsServiceImp,\n },\n ],\n})\nexport class AXPAccountModule {}\n","import { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPSettingsService } from '@acorex/platform/common';\nimport { AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { DestroyRef, Injectable, Injector, inject, signal, afterNextRender } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { defaultTo, get, isEmpty, isNil } from 'lodash-es';\nimport { filter, firstValueFrom } from 'rxjs';\n\nimport { AXPAuthSettings } from '../../contracts/settings.keys';\n\n//#region ---- Idle lock service ----\n\nconst IDLE_CHECK_INTERVAL_MS = 1_000;\nconst MOUSE_MOVE_THROTTLE_MS = 1_000;\nconst DEFAULT_LOCK_WHEN_IDLE_MINUTES = 15;\nconst SECURITY_MANAGEMENT_MODULE = 'SecurityManagement';\nconst SECURITY_MANAGEMENT_USER_ENTITY = 'User';\n\nconst LOCK_WHEN_IDLE_SETTING_KEYS = [\n AXPAuthSettings.LockWhenIdleEnabled,\n AXPAuthSettings.LockWhenIdleMinutes,\n] as const;\n\n/**\n * Tracks user inactivity and locks the session overlay when idle threshold is exceeded.\n * Requires the Lock When Idle setting to be enabled; unlock uses PIN when configured, otherwise password.\n * Locked state is stored on {@link AXPSessionService.SESSION_KEY} and survives page refresh and browser restart.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPIdleLockService {\n //#region ---- State ----\n\n readonly locked = signal(false);\n\n private readonly idleTimeoutMs = signal(DEFAULT_LOCK_WHEN_IDLE_MINUTES * 60_000);\n private readonly enabled = signal(false);\n\n /** Whether manual or idle lock is available (Lock When Idle setting is enabled). */\n readonly canLock = this.enabled.asReadonly();\n\n private readonly storedPinCode = signal('');\n\n private lastActivityAt = Date.now();\n private lastMouseMoveAt = 0;\n private idleCheckTimerId: ReturnType<typeof setInterval> | null = null;\n private overlayRef: AXOverlayRef<unknown> | null = null;\n private overlayOpening = false;\n private enableTask: Promise<void> = Promise.resolve();\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly entityService = inject(AXPEntityService);\n private readonly overlayService = inject(AXOverlayService);\n private readonly platform = inject(AXPlatform);\n private readonly destroyRef = inject(DestroyRef);\n private readonly injector = inject(Injector);\n\n //#endregion\n\n //#region ---- Constructor ----\n\n constructor() {\n this.sessionService.status$\n .pipe(\n filter(\n (status) =>\n status === AXPSessionStatus.Authenticated ||\n status === AXPSessionStatus.Authorized ||\n status === AXPSessionStatus.SignedOut ||\n status === AXPSessionStatus.Expired,\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe((status) => {\n const isActiveSession =\n status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized;\n\n if (isActiveSession) {\n void this.scheduleEnable();\n return;\n }\n\n void this.handleInactiveSession(status);\n });\n\n afterNextRender(\n () => {\n if (this.sessionService.isLocked()) {\n void this.scheduleEnable();\n }\n },\n { injector: this.injector },\n );\n\n this.settingsService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!LOCK_WHEN_IDLE_SETTING_KEYS.some((key) => event.keys.includes(key))) {\n return;\n }\n\n void this.applyLockWhenIdleSettingChange();\n });\n }\n\n //#endregion\n\n //#region ---- Public Methods ----\n\n hasPinCode(): boolean {\n return !isEmpty(this.storedPinCode());\n }\n\n verifyPin(pin: string): boolean {\n const expected = this.storedPinCode();\n return !isEmpty(expected) && pin === expected;\n }\n\n async verifyPassword(password: string): Promise<boolean> {\n const userId = this.sessionService.user?.id;\n if (isNil(userId) || isEmpty(password)) {\n return false;\n }\n\n try {\n const user = await this.entityService\n .withEntity(SECURITY_MANAGEMENT_MODULE, SECURITY_MANAGEMENT_USER_ENTITY)\n .data<string>()\n .byKey(userId);\n\n return get(user, 'password') === password;\n } catch (error) {\n console.error('Failed to verify password for session unlock', error);\n return false;\n }\n }\n\n unlock(): void {\n this.locked.set(false);\n this.sessionService.setLocked(false);\n this.closeLockOverlay();\n this.lastActivityAt = Date.now();\n }\n\n /** Locks the session overlay when Lock When Idle is enabled. */\n lockScreen(): void {\n this.lock();\n }\n\n async refreshPinState(): Promise<void> {\n const userId = this.sessionService.user?.id;\n if (isNil(userId)) {\n this.storedPinCode.set('');\n return;\n }\n\n try {\n const user = await this.entityService\n .withEntity(SECURITY_MANAGEMENT_MODULE, SECURITY_MANAGEMENT_USER_ENTITY)\n .data<string>()\n .byKey(userId);\n\n const pinCode = defaultTo(get(user, 'pinCode'), '');\n this.storedPinCode.set(pinCode);\n } catch (error) {\n console.error('Failed to load security PIN for idle lock', error);\n this.storedPinCode.set('');\n }\n }\n\n /** Refreshes lock settings and PIN state for menu/commands. */\n async refreshLockState(): Promise<void> {\n await this.refreshConfiguration();\n await this.refreshPinState();\n }\n\n /** Restores the lock overlay when the persisted session is locked. */\n restoreFromPersistedSession(): Promise<void> {\n return this.scheduleEnable();\n }\n\n /** Re-evaluates idle lock after the user sets or changes their security PIN. */\n async notifyPinChanged(): Promise<void> {\n const status = await firstValueFrom(this.sessionService.status$);\n const isActiveSession =\n status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized;\n\n if (isActiveSession) {\n await this.scheduleEnable();\n }\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private scheduleEnable(): Promise<void> {\n this.enableTask = this.enableTask.then(() => this.runEnable());\n return this.enableTask;\n }\n\n private async runEnable(): Promise<void> {\n await this.refreshConfiguration();\n await this.refreshPinState();\n\n if (this.sessionService.isLocked()) {\n this.restoreLockedSession();\n return;\n }\n\n if (!this.enabled()) {\n this.disable(false);\n return;\n }\n\n this.resetUnlockedRuntimeState();\n this.attachActivityListeners();\n this.startIdleCheck();\n }\n\n private restoreLockedSession(): void {\n this.locked.set(true);\n\n if (!this.overlayRef && !this.overlayOpening) {\n void this.openLockOverlay();\n }\n\n if (this.enabled()) {\n this.attachActivityListeners();\n this.startIdleCheck();\n }\n }\n\n private async handleInactiveSession(status: AXPSessionStatus): Promise<void> {\n if (status !== AXPSessionStatus.SignedOut && status !== AXPSessionStatus.Expired) {\n return;\n }\n\n const isLoading = await firstValueFrom(this.sessionService.isLoading$);\n if (isLoading) {\n return;\n }\n\n this.disable(true);\n }\n\n private disable(clearPersistedLock = false): void {\n const preserveLockedSession = this.sessionService.isLocked() && !clearPersistedLock;\n\n this.enabled.set(false);\n\n if (!preserveLockedSession) {\n this.locked.set(false);\n this.closeLockOverlay();\n }\n\n if (clearPersistedLock) {\n this.sessionService.setLocked(false);\n }\n\n this.detachActivityListeners();\n this.stopIdleCheck();\n }\n\n private async refreshConfiguration(): Promise<void> {\n const lockWhenIdleEnabled = await this.settingsService.get<boolean>(AXPAuthSettings.LockWhenIdleEnabled);\n const minutes = await this.settingsService.get<number>(AXPAuthSettings.LockWhenIdleMinutes);\n const resolvedMinutes =\n typeof minutes === 'number' && minutes > 0 ? minutes : DEFAULT_LOCK_WHEN_IDLE_MINUTES;\n\n this.enabled.set(lockWhenIdleEnabled === true);\n this.idleTimeoutMs.set(resolvedMinutes * 60_000);\n }\n\n private async applyLockWhenIdleSettingChange(): Promise<void> {\n const status = await firstValueFrom(this.sessionService.status$);\n const isActiveSession =\n status === AXPSessionStatus.Authenticated || status === AXPSessionStatus.Authorized;\n\n if (!isActiveSession) {\n return;\n }\n\n await this.scheduleEnable();\n }\n\n private recordActivity(): void {\n if (!this.enabled() || this.locked()) {\n return;\n }\n\n this.lastActivityAt = Date.now();\n }\n\n private lock(): void {\n if (!this.enabled() || this.locked()) {\n return;\n }\n\n this.locked.set(true);\n this.sessionService.setLocked(true);\n void this.openLockOverlay();\n }\n\n private openLockOverlay(): void {\n if (this.overlayRef || this.overlayOpening || !this.shouldShowLockOverlay()) {\n return;\n }\n\n afterNextRender(\n () => {\n void this.createLockOverlay();\n },\n { injector: this.injector },\n );\n }\n\n private shouldShowLockOverlay(): boolean {\n return this.locked() || this.sessionService.isLocked();\n }\n\n private async createLockOverlay(): Promise<void> {\n if (this.overlayRef || this.overlayOpening || !this.shouldShowLockOverlay()) {\n return;\n }\n\n this.overlayOpening = true;\n this.locked.set(true);\n\n try {\n const { AXMSessionLockOverlayComponent: overlayComponent } = await import(\n '../../features/session-lock/session-lock-overlay.component'\n );\n\n const panelClasses = ['axm-session-lock-overlay-shell'];\n if (this.platform.isDark()) {\n panelClasses.push('ax-dark');\n }\n\n const ref = await this.overlayService.create(overlayComponent, {\n centered: false,\n width: '100%',\n panelClass: panelClasses,\n backdrop: {\n enabled: false,\n background: false,\n closeOnClick: false,\n },\n onDispose: () => {\n this.overlayRef = null;\n },\n });\n\n if (!this.shouldShowLockOverlay()) {\n ref.dispose();\n return;\n }\n\n this.locked.set(true);\n this.overlayRef = ref;\n } catch (error) {\n console.error('Failed to open session lock overlay', error);\n\n if (this.shouldShowLockOverlay()) {\n window.setTimeout(() => this.openLockOverlay(), 250);\n }\n } finally {\n this.overlayOpening = false;\n }\n }\n\n private closeLockOverlay(): void {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n\n private startIdleCheck(): void {\n this.stopIdleCheck();\n this.idleCheckTimerId = setInterval(() => {\n if (!this.enabled() || this.locked()) {\n return;\n }\n\n if (Date.now() - this.lastActivityAt >= this.idleTimeoutMs()) {\n this.lock();\n }\n }, IDLE_CHECK_INTERVAL_MS);\n }\n\n private stopIdleCheck(): void {\n if (!isNil(this.idleCheckTimerId)) {\n clearInterval(this.idleCheckTimerId);\n this.idleCheckTimerId = null;\n }\n }\n\n private resetUnlockedRuntimeState(): void {\n this.locked.set(false);\n this.closeLockOverlay();\n this.lastActivityAt = Date.now();\n }\n\n //#region ---- Activity listeners ----\n\n private readonly onActivity = (): void => {\n this.recordActivity();\n };\n\n private readonly onMouseMove = (): void => {\n const now = Date.now();\n if (now - this.lastMouseMoveAt < MOUSE_MOVE_THROTTLE_MS) {\n return;\n }\n\n this.lastMouseMoveAt = now;\n this.recordActivity();\n };\n\n private attachActivityListeners(): void {\n this.detachActivityListeners();\n const events: Array<keyof DocumentEventMap> = ['mousedown', 'keydown', 'wheel', 'touchstart', 'scroll', 'click'];\n events.forEach((eventName) => document.addEventListener(eventName, this.onActivity, true));\n document.addEventListener('mousemove', this.onMouseMove, true);\n }\n\n private detachActivityListeners(): void {\n const events: Array<keyof DocumentEventMap> = ['mousedown', 'keydown', 'wheel', 'touchstart', 'scroll', 'click'];\n events.forEach((eventName) => document.removeEventListener(eventName, this.onActivity, true));\n document.removeEventListener('mousemove', this.onMouseMove, true);\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Profile page component keys ----\n\n/** Full-tab activity heatmap on the profile Activity group. */\nexport const PROFILE_ACTIVITY_CHART_COMPONENT_KEY = 'auth.profile-activity-chart';\n\n/** Danger-zone block for the delete-account profile section. */\nexport const PROFILE_DELETE_ACCOUNT_DANGER_ZONE_COMPONENT_KEY = 'auth.profile-delete-account-danger-zone';\n\n//#endregion\n","import { AXPExecuteCommand, AXPDistributedEventListenerProvider } from '@acorex/platform/core';\nimport { AXMAuthCommandKeys } from '../../../contracts/commands.keys';\nimport {\n AXPUserProfileGroupsPayload,\n AXPUserProfileSectionsPayload,\n PROFILE_PAGE_GROUPS_HOOK,\n PROFILE_PAGE_SECTIONS_HOOK,\n} from './profile-page.types';\nimport {\n PROFILE_ACTIVITY_CHART_COMPONENT_KEY,\n PROFILE_DELETE_ACCOUNT_DANGER_ZONE_COMPONENT_KEY,\n} from './profile-page.component-keys';\n\n//#region ---- Helpers ----\n\nconst comingSoon = (messageKey: string): AXPExecuteCommand => ({\n name: AXMAuthCommandKeys.Profile.ComingSoon,\n options: { messageKey },\n});\n\n//#endregion\n\n//#region ---- Core profile groups ----\n\n/** Registers built-in profile page tab groups. */\nexport const CoreProfileGroupsHookProvider: AXPDistributedEventListenerProvider<\n AXPUserProfileGroupsPayload,\n AXPUserProfileGroupsPayload\n> = {\n key: PROFILE_PAGE_GROUPS_HOOK,\n priority: 0,\n execute: (payload) => ({\n ...payload,\n groups: [\n ...payload.groups,\n {\n id: 'account',\n title: '@auth:profile-page.groups.account.title',\n icon: 'far fa-user',\n priority: 10,\n },\n {\n id: 'security',\n title: '@auth:profile-page.groups.security.title',\n icon: 'far fa-shield-halved',\n priority: 20,\n },\n {\n id: 'requests',\n title: '@auth:profile-page.groups.requests.title',\n icon: 'far fa-inbox',\n priority: 30,\n },\n {\n id: 'activity',\n title: '@auth:profile-page.groups.activity.title',\n icon: 'far fa-clock-rotate-left',\n priority: 40,\n content: {\n mode: 'component',\n componentKey: PROFILE_ACTIVITY_CHART_COMPONENT_KEY,\n },\n },\n ],\n }),\n};\n\n//#endregion\n\n//#region ---- Core profile sections ----\n\n/** Registers built-in profile hub section cards and actions. */\nexport const CoreProfileSectionsHookProvider: AXPDistributedEventListenerProvider<\n AXPUserProfileSectionsPayload,\n AXPUserProfileSectionsPayload\n> = {\n key: PROFILE_PAGE_SECTIONS_HOOK,\n priority: 0,\n execute: (payload) => ({\n ...payload,\n sections: [\n ...payload.sections,\n {\n id: 'basic-info',\n groupId: 'account',\n title: '@auth:profile-page.sections.basic-info.title',\n description: '@auth:profile-page.sections.basic-info.description',\n icon: 'far fa-address-card',\n priority: 10,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'edit-basic-info',\n title: '@auth:profile-page.sections.basic-info.actions.edit',\n icon: 'far fa-pen',\n command: { name: AXMAuthCommandKeys.Profile.EditAccountInfo },\n },\n ],\n },\n {\n id: 'profile-photo',\n groupId: 'account',\n title: '@auth:profile-page.sections.profile-photo.title',\n description: '@auth:profile-page.sections.profile-photo.description',\n icon: 'far fa-camera',\n priority: 15,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'change-profile-photo',\n title: '@auth:profile-page.sections.profile-photo.actions.manage',\n icon: 'far fa-pen',\n command: { name: AXMAuthCommandKeys.Profile.ChangePhoto },\n },\n ],\n },\n {\n id: 'change-password',\n groupId: 'security',\n title: '@auth:profile-page.sections.change-password.title',\n description: '@auth:profile-page.sections.change-password.description',\n icon: 'far fa-key',\n priority: 10,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'change-password',\n title: '@auth:profile-page.sections.change-password.actions.manage',\n icon: 'far fa-pen',\n command: { name: AXMAuthCommandKeys.Security.ChangePassword },\n },\n ],\n },\n {\n id: 'security-pin',\n groupId: 'security',\n title: '@auth:profile-page.sections.security-pin.title',\n description: '@auth:profile-page.sections.security-pin.description',\n icon: 'far fa-lock',\n priority: 15,\n layout: { colSpan: 6 },\n },\n {\n id: 'active-sessions',\n groupId: 'security',\n title: '@auth:profile-page.sections.active-sessions.title',\n description: '@auth:profile-page.sections.active-sessions.description',\n icon: 'far fa-laptop-mobile',\n priority: 20,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'active-sessions',\n title: '@auth:profile-page.sections.active-sessions.actions.manage',\n icon: 'far fa-arrow-right',\n command: { name: AXMAuthCommandKeys.Session.OpenSessions },\n },\n ],\n },\n {\n id: 'two-factor',\n groupId: 'security',\n title: '@auth:profile-page.sections.two-factor.title',\n description: '@auth:profile-page.sections.two-factor.description',\n icon: 'far fa-shield-keyhole',\n priority: 30,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'manage-two-factor',\n title: '@auth:profile-page.sections.two-factor.actions.manage',\n icon: 'far fa-pen',\n command: comingSoon('@auth:profile-page.commands.manage-two-factor.coming-soon'),\n },\n ],\n },\n {\n id: 'login-history',\n groupId: 'security',\n title: '@auth:profile-page.sections.login-history.title',\n description: '@auth:profile-page.sections.login-history.description',\n icon: 'far fa-right-to-bracket',\n priority: 40,\n layout: { colSpan: 6 },\n actions: [\n {\n name: 'view-login-history',\n title: '@auth:profile-page.sections.login-history.actions.manage',\n icon: 'far fa-arrow-right',\n command: { name: AXMAuthCommandKeys.Security.ViewLoginHistory },\n },\n ],\n },\n {\n id: 'delete-account',\n groupId: 'account',\n priority: 100,\n content: {\n mode: 'component',\n componentKey: PROFILE_DELETE_ACCOUNT_DANGER_ZONE_COMPONENT_KEY,\n },\n layout: { colSpan: 12 },\n },\n ],\n }),\n};\n\n//#endregion\n","import { inject } from '@angular/core';\nimport { AXPDistributedEventListenerProvider } from '@acorex/platform/core';\n\nimport { AXMAuthCommandKeys } from '../../../contracts/commands.keys';\nimport { AXPIdleLockService } from '../../../shared/services/idle-lock.service';\nimport { AXPUserProfileSectionsPayload, PROFILE_PAGE_SECTIONS_HOOK } from './profile-page.types';\n\n//#region ---- Security PIN section hook ----\n\nconst SECURITY_PIN_SECTION_ID = 'security-pin';\n\n/** Enriches the security PIN section with change/remove actions when a PIN exists. */\nexport const SecurityPinSectionHookProvider: AXPDistributedEventListenerProvider<\n AXPUserProfileSectionsPayload,\n AXPUserProfileSectionsPayload\n> = {\n key: PROFILE_PAGE_SECTIONS_HOOK,\n priority: 10,\n execute: async (payload) => {\n const idleLockService = inject(AXPIdleLockService);\n await idleLockService.refreshPinState();\n\n const hasPinCode = idleLockService.hasPinCode();\n\n return {\n ...payload,\n sections: payload.sections.map((section) => {\n if (section.id !== SECURITY_PIN_SECTION_ID) {\n return section;\n }\n\n return {\n ...section,\n actions: [\n {\n name: 'set-pin-code',\n title: hasPinCode\n ? '@auth:profile-page.sections.security-pin.actions.change'\n : '@auth:profile-page.sections.security-pin.actions.manage',\n icon: 'far fa-pen',\n default: true,\n command: { name: AXMAuthCommandKeys.Security.SetPinCode },\n },\n ...(hasPinCode\n ? [\n {\n name: 'remove-pin-code',\n title: '@auth:profile-page.sections.security-pin.actions.remove',\n icon: 'far fa-trash-can',\n color: 'danger' as const,\n command: { name: AXMAuthCommandKeys.Security.RemovePinCode },\n },\n ]\n : []),\n ],\n };\n }),\n };\n },\n};\n\n//#endregion\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { Injectable, inject } from '@angular/core';\nimport { isNil } from 'lodash-es';\n\n//#region ---- Password change tracking service ----\n\nconst STORAGE_KEY_PREFIX = 'axp-auth:last-password-change-at:';\n\n/** Persists the last self-service password change timestamp per user (client-side). */\n@Injectable({ providedIn: 'root' })\nexport class AXPAuthPasswordChangeTrackingService {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n getLastChangedAt(userId?: string): Date | undefined {\n const id = userId ?? this.sessionService.user?.id;\n if (isNil(id)) {\n return undefined;\n }\n\n const raw = localStorage.getItem(this.buildStorageKey(id));\n if (!raw) {\n return undefined;\n }\n\n const parsed = new Date(raw);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n\n recordChange(userId?: string, changedAt: Date = new Date()): void {\n const id = userId ?? this.sessionService.user?.id;\n if (isNil(id)) {\n return;\n }\n\n localStorage.setItem(this.buildStorageKey(id), changedAt.toISOString());\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private buildStorageKey(userId: string): string {\n return `${STORAGE_KEY_PREFIX}${userId}`;\n }\n\n //#endregion\n}\n\n//#endregion\n","import {\n AXMSecurityManagementDeviceSessionsEntityModel,\n RootConfig as SecurityManagementRootConfig,\n} from '@acorex/modules/security-management';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { defaultTo, isEmpty, isNil, orderBy } from 'lodash-es';\n\nimport { AXPAuthPasswordChangeTrackingService } from '../../../shared/services/password-change-tracking.service';\nimport { AXPUserProfileSectionInsight } from './profile-page.types';\n\n//#region ---- Section ids ----\n\nconst CHANGE_PASSWORD_SECTION_ID = 'change-password';\nconst ACTIVE_SESSIONS_SECTION_ID = 'active-sessions';\nconst LOGIN_HISTORY_SECTION_ID = 'login-history';\n\n//#endregion\n\n//#region ---- Profile page security insights service ----\n\n/** Loads contextual security insights for profile section cards. */\n@Injectable({ providedIn: 'root' })\nexport class AXPUserProfileSecurityInsightsService {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translateService = inject(AXTranslationService);\n private readonly passwordChangeTrackingService = inject(AXPAuthPasswordChangeTrackingService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n async loadBySectionId(): Promise<Record<string, AXPUserProfileSectionInsight[]>> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n return {};\n }\n\n const sessions = await this.loadUserSessions(userId);\n\n const insightsBySectionId: Record<string, AXPUserProfileSectionInsight[]> = {};\n\n const passwordInsights = this.buildPasswordInsights(userId);\n if (!isEmpty(passwordInsights)) {\n insightsBySectionId[CHANGE_PASSWORD_SECTION_ID] = passwordInsights;\n }\n\n const activeSessionInsights = await this.buildActiveSessionInsights(sessions);\n if (!isEmpty(activeSessionInsights)) {\n insightsBySectionId[ACTIVE_SESSIONS_SECTION_ID] = activeSessionInsights;\n }\n\n const loginHistoryInsights = this.buildLoginHistoryInsights(sessions);\n if (!isEmpty(loginHistoryInsights)) {\n insightsBySectionId[LOGIN_HISTORY_SECTION_ID] = loginHistoryInsights;\n }\n\n return insightsBySectionId;\n }\n\n //#endregion\n\n //#region ---- Insight builders ----\n\n private buildPasswordInsights(userId: string): AXPUserProfileSectionInsight[] {\n const lastChangedAt = this.passwordChangeTrackingService.getLastChangedAt(userId);\n if (isNil(lastChangedAt)) {\n return [];\n }\n\n return [\n {\n id: 'last-password-change',\n icon: 'fa-light fa-fw fa-clock',\n date: lastChangedAt,\n datePrefix: '@auth:profile-page.sections.change-password.insights.last-changed',\n },\n ];\n }\n\n private async buildActiveSessionInsights(\n sessions: AXMSecurityManagementDeviceSessionsEntityModel[],\n ): Promise<AXPUserProfileSectionInsight[]> {\n const activeSessions = sessions.filter((session) => String(session.status).toLowerCase() === 'active');\n const currentSession =\n activeSessions.find((session) => session.isActiveSession) ??\n orderBy(\n activeSessions,\n [(session) => this.parseValidDate(session.lastLoginDate)?.getTime() ?? 0],\n ['desc'],\n )[0];\n\n if (isNil(currentSession)) {\n return [];\n }\n\n const deviceSummary = this.formatSessionSummary(currentSession);\n if (isEmpty(deviceSummary)) {\n return [];\n }\n\n const otherActiveCount = activeSessions.filter((session) => session.id !== currentSession.id).length;\n const insights: AXPUserProfileSectionInsight[] = [\n {\n id: 'current-session',\n icon: 'fa-light fa-fw fa-laptop',\n text: deviceSummary,\n },\n ];\n\n if (otherActiveCount > 0) {\n insights.push({\n id: 'other-sessions',\n icon: 'fa-light fa-fw fa-mobile-screen',\n text: await this.translateService.translateAsync(\n '@auth:profile-page.sections.active-sessions.insights.other-devices-value',\n { params: { count: otherActiveCount } },\n ),\n });\n }\n\n return insights;\n }\n\n private buildLoginHistoryInsights(\n sessions: AXMSecurityManagementDeviceSessionsEntityModel[],\n ): AXPUserProfileSectionInsight[] {\n const latestSession = orderBy(\n sessions,\n [(session) => this.parseValidDate(session.lastLoginDate)?.getTime() ?? 0],\n ['desc'],\n )[0];\n\n if (isNil(latestSession)) {\n return [];\n }\n\n const insights: AXPUserProfileSectionInsight[] = [];\n const lastLoginDate = this.parseValidDate(latestSession.lastLoginDate);\n\n if (lastLoginDate) {\n insights.push({\n id: 'last-login',\n icon: 'fa-light fa-fw fa-clock-rotate-left',\n date: lastLoginDate,\n datePrefix: '@auth:profile-page.sections.login-history.insights.last-sign-in',\n });\n }\n\n const location = this.formatLoginLocation(latestSession);\n if (!isEmpty(location)) {\n insights.push({\n id: 'last-login-location',\n icon: 'fa-light fa-fw fa-location-dot',\n text: location,\n });\n }\n\n return insights;\n }\n\n //#endregion\n\n //#region ---- Data loading ----\n\n private async loadUserSessions(userId: string): Promise<AXMSecurityManagementDeviceSessionsEntityModel[]> {\n const response = await this.entityService\n .withEntity(\n SecurityManagementRootConfig.module.name,\n SecurityManagementRootConfig.entities.deviceSessions.name,\n )\n .data<string, AXMSecurityManagementDeviceSessionsEntityModel>()\n .query({ skip: 0, take: 1000 });\n\n return (response.items ?? []).filter((item) => item.userId === userId);\n }\n\n //#endregion\n\n //#region ---- Formatting ----\n\n private parseValidDate(value: unknown): Date | undefined {\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? undefined : value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const parsed = new Date(value);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n\n return undefined;\n }\n\n private formatSessionSummary(session: AXMSecurityManagementDeviceSessionsEntityModel): string {\n const parts = [session.deviceName, session.browser, session.location]\n .map((part) => defaultTo(part, '').trim())\n .filter(Boolean);\n\n return parts.join(' · ');\n }\n\n private formatLoginLocation(session: AXMSecurityManagementDeviceSessionsEntityModel): string {\n const parts = [session.location, session.ipAddress]\n .map((part) => defaultTo(part, '').trim())\n .filter(Boolean);\n\n return parts.join(' · ');\n }\n\n //#endregion\n}\n\n//#endregion\n","import { inject } from '@angular/core';\nimport { AXPDistributedEventListenerProvider } from '@acorex/platform/core';\nimport { isEmpty } from 'lodash-es';\n\nimport { AXPUserProfileSecurityInsightsService } from './profile-page-security-insights.service';\nimport { AXPUserProfileSectionsPayload, PROFILE_PAGE_SECTIONS_HOOK } from './profile-page.types';\n\n//#region ---- Security sections insights hook ----\n\n/** Adds live security context (sessions, login, password) to profile section cards. */\nexport const SecuritySectionsInsightsHookProvider: AXPDistributedEventListenerProvider<\n AXPUserProfileSectionsPayload,\n AXPUserProfileSectionsPayload\n> = {\n key: PROFILE_PAGE_SECTIONS_HOOK,\n priority: 15,\n execute: async (payload) => {\n const insightsService = inject(AXPUserProfileSecurityInsightsService);\n const insightsBySectionId = await insightsService.loadBySectionId();\n\n return {\n ...payload,\n sections: payload.sections.map((section) => {\n const insights = insightsBySectionId[section.id];\n if (isEmpty(insights)) {\n return section;\n }\n\n return {\n ...section,\n insights,\n };\n }),\n };\n },\n};\n\n//#endregion\n","import { AXPActionMenuItem, AXPDistributedEventListenerProvider } from '@acorex/platform/core';\nimport { AXMAuthCommandKeys } from '../../../contracts/commands.keys';\nimport {\n AXPProfileSlotMenuItemsPayload,\n PROFILE_SLOT_MENU_ITEMS_HOOK,\n} from './profile-slot-menu.types';\n\n//#region ---- Profile slot logout menu hook ----\n\n/** Registers the sign-out entry in the profile dropdown. */\nexport const ProfileSlotLogoutMenuHookProvider: AXPDistributedEventListenerProvider<\n AXPProfileSlotMenuItemsPayload,\n AXPProfileSlotMenuItemsPayload\n> = {\n key: PROFILE_SLOT_MENU_ITEMS_HOOK,\n priority: 100,\n execute: (payload) => ({\n ...payload,\n items: [\n ...payload.items,\n {\n name: 'logout',\n title: '@auth:profile.logout',\n icon: 'fa-light fa-arrow-right-from-bracket',\n color: 'danger',\n shortcuts: [{ keys: 'ctrl+shift+q', allowInEditableFields: true }],\n command: { name: AXMAuthCommandKeys.Session.Signout },\n } satisfies AXPActionMenuItem,\n ],\n }),\n};\n\n//#endregion\n","import { inject } from '@angular/core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPActionMenuItem, AXPDistributedEventListenerProvider } from '@acorex/platform/core';\nimport { AXPProfileSlotMenuItemsPayload, PROFILE_SLOT_MENU_ITEMS_HOOK } from './profile-slot-menu.types';\n\n//#region ---- Profile slot my profile menu hook ----\n\n/** Registers the My Profile entry in the profile dropdown. */\nexport const ProfileSlotMyProfileMenuHookProvider: AXPDistributedEventListenerProvider<\n AXPProfileSlotMenuItemsPayload,\n AXPProfileSlotMenuItemsPayload\n> = {\n key: PROFILE_SLOT_MENU_ITEMS_HOOK,\n priority: -10,\n execute: (payload) => {\n const sessionService = inject(AXPSessionService);\n const appName = sessionService.application?.name;\n\n if (!appName) {\n return payload;\n }\n\n return {\n ...payload,\n items: [\n ...payload.items,\n {\n name: 'my-profile',\n title: '@auth:profile-page.profile-slot.my-profile',\n icon: 'fa-light fa-user',\n shortcuts: [{ keys: 'ctrl+shift+p', allowInEditableFields: true }],\n command: {\n name: 'navigate',\n options: {\n path: `/${appName}/profile/account`,\n },\n },\n } satisfies AXPActionMenuItem,\n ],\n };\n },\n};\n\n//#endregion\n","import { inject } from '@angular/core';\nimport { AXPDistributedEventListenerProvider } from '@acorex/platform/core';\nimport { AXMAuthCommandKeys } from '../../../contracts/commands.keys';\nimport { AXPIdleLockService } from '../../../shared/services/idle-lock.service';\nimport {\n AXPProfileSlotMenuItem,\n AXPProfileSlotMenuItemsPayload,\n PROFILE_SLOT_MENU_ITEMS_HOOK,\n} from './profile-slot-menu.types';\n\n//#region ---- Profile slot lock menu hook ----\n\n/** Registers the manual lock entry when Lock When Idle is enabled. Profile menu reloads on {@link AXPAuthSettings.LockWhenIdleEnabled} changes. */\nexport const ProfileSlotLockMenuHookProvider: AXPDistributedEventListenerProvider<\n AXPProfileSlotMenuItemsPayload,\n AXPProfileSlotMenuItemsPayload\n> = {\n key: PROFILE_SLOT_MENU_ITEMS_HOOK,\n priority: 50,\n execute: async (payload) => {\n const idleLockService = inject(AXPIdleLockService);\n await idleLockService.refreshLockState();\n\n if (!idleLockService.canLock()) {\n return payload;\n }\n\n return {\n ...payload,\n items: [\n ...payload.items,\n {\n name: 'lock-screen',\n title: '@auth:profile.lock',\n icon: 'fa-light fa-lock',\n break: { before: true },\n shortcuts: [{ keys: 'ctrl+alt+l', allowInEditableFields: true }],\n command: { name: AXMAuthCommandKeys.Session.LockScreen },\n } satisfies AXPProfileSlotMenuItem,\n ],\n };\n },\n};\n\n//#endregion\n","import { AXP_MENU_PROVIDER, AXP_PROTECTED_ROUTE_GUARDS, AXP_SETTING_DEFINITION_PROVIDER, AXPCommonModule } from '@acorex/platform/common';\nimport { AXMAuthValidationRulesModule } from './validations/auth-validation-rules.module';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex/platform/layout/components';\nimport { AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, AXP_DATASOURCE_DEFINITION_PROVIDER, provideLazyProvider } from '@acorex/platform/core';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { CommonModule } from '@angular/common';\nimport { inject, NgModule, provideAppInitializer } from '@angular/core';\nimport { RouterModule, Routes, ROUTES } from '@angular/router';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { filter, firstValueFrom } from 'rxjs';\nimport { AXMAuthCommandKeys } from './contracts/commands.keys';\nimport { routes } from './auth.routes';\nimport { AXMAuthErrorHandler } from './error-handler';\nimport { AXPAccountModule } from './pages/account/account.module';\nimport { AXPIdleLockService } from './shared/services/idle-lock.service';\nimport {\n CoreProfileGroupsHookProvider,\n CoreProfileSectionsHookProvider,\n} from './pages/account/profile-page/core-profile-sections.hook';\nimport { SecurityPinSectionHookProvider } from './pages/account/profile-page/security-pin-section.hook';\nimport { SecuritySectionsInsightsHookProvider } from './pages/account/profile-page/security-sections-insights.hook';\nimport { ProfileSlotLogoutMenuHookProvider } from './pages/account/profile/profile-slot-logout-menu.hook';\nimport { ProfileSlotMyProfileMenuHookProvider } from './pages/account/profile/profile-slot-my-profile-menu.hook';\nimport { ProfileSlotLockMenuHookProvider } from './pages/account/profile/profile-slot-lock-menu.hook';\n\nfunction profileRoutesFactory(): Routes {\n return [\n {\n path: ':app/profile',\n canActivate: [...AXP_PROTECTED_ROUTE_GUARDS],\n data: { tab: true },\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n redirectTo: 'account',\n pathMatch: 'full',\n },\n {\n path: ':groupId',\n loadComponent: () =>\n import('./pages/account/profile-page/profile-page.component').then((c) => c.AXMUserProfilePageComponent),\n data: { reuse: true },\n },\n ],\n },\n ];\n}\n\n@NgModule({\n imports: [\n CommonModule,\n AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),\n RouterModule.forChild(routes),\n AXPAccountModule,\n AXMAuthValidationRulesModule,\n ],\n providers: [\n provideAppInitializer(() => {\n const sessionService = inject(AXPSessionService);\n const idleLockService = inject(AXPIdleLockService);\n\n return (async () => {\n await firstValueFrom(sessionService.isLoading$.pipe(filter((loading) => !loading)));\n\n if (sessionService.isLocked()) {\n await idleLockService.restoreFromPersistedSession();\n }\n })();\n }),\n AXMAuthErrorHandler,\n provideLazyProvider(\n AXP_MENU_PROVIDER,\n () => import('./menu.provider').then(m => m.AXMSecurityManagementModuleMenuProvider)\n ),\n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./settings.provider').then(m => m.AXMSettingProvider)\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./pages/account/profile-page/profile-page-component.provider').then(\n (module) => module.AXMProfilePageComponentProvider,\n ),\n ),\n provideLazyProvider(\n AXP_DATASOURCE_DEFINITION_PROVIDER,\n () => import('./datasource.provider').then((m) => m.AXMAuthDataSourceProvider),\n ),\n {\n provide: ROUTES,\n multi: true,\n useFactory: profileRoutesFactory,\n },\n provideCommandSetups([\n {\n key: AXMAuthCommandKeys.Profile.Show,\n command: () => import('./commands/show-profile-command').then((c) => c.AXPShowProfileCommand),\n },\n {\n key: AXMAuthCommandKeys.Session.Signout,\n command: () => import('./commands/signout-command').then((c) => c.AXPSignoutCommand),\n },\n {\n key: AXMAuthCommandKeys.Session.OpenSessions,\n command: () => import('./commands/open-sessions.command').then((c) => c.AXPOpenSessionsCommand),\n },\n {\n key: AXMAuthCommandKeys.Session.LockScreen,\n command: () => import('./commands/lock-screen.command').then((c) => c.AXPLockScreenCommand),\n },\n {\n key: AXMAuthCommandKeys.Profile.ChangePhoto,\n command: () => import('./commands/change-photo.command').then((c) => c.AXPChangePhotoCommand),\n },\n {\n key: AXMAuthCommandKeys.Profile.EditAccountInfo,\n command: () => import('./commands/edit-account-info.command').then((c) => c.AXPEditAccountInfoCommand),\n },\n {\n key: AXMAuthCommandKeys.Security.ChangePassword,\n command: () => import('./commands/change-password.command').then((c) => c.AXPChangePasswordCommand),\n },\n {\n key: AXMAuthCommandKeys.Security.SetPinCode,\n command: () => import('./commands/set-pin-code.command').then((c) => c.AXPSetPinCodeCommand),\n },\n {\n key: AXMAuthCommandKeys.Security.RemovePinCode,\n command: () => import('./commands/remove-pin-code.command').then((c) => c.AXPRemovePinCodeCommand),\n },\n {\n key: AXMAuthCommandKeys.Security.ViewLoginHistory,\n command: () => import('./commands/view-login-history.command').then((c) => c.AXPViewLoginHistoryCommand),\n },\n {\n key: AXMAuthCommandKeys.Security.EditSignature,\n command: () => import('./commands/edit-signature.command').then((c) => c.AXPEditSignatureCommand),\n },\n {\n key: AXMAuthCommandKeys.Profile.ComingSoon,\n command: () => import('./commands/profile-coming-soon.command').then((c) => c.AXPProfileComingSoonCommand),\n },\n ]),\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: ProfileSlotLogoutMenuHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: ProfileSlotMyProfileMenuHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: ProfileSlotLockMenuHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: CoreProfileGroupsHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: CoreProfileSectionsHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: SecurityPinSectionHookProvider,\n multi: true,\n },\n {\n provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER,\n useValue: SecuritySectionsInsightsHookProvider,\n multi: true,\n },\n ],\n})\nexport class AXMAuthModule {\n constructor() {\n inject(AXPIdleLockService);\n }\n}\n","import {\n AXMSecurityManagementDeviceSessionsEntityModel,\n RootConfig as SecurityManagementRootConfig,\n} from '@acorex/modules/security-management';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { orderBy } from 'lodash-es';\n\n//#region ---- Login history entry ----\n\nexport interface AXPLoginHistoryEntry {\n id: string;\n device: string;\n location: string;\n ipAddress: string;\n browser: string;\n status: string;\n lastLoginDate: Date | string;\n}\n\n//#endregion\n\n//#region ---- Login history service ----\n\n/** Loads sign-in records for the current user from device session storage. */\n@Injectable({ providedIn: 'root' })\nexport class AXPLoginHistoryService {\n //#region ---- Services & Dependencies ----\n\n private readonly sessionService = inject(AXPSessionService);\n private readonly entityService = inject(AXPEntityService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n async getEntries(): Promise<AXPLoginHistoryEntry[]> {\n const userId = this.sessionService.user?.id;\n if (!userId) {\n return [];\n }\n\n const response = await this.entityService\n .withEntity(\n SecurityManagementRootConfig.module.name,\n SecurityManagementRootConfig.entities.deviceSessions.name,\n )\n .data<string, AXMSecurityManagementDeviceSessionsEntityModel>()\n .query({ skip: 0, take: 1000 });\n\n const items = response.items ?? [];\n\n return orderBy(\n items\n .filter((item) => item.userId === userId)\n .map((item) => ({\n id: item.id,\n device: item.deviceName ?? item.operatingSystem ?? '—',\n location: item.location ?? '—',\n ipAddress: item.ipAddress ?? '—',\n browser: item.browser ?? '—',\n status: String(item.status ?? 'unknown').toLowerCase(),\n lastLoginDate: item.lastLoginDate,\n })),\n [(entry) => new Date(entry.lastLoginDate).getTime()],\n ['desc'],\n );\n }\n\n //#endregion\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["SecurityManagementRootConfig","RootConfig","i1","i2","i6","i7","i3","i4","i5","i8","i9"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEO,MAAM,kBAAkB,GAAG;AAChC,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,WAAW,EAAE,mBAAmB;AAChC,QAAA,eAAe,EAAE,wBAAwB;AACzC,QAAA,UAAU,EAAE,0BAA0B;AACvC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,YAAY,EAAE,oBAAoB;AAClC,QAAA,UAAU,EAAE,kBAAkB;AAC/B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,cAAc,EAAE,sBAAsB;AACtC,QAAA,UAAU,EAAE,mBAAmB;AAC/B,QAAA,aAAa,EAAE,sBAAsB;AACrC,QAAA,gBAAgB,EAAE,yBAAyB;AAC3C,QAAA,aAAa,EAAE,qBAAqB;AACrC,KAAA;;AAGH;;ACvBA;AAEA;AACO,MAAM,qBAAqB,GAAG;AACnC,IAAA,YAAY,EAAE,oBAAoB;;AAGpC;;ACPO,MAAM,eAAe,GAAG;;ACAxB,MAAM,kBAAkB,GAAG;AAChC,IAAA,IAAI,EAAE;AACJ,QAAA,UAAU,EAAE,4BAA4B;;AAEzC,KAAA;;;ICJS;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,eAAA,CAAA,GAAA,2CAA2D;AAC3D,IAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,gDAAqE;AACrE,IAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,gDAAqE;AACrE,IAAA,eAAA,CAAA,kBAAA,CAAA,GAAA,8CAAiE;AACjE,IAAA,eAAA,CAAA,iBAAA,CAAA,GAAA,6CAA+D;AAC/D,IAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,oDAA0E;AAC1E,IAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,oDAA0E;AAC1E,IAAA,eAAA,CAAA,4BAAA,CAAA,GAAA,2DAAwF;AAC1F,CAAC,EATW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;AAWpB,MAAM,wCAAwC,GAAG;AACtD,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,SAAS,EAAE,WAAW;;;ACfxB;AAQA;;ACNA;AAEO,MAAM,wBAAwB,GAAG;AACjC,MAAM,0BAA0B,GAAG;AACnC,MAAM,6BAA6B,GAAG;AAiI7C;AAEA;AAEA;AACM,SAAU,gCAAgC,CAC9C,OAA8B,EAAA;AAE9B,IAAA,IAAI,OAAO,CAAC,OAAO,EAAE;QACnB,OAAO,OAAO,CAAC,OAAO;IACxB;AAEA,IAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE;AACzD;AAEA;AACM,SAAU,2BAA2B,CAAC,KAA0B,EAAA;AACpE,IAAA,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW;AAC5C;AAEA;AACM,SAAU,gCAAgC,CAC9C,OAAsC,EAAA;AAEtC,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;AAC7D;AAEA;AACM,SAAU,sCAAsC,CACpD,OAAsC,EAAA;AAEtC,IAAA,MAAM,cAAc,GAAG,gCAAgC,CAAC,OAAO,CAAC;AAChE,IAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAC1B,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC;AAC7E;AAEA;;AC1KA;AAEA;MAEa,6BAA6B,CAAA;AAD1C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAkClE,IAAA;;;IA5BC,MAAM,iBAAiB,CAAC,KAA0D,EAAA;QAChF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE;AACpD,QAAA,MAAM,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE;QAChC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YAC7B;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;AAC7B,YAAA,GAAG,OAAO;AACV,YAAA,IAAI,EAAE;gBACJ,GAAG,OAAO,CAAC,IAAI;AACf,gBAAA,GAAG,KAAK;AACT,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAClC;IAEA,MAAM,aAAa,CAAC,MAAe,EAAA;QACjC,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QACjD,IAAI,CAAC,EAAE,EAAE;YACP;QACF;QAEA,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC;IAClD;8GAnCW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cADhB,MAAM,EAAA,CAAA,CAAA;;2FACnB,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACPlC;AAqCA;;ACrCA;AAYA;AAEO,MAAM,gCAAgC,GAAG;AAChD,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;AAE1C;AAEA;AAEM,SAAU,mCAAmC,CACjD,WAAW,GAAG,gCAAgC,EAC9C,aAAa,GAAG,IAAI,IAAI,EAAE,EAAA;AAE1B,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC;IACrC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1B,IAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AACjC,IAAA,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAEzD,IAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;AACrC,IAAA,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE9B,IAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;AAC1C;AAEA;AAEA;AAEA,SAAS,kBAAkB,CAAC,SAAe,EAAE,OAAa,EAAA;AACxD,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;AACjC,IAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;IAC7B,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,OAAO,KAAK,IAAI,GAAG,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE;AACnG;AAEA,SAAS,SAAS,CAAC,IAAU,EAAA;IAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACxC;AAEA,SAAS,QAAQ,CAAC,KAAoB,EAAA;AACpC,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;IAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;AAChC,QAAA,OAAO,SAAS;IAClB;IACA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,IAAA,OAAO,SAAS,CAAC,IAAI,CAAC;AACxB;AAEA;AACM,SAAU,2BAA2B,CACzC,QAAuE,EACvE,MAAiC,EAAA;AAEjC,IAAA,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;AACrF,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB;AAExC,IAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC9B,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE;YACrE;QACF;QAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE;YACX;QACF;AAEA,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,GAAG,GAAG,UAAU,IAAI,GAAG,GAAG,QAAQ,EAAE;YACtC;QACF;AAEA,QAAA,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;AAEA;AAEM,SAAU,oBAAoB,CAAC,KAAa,EAAA;AAChD,IAAA,IAAI,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAChC,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5B;AACA,IAAA,IAAI,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;AAChC,QAAA,OAAO,CAAC;IACV;AACA,IAAA,IAAI,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;AAChC,QAAA,OAAO,CAAC;IACV;AACA,IAAA,OAAO,CAAC;AACV;AAEA,SAAS,iBAAiB,CAAC,IAAU,EAAA;AACnC,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;IAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AAC/C,IAAA,OAAO,KAAK;AACd;AAEM,SAAU,sBAAsB,CACpC,MAAiC,EACjC,WAAwC,EAAA;AAExC,IAAA,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;AACrF,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;IACxB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1B,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC;AAC/C,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEtC,MAAM,KAAK,GAA0B,EAAE;AACvC,IAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;AAElC,IAAA,OAAO,MAAM,IAAI,OAAO,EAAE;QACxB,MAAM,IAAI,GAAyB,EAAE;AAErC,QAAA,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE;AAClD,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,QAAQ;AACtD,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAE3E,IAAI,CAAC,IAAI,CAAC;AACR,gBAAA,IAAI,EAAE,MAAM;gBACZ,KAAK;AACL,gBAAA,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;AACnC,aAAA,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtC;AAEA,QAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB;AAEA,IAAA,OAAO,KAAK;AACd;AAEM,SAAU,wBAAwB,CAAC,KAA4B,EAAA;AACnE,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3D,IAAA,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC;IAEvC,IAAI,aAAa,GAAG,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC;AAErB,IAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;gBACjB,aAAa,IAAI,CAAC;gBAClB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC;YACxD;iBAAO;gBACL,aAAa,GAAG,CAAC;YACnB;QACF;IACF;AAEA,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC;IAEnC,OAAO;QACL,aAAa;QACb,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC;QAC7C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QACzC,KAAK;KACN;AACH;AAEM,SAAU,+BAA+B,CAC7C,MAAiC,EACjC,QAAuE,EAAA;IAEvE,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC;IACjE,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC;IAEzD,OAAO;AACL,QAAA,EAAE,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,CAAA,EAAI,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA,CAAE;QAClF,MAAM,EAAE,MAAM,CAAC,MAAM;AACrB,QAAA,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;AACtC,QAAA,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;QAClC,KAAK;AACL,QAAA,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;KACvC;AACH;AAEM,SAAU,0BAA0B,CAAC,KAAa,EAAA;AACtD,IAAA,IAAI,KAAK,IAAI,SAAS,EAAE;AACtB,QAAA,OAAO,CAAA,EAAG,CAAC,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;IAC7C;AACA,IAAA,IAAI,KAAK,IAAI,KAAK,EAAE;QAClB,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA,CAAA,CAAG;IACvC;AACA,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB;AAEA;;AClNA;AAIA,SAAS,sBAAsB,CAAC,KAAc,EAAA;AAC5C,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,KAAK,YAAY,IAAI,EAAE;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACvC;IACA,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;AACjC,IAAA,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAChD;AAEA,SAAS,eAAe,CAAC,KAAc,EAAA;AACrC,IAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;AAClC,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,QAAA,OAAO,KAAK;IACd;IACA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;AAC5D;AAEA,SAAS,uBAAuB,CAC9B,MAA4C,EAC5C,KAAa,EACb,SAAmB,EAAA;IAEnB,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE;AAC1B,QAAA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE;YAClC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AAC9D,YAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;AACpD,IAAA,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC1D,QAAA,OAAO,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS;IACxE;AAEA,IAAA,OAAO,SAAS;AAClB;AAEM,SAAU,yBAAyB,CAAC,MAA4C,EAAA;AACpF,IAAA,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxE,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,SAAS;IAClB;IACA,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;AACjC,IAAA,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS;AAC3C;AAEM,SAAU,4BAA4B,CAAC,MAA4C,EAAA;IACvF,MAAM,GAAG,GAAG,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACvH,IAAI,GAAG,EAAE;AACP,QAAA,OAAO,GAAG;IACZ;AACA,IAAA,OAAO,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACnH;AAEM,SAAU,0BAA0B,CAAC,MAA4C,EAAA;IACrF,MAAM,GAAG,GAAG,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAClH,IAAI,GAAG,EAAE;AACP,QAAA,OAAO,GAAG;IACZ;AACA,IAAA,OAAO,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9G;AAEA;;AC9EA;AAgCA,SAAS,iBAAiB,CAAC,OAAyB,EAAA;IAClD,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC;AACzD,IAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;AACnB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,YAAY,GAAG,mCAAmC,EAAE;AAC1D,IAAA,MAAM,SAAS,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS;AACzF,IAAA,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,YAAY,CAAC,OAAO;IAEnF,OAAO;AACL,QAAA,MAAM,EAAE,MAAO;QACf,SAAS;QACT,OAAO;KACR;AACH;AAEA;MACa,mCAAmC,CAAA;AAAhD,IAAA,WAAA,GAAA;;AAGmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;;IAmH3D;;;IA7GE,KAAK,GAAA;AACH,QAAA,MAAM,YAAY,GAAG,mCAAmC,EAAE;AAC1D,QAAA,MAAM,UAAU,GAAG,+BAA+B,CAChD,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,EAC1C,EAAE,CACH;QAED,OAAO,OAAO,CAAC,OAAO,CAAC;AACrB,YAAA;gBACE,IAAI,EAAE,qBAAqB,CAAC,YAAY;AACxC,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,iBAAiB,CAAC,IAAI;AAC7B,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ;AACjC,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,QAAQ,EAAE,MAAM;wBAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ;AACjC,qBAAA;AACF,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,KAAK,EAAE,QAAQ;AACf,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,wBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE;wBACxC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AACrB,qBAAA;AACxB,oBAAA;AACE,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACzB,wBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;wBACzE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AACrB,qBAAA;AACxB,oBAAA;AACE,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACzB,wBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;wBACzE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;AACrB,qBAAA;AACzB,iBAAA;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACtC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvC,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,gBAAA,MAAM,EAAE,MACN,IAAI,YAAY,CAAgC;AAC9C,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,QAAQ,EAAE,CAAC;AACX,oBAAA,IAAI,EAAE,OAAO,OAAO,KAAI;AACtB,wBAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC;wBACzC,IAAI,CAAC,MAAM,EAAE;4BACX,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;wBAChC;wBAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC3D,MAAM,IAAI,GAAG,+BAA+B,CAAC,MAAM,EAAE,QAAQ,CAAC;wBAC9D,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;oBACpC,CAAC;iBACF,CAAC;AACL,aAAA;AACF,SAAA,CAAC;IACJ;;;IAMQ,MAAM,gBAAgB,CAC5B,MAAc,EAAA;AAEd,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AACzB,aAAA,UAAU,CACTA,UAA4B,CAAC,MAAM,CAAC,IAAI,EACxCA,UAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAE1D,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC;AACL,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,gBAAA,KAAK,EAAE,MAAM;AACc,aAAA;AAC9B,SAAA,CAAC;AAEJ,QAAA,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAE;IAC7B;AAGD;AAED;;AC1KA;AAKA;;AAEG;MACU,yBAAyB,CAAA;AAAtC,IAAA,WAAA,GAAA;AACmB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,mCAAmC,EAAE;IAK3E;AAHE,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,OAAO,CAAC,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/C;AACD;AAED;;;;;;;MCRa,mBAAmB,CAAA;AADhC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AA2BtD,IAAA;IAzBC,WAAW,CAAC,KAAY,EAAE,IAA0B,EAAA;AAClD,QAAA,IAAI,KAAK,YAAY,iBAAiB,EAAE;;;;;;;QAOxC;AAAO,aAAA,IAAI,KAAK,YAAY,oBAAoB,EAAE;AAChD,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW;AAC3C,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;QACpG;AAAO,aAAA,IAAI,KAAK,YAAY,uBAAuB,EAAE;AACnD,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW;YAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3G;aAAO;YACL,IAAI,SAAS,EAAE,EAAE;AACf,gBAAA,IAAI,CAAC,KAAK,CAAC,CAAC;YACd;iBAAO;AACL,gBAAA,IAAI,CAAC,KAAK,CAAC,CAAC;YACd;QACF;AACA,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC;IAChD;8GA5BW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;;ACLD;;;AAGG;AACI,MAAM,gBAAgB,GAAkB,OAC7C,KAA6B,EAC7B,KAA0B,KACI;;AAE9B,IAAA,OAAO,IAAI;AACb;;ICTY;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAChC,IAAA,sBAAA,CAAA,sBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAgB;AAChB,IAAA,sBAAA,CAAA,sBAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAAqB;AACrB,IAAA,sBAAA,CAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa;AACb,IAAA,sBAAA,CAAA,sBAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAc;AACd,IAAA,sBAAA,CAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACT,IAAA,sBAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAU;AACZ,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;MASrB,qBAAqB,GAAG,IAAI,cAAc,CAAiB,wBAAwB,EAAE;AAChG,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;AACZ,QAAA,OAAO,qBAAqB;IAC9B,CAAC;AACF,CAAA;AA4BM,MAAM,qBAAqB,GAAmB;IACnD,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;;;AAG7C,IAAA,mBAAmB,EAAE,WAAW;;AAG5B,SAAU,gBAAgB,CAAC,MAAA,GAAkC,qBAAqB,EAAA;AACtF,IAAA,OAAO,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE;AAChD;AAOA;;;;AAIG;MACU,qBAAqB,GAAG,IAAI,cAAc,CAAgB,uBAAuB,EAAE;AAC9F,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,gBAAgB;AAChC,CAAA;AAED;;ACpEA;AAEO,MAAM,+BAA+B,GAAG;AAC7C,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAE,MAAM;CACJ;AAaV;AAEA;AAEA,MAAM,4BAA4B,GAA4E;AAC5G,IAAA,CAAC,+BAA+B,CAAC,GAAG,GAAG;AACrC,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,gBAAgB,EAAE,KAAK;AACvB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,uBAAuB,EAAE,KAAK;AAC/B,KAAA;AACD,IAAA,CAAC,+BAA+B,CAAC,MAAM,GAAG;AACxC,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,uBAAuB,EAAE,KAAK;AAC/B,KAAA;AACD,IAAA,CAAC,+BAA+B,CAAC,IAAI,GAAG;AACtC,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,uBAAuB,EAAE,IAAI;AAC9B,KAAA;CACF;AAED,MAAM,yBAAyB,GAAG,cAAc;AAEhD;AAEA;AAEA;;AAEG;AACG,SAAU,gCAAgC,CAAC,KAAc,EAAA;AAC7D,IAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,+BAA+B,CAAC,MAAM;IAC/C;IAEA,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;AAEpE,IAAA,IAAI,UAAU,KAAK,KAAK,EAAE;QACxB,OAAO,+BAA+B,CAAC,GAAG;IAC5C;AAEA,IAAA,IAAI,UAAU,KAAK,QAAQ,EAAE;QAC3B,OAAO,+BAA+B,CAAC,MAAM;IAC/C;AAEA,IAAA,IAAI,UAAU,KAAK,MAAM,EAAE;QACzB,OAAO,+BAA+B,CAAC,IAAI;IAC7C;IAEA,OAAO,+BAA+B,CAAC,MAAM;AAC/C;AAEA;;AAEG;AACG,SAAU,2BAA2B,CACzC,KAAqC,EAAA;AAErC,IAAA,OAAO,4BAA4B,CAAC,KAAK,CAAC;AAC5C;AAEA;;AAEG;AACG,SAAU,iCAAiC,CAC/C,QAAgB,EAChB,KAAqC,EAAA;AAErC,IAAA,MAAM,MAAM,GAAG,2BAA2B,CAAC,KAAK,CAAC;IAEjD,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE;AACtC,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtD,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACtD,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC/C,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,MAAM,CAAC,uBAAuB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC/E,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,OAAO,IAAI;AACb;AAEA;;AAEG;AACG,SAAU,4BAA4B,CAAC,KAAqC,EAAA;AAChF,IAAA,OAAO,+DAA+D,KAAK,CAAC,WAAW,EAAE,EAAE;AAC7F;AAEA;;AAEG;AACG,SAAU,yCAAyC,CAAC,KAAqC,EAAA;AAC7F,IAAA,OAAO,qEAAqE,KAAK,CAAC,WAAW,EAAE,EAAE;AACnG;AAEA;;AC/HA;AAEA;;;AAGG;MAEU,gCAAgC,CAAA;AAD7C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAoB9D,IAAA;;;AAdC,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAC5B,aAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM;AAC7B,aAAA,GAAG,CAAU,eAAe,CAAC,kBAAkB,CAAC;QAEnD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE;AACrD,YAAA,OAAO,gCAAgC,CAAC,WAAW,CAAC;QACtD;AAEA,QAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAU,eAAe,CAAC,kBAAkB,CAAC;AAClG,QAAA,OAAO,gCAAgC,CAAC,cAAc,CAAC;IACzD;8GApBW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cADnB,MAAM,EAAA,CAAA,CAAA;;2FACnB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACMlC;;AAEG;MAEU,gCAAgC,CAAA;AAD7C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAiDtF,IAAA;;AA7CC,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,qBAAqB;IAC9B;AAEA,IAAA,MAAM,QAAQ,CACZ,KAAc,EACd,OAAmD,EAAA;QAEnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC;AACpE,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE;AAEtC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,MAAM,EAAE,KAAK;gBACb,OAAO;gBACP,KAAK;aACN;QACH;QAEA,MAAM,OAAO,GAAG,iCAAiC,CAAC,KAAK,EAAE,UAAU,CAAC;QAEpE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,OAAO,GAAG,EAAE,GAAG,OAAO;YAC/B,KAAK;SACN;IACH;;;IAMQ,MAAM,iBAAiB,CAC7B,QAA6D,EAAA;AAE7D,QAAA,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACjF,YAAA,OAAO,gCAAgC,CAAC,QAAQ,CAAC;QACnD;AAEA,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;IAClD;8GAjDW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAhC,gCAAgC,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C;;;ACpBD;MASa,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAA5B,4BAA4B,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,OAAA,EAAA,CALrC,kBAAkB,CAAC,QAAQ,CAAC;gBAC1B,KAAK,EAAE,CAAC,gCAAgC,CAAC;aAC1C,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAGO,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB,CAAC,QAAQ,CAAC;4BAC1B,KAAK,EAAE,CAAC,gCAAgC,CAAC;yBAC1C,CAAC;AACH,qBAAA;AACF,iBAAA;;;ACXM,MAAM,MAAM,GAAY;AAC7B,IAAA;AACE,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,aAAa,EAAE,MACb,OAAO,kDAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AAC7F,gBAAA,YAAY,EAAE,MAAM,OAAO,iDAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC;AACxF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,aAAa,EAAE,MACb,OAAO,kDAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AAC7F,gBAAA,YAAY,EAAE,MAAM,OAAO,sDAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC;AACrG,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,aAAa,EAAE,MACb,OAAO,kDAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AAC7F,gBAAA,YAAY,EAAE,MAAM,OAAO,2CAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnE,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,aAAa,EAAE,MACb,OAAO,6DAA2C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;AAC/F,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,aAAa,EAAE,MAAM,OAAO,iDAAqC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC;AAC7G,gBAAA,YAAY,EAAE,MAAM,8DAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;AAC7F,aAAA;;;;;;;;;;;;AAYF,SAAA;AACF,KAAA;CACF;;MCnBY,0BAA0B,CAAA;;;AAyC3B,IAAA,qBAAqB,CAAC,WAA2B,EAAA;QACzD,OAAO,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;IAC/D;;;AAMA,IAAA,WAAA,GAAA;AAhDiB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;;AAGjD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;QAC7D,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAACC,YAAU,CAAC,MAAM,CAAC,IAAI,EAAEA,YAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAY;QACjI,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,QAAQ;QAC7D,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAa,CAAC;;;AAMpE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,KAAK,6EAAC;QAC9B,IAAA,CAAA,iBAAiB,GAAG,MAAM,EAAQ;;;AAM1B,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,yBAAyB,8EAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,6BAA6B,gFAAC;;;AAMrD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,IAAI,gFAAC;AACxB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAmB,EAAE,sFAAC;AAC9C,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,mFAAC;AAChE,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAwB,IAAI,0FAAC;AACzD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,+EAAC;QACvD,IAAA,CAAA,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAejC,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClF,cAAc,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD;AACF,QAAA,CAAC,CAAC;IACJ;;;IAMA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,KAAI;AACzE,YAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;AAEtC,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/C;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,QAAA,CAAC,CAAC;IACJ;;;AAMA,IAAA,uBAAuB,CAAC,KAA0B,EAAA;AAChD,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC5B;QACF;AAEA,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAoB,IAAI,IAAI,CAAC;IAC5F;IAEA,qBAAqB,CAAC,KAAoB,EAAE,WAA2B,EAAA;AACrE,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QAC1C;IACF;AAEA,IAAA,sBAAsB,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,EAAE,KAAK,YAAY,aAAa,CAAC,EAAE;YACrC;QACF;AAEA,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,EAAE;YACxD;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B;QACF;QAEA,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,cAAc,GAAA;AACZ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE;QAC9C,IAAI,WAAW,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QAC1C;IACF;IAEA,MAAM,iBAAiB,CAAC,IAAoB,EAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;QACrD,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC;QACrE;AAEA,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,CAAA,uBAAA,EAA0B,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;QACtD;AAEA,QAAA,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO;AAClC,QAAA,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvF,YAAA,eAAe,GAAG;gBAChB,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClC,KAAK,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;gBACxC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;aACrD;QACH;AAEA,QAAA,MAAM,sBAAsB,GAAmB;AAC7C,YAAA,GAAG,IAAI;AACP,YAAA,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;AAChD,YAAA,OAAO,EAAE,eAAe;SACzB;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE;AACpE,YAAA,MAAM,aAAa,GAAG;AACpB,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;AAC9B,gBAAA,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;aACnC;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,aAAkC,CAAC;QAC3E;AAEA,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAC7B,QAAA,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;IACzC;;;IAMQ,kBAAkB,GAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE;AAC3C,QAAA,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAErG,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;QAC7D;IACF;8GA5KW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAsBT,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EACpB,6BAA6B,gECvDhE,s+IAuGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDlFI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,iBAAiB,0ZACjB,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACtB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhBtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,eAAA,EAEf,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,YAAY;wBACZ,cAAc;wBACd,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EAAA,s+IAAA,EAAA;AAwB2B,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,yBAAyB,2FACpB,6BAA6B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEzCnD,0BAA0B,CAAA;AAJvC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa;AAEnD,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAqB,YAAY,iFAAC;AAKjE,IAAA;IAHC,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE;IAC5B;8GATW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdvC,shBAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAE3F,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;8BAEC,CAAC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,CAAC,EAAA,QAAA,EAAA,shBAAA,EAAA;wEAOpD,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ME+BpD,6BAA6B,CAAA;;;AAqD9B,IAAA,gBAAgB,CAAC,MAAiB,EAAA;QAC1C,OAAO,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;IACrD;;;AAMA,IAAA,WAAA,GAAA;;AA1DQ,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAC7D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,QAAQ;QAC7D,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAa,CAAC;;;AAMpE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,KAAK,6EAAC;QAC9B,IAAA,CAAA,YAAY,GAAG,MAAM,EAAQ;;;AAMrB,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,yBAAyB,8EAAC;AAC9C,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,6BAA6B,gFAAC;;;QAMrD,IAAA,CAAA,WAAW,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,EAAE,aAAa,CAAC;AAC1E,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,IAAI,gFAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAc,EAAE,iFAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,EAAE,kFAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;AACvB,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,mFAAC;AAC3D,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAmB,IAAI,qFAAC;AAC/C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,+EAAC;QAClD,IAAA,CAAA,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAGzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;AACzC,gBAAA,OAAO,OAAO;YAChB;YACA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,CAAC,uFAAC;AAEQ,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,2FAAC;QAe3E,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/F,cAAc,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD;AACF,QAAA,CAAC,CAAC;IACJ;;;IAMA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AAC/D,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;AAE5B,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC;AAEA,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,QAAA,CAAC,CAAC;IACJ;;;AAMA,IAAA,aAAa,CAAC,OAAoB,EAAA;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE;QAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/E;AAEA,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B;IACF;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;IACxC;AAEA,IAAA,kBAAkB,CAAC,KAA0B,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC5B;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAe,IAAI,IAAI,CAAC;IAClF;IAEA,qBAAqB,CAAC,KAAoB,EAAE,MAAiB,EAAA;AAC3D,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAChC;IACF;AAEA,IAAA,sBAAsB,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,EAAE,KAAK,YAAY,aAAa,CAAC,EAAE;YACrC;QACF;AAEA,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,aAAa,EAAE;YACxD;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B;QACF;QAEA,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,cAAc,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;QACpC,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAChC;IACF;IAEA,MAAM,YAAY,CAAC,IAAe,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,aAAa,GAAG;AACpB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;aAC/B;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC;QACtD;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC5D;;;IAMQ,kBAAkB,GAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AAC9B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;AACjC,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEjF,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;QAC7D;IACF;8GA7KW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoBZ,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EACpB,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvEhE,y1LA+IA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzGI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,mBAAmB,8BACnB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAjBzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EAAA,eAAA,EAElB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,cAAc;wBACd,iBAAiB;wBACjB,gBAAgB;wBAChB,iBAAiB;wBACjB,iBAAiB;wBACjB,sBAAsB;wBACtB,gBAAgB;AACjB,qBAAA,EAAA,QAAA,EAAA,y1LAAA,EAAA;AAsB2B,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,yBAAyB,2FACpB,6BAA6B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEzDnD,iCAAiC,CAAA;AAL9C,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ;AACvC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;AAErC,QAAA,IAAA,CAAA,aAAa,GAAG,SAAS,CAAqB,eAAe,oFAAC;AAKvE,IAAA;IAHC,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE;IAC/B;8GATW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd9C,+uBAgBC,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDJW,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,6BAA6B,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAE9F,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;+BACE,6BAA6B,EAAA,OAAA,EAE9B,CAAC,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,6BAA6B,CAAC,EAAA,QAAA,EAAA,+uBAAA,EAAA;2EAOpD,eAAe,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjBvE;AAEO,MAAM,4BAA4B,GAAG,yBAAyB;AAe/D,SAAU,6BAA6B,CAAC,YAA6C,EAAA;AACzF,IAAA,OAAO,YAAY,EAAE,MAAM,KAAK,IAAI;AACtC;AAEM,SAAU,4BAA4B,CAAC,YAA6C,EAAA;AACxF,IAAA,OAAO,YAAY,EAAE,KAAK,KAAK,IAAI;AACrC;AAEA;;MC2Ca,2BAA2B,CAAA;AAxBxC,IAAA,WAAA,GAAA;;AA2BmB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC5C,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACrC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACtD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;;;AAM7B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU;AAEzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;AACzD,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAEvF,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAA2B,EAAE,gFAAC;;;QAezD,IAAA,CAAA,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI;QAQ5C,IAAA,CAAA,6BAA6B,GAAG,6BAA6B;QAC7D,IAAA,CAAA,4BAA4B,GAAG,4BAA4B;AA4H/E,IAAA;;;AA9IC,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,aAAa,EAAE;QAC1B,IAAI,CAAC,0BAA0B,EAAE;IACnC;AAQU,IAAA,aAAa,CAAC,IAA4B,EAAA;QAClD,OAAO;AACL,YAAA,oBAAoB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;SAC9C;IACH;AAKU,IAAA,YAAY,CAAC,KAAa,EAAA;AAClC,QAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC;IAClC;AAEU,IAAA,eAAe,CAAC,IAA4B,EAAA;AACpD,QAAA,OAAO,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC;IACxD;AAEU,IAAA,MAAM,mBAAmB,CAAC,IAA4B,EAAE,OAA2B,EAAA;QAC3F,OAAO,CAAC,KAAK,EAAE;AAEf,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QACzC;IACF;IAEU,YAAY,GAAA;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;IACvC;;;IAMQ,0BAA0B,GAAA;QAChC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC3F,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;gBAC7D;YACF;AAEA,YAAA,KAAK,IAAI,CAAC,aAAa,EAAE;AAC3B,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,MAAM,aAAa,GAAA;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAiC,4BAA4B,EAAE;AACtG,YAAA,KAAK,EAAE,EAAE;AACV,SAAA,CAAC;AACF,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACnC;AAEQ,IAAA,qBAAqB,CAAC,KAA+B,EAAA;QAC3D,MAAM,SAAS,GAAiC,EAAE;AAElD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;gBACtE;YACF;AAEA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;YAE5B,KAAK,MAAM,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACjE,gBAAA,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,CAAC,KAAK,CAAC;wBACb,KAAK,EAAE,IAAI,CAAC,KAAe;AAC3B,wBAAA,KAAK,EAAE,2CAA2C;wBAClD,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;wBACrD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;AAC7C,wBAAA,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC;wBACjE,OAAO,EAAE,MAAK;AACZ,4BAAA,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;wBACnC,CAAC;AACF,qBAAA,CAAC;gBACJ;YACF;QACF;AAEA,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B;QACF;AAEA,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAC7B,KAAK,EAAE,IAAI,CAAC,UAAU;AACtB,YAAA,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,2BAA2B,CAAC,MAAM;AAC5C,YAAA,KAAK,EAAE,2CAA2C;AAClD,YAAA,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE;YAClC,SAAS;AACV,SAAA,CAAC;IACJ;IAEQ,MAAM,cAAc,CAAC,OAA0B,EAAA;AACrD,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE;gBACT;YACF;AAEA,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC,gBAAA,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE;AACoB,aAAA,CAAC;YACxC;QACF;QAEA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC5C,YAAA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACxE;IACF;AAEQ,IAAA,mBAAmB,CAAC,OAAsC,EAAA;QAChE,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,SAAS;QAClB;QAEA,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;AACvC,YAAA,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB;AAEA,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAkC;AACxE,QAAA,IAAI,OAAO,aAAa,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC3C,OAAO,aAAa,CAAC,IAAI;QAC3B;AAEA,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAkC;QACzE,OAAO,aAAa,EAAE,IAAI;IAC5B;8GAzKW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtExC,4oEAkDC,EAAA,MAAA,EAAA,CAAA,irCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDAG,YAAY,8BACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;AAEZ,gBAAA,aAAa,8BACb,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,cAAc,6XACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;;gBAGjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGtB,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAKxB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAxBvC,SAAS;AAGC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP,YAAY;wBACZ,YAAY;;wBAEZ,aAAa;wBACb,cAAc;wBACd,eAAe;wBACf,cAAc;wBACd,iBAAiB;;;wBAGjB,eAAe;wBACf,mBAAmB;wBACnB,sBAAsB;;wBAGtB,iCAAiC;AAClC,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4oEAAA,EAAA,MAAA,EAAA,CAAA,irCAAA,CAAA,EAAA;;;ME/B1B,+BAA+B,CAAA;AAe1C,IAAA,WAAA,GAAA;AAdQ,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC1C,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAEtC,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AACtC,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,KAAK,mBAAmB,CAAC,OAAO;AACpF,QAAA,CAAC,oFAAC;AAEQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,IAAI,iFAAC;AACzB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAS,EAAE,iFAAC;AAO/B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO;AAErC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB;QAEvD,IAAA,CAAA,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI;QAwBrD,IAAA,CAAA,aAAa,GAAG,MAAK;AAC7B,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;gBAC1C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpC,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AACtC,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,CAAE,CAAC;gBAChG;;oBAAO,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;QAxCC,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,aAAa,EAAE;IACtB;IAWA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,EAAE,CAAA,sCAAA,CAAwC,CAAC,CAAC;IACpF;AAEA,IAAA,MAAM,MAAM,GAAA;AACV,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IACrC;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B;IAEU,YAAY,GAAA;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;IACvC;AAEU,IAAA,YAAY,CAAC,KAA8B,EAAA;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B;AAWQ,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAgB;YACtD,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACzC,gBAAA,IAAI,CAAC,GAAG,GAAG,GAAG;YAChB;AAAO,iBAAA,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;AACzE,gBAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;YACtC;iBAAO;;YAEP;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;AACnD,YAAA,IAAI,CAAC,GAAG,GAAG,EAAE;QACf;IACF;8GA1EW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrC5C,mgBAaA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA;;gBAEZ,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAEnB,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEjC,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EADtB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIA,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAlB3C,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,OAAA,EAAA;wBACP,YAAY;;wBAEZ,aAAa;wBACb,cAAc;wBACd,eAAe;wBACf,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,mBAAmB;;wBAEnB,iCAAiC;wBACjC,SAAS;wBACT,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,mgBAAA,EAAA;;sBA6BA,SAAS;uBAAC,gBAAgB;;;ME/CP,4BAA4B,CAAA;AAMjD;AAGK,MAAO,+BAAgC,SAAQ,4BAA4B,CAAA;AADjF,IAAA,WAAA,GAAA;;;AAImB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,0BAA0B,GAAG,IAAI,CAAC;AAChD,aAAA,UAAU,CAACF,UAA4B,CAAC,MAAM,CAAC,IAAI,EAAEA,UAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAC9G,aAAA,IAAI,EAA0D;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACxD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AA6D9D,IAAA;;AAzDU,IAAA,MAAM,WAAW,GAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE;AAC9D,QAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC,IAAI,KACH,IAAI,CAAC,MAAM,KAAK,MAAM;YACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ;AAC9C,YAAA,CAAC,IAAI,CAAC,eAAe,CACxB;IACH;AAES,IAAA,MAAM,wBAAwB,GAAA;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC7C;QAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE;AAC9D,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CACxC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CACnF;AAED,QAAA,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC;QACvE,IAAI,aAAa,EAAE;AACjB,YAAA,OAAO,aAAa;QACtB;AAEA,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAC/B,YAAY,EACZ,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EACxD,CAAC,MAAM,CAAC,CACT,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,iBAAiB,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;QAC7D;AAEA,QAAA,OAAO,iBAAiB;IAC1B;IAES,MAAM,gBAAgB,CAAC,SAAiB,EAAA;AAC/C,QAAA,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAChF;AAES,IAAA,MAAM,mBAAmB,GAAA;AAChC,QAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,+BAA+B,EAAE;IACpE;IAES,MAAM,6BAA6B,CAAC,KAA6C,EAAA;QACxF,MAAM,IAAI,CAAC;AACR,aAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI;AAC3B,aAAA,GAAG,CAAC,eAAe,CAAC,0BAA0B,EAAE,KAAK,CAAC;IAC3D;8GArEW,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;;ACpBM,MAAM,wBAAwB,GAAkB,OACrD,KAA6B,EAC7B,KAA0B,KACxB;AACF,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;AACnE,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,EAAE,EAAE,QAAQ;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAa,CAAC;AAExD,IAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE;QAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9C;IAEA,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;AAE7D,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,QAAA,MAAM,CAAC,KAAK,CACV,iHAAiH,CAClH;QACD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9C;AACA,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE;AAC1D,YAAA,MAAM,aAAa,GAAG;gBACpB,IAAI,EAAE,cAAc,CAAC,IAAI;AACzB,gBAAA,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;aACnB;AACD,YAAA,MAAM,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC;YAC/C,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAC5D;AACA,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,IAAI;AACb,CAAC;;ACjCM,MAAM,qBAAqB,GAAkB,OAClD,KAA6B,EAC7B,KAA0B,KACxB;AACF,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,IAAA,MAAM,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;AACnE,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,EAAE,EAAE,QAAQ;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAa,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC;AAE/D,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;AACtC,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,QAAA,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,EAAE;QAC1C,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;QACA,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE;AAC1D,YAAA,MAAM,aAAa,GAAG;gBACpB,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,MAAM,EAAE,cAAc,CAAC,MAAM;AAC7B,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;aACrB;AACD,YAAA,MAAM,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC;AAG/C,YAAA,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE;AACA,QAAA,OAAO,KAAK;IACd;AACA,IAAA,OAAO,IAAI;AACb,CAAC;;ACrBD,SAAS,YAAY,GAAA;IACnB,IAAI,MAAM,GAAW,EAAE;AACvB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,aAAa,EAAE,MACb,OAAO,6DAA2C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC;AAClG,YAAA,WAAW,EAAE,CAAC,YAAY,EAAE,wBAAwB,CAAC;AACtD,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,aAAa,EAAE,MAAM,OAAO,0DAAqC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC;AAC5G,YAAA,WAAW,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;AACnD,SAAA;KACF;AACD,IAAA,OAAO,MAAM;AACf;MA0Ca,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YArCzB,YAAY,EAAAE,IAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,CAAA;AAqCH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,SAAA,EAZhB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,QAAQ,EAAE,+BAA+B;AAC1C,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAnCC,YAAY;;YAEZ,sBAAsB,CAAC,QAAQ,CAAC;AAC9B,gBAAA,uBAAuB,EAAE;AACvB,oBAAA;AACE,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,SAAS,EAAE,+BAA+B;AAC3C,qBAAA;AACF,iBAAA;AACD,gBAAA,iBAAiB,EAAE;AACjB,oBAAA;AACE,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,SAAS,EAAE,0BAA0B;AACtC,qBAAA;AACD,oBAAA;AACE,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,SAAS,EAAE,2BAA2B;AACvC,qBAAA;AACF,iBAAA;aACF,CAAC,CAAA,EAAA,CAAA,CAAA;;2FAeO,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAxC5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;;wBAEZ,sBAAsB,CAAC,QAAQ,CAAC;AAC9B,4BAAA,uBAAuB,EAAE;AACvB,gCAAA;AACE,oCAAA,QAAQ,EAAE,CAAC;AACX,oCAAA,IAAI,EAAE,WAAW;AACjB,oCAAA,SAAS,EAAE,+BAA+B;AAC3C,iCAAA;AACF,6BAAA;AACD,4BAAA,iBAAiB,EAAE;AACjB,gCAAA;AACE,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,IAAI,EAAE,YAAY;AAClB,oCAAA,SAAS,EAAE,0BAA0B;AACtC,iCAAA;AACD,gCAAA;AACE,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,IAAI,EAAE,SAAS;AACf,oCAAA,SAAS,EAAE,2BAA2B;AACvC,iCAAA;AACF,6BAAA;yBACF,CAAC;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,YAAY;AACzB,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,QAAQ,EAAE,+BAA+B;AAC1C,yBAAA;AACF,qBAAA;AACF,iBAAA;;;;;;;;AClED;AAEA,MAAM,sBAAsB,GAAG,KAAK;AACpC,MAAM,sBAAsB,GAAG,KAAK;AACpC,MAAM,8BAA8B,GAAG,EAAE;AACzC,MAAM,0BAA0B,GAAG,oBAAoB;AACvD,MAAM,+BAA+B,GAAG,MAAM;AAE9C,MAAM,2BAA2B,GAAG;AAClC,IAAA,eAAe,CAAC,mBAAmB;AACnC,IAAA,eAAe,CAAC,mBAAmB;CAC3B;AAEV;;;;AAIG;MAEU,kBAAkB,CAAA;;;AAoC7B,IAAA,WAAA,GAAA;;AAjCS,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;AAEd,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,8BAA8B,GAAG,MAAM,oFAAC;AAC/D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;;AAG/B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAE3B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,EAAE,oFAAC;AAEnC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;QAC3B,IAAA,CAAA,eAAe,GAAG,CAAC;QACnB,IAAA,CAAA,gBAAgB,GAA0C,IAAI;QAC9D,IAAA,CAAA,UAAU,GAAiC,IAAI;QAC/C,IAAA,CAAA,cAAc,GAAG,KAAK;AACtB,QAAA,IAAA,CAAA,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE;;;AAMpC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;;QA6V3B,IAAA,CAAA,UAAU,GAAG,MAAW;YACvC,IAAI,CAAC,cAAc,EAAE;AACvB,QAAA,CAAC;QAEgB,IAAA,CAAA,WAAW,GAAG,MAAW;AACxC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;YACtB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,sBAAsB,EAAE;gBACvD;YACF;AAEA,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG;YAC1B,IAAI,CAAC,cAAc,EAAE;AACvB,QAAA,CAAC;QAlWC,IAAI,CAAC,cAAc,CAAC;AACjB,aAAA,IAAI,CACH,MAAM,CACJ,CAAC,MAAM,KACL,MAAM,KAAK,gBAAgB,CAAC,aAAa;YACzC,MAAM,KAAK,gBAAgB,CAAC,UAAU;YACtC,MAAM,KAAK,gBAAgB,CAAC,SAAS;AACrC,YAAA,MAAM,KAAK,gBAAgB,CAAC,OAAO,CACtC,EACD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAEpC,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACpB,YAAA,MAAM,eAAe,GACnB,MAAM,KAAK,gBAAgB,CAAC,aAAa,IAAI,MAAM,KAAK,gBAAgB,CAAC,UAAU;YAErF,IAAI,eAAe,EAAE;AACnB,gBAAA,KAAK,IAAI,CAAC,cAAc,EAAE;gBAC1B;YACF;AAEA,YAAA,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;AACzC,QAAA,CAAC,CAAC;QAEJ,eAAe,CACb,MAAK;AACH,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE;AAClC,gBAAA,KAAK,IAAI,CAAC,cAAc,EAAE;YAC5B;QACF,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B;QAED,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YAC3F,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxE;YACF;AAEA,YAAA,KAAK,IAAI,CAAC,8BAA8B,EAAE;AAC5C,QAAA,CAAC,CAAC;IACJ;;;IAMA,UAAU,GAAA;QACR,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC;AAEA,IAAA,SAAS,CAAC,GAAW,EAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE;QACrC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,QAAQ;IAC/C;IAEA,MAAM,cAAc,CAAC,QAAgB,EAAA;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACtC,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;AACrB,iBAAA,UAAU,CAAC,0BAA0B,EAAE,+BAA+B;AACtE,iBAAA,IAAI;iBACJ,KAAK,CAAC,MAAM,CAAC;YAEhB,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,QAAQ;QAC3C;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC;AACpE,YAAA,OAAO,KAAK;QACd;IACF;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;IAClC;;IAGA,UAAU,GAAA;QACR,IAAI,CAAC,IAAI,EAAE;IACb;AAEA,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AAC3C,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACjB,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B;QACF;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;AACrB,iBAAA,UAAU,CAAC,0BAA0B,EAAE,+BAA+B;AACtE,iBAAA,IAAI;iBACJ,KAAK,CAAC,MAAM,CAAC;AAEhB,YAAA,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;AACnD,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;QACjC;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC;AACjE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B;IACF;;AAGA,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,IAAI,CAAC,oBAAoB,EAAE;AACjC,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;IAC9B;;IAGA,2BAA2B,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE;IAC9B;;AAGA,IAAA,MAAM,gBAAgB,GAAA;QACpB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAChE,QAAA,MAAM,eAAe,GACnB,MAAM,KAAK,gBAAgB,CAAC,aAAa,IAAI,MAAM,KAAK,gBAAgB,CAAC,UAAU;QAErF,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,IAAI,CAAC,cAAc,EAAE;QAC7B;IACF;;;IAMQ,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU;IACxB;AAEQ,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,oBAAoB,EAAE;AACjC,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;AAE5B,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE;YAClC,IAAI,CAAC,oBAAoB,EAAE;YAC3B;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACnB;QACF;QAEA,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,uBAAuB,EAAE;QAC9B,IAAI,CAAC,cAAc,EAAE;IACvB;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC5C,YAAA,KAAK,IAAI,CAAC,eAAe,EAAE;QAC7B;AAEA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,uBAAuB,EAAE;YAC9B,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEQ,MAAM,qBAAqB,CAAC,MAAwB,EAAA;AAC1D,QAAA,IAAI,MAAM,KAAK,gBAAgB,CAAC,SAAS,IAAI,MAAM,KAAK,gBAAgB,CAAC,OAAO,EAAE;YAChF;QACF;QAEA,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;QACtE,IAAI,SAAS,EAAE;YACb;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACpB;IAEQ,OAAO,CAAC,kBAAkB,GAAG,KAAK,EAAA;QACxC,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB;AAEnF,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAEvB,IAAI,CAAC,qBAAqB,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE;QACzB;QAEA,IAAI,kBAAkB,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;QACtC;QAEA,IAAI,CAAC,uBAAuB,EAAE;QAC9B,IAAI,CAAC,aAAa,EAAE;IACtB;AAEQ,IAAA,MAAM,oBAAoB,GAAA;AAChC,QAAA,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAU,eAAe,CAAC,mBAAmB,CAAC;AACxG,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS,eAAe,CAAC,mBAAmB,CAAC;AAC3F,QAAA,MAAM,eAAe,GACnB,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,8BAA8B;QAEvF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;IAClD;AAEQ,IAAA,MAAM,8BAA8B,GAAA;QAC1C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAChE,QAAA,MAAM,eAAe,GACnB,MAAM,KAAK,gBAAgB,CAAC,aAAa,IAAI,MAAM,KAAK,gBAAgB,CAAC,UAAU;QAErF,IAAI,CAAC,eAAe,EAAE;YACpB;QACF;AAEA,QAAA,MAAM,IAAI,CAAC,cAAc,EAAE;IAC7B;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACpC;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;IAClC;IAEQ,IAAI,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACpC;QACF;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;AACnC,QAAA,KAAK,IAAI,CAAC,eAAe,EAAE;IAC7B;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAC3E;QACF;QAEA,eAAe,CACb,MAAK;AACH,YAAA,KAAK,IAAI,CAAC,iBAAiB,EAAE;QAC/B,CAAC,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAC5B;IACH;IAEQ,qBAAqB,GAAA;QAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;IACxD;AAEQ,IAAA,MAAM,iBAAiB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAC3E;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AAErB,QAAA,IAAI;YACF,MAAM,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,GAAG,MAAM,OACjE,mEAA4D,CAC7D;AAED,YAAA,MAAM,YAAY,GAAG,CAAC,gCAAgC,CAAC;AACvD,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;AAC1B,gBAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9B;YAEA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE;AAC7D,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,QAAQ,EAAE;AACR,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,YAAY,EAAE,KAAK;AACpB,iBAAA;gBACD,SAAS,EAAE,MAAK;AACd,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACxB,CAAC;AACF,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACjC,GAAG,CAAC,OAAO,EAAE;gBACb;YACF;AAEA,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,GAAG;QACvB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC;AAE3D,YAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAChC,gBAAA,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC;YACtD;QACF;gBAAU;AACR,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;QAC7B;IACF;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;QACxB;IACF;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAK;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACpC;YACF;AAEA,YAAA,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBAC5D,IAAI,CAAC,IAAI,EAAE;YACb;QACF,CAAC,EAAE,sBAAsB,CAAC;IAC5B;IAEQ,aAAa,GAAA;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;AACjC,YAAA,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACpC,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;QAC9B;IACF;IAEQ,yBAAyB,GAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;IAClC;IAkBQ,uBAAuB,GAAA;QAC7B,IAAI,CAAC,uBAAuB,EAAE;AAC9B,QAAA,MAAM,MAAM,GAAkC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC;QAChH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1F,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;IAChE;IAEQ,uBAAuB,GAAA;AAC7B,QAAA,MAAM,MAAM,GAAkC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC;QAChH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7F,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;IACnE;8GApZW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC9BlC;AAEA;AACO,MAAM,oCAAoC,GAAG;AAEpD;AACO,MAAM,gDAAgD,GAAG;AAEhE;;ACKA;AAEA,MAAM,UAAU,GAAG,CAAC,UAAkB,MAAyB;AAC7D,IAAA,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU;IAC3C,OAAO,EAAE,EAAE,UAAU,EAAE;AACxB,CAAA,CAAC;AAEF;AAEA;AAEA;AACO,MAAM,6BAA6B,GAGtC;AACF,IAAA,GAAG,EAAE,wBAAwB;AAC7B,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,OAAO,EAAE,CAAC,OAAO,MAAM;AACrB,QAAA,GAAG,OAAO;AACV,QAAA,MAAM,EAAE;YACN,GAAG,OAAO,CAAC,MAAM;AACjB,YAAA;AACE,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,KAAK,EAAE,yCAAyC;AAChD,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,KAAK,EAAE,0CAA0C;AACjD,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,KAAK,EAAE,0CAA0C;AACjD,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,KAAK,EAAE,0CAA0C;AACjD,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,YAAY,EAAE,oCAAoC;AACnD,iBAAA;AACF,aAAA;AACF,SAAA;KACF,CAAC;CACH;AAED;AAEA;AAEA;AACO,MAAM,+BAA+B,GAGxC;AACF,IAAA,GAAG,EAAE,0BAA0B;AAC/B,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,OAAO,EAAE,CAAC,OAAO,MAAM;AACrB,QAAA,GAAG,OAAO;AACV,QAAA,QAAQ,EAAE;YACR,GAAG,OAAO,CAAC,QAAQ;AACnB,YAAA;AACE,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,8CAA8C;AACrD,gBAAA,WAAW,EAAE,oDAAoD;AACjE,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,KAAK,EAAE,qDAAqD;AAC5D,wBAAA,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE;AAC9D,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,eAAe;AACnB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,iDAAiD;AACxD,gBAAA,WAAW,EAAE,uDAAuD;AACpE,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,sBAAsB;AAC5B,wBAAA,KAAK,EAAE,0DAA0D;AACjE,wBAAA,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE;AAC1D,qBAAA;AACF,iBAAA;AACF,aAAA;AACC,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,mDAAmD;AAC1D,gBAAA,WAAW,EAAE,yDAAyD;AACtE,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,KAAK,EAAE,4DAA4D;AACnE,wBAAA,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc,EAAE;AAC9D,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,cAAc;AAClB,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,gDAAgD;AACvD,gBAAA,WAAW,EAAE,sDAAsD;AACnE,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,mDAAmD;AAC1D,gBAAA,WAAW,EAAE,yDAAyD;AACtE,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,KAAK,EAAE,4DAA4D;AACnE,wBAAA,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE;AAC3D,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,8CAA8C;AACrD,gBAAA,WAAW,EAAE,oDAAoD;AACjE,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,mBAAmB;AACzB,wBAAA,KAAK,EAAE,uDAAuD;AAC9D,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,OAAO,EAAE,UAAU,CAAC,2DAA2D,CAAC;AACjF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,eAAe;AACnB,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,KAAK,EAAE,iDAAiD;AACxD,gBAAA,WAAW,EAAE,uDAAuD;AACpE,gBAAA,IAAI,EAAE,yBAAyB;AAC/B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACtB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,oBAAoB;AAC1B,wBAAA,KAAK,EAAE,0DAA0D;AACjE,wBAAA,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAChE,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,gBAAgB;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,GAAG;AACb,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,YAAY,EAAE,gDAAgD;AAC/D,iBAAA;AACD,gBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AACxB,aAAA;AACF,SAAA;KACJ,CAAC;CACH;AAED;;ACxMA;AAEA,MAAM,uBAAuB,GAAG,cAAc;AAE9C;AACO,MAAM,8BAA8B,GAGvC;AACF,IAAA,GAAG,EAAE,0BAA0B;AAC/B,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,OAAO,OAAO,KAAI;AACzB,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAA,MAAM,eAAe,CAAC,eAAe,EAAE;AAEvC,QAAA,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE;QAE/C,OAAO;AACL,YAAA,GAAG,OAAO;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;AACzC,gBAAA,IAAI,OAAO,CAAC,EAAE,KAAK,uBAAuB,EAAE;AAC1C,oBAAA,OAAO,OAAO;gBAChB;gBAEA,OAAO;AACL,oBAAA,GAAG,OAAO;AACV,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,IAAI,EAAE,cAAc;AACpB,4BAAA,KAAK,EAAE;AACL,kCAAE;AACF,kCAAE,yDAAyD;AAC7D,4BAAA,IAAI,EAAE,YAAY;AAClB,4BAAA,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAU,EAAE;AAC1D,yBAAA;AACD,wBAAA,IAAI;AACF,8BAAE;AACE,gCAAA;AACE,oCAAA,IAAI,EAAE,iBAAiB;AACvB,oCAAA,KAAK,EAAE,yDAAyD;AAChE,oCAAA,IAAI,EAAE,kBAAkB;AACxB,oCAAA,KAAK,EAAE,QAAiB;oCACxB,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,aAAa,EAAE;AAC7D,iCAAA;AACF;8BACD,EAAE,CAAC;AACR,qBAAA;iBACF;AACH,YAAA,CAAC,CAAC;SACH;IACH,CAAC;CACF;AAED;;ACzDA;AAEA,MAAM,kBAAkB,GAAG,mCAAmC;AAE9D;MAEa,oCAAoC,CAAA;AADjD,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAuC5D,IAAA;;;AAjCC,IAAA,gBAAgB,CAAC,MAAe,EAAA;QAC9B,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AACjD,QAAA,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;AACb,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,SAAS;QAClB;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;AAC5B,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;IAC5D;AAEA,IAAA,YAAY,CAAC,MAAe,EAAE,SAAA,GAAkB,IAAI,IAAI,EAAE,EAAA;QACxD,MAAM,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AACjD,QAAA,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;YACb;QACF;AAEA,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;IACzE;;;AAMQ,IAAA,eAAe,CAAC,MAAc,EAAA;AACpC,QAAA,OAAO,CAAA,EAAG,kBAAkB,CAAA,EAAG,MAAM,EAAE;IACzC;8GAvCW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,cADvB,MAAM,EAAA,CAAA,CAAA;;2FACnB,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACIlC;AAEA,MAAM,0BAA0B,GAAG,iBAAiB;AACpD,MAAM,0BAA0B,GAAG,iBAAiB;AACpD,MAAM,wBAAwB,GAAG,eAAe;AAEhD;AAEA;AAEA;MAEa,qCAAqC,CAAA;AADlD,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC/C,QAAA,IAAA,CAAA,6BAA6B,GAAG,MAAM,CAAC,oCAAoC,CAAC;AAyL9F,IAAA;;;AAnLC,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEpD,MAAM,mBAAmB,GAAmD,EAAE;QAE9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;AAC3D,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;AAC9B,YAAA,mBAAmB,CAAC,0BAA0B,CAAC,GAAG,gBAAgB;QACpE;QAEA,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AACnC,YAAA,mBAAmB,CAAC,0BAA0B,CAAC,GAAG,qBAAqB;QACzE;QAEA,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;AACrE,QAAA,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;AAClC,YAAA,mBAAmB,CAAC,wBAAwB,CAAC,GAAG,oBAAoB;QACtE;AAEA,QAAA,OAAO,mBAAmB;IAC5B;;;AAMQ,IAAA,qBAAqB,CAAC,MAAc,EAAA;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,MAAM,CAAC;AACjF,QAAA,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;AACxB,YAAA,OAAO,EAAE;QACX;QAEA,OAAO;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,sBAAsB;AAC1B,gBAAA,IAAI,EAAE,yBAAyB;AAC/B,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,UAAU,EAAE,mEAAmE;AAChF,aAAA;SACF;IACH;IAEQ,MAAM,0BAA0B,CACtC,QAA0D,EAAA;QAE1D,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AACtG,QAAA,MAAM,cAAc,GAClB,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,eAAe,CAAC;AACzD,YAAA,OAAO,CACL,cAAc,EACd,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EACzE,CAAC,MAAM,CAAC,CACT,CAAC,CAAC,CAAC;AAEN,QAAA,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;AACzB,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;AAC/D,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;AAC1B,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM;AACpG,QAAA,MAAM,QAAQ,GAAmC;AAC/C,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA;SACF;AAED,QAAA,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC;AACZ,gBAAA,EAAE,EAAE,gBAAgB;AACpB,gBAAA,IAAI,EAAE,iCAAiC;AACvC,gBAAA,IAAI,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC9C,0EAA0E,EAC1E,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CACxC;AACF,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,yBAAyB,CAC/B,QAA0D,EAAA;AAE1D,QAAA,MAAM,aAAa,GAAG,OAAO,CAC3B,QAAQ,EACR,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,EACzE,CAAC,MAAM,CAAC,CACT,CAAC,CAAC,CAAC;AAEJ,QAAA,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;AACxB,YAAA,OAAO,EAAE;QACX;QAEA,MAAM,QAAQ,GAAmC,EAAE;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC;QAEtE,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,IAAI,CAAC;AACZ,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,IAAI,EAAE,qCAAqC;AAC3C,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,UAAU,EAAE,iEAAiE;AAC9E,aAAA,CAAC;QACJ;QAEA,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC;AACZ,gBAAA,EAAE,EAAE,qBAAqB;AACzB,gBAAA,IAAI,EAAE,gCAAgC;AACtC,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA,CAAC;QACJ;AAEA,QAAA,OAAO,QAAQ;IACjB;;;IAMQ,MAAM,gBAAgB,CAAC,MAAc,EAAA;AAC3C,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AACzB,aAAA,UAAU,CACTF,UAA4B,CAAC,MAAM,CAAC,IAAI,EACxCA,UAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAE1D,aAAA,IAAI;aACJ,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAEjC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IACxE;;;AAMQ,IAAA,cAAc,CAAC,KAAc,EAAA;AACnC,QAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK;QAC1D;QAEA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC1D,YAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC9B,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;QAC5D;AAEA,QAAA,OAAO,SAAS;IAClB;AAEQ,IAAA,oBAAoB,CAAC,OAAuD,EAAA;AAClF,QAAA,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ;AACjE,aAAA,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;aACxC,MAAM,CAAC,OAAO,CAAC;AAElB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1B;AAEQ,IAAA,mBAAmB,CAAC,OAAuD,EAAA;QACjF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS;AAC/C,aAAA,GAAG,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;aACxC,MAAM,CAAC,OAAO,CAAC;AAElB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC1B;8GA5LW,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cADxB,MAAM,EAAA,CAAA,CAAA;;2FACnB,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACjBlC;AAEA;AACO,MAAM,oCAAoC,GAG7C;AACF,IAAA,GAAG,EAAE,0BAA0B;AAC/B,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,OAAO,OAAO,KAAI;AACzB,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,qCAAqC,CAAC;AACrE,QAAA,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE;QAEnE,OAAO;AACL,YAAA,GAAG,OAAO;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;gBACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;AAChD,gBAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACrB,oBAAA,OAAO,OAAO;gBAChB;gBAEA,OAAO;AACL,oBAAA,GAAG,OAAO;oBACV,QAAQ;iBACT;AACH,YAAA,CAAC,CAAC;SACH;IACH,CAAC;CACF;AAED;;AC9BA;AAEA;AACO,MAAM,iCAAiC,GAG1C;AACF,IAAA,GAAG,EAAE,4BAA4B;AACjC,IAAA,QAAQ,EAAE,GAAG;AACb,IAAA,OAAO,EAAE,CAAC,OAAO,MAAM;AACrB,QAAA,GAAG,OAAO;AACV,QAAA,KAAK,EAAE;YACL,GAAG,OAAO,CAAC,KAAK;AAChB,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,KAAK,EAAE,sBAAsB;AAC7B,gBAAA,IAAI,EAAE,sCAAsC;AAC5C,gBAAA,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;gBAClE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE;AAC1B,aAAA;AAC9B,SAAA;KACF,CAAC;CACH;AAED;;AC3BA;AAEA;AACO,MAAM,oCAAoC,GAG7C;AACF,IAAA,GAAG,EAAE,4BAA4B;IACjC,QAAQ,EAAE,CAAC,EAAE;AACb,IAAA,OAAO,EAAE,CAAC,OAAO,KAAI;AACnB,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,QAAA,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI;QAEhD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,OAAO;QAChB;QAEA,OAAO;AACL,YAAA,GAAG,OAAO;AACV,YAAA,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,KAAK;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE,4CAA4C;AACnD,oBAAA,IAAI,EAAE,kBAAkB;oBACxB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;AAClE,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,OAAO,EAAE;4BACP,IAAI,EAAE,CAAA,CAAA,EAAI,OAAO,CAAA,gBAAA,CAAkB;AACpC,yBAAA;AACF,qBAAA;AAC0B,iBAAA;AAC9B,aAAA;SACF;IACH,CAAC;CACF;AAED;;ACjCA;AAEA;AACO,MAAM,+BAA+B,GAGxC;AACF,IAAA,GAAG,EAAE,4BAA4B;AACjC,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,OAAO,OAAO,KAAI;AACzB,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAA,MAAM,eAAe,CAAC,gBAAgB,EAAE;AAExC,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;AAC9B,YAAA,OAAO,OAAO;QAChB;QAEA,OAAO;AACL,YAAA,GAAG,OAAO;AACV,YAAA,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,KAAK;AAChB,gBAAA;AACE,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,KAAK,EAAE,oBAAoB;AAC3B,oBAAA,IAAI,EAAE,kBAAkB;AACxB,oBAAA,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;oBACvB,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC;oBAChE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE;AACxB,iBAAA;AACnC,aAAA;SACF;IACH,CAAC;CACF;AAED;;AClBA,SAAS,oBAAoB,GAAA;IAC3B,OAAO;AACL,QAAA;AACE,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,WAAW,EAAE,CAAC,GAAG,0BAA0B,CAAC;AAC5C,YAAA,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;AACnB,YAAA,aAAa,EAAE,MAAM,sBAAsB;AAC3C,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,UAAU,EAAE,SAAS;AACrB,oBAAA,SAAS,EAAE,MAAM;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,aAAa,EAAE,MACb,OAAO,2DAAqD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC;AAC1G,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACtB,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AACH;MAqIa,aAAa,CAAA;AACxB,IAAA,WAAA,GAAA;QACE,MAAM,CAAC,kBAAkB,CAAC;IAC5B;8GAHW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAjItB,YAAY,EAAAE,IAAA,CAAA,eAAA,EAAAC,IAAA,CAAA,YAAA,EAGZ,gBAAgB;YAChB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AA6HnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,SAAA,EA3Hb;YACT,qBAAqB,CAAC,MAAK;AACzB,gBAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,gBAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;gBAElD,OAAO,CAAC,YAAW;oBACjB,MAAM,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnF,oBAAA,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE;AAC7B,wBAAA,MAAM,eAAe,CAAC,2BAA2B,EAAE;oBACrD;gBACF,CAAC,GAAG;AACN,YAAA,CAAC,CAAC;YACF,mBAAmB;YACnB,mBAAmB,CACjB,iBAAiB,EACjB,MAAM,OAAO,kDAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CACrF;YACD,mBAAmB,CACjB,+BAA+B,EAC/B,MAAM,OAAO,sDAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CACpE;YACD,mBAAmB,CAAC,2BAA2B,EAAE,MAC/C,OAAO,oEAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,MAAM,KAAK,MAAM,CAAC,+BAA+B,CACnD,CACF;YACD,mBAAmB,CACjB,kCAAkC,EAClC,MAAM,mEAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAC/E;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,oBAAoB;AACjC,aAAA;AACD,YAAA,oBAAoB,CAAC;AACnB,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI;AACpC,oBAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;AAC9F,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;AACvC,oBAAA,OAAO,EAAE,MAAM,OAAO,oDAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;AACrF,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY;AAC5C,oBAAA,OAAO,EAAE,MAAM,OAAO,0DAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC;AAChG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU;AAC1C,oBAAA,OAAO,EAAE,MAAM,OAAO,wDAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;AAC5F,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW;AAC3C,oBAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;AAC9F,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,eAAe;AAC/C,oBAAA,OAAO,EAAE,MAAM,OAAO,8DAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;AACvG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc;AAC/C,oBAAA,OAAO,EAAE,MAAM,OAAO,4DAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC;AACpG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAU;AAC3C,oBAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;AAC7F,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,aAAa;AAC9C,oBAAA,OAAO,EAAE,MAAM,OAAO,4DAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC;AACnG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB;AACjD,oBAAA,OAAO,EAAE,MAAM,OAAO,+DAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC;AACzG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,aAAa;AAC9C,oBAAA,OAAO,EAAE,MAAM,OAAO,2DAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC;AAClG,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU;AAC1C,oBAAA,OAAO,EAAE,MAAM,OAAO,gEAAwC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC;AAC3G,iBAAA;aACF,CAAC;AACF,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,iCAAiC;AAC3C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,oCAAoC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,6BAA6B;AACvC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,8BAA8B;AACxC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,uCAAuC;AAChD,gBAAA,QAAQ,EAAE,oCAAoC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CA/HC,YAAY;YACZ,eAAe,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;AAClE,YAAA,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC7B,gBAAgB;YAChB,4BAA4B,CAAA,EAAA,CAAA,CAAA;;2FA6HnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAnIzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,eAAe,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC;AAClE,wBAAA,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAC7B,gBAAgB;wBAChB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,qBAAqB,CAAC,MAAK;AACzB,4BAAA,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAChD,4BAAA,MAAM,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;4BAElD,OAAO,CAAC,YAAW;gCACjB,MAAM,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAEnF,gCAAA,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE;AAC7B,oCAAA,MAAM,eAAe,CAAC,2BAA2B,EAAE;gCACrD;4BACF,CAAC,GAAG;AACN,wBAAA,CAAC,CAAC;wBACF,mBAAmB;wBACnB,mBAAmB,CACjB,iBAAiB,EACjB,MAAM,OAAO,kDAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CACrF;wBACD,mBAAmB,CACjB,+BAA+B,EAC/B,MAAM,OAAO,sDAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,CACpE;wBACD,mBAAmB,CAAC,2BAA2B,EAAE,MAC/C,OAAO,oEAA8D,CAAC,CAAC,IAAI,CACzE,CAAC,MAAM,KAAK,MAAM,CAAC,+BAA+B,CACnD,CACF;wBACD,mBAAmB,CACjB,kCAAkC,EAClC,MAAM,mEAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAC/E;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,oBAAoB;AACjC,yBAAA;AACD,wBAAA,oBAAoB,CAAC;AACnB,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI;AACpC,gCAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;AAC9F,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO;AACvC,gCAAA,OAAO,EAAE,MAAM,OAAO,oDAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;AACrF,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY;AAC5C,gCAAA,OAAO,EAAE,MAAM,OAAO,0DAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC;AAChG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU;AAC1C,gCAAA,OAAO,EAAE,MAAM,OAAO,wDAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;AAC5F,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,WAAW;AAC3C,gCAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;AAC9F,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,eAAe;AAC/C,gCAAA,OAAO,EAAE,MAAM,OAAO,8DAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;AACvG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,cAAc;AAC/C,gCAAA,OAAO,EAAE,MAAM,OAAO,4DAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC;AACpG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,UAAU;AAC3C,gCAAA,OAAO,EAAE,MAAM,OAAO,yDAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC;AAC7F,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,aAAa;AAC9C,gCAAA,OAAO,EAAE,MAAM,OAAO,4DAAoC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC;AACnG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB;AACjD,gCAAA,OAAO,EAAE,MAAM,OAAO,+DAAuC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC;AACzG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,QAAQ,CAAC,aAAa;AAC9C,gCAAA,OAAO,EAAE,MAAM,OAAO,2DAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC;AAClG,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU;AAC1C,gCAAA,OAAO,EAAE,MAAM,OAAO,gEAAwC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC;AAC3G,6BAAA;yBACF,CAAC;AACF,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,iCAAiC;AAC3C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,oCAAoC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,6BAA6B;AACvC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,8BAA8B;AACxC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,uCAAuC;AAChD,4BAAA,QAAQ,EAAE,oCAAoC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;;;AC/JD;AAEA;AAEA;MAEa,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAwC1D,IAAA;;;AAlCC,IAAA,MAAM,UAAU,GAAA;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC;AACzB,aAAA,UAAU,CACTH,UAA4B,CAAC,MAAM,CAAC,IAAI,EACxCA,UAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAE1D,aAAA,IAAI;aACJ,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEjC,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE;QAElC,OAAO,OAAO,CACZ;aACG,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,MAAM;AACvC,aAAA,GAAG,CAAC,CAAC,IAAI,MAAM;YACd,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,IAAI,GAAG;AACtD,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG;AAC9B,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;AAChC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG;YAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE;YACtD,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC,EACL,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EACpD,CAAC,MAAM,CAAC,CACT;IACH;8GAzCW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA;;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC1BlC;;AAEG;;;;"}
|