@acorex/modules 20.2.0-next.4 → 20.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/contact-management/index.d.ts +21 -163
  2. package/content-management/index.d.ts +59 -2
  3. package/conversation/index.d.ts +77 -68
  4. package/dashboard-management/index.d.ts +7 -4
  5. package/data-management/index.d.ts +66 -10
  6. package/document-management/index.d.ts +51 -2
  7. package/fesm2022/{acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs → acorex-modules-application-management-module-designer.component-BitSGI0F.mjs} +7 -7
  8. package/fesm2022/{acorex-modules-application-management-module-designer.component-CsZjqUAj.mjs.map → acorex-modules-application-management-module-designer.component-BitSGI0F.mjs.map} +1 -1
  9. package/fesm2022/acorex-modules-application-management.mjs +41 -41
  10. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  11. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs → acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs} +47 -47
  12. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-tDyQQDnk.mjs.map → acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs → acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs} +5 -5
  14. package/fesm2022/{acorex-modules-auth-app-chooser.component-yu1DJZKN.mjs.map → acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-blank.layout-ZjroQcdq.mjs → acorex-modules-auth-blank.layout-D0KDl_qd.mjs} +4 -4
  16. package/fesm2022/{acorex-modules-auth-blank.layout-ZjroQcdq.mjs.map → acorex-modules-auth-blank.layout-D0KDl_qd.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-login.module-D1aa1F6G.mjs → acorex-modules-auth-login.module-BHRC357P.mjs} +8 -8
  18. package/fesm2022/{acorex-modules-auth-login.module-D1aa1F6G.mjs.map → acorex-modules-auth-login.module-BHRC357P.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-master.layout-CGQmSlGQ.mjs → acorex-modules-auth-master.layout-DAYMmpBW.mjs} +5 -5
  20. package/fesm2022/{acorex-modules-auth-master.layout-CGQmSlGQ.mjs.map → acorex-modules-auth-master.layout-DAYMmpBW.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs → acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs} +5 -5
  22. package/fesm2022/{acorex-modules-auth-oauth-callback.component-m9YiJ4e9.mjs.map → acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-auth-password.component-Cb3FJ1DZ.mjs → acorex-modules-auth-password.component-BJpxtJYh.mjs} +5 -5
  24. package/fesm2022/{acorex-modules-auth-password.component-Cb3FJ1DZ.mjs.map → acorex-modules-auth-password.component-BJpxtJYh.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-auth-password.component-CiWdX7f_.mjs → acorex-modules-auth-password.component-NAY46d_2.mjs} +5 -5
  26. package/fesm2022/{acorex-modules-auth-password.component-CiWdX7f_.mjs.map → acorex-modules-auth-password.component-NAY46d_2.mjs.map} +1 -1
  27. package/fesm2022/{acorex-modules-auth-routes-pae8qpX9.mjs → acorex-modules-auth-routes-hvqL2dCH.mjs} +2 -2
  28. package/fesm2022/{acorex-modules-auth-routes-pae8qpX9.mjs.map → acorex-modules-auth-routes-hvqL2dCH.mjs.map} +1 -1
  29. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs → acorex-modules-auth-tenant-chooser.component-Cy94co3S.mjs} +4 -4
  30. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bk0l3XoV.mjs.map → acorex-modules-auth-tenant-chooser.component-Cy94co3S.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs → acorex-modules-auth-two-factor-code.component-CAbntIoR.mjs} +4 -4
  32. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DDEIajiI.mjs.map → acorex-modules-auth-two-factor-code.component-CAbntIoR.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-auth-two-factor.module-DtcoHPH4.mjs → acorex-modules-auth-two-factor.module-kPuT8yUw.mjs} +7 -7
  34. package/fesm2022/{acorex-modules-auth-two-factor.module-DtcoHPH4.mjs.map → acorex-modules-auth-two-factor.module-kPuT8yUw.mjs.map} +1 -1
  35. package/fesm2022/{acorex-modules-auth-user-sessions.component-sI6P2joA.mjs → acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs} +5 -5
  36. package/fesm2022/{acorex-modules-auth-user-sessions.component-sI6P2joA.mjs.map → acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs.map} +1 -1
  37. package/fesm2022/acorex-modules-auth.mjs +1 -1
  38. package/fesm2022/acorex-modules-calendar-management.mjs +22 -22
  39. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  40. package/fesm2022/{acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs → acorex-modules-common-search-popup.component-39U0-TIj.mjs} +4 -4
  41. package/fesm2022/{acorex-modules-common-search-popup.component-D7Y4T3Rp.mjs.map → acorex-modules-common-search-popup.component-39U0-TIj.mjs.map} +1 -1
  42. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs → acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs} +4 -4
  43. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-ceEtE6qB.mjs.map → acorex-modules-common-timeline-version-history-popup.component-_KJd8oGw.mjs.map} +1 -1
  44. package/fesm2022/acorex-modules-common.mjs +72 -49
  45. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  46. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs +863 -0
  47. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-_Bxallkg.mjs.map +1 -0
  48. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs → acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs} +2 -35
  49. package/fesm2022/acorex-modules-contact-management-contact-method.entity-CIeZtPSy.mjs.map +1 -0
  50. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs → acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs} +2 -2
  51. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-DjOm8qQb.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-B2DPfonq.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs → acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-BQyjzPR8.mjs.map → acorex-modules-contact-management-emergency-contact.entity-CeIealVy.mjs.map} +1 -1
  54. package/fesm2022/acorex-modules-contact-management.mjs +1 -1
  55. package/fesm2022/acorex-modules-content-management.mjs +823 -14
  56. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  57. package/fesm2022/acorex-modules-conversation.mjs +161 -99
  58. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  59. package/fesm2022/acorex-modules-dashboard-management.mjs +246 -142
  60. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  61. package/fesm2022/acorex-modules-data-management.mjs +516 -50
  62. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  63. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs → acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs} +1132 -191
  64. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs → acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs} +5 -5
  66. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-NaY7Mn95.mjs.map → acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs → acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs} +5 -5
  68. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-epxEuBU5.mjs.map → acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-document-management-details-view.component-CMI2Eokj.mjs → acorex-modules-document-management-details-view.component-v1VroVv-.mjs} +5 -5
  70. package/fesm2022/{acorex-modules-document-management-details-view.component-CMI2Eokj.mjs.map → acorex-modules-document-management-details-view.component-v1VroVv-.mjs.map} +1 -1
  71. package/fesm2022/acorex-modules-document-management-document-distribution-popup.component-DB4JJ3w7.mjs +123 -0
  72. package/fesm2022/acorex-modules-document-management-document-distribution-popup.component-DB4JJ3w7.mjs.map +1 -0
  73. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs +105 -0
  74. package/fesm2022/acorex-modules-document-management-document-signature-popup.component-CK8MX49w.mjs.map +1 -0
  75. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs → acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs} +5 -5
  76. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DBKgwm70.mjs.map → acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-drive.component-DoGdTL3n.mjs → acorex-modules-document-management-drive.component-D5OwpnAP.mjs} +40 -17
  78. package/fesm2022/acorex-modules-document-management-drive.component-D5OwpnAP.mjs.map +1 -0
  79. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs → acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs} +5 -5
  80. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BRsTSoln.mjs.map → acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs → acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs} +5 -5
  82. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CpYeYyR5.mjs.map → acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs → acorex-modules-document-management-link-dialog.component-DKOod11R.mjs} +4 -4
  84. package/fesm2022/{acorex-modules-document-management-link-dialog.component-ZteosW8O.mjs.map → acorex-modules-document-management-link-dialog.component-DKOod11R.mjs.map} +1 -1
  85. package/fesm2022/{acorex-modules-document-management-list-view.component-C4VFnACA.mjs → acorex-modules-document-management-list-view.component-RaW67V7O.mjs} +5 -5
  86. package/fesm2022/{acorex-modules-document-management-list-view.component-C4VFnACA.mjs.map → acorex-modules-document-management-list-view.component-RaW67V7O.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs → acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs} +5 -5
  88. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs.map +1 -0
  89. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs → acorex-modules-document-management-meta-selector-widget-column.component-CBAE1KZM.mjs} +4 -4
  90. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-OXeS0kW8.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-CBAE1KZM.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-B9Eqa6j0.mjs} +4 -4
  92. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-BdVSGb3M.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-B9Eqa6j0.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs → acorex-modules-document-management-meta-selector-widget-view.component-BPBqDMwP.mjs} +4 -4
  94. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-B-Vos30P.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-BPBqDMwP.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs → acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs} +2 -2
  96. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-Bc7rbWwN.mjs.map → acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs → acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs} +5 -5
  98. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DWUVMrVt.mjs.map → acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs → acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs} +4 -4
  100. package/fesm2022/{acorex-modules-document-management-share-dialog.component-CkyuEAwV.mjs.map → acorex-modules-document-management-share-dialog.component-mBEu2KpG.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs → acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs} +4 -4
  102. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DXjcTOny.mjs.map → acorex-modules-document-management-share-email-dialog.component-CI4SKdjk.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs → acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs} +5 -5
  104. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CCirsfoz.mjs.map → acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs → acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs} +5 -5
  106. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-58KZSQC4.mjs.map → acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs.map} +1 -1
  107. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  108. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs} +56 -56
  109. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-DxSYInAR.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs.map} +1 -1
  110. package/fesm2022/{acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs → acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs} +2 -2
  111. package/fesm2022/{acorex-modules-form-template-management-category.entity-DeCfvNqF.mjs.map → acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs.map} +1 -1
  112. package/fesm2022/{acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs → acorex-modules-form-template-management-designer.page-CarisHH5.mjs} +4 -4
  113. package/fesm2022/{acorex-modules-form-template-management-designer.page-BsjFGFOD.mjs.map → acorex-modules-form-template-management-designer.page-CarisHH5.mjs.map} +1 -1
  114. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs → acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs} +2 -2
  115. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CsjgxSgC.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs.map} +1 -1
  116. package/fesm2022/{acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs → acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs} +2 -2
  117. package/fesm2022/{acorex-modules-form-template-management-settings.provider-_BIGyRt8.mjs.map → acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs.map} +1 -1
  118. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs → acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs} +5 -5
  119. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BCg756yD.mjs.map → acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs.map} +1 -1
  120. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs → acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs} +5 -5
  121. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DkqRsXMq.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs.map} +1 -1
  122. package/fesm2022/{acorex-modules-form-template-management-template.entity-CQm29n5v.mjs → acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs} +2 -2
  123. package/fesm2022/{acorex-modules-form-template-management-template.entity-CQm29n5v.mjs.map → acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs.map} +1 -1
  124. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs → acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs} +5 -5
  125. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DW2Z5EcJ.mjs.map → acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs.map} +1 -1
  126. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  127. package/fesm2022/acorex-modules-identifier-management.mjs +512 -0
  128. package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -0
  129. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs → acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs} +36 -36
  130. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-a_wcGVPh.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs.map} +1 -1
  131. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs → acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs} +5 -5
  132. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CsahsE-E.mjs.map → acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs.map} +1 -1
  133. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  134. package/fesm2022/{acorex-modules-locale-management-settings.provider-PKnqTses.mjs → acorex-modules-locale-management-settings.provider-ClVIqYIL.mjs} +2 -2
  135. package/fesm2022/{acorex-modules-locale-management-settings.provider-PKnqTses.mjs.map → acorex-modules-locale-management-settings.provider-ClVIqYIL.mjs.map} +1 -1
  136. package/fesm2022/acorex-modules-locale-management.mjs +1974 -1
  137. package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
  138. package/fesm2022/acorex-modules-location-management.mjs +56 -43
  139. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  140. package/fesm2022/acorex-modules-log-management.mjs +198 -10
  141. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  142. package/fesm2022/acorex-modules-notification-management.mjs +158 -100
  143. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  144. package/fesm2022/{acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs → acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs} +4 -4
  145. package/fesm2022/{acorex-modules-organization-management-add-item.component-CzIIXsRJ.mjs.map → acorex-modules-organization-management-add-item.component-DkXcoyHa.mjs.map} +1 -1
  146. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs → acorex-modules-organization-management-org-chart-configuration.page-kVFv0xZ0.mjs} +5 -5
  147. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-XXAEpYNo.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-kVFv0xZ0.mjs.map} +1 -1
  148. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs → acorex-modules-organization-management-org-chart-configuration.service-7I15ZQGa.mjs} +4 -4
  149. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CIveMQUH.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-7I15ZQGa.mjs.map} +1 -1
  150. package/fesm2022/{acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs → acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs} +12 -12
  151. package/fesm2022/{acorex-modules-organization-management-org-chart.page-UqJ1VOJ-.mjs.map → acorex-modules-organization-management-org-chart.page-DuyhYwnh.mjs.map} +1 -1
  152. package/fesm2022/acorex-modules-organization-management.mjs +265 -122
  153. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  154. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs +714 -0
  155. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs.map +1 -0
  156. package/fesm2022/{acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs → acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs} +238 -136
  157. package/fesm2022/acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs.map +1 -0
  158. package/fesm2022/acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs +470 -0
  159. package/fesm2022/acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs.map +1 -0
  160. package/fesm2022/{acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs → acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs} +174 -218
  161. package/fesm2022/acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs.map +1 -0
  162. package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs → acorex-modules-party-management-party-role.entity-C5BeakjX.mjs} +157 -162
  163. package/fesm2022/acorex-modules-party-management-party-role.entity-C5BeakjX.mjs.map +1 -0
  164. package/fesm2022/acorex-modules-party-management-party.entity-Blwg8o3o.mjs +538 -0
  165. package/fesm2022/acorex-modules-party-management-party.entity-Blwg8o3o.mjs.map +1 -0
  166. package/fesm2022/acorex-modules-party-management-permission-definition.provider-DwMPgZkB.mjs +59 -0
  167. package/fesm2022/acorex-modules-party-management-permission-definition.provider-DwMPgZkB.mjs.map +1 -0
  168. package/fesm2022/acorex-modules-party-management.mjs +2 -0
  169. package/fesm2022/acorex-modules-party-management.mjs.map +1 -0
  170. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs +93 -0
  171. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs.map +1 -0
  172. package/fesm2022/{acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs → acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs} +4 -4
  173. package/fesm2022/{acorex-modules-platform-management-list-version.component-wqhq6ek4.mjs.map → acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs.map} +1 -1
  174. package/fesm2022/acorex-modules-platform-management.mjs +483 -2129
  175. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  176. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  177. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  178. package/fesm2022/{acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs → acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs} +4 -4
  179. package/fesm2022/{acorex-modules-report-management-report-create-root.component-CFNtnshF.mjs.map → acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs.map} +1 -1
  180. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs → acorex-modules-report-management-report-runner-root-page.component-BIUto_c9.mjs} +8 -9
  181. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BIUto_c9.mjs.map +1 -0
  182. package/fesm2022/acorex-modules-report-management.mjs +279 -35
  183. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  184. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  185. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  186. package/fesm2022/acorex-modules-security-management.mjs +60 -60
  187. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  188. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs → acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs} +4 -4
  189. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BhF5x-8D.mjs.map → acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs.map} +1 -1
  190. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs → acorex-modules-settings-management-setting-view.component-D5pKY0Ag.mjs} +4 -4
  191. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Do_gNJ2t.mjs.map → acorex-modules-settings-management-setting-view.component-D5pKY0Ag.mjs.map} +1 -1
  192. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  193. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  194. package/fesm2022/acorex-modules-task-management.mjs +196 -153
  195. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  196. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  197. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  198. package/fesm2022/acorex-modules-training-management.mjs +44 -44
  199. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  200. package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs} +13 -13
  201. package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-DC7jdoqZ.mjs.map → acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs.map} +1 -1
  202. package/fesm2022/{acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs → acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs} +20 -20
  203. package/fesm2022/{acorex-modules-workflow-management-task-board.page-Bv2GAPaN.mjs.map → acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs.map} +1 -1
  204. package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
  205. package/identifier-management/README.md +269 -0
  206. package/identifier-management/index.d.ts +271 -0
  207. package/locale-management/index.d.ts +22 -1
  208. package/location-management/index.d.ts +4 -1
  209. package/notification-management/index.d.ts +9 -5
  210. package/package.json +13 -5
  211. package/party-management/README.md +177 -0
  212. package/party-management/index.d.ts +86 -0
  213. package/platform-management/index.d.ts +2 -140
  214. package/report-management/index.d.ts +481 -35
  215. package/task-management/index.d.ts +4 -4
  216. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs +0 -2600
  217. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-Co0tt3cj.mjs.map +0 -1
  218. package/fesm2022/acorex-modules-contact-management-address-type.entity-DQZwgXki.mjs.map +0 -1
  219. package/fesm2022/acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs +0 -781
  220. package/fesm2022/acorex-modules-contact-management-contact-address.entity-CFfRywsB.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-contact-management-contact-method.entity-Ci93_mb9.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-CqdXpqLN.mjs.map +0 -1
  223. package/fesm2022/acorex-modules-contact-management-contact-source.entity-BsF9p0GK.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-DXGX-riG.mjs.map +0 -1
  225. package/fesm2022/acorex-modules-document-management-drive.component-DoGdTL3n.mjs.map +0 -1
  226. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-D5Csi3A3.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs +0 -1975
  228. package/fesm2022/acorex-modules-locale-management-acorex-modules-locale-management-CfaOC6U5.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CbfJ_7Da.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-report-management.mjs","sources":["../tmp-esm2022/report-management/lib/const.js","../tmp-esm2022/report-management/lib/features/report-runner/reports.provider.js","../tmp-esm2022/report-management/lib/menu.provider.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.service.js","../tmp-esm2022/report-management/lib/entities/data-set/filter.def.js","../tmp-esm2022/report-management/lib/entities/data-set/column.def.js","../tmp-esm2022/report-management/lib/entities/data-set/sort.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.entity.js","../tmp-esm2022/report-management/lib/features/data-llist/column-evaluator-scope.provider.js","../tmp-esm2022/report-management/lib/features/report/create/report-create.workflow.js","../tmp-esm2022/report-management/lib/report-management.module.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-table-view/report-table-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-chart-view/report-chart-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer-page/report-viewer-page.component.js","../tmp-esm2022/report-management/acorex-modules-report-management.js"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement'\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}.module-name`,\n icon: 'fa-light fa-chart-bar'\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'Category',\n fullName: `${config.module}.Category`,\n title: `@${config.i18n}.entities.category.title`,\n titlePlural: `@${config.i18n}.entities.category.title-plural`,\n icon: 'fa-light fa-folder'\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}.entities.report.title`,\n //titlePlural: `@${config.i18n}.entities.report.title-plural`,\n titlePlural: `t(\"entities.report.title-plural\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-chart-pie'\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sR0FBRztJQUNYLElBQUksRUFBRSxtQkFBbUI7SUFDekIsTUFBTSxFQUFDLGtCQUFrQjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDSixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxjQUFjO1FBQ3BDLElBQUksRUFBRSx1QkFBdUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSwwQkFBMEIsTUFBTSxDQUFDLElBQUksTUFBTTtZQUNsRCxXQUFXLEVBQUUsZ0NBQWdDLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFDOUQsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNHLFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLFdBQVc7WUFDckMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksMEJBQTBCO1lBQ2hELFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGlDQUFpQztZQUM3RCxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTO1lBQ25DLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLHdCQUF3QjtZQUM5Qyw4REFBOEQ7WUFDOUQsV0FBVyxFQUFFLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxLQUFLO1lBQ3pFLElBQUksRUFBRSw0QkFBNEI7U0FDckM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gICAgaTE4bjogJ3JlcG9ydC1tYW5hZ2VtZW50JyxcbiAgICBtb2R1bGU6J1JlcG9ydE1hbmFnZW1lbnQnXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgICBjb25maWcsXG4gICAgbW9kdWxlOiB7XG4gICAgICAgIHJvdXRlOiAncmVwb3J0LW1hbmFnZW1lbnQnLFxuICAgICAgICBuYW1lOiBjb25maWcubW9kdWxlLFxuICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5tb2R1bGUtbmFtZWAsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGFydC1iYXInXG4gICAgfSxcbiAgICBlbnRpdGllczoge1xuICAgIGRhdGFTZXQ6IHtcbiAgICAgIG5hbWU6ICdEYXRhU2V0JyxcbiAgICAgIHRpdGxlOiBgdChcImRhdGFTZXRcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgdChcImRhdGFTZXRQbHVyYWxcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgICAgbmFtZTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5DYXRlZ29yeWAsXG4gICAgICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZWAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZS1wbHVyYWxgLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlcidcbiAgICAgICAgfSxcbiAgICAgICAgcmVwb3J0OiB7XG4gICAgICAgICAgICBuYW1lOiAnUmVwb3J0JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5SZXBvcnRgLFxuICAgICAgICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlYCxcbiAgICAgICAgICAgIC8vdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlLXBsdXJhbGAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYHQoXCJlbnRpdGllcy5yZXBvcnQudGl0bGUtcGx1cmFsXCIse3Njb3BlOlwiJHtjb25maWcuaTE4bn1cIn0pYCxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWNoYXJ0LXBpZSdcbiAgICAgICAgfVxuICAgIH0sXG59O1xuIl19","import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER } from '@acorex/platform/common';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.report.name}`;\n }\n async getList(categoryId) {\n const result = (await this.queryService.fetch(`${this.entityName}:GetByCategory`, { categoryId }))?.items;\n return result ?? [];\n }\n async getById(id) {\n const result = await this.queryService.fetch(`${this.entityName}:GetById`, id);\n return result ?? undefined;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportDefinitionProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_DEFINITION_PROVIDER = {\n provide: AXP_REPORT_DEFINITION_PROVIDER,\n useClass: AXMReportDefinitionProvider,\n multi: true,\n};\n// --- Category Provider ---\nexport class AXMReportCategoryProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.category.name}`;\n }\n async getList(parentId) {\n let result = [];\n if (parentId) {\n result = (await this.queryService.fetch(`${this.entityName}:GetChildren`, { parentId }))?.items ?? [];\n }\n else {\n result = (await this.queryService.fetch(`${this.entityName}:GetRoots`, {}))?.items ?? [];\n }\n return result ?? [];\n }\n async getById(id) {\n return this.getList().then(cats => cats.find(cat => cat.id === id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportCategoryProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_CATEGORY_PROVIDER = {\n provide: AXP_REPORT_CATEGORY_PROVIDER,\n useClass: AXMReportCategoryProvider,\n multi: true,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9ELDhCQUE4QixFQUFnRCw0QkFBNEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZNLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFLekMsTUFBTSxPQUFPLDJCQUEyQjtJQUR4QztRQUVZLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZDLGVBQVUsR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0tBaUJ2RjtJQWZHLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUN6QyxHQUFHLElBQUksQ0FBQyxVQUFVLGdCQUFnQixFQUNsQyxFQUFFLFVBQVUsRUFBRSxDQUNqQixDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQ1YsT0FBTyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQVU7UUFDcEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDeEMsR0FBRyxJQUFJLENBQUMsVUFBVSxVQUFVLEVBQzVCLEVBQUUsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksU0FBUyxDQUFDO0lBQy9CLENBQUM7OEdBbEJRLDJCQUEyQjtrSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOztBQXNCWCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUMxQyxPQUFPLEVBQUUsOEJBQThCO0lBQ3ZDLFFBQVEsRUFBRSwyQkFBMkI7SUFDckMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsNkJBQTZCO0FBRTdCLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2QyxlQUFVLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQXFCekY7SUFuQkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFpQjtRQUMzQixJQUFJLE1BQU0sR0FBd0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNuQyxHQUFHLElBQUksQ0FBQyxVQUFVLGNBQWMsRUFDaEMsRUFBRSxRQUFRLEVBQUUsQ0FDZixDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQTtRQUNuQixDQUFDO2FBQ0ksQ0FBQztZQUNGLE1BQU0sR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ25DLEdBQUcsSUFBSSxDQUFDLFVBQVUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUNyQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0F0QlEseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBMEJYLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQ3hDLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBSZXBvcnREZWZpbml0aW9uLCBBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXIsIEFYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiwgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciwgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSwgQVhQUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYUFBhZ2VkTGlzdFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBxdWVyeVNlcnZpY2UgPSBpbmplY3QoQVhQUXVlcnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGVudGl0eU5hbWUgPSBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMucmVwb3J0Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucXVlcnlTZXJ2aWNlLmZldGNoPHsgY2F0ZWdvcnlJZDogc3RyaW5nIH0sIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnREZWZpbml0aW9uPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmVudGl0eU5hbWV9OkdldEJ5Q2F0ZWdvcnlgLFxuICAgICAgICAgICAgeyBjYXRlZ29yeUlkIH1cbiAgICAgICAgKSk/Lml0ZW1zO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IFtdO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxzdHJpbmcsIEFYUFJlcG9ydERlZmluaXRpb24+KFxuICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRCeUlkYCxcbiAgICAgICAgICAgIGlkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8vIC0tLSAgQ2F0ZWdvcnkgUHJvdmlkZXIgLS0tXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIHByaXZhdGUgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBlbnRpdHlOYW1lID0gYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmNhdGVnb3J5Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDx7IHBhcmVudElkOiBzdHJpbmcgfSwgQVhQUGFnZWRMaXN0UmVzdWx0PEFYUFJlcG9ydENhdGVnb3J5Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRDaGlsZHJlbmAsXG4gICAgICAgICAgICAgICAgeyBwYXJlbnRJZCB9XG4gICAgICAgICAgICApKT8uaXRlbXMgPz8gW11cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxhbnksIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnRDYXRlZ29yeT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuZW50aXR5TmFtZX06R2V0Um9vdHNgLCB7fSlcbiAgICAgICAgICAgICk/Lml0ZW1zID8/IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gW107XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KCkudGhlbihjYXRzID0+IGNhdHMuZmluZChjYXQgPT4gY2F0LmlkID09PSBpZCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgICB1c2VDbGFzczogQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07ICJdfQ==","import { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const module = RootConfig.module;\n context.addItems([\n {\n text: RootConfig.entities.report.titlePlural,\n path: `${this.sessionService.application?.name}/${module.route}/reports`,\n icon: RootConfig.entities.report.icon,\n priority: 9001,\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL21lbnUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ1ksbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWN2RCxDQUFDO0lBWkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWpDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDYjtnQkFDSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztnQkFDNUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLFVBQVU7Z0JBQ3hFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcblxuICAgICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBSb290Q29uZmlnLmVudGl0aWVzLnJlcG9ydC50aXRsZVBsdXJhbCxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS8ke21vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuaWNvbixcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogOTAwMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDataSetServiceImpl extends AXMDataSetService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.dataSet.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMDataSetServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMDataSetServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMDataSetServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2RhdGEtc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLHdCQUcvQztDQUFHO0FBR0osTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUMxRDtRQUNFLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FIVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbCB9IGZyb20gJy4vZGF0YS1zZXQudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbFxuPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRGF0YVNldFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lfWApO1xuICB9XG59XG4iXX0=","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_FILTER_WIDGET = [\n {\n type: 'block-layout',\n mode: 'view',\n children: [\n // Enable/Disable Checkbox\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 1 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n defaultValue: true,\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n // Data Source Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'dataSource',\n options: {\n placeholder: 'Select Data Source',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"$root.dataSources\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var ds = context.eval('dataSource'); \n var columns = (ds && ds.columns) || []; \n context.set('availableFields', columns);\n context.set('columnName', null);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Field/Column Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'columnName',\n options: {\n placeholder: 'Select Field',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"availableFields\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"dataSource\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('columnName') }}\",\n action: `{{ \n var columnName = context.eval('columnName');\n var availableFields = context.eval('availableFields') || [];\n var column = availableFields.find(function(c) { return c.name === columnName; }) || {};\n var fieldType = column.type || 'string';\n \n // Determine widget type based on field type\n var widgetType = (function() {\n var t = (typeof fieldType === 'object' && fieldType !== null && 'name' in fieldType) ? fieldType.name : fieldType;\n return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' :\n t === 'number-editor' || t === 'number' ? 'number-filter' :\n t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' :\n t === 'select-editor' || t === 'select' ? 'select-filter' :\n t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' :\n t === 'color-editor' ? 'color-filter' : 'string-filter';\n })();\n \n context.set('widgetType', widgetType);\n context.set('fieldType', fieldType);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Logical Operator (And/Or)\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'logicOperator',\n defaultValue: 'and',\n options: {\n placeholder: 'Logic',\n dataSource: [\n { value: 'and', text: 'And' },\n { value: 'or', text: 'Or' }\n ],\n valueField: 'value',\n textField: 'text',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n },\n // Dynamic Filter Widget based on field type\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n // String Filter\n {\n type: 'string-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter filter value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ !context.eval(\"widgetType\") || context.eval(\"widgetType\") === \"string-filter\" }}',\n },\n },\n // Number Filter\n {\n type: 'number-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter number value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"number-filter\" }}',\n },\n },\n // DateTime Filter\n {\n type: 'datetime-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select date\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"datetime-filter\" }}',\n },\n },\n // Select Filter\n {\n type: 'select-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"select-filter\" }}',\n },\n },\n // Boolean Filter\n {\n type: 'boolean-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"boolean-filter\" }}',\n },\n },\n // Color Filter\n {\n type: 'color-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select color\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"color-filter\" }}',\n },\n },\n ],\n },\n ],\n options: {\n spacing: { margin: \"0px\", padding: \"8px\" }\n }\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2ZpbHRlci5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSzdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFxQjtJQUN6RDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFO1lBQ1IsMEJBQTBCO1lBQzFCO2dCQUNFLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsaUJBQWlCO3dCQUN2QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsU0FBUzt3QkFDZixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxFQUFFO29CQUNSO3dCQUNFLElBQUksRUFBRSxlQUFlO3dCQUNyQixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxvQkFBb0I7NEJBQ2pDLFVBQVUsRUFBRSxNQUFNOzRCQUNsQixTQUFTLEVBQUUsT0FBTzs0QkFDbEIsVUFB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QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsV0FBVyxFQUFFLGtGQUFrRjs0QkFDL0YsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHNEQUFzRDt5QkFDbkU7cUJBQ0Y7b0JBQ0QsaUJBQWlCO29CQUNqQjt3QkFDRSxJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHVEQUF1RDt5QkFDcEU7cUJBQ0Y7b0JBQ0QsZUFBZTtvQkFDZjt3QkFDRSxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxrRkFBa0Y7NEJBQy9GLFFBQVEsRUFBRSxnRUFBZ0U7NEJBQzFFLFVBQVUsRUFBRSxxREFBcUQ7eUJBQ2xFO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtTQUMzQztLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIDogQVhQV2lkZ2V0Tm9kZVtdID0gW1xuICB7XG4gICAgdHlwZTogJ2Jsb2NrLWxheW91dCcsXG4gICAgbW9kZTogJ3ZpZXcnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICAvLyBFbmFibGUvRGlzYWJsZSBDaGVja2JveFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAxIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIERhdGEgU291cmNlIFNlbGVjdG9yXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IERhdGEgU291cmNlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6ICd7eyBjb250ZXh0LmV2YWwoXCIkcm9vdC5kYXRhU291cmNlc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSAoZHMgJiYgZHMuY29sdW1ucykgfHwgW107IFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2F2YWlsYWJsZUZpZWxkcycsIGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2NvbHVtbk5hbWUnLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWx0ZXInLCBudWxsKTtcbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBGaWVsZC9Db2x1bW4gU2VsZWN0b3JcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMyB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdjb2x1bW5OYW1lJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgRmllbGQnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogJ3t7IGNvbnRleHQuZXZhbChcImF2YWlsYWJsZUZpZWxkc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJkYXRhU291cmNlXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2NvbHVtbk5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb250ZXh0LmV2YWwoJ2NvbHVtbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAgIHZhciBhdmFpbGFibGVGaWVsZHMgPSBjb250ZXh0LmV2YWwoJ2F2YWlsYWJsZUZpZWxkcycpIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbiA9IGF2YWlsYWJsZUZpZWxkcy5maW5kKGZ1bmN0aW9uKGMpIHsgcmV0dXJuIGMubmFtZSA9PT0gY29sdW1uTmFtZTsgfSkgfHwge307XG4gICAgICAgICAgICAgICAgICB2YXIgZmllbGRUeXBlID0gY29sdW1uLnR5cGUgfHwgJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZSB3aWRnZXQgdHlwZSBiYXNlZCBvbiBmaWVsZCB0eXBlXG4gICAgICAgICAgICAgICAgICB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAodHlwZW9mIGZpZWxkVHlwZSA9PT0gJ29iamVjdCcgJiYgZmllbGRUeXBlICE9PSBudWxsICYmICduYW1lJyBpbiBmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiBmaWVsZFR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdkYXRlLXRpbWUtZWRpdG9yJyB8fCB0ID09PSAnZGF0ZXRpbWUnIHx8IHQgPT09ICdkYXRlJyA/ICdkYXRldGltZS1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY29sb3ItZWRpdG9yJyA/ICdjb2xvci1maWx0ZXInIDogJ3N0cmluZy1maWx0ZXInO1xuICAgICAgICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWVsZFR5cGUnLCBmaWVsZFR5cGUpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2ZpbHRlcicsIG51bGwpO1xuICAgICAgICAgICAgICAgIH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIExvZ2ljYWwgT3BlcmF0b3IgKEFuZC9PcilcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMiB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdsb2dpY09wZXJhdG9yJyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2FuZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnTG9naWMnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2FuZCcsIHRleHQ6ICdBbmQnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ29yJywgdGV4dDogJ09yJyB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBEeW5hbWljIEZpbHRlciBXaWRnZXQgYmFzZWQgb24gZmllbGQgdHlwZVxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgLy8gU3RyaW5nIEZpbHRlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmctZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiRW50ZXIgZmlsdGVyIHZhbHVlXCIgOiBcIkZpbHRlciBpcyBkaXNhYmxlZFwiIH19JyxcbiAgICAgICAgICAgICAgcmVhZG9ubHk6ICd7eyAhY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgfHwgIWNvbnRleHQuZXZhbChcImNvbHVtbk5hbWVcIikgfX0nLFxuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAne3sgIWNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgfHwgY29udGV4dC5ldmFsKFwid2lkZ2V0VHlwZVwiKSA9PT0gXCJzdHJpbmctZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE51bWJlciBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIkVudGVyIG51bWJlciB2YWx1ZVwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwibnVtYmVyLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBEYXRlVGltZSBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZGF0ZXRpbWUtZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiU2VsZWN0IGRhdGVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcImRhdGV0aW1lLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBTZWxlY3QgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ3NlbGVjdC1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAne3sgKGNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpID8/IHRydWUpID8gXCJTZWxlY3QgdmFsdWVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcInNlbGVjdC1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQm9vbGVhbiBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbi1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiYm9vbGVhbi1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQ29sb3IgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NvbG9yLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIlNlbGVjdCBjb2xvclwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiY29sb3ItZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHNwYWNpbmc6IHsgbWFyZ2luOiBcIjBweFwiLCBwYWRkaW5nOiBcIjhweFwiIH1cbiAgICB9XG4gIH0sXG5dO1xuXG4vLyNlbmRyZWdpb24gIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_COLUMN_WIDGET = [\n {\n type: 'grid-row-layout',\n mode: 'view',\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'view',\n path: 'title',\n options: {\n //readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n }\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2NvbHVtbi5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSTdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4QjtJQUNsRTtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjt3QkFDdkIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLElBQUksRUFBRSxNQUFNO3dCQUNaLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTt3QkFDUCxnREFBZ0Q7eUJBQ2pEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCA6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIG1vZGU6ICd2aWV3JyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAyIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICAgICAgcGF0aDogJ3RpdGxlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgLy9yZWFkb25seTogICAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICBdLFxuICB9LFxuXTtcblxuLy8jZW5kcmVnaW9uICJdfQ==","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_SORT_WIDGET = [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n dataSource: [\n {\n value: 'asc',\n text: 'Ascendent'\n },\n {\n value: 'desc',\n text: 'Desiccate'\n },\n {\n value: 'none',\n text: 'None'\n },\n ],\n textField: 'text',\n valueField: 'value',\n },\n },\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kYXRhLXNldC9zb3J0LmRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2Q0FBNkM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQTZCO0lBQy9EO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsS0FBSyxFQUFFLEtBQUs7NEJBQ1osSUFBSSxFQUFFLFdBQVc7eUJBQ2xCO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLElBQUksRUFBRSxXQUFXO3lCQUNsQjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsTUFBTTs0QkFDYixJQUFJLEVBQUUsTUFBTTt5QkFDYjtxQkFDRjtvQkFDRCxTQUFTLEVBQUUsTUFBTTtvQkFDakIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQ6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBtb2RlOiAndmlldycsXG4gICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3NlbGVjdC1lZGl0b3InLFxuICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgIHBhdGg6ICdlbmFibGVkJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdhc2MnLFxuICAgICAgICAgICAgICB0ZXh0OiAnQXNjZW5kZW50J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdkZXNjJywgXG4gICAgICAgICAgICAgIHRleHQ6ICdEZXNpY2NhdGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ25vbmUnLCBcbiAgICAgICAgICAgICAgdGV4dDogJ05vbmUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8vI2VuZHJlZ2lvbiAiXX0=","import { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../const';\nimport { AXMDataSetService } from './data-set.service';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXM_DATASET_FILTER_WIDGET } from './filter.def';\nimport { AXMDataSourceService } from '@acorex/modules/data-management';\nimport { AXM_DATASET_COLUMN_WIDGET } from './column.def';\nimport { AXM_DATASET_SORT_WIDGET } from './sort.def';\nexport async function dataSetFactory(injector) {\n const dataService = injector.get(AXMDataSetService);\n const i18n = RootConfig.config.i18n;\n const translationService = injector.get(AXTranslationService);\n const dataSourceService = injector.get(AXMDataSourceService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.dataSet.name,\n source: '',\n title: RootConfig.entities.dataSet.title,\n formats: {\n individual: RootConfig.entities.dataSet.title,\n plural: RootConfig.entities.dataSet.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'dataSet',\n title: RootConfig.entities.dataSet.title,\n },\n {\n id: 'filters',\n title: `t(\"advance\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'categoryIds',\n title: 't(\"category\", { scope: \"common\" })',\n groupId: 'dataSet',\n schema: {\n defaultValue: '{{ [context.eval(\"categoryId\")] }}',\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n multiple: true,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'dataSource',\n title: `t(\"dataSource\", { scope: \"${i18n}\" })`,\n groupId: 'dataSet',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: new AXDataSource({\n load: async () => {\n const items = await dataSourceService.query({\n skip: 0, take: 10000\n });\n const translated = await Promise.all(items.items.map(async (item) => ({\n ...item,\n title: await translationService.translateAsync(item.title),\n })));\n return { total: translated.length, items: translated };\n },\n pageSize: 1000,\n }),\n multiple: false,\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ var ds = context.eval('dataSource'); var list = []; Array.isArray(ds.filters) ? (function(){ for(var i=0;i<ds.filters.length;i++){ var item = ds.filters[i]; !item.isSystemFilter ? (function(){ var fl = item.filter; var column = (ds.columns || []).find(function(c){return c.name === fl.columnName;}) || {}; var widgetType = (function(){ var t = column.type || 'string'; t = (typeof t === 'object' && t !== null && 'name' in t) ? t.name : t; return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' : t === 'number-editor' || t === 'number' ? 'number-filter' : t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' : t === 'select-editor' || t === 'select' ? 'select-filter' : t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' : t === 'color-editor' ? 'color-filter' : 'string-filter'; })(); var copy = { columnName: fl.columnName, isRequired: false, enabled: true, filter: { columnName: fl.columnName, value: fl.value }, widgetType: widgetType }; list.push(copy); })() : null; } })() : null; context.set('filters', list); }}`,\n },\n ],\n },\n },\n validations: [\n { rule: 'required' },\n ],\n },\n {\n name: 'filters',\n title: `t(\"filters\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n path: 'filters',\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_FILTER_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var selectedDataSource = context.eval('dataSource');\n if (selectedDataSource) {\n context.set('dataSources', [selectedDataSource]);\n }\n }}`,\n },\n ],\n },\n },\n },\n {\n name: 'columns',\n title: `t(\"columns\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_COLUMN_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ context.set('columns', context.eval('dataSource').columns); }}`,\n },\n ],\n },\n },\n },\n {\n name: 'sorts',\n title: `t(\"sorts\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_SORT_WIDGET,\n // triggers: [\n // {\n // event: \"{{ events.context('dataSource') }}\",\n // action: `{{ context.set('sorts', context.eval('dataSource').columns); }}`,\n // },\n // ],\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'dataSource' }],\n commands: {\n create: {\n execute: async (data) => {\n console.log(data);\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n {\n name: 'columns',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'sorts',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'dataSet',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'categoryIds',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 4,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }]\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxH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OzRCQUNyQixJQUFJLEVBQUUsTUFBTTs0QkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGtDQUFrQzs0QkFDekMsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLGtCQUFrQixDQUFDOzRCQUNqQixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDO3lCQUN0QyxDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRGF0YVNldFNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX0ZJTFRFUl9XSURHRVQgfSBmcm9tICcuL2ZpbHRlci5kZWYnO1xuaW1wb3J0IHsgQVhNRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvZGF0YS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX0NPTFVNTl9XSURHRVQgfSBmcm9tICcuL2NvbHVtbi5kZWYnO1xuaW1wb3J0IHsgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQgfSBmcm9tICcuL3NvcnQuZGVmJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRhdGFTZXRGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1EYXRhU2V0U2VydmljZSk7XG4gIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuICBjb25zdCB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBjb25zdCBkYXRhU291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChBWE1EYXRhU291cmNlU2VydmljZSk7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lLFxuICAgIHNvdXJjZTogJycsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC50aXRsZSxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBpbmRpdmlkdWFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2ZpbHRlcnMnLFxuICAgICAgICB0aXRsZTogYHQoXCJhZHZhbmNlXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6IGB0KFwibmFtZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6IGB0KFwidGl0bGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBhZHZhbmNlOiB7XG4gICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgIHRpdGxlOiAndChcImNhdGVnb3J5XCIsIHsgc2NvcGU6IFwiY29tbW9uXCIgfSknLFxuICAgICAgICBncm91cElkOiAnZGF0YVNldCcsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZSA6ICd7eyBbY29udGV4dC5ldmFsKFwiY2F0ZWdvcnlJZFwiKV0gfX0nLFxuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkubmFtZX1gLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2NhdGVnb3JpZXMue2lkfScgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57dGl0bGV9JyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkYXRhU291cmNlJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZGF0YVNvdXJjZVwiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuc2VsZWN0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3IEFYRGF0YVNvdXJjZSh7XG4gICAgICAgICAgICAgICAgbG9hZDogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBkYXRhU291cmNlU2VydmljZS5xdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgIHNraXA6MCwgdGFrZToxMDAwMFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLml0ZW1zLm1hcChhc3luYyAoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhpdGVtLnRpdGxlKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7IHRvdGFsOiB0cmFuc2xhdGVkLmxlbmd0aCwgaXRlbXM6IHRyYW5zbGF0ZWQgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiAxMDAwLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiBge3sgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IHZhciBsaXN0ID0gW107IEFycmF5LmlzQXJyYXkoZHMuZmlsdGVycykgPyAoZnVuY3Rpb24oKXsgZm9yKHZhciBpPTA7aTxkcy5maWx0ZXJzLmxlbmd0aDtpKyspeyB2YXIgaXRlbSA9IGRzLmZpbHRlcnNbaV07ICFpdGVtLmlzU3lzdGVtRmlsdGVyID8gKGZ1bmN0aW9uKCl7IHZhciBmbCA9IGl0ZW0uZmlsdGVyOyB2YXIgY29sdW1uID0gKGRzLmNvbHVtbnMgfHwgW10pLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMubmFtZSA9PT0gZmwuY29sdW1uTmFtZTt9KSB8fCB7fTsgdmFyIHdpZGdldFR5cGUgPSAoZnVuY3Rpb24oKXsgdmFyIHQgPSBjb2x1bW4udHlwZSB8fCAnc3RyaW5nJzsgdCA9ICh0eXBlb2YgdCA9PT0gJ29iamVjdCcgJiYgdCAhPT0gbnVsbCAmJiAnbmFtZScgaW4gdCkgPyB0Lm5hbWUgOiB0OyByZXR1cm4gdCA9PT0gJ3RleHQtZWRpdG9yJyB8fCB0ID09PSAnbGFyZ2UtdGV4dC1lZGl0b3InIHx8IHQgPT09ICdzdHJpbmcnID8gJ3N0cmluZy1maWx0ZXInIDogdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDogdCA9PT0gJ2RhdGUtdGltZS1lZGl0b3InIHx8IHQgPT09ICdkYXRldGltZScgfHwgdCA9PT0gJ2RhdGUnID8gJ2RhdGV0aW1lLWZpbHRlcicgOiB0ID09PSAnc2VsZWN0LWVkaXRvcicgfHwgdCA9PT0gJ3NlbGVjdCcgPyAnc2VsZWN0LWZpbHRlcicgOiB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6IHQgPT09ICdjb2xvci1lZGl0b3InID8gJ2NvbG9yLWZpbHRlcicgOiAnc3RyaW5nLWZpbHRlcic7IH0pKCk7IHZhciBjb3B5ID0geyBjb2x1bW5OYW1lOiBmbC5jb2x1bW5OYW1lLCBpc1JlcXVpcmVkOiBmYWxzZSwgZW5hYmxlZDogdHJ1ZSwgZmlsdGVyOiB7IGNvbHVtbk5hbWU6IGZsLmNvbHVtbk5hbWUsIHZhbHVlOiBmbC52YWx1ZSB9LCB3aWRnZXRUeXBlOiB3aWRnZXRUeXBlIH07IGxpc3QucHVzaChjb3B5KTsgfSkoKSA6IG51bGw7IH0gfSkoKSA6IG51bGw7IGNvbnRleHQuc2V0KCdmaWx0ZXJzJywgbGlzdCk7IH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7IHJ1bGU6ICdyZXF1aXJlZCcgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZmlsdGVyc1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIHBhdGg6J2ZpbHRlcnMnLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlIDogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIGFzIGFueSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiBge3sgXG4gICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWREYXRhU291cmNlID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7XG4gICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRhU291cmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdkYXRhU291cmNlcycsIFtzZWxlY3RlZERhdGFTb3VyY2VdKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29sdW1ucycsXG4gICAgICAgIHRpdGxlOiBgdChcImNvbHVtbnNcIiwgeyBzY29wZTogXCIke2kxOG59XCIgfSlgLFxuICAgICAgICBncm91cElkOiAnZmlsdGVycycsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogW10sXG4gICAgICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cucmVwZWF0ZXJMYXlvdXQsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGhhc0NvbnRyb2xzOiBmYWxzZSxcbiAgICAgICAgICAgICAgaXNEcmFnZ2FibGUgOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW46IEFYTV9EQVRBU0VUX0NPTFVNTl9XSURHRVQsXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IGNvbnRleHQuc2V0KCdjb2x1bW5zJywgY29udGV4dC5ldmFsKCdkYXRhU291cmNlJykuY29sdW1ucyk7IH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzb3J0cycsXG4gICAgICAgIHRpdGxlOiBgdChcInNvcnRzXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2ZpbHRlcnMnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IFtdLFxuICAgICAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJlcGVhdGVyTGF5b3V0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlIDogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9TT1JUX1dJREdFVCxcbiAgICAgICAgICAgIC8vIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAvLyAgIHtcbiAgICAgICAgICAgIC8vICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAvLyAgICAgYWN0aW9uOiBge3sgY29udGV4dC5zZXQoJ3NvcnRzJywgY29udGV4dC5ldmFsKCdkYXRhU291cmNlJykuY29sdW1ucyk7IH19YCxcbiAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2x1bW5zOiBbeyBuYW1lOiAnbmFtZScgfSwgeyBuYW1lOiAndGl0bGUnIH0sIHsgbmFtZTogJ2RhdGFTb3VyY2UnIH1dLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KHsgc2tpcDogZS5za2lwLCB0YWtlOiBlLnRha2UsIGZpbHRlcjogZS5maWx0ZXIgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdkYXRhU291cmNlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZmlsdGVycycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NvbHVtbnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3NvcnRzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZmlsdGVycycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NhdGVnb3J5SWRzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBgdChcImNyZWF0ZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2NyZWF0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnY3JlYXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZWxldGVJdGVtc1wiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAndChcImRldGFpbFwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ29wZW4tZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAndmlldycsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIGNyZWF0ZUFsbFF1ZXJ5Vmlldyh7IFxuICAgICAgICAgICAgICBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0=","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMColumnEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('dataSource', {\n getColumn: async (columnName, columns) => {\n const column = columns.find(c => c.name === columnName);\n return column;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sK0JBQStCO0lBQTVDO1FBRWMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFZbkQsQ0FBQztJQVZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDM0IsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLE9BQTJDLEVBQUUsRUFBRTtnQkFDakYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUM7U0FFSixDQUFDLENBQUE7SUFDTixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRGF0YVNvdXJjZURhdGFGaWVsZERlZmluaXRpb24sIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRhU291cmNlJywge1xuICAgICAgICAgICAgZ2V0Q29sdW1uOiBhc3luYyAoY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5zOiBBWFBEYXRhU291cmNlRGF0YUZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBjb2x1bW5OYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgfVxuXG59Il19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMReportCreateRootWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n // const refId = context.getVariable<string>('options.refId');\n const comp = await import('./report-create-root/report-create-root.component').then(m => m.AXPReportCreateRootComponent);\n this.popupService.open(comp, await this.translationService.translateAsync('report.create.title', { scope: 'report-management' }));\n }\n}\nexport const AXMReportCreateWorkflow = {\n startStepId: 'report-create-root',\n steps: {\n 'report-create-root': {\n action: 'AXMReportCreateRootWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n // modifyConfirmed: {\n // id: 'modifyConfirmed',\n // action: 'AXPEntityModifyConfirmedAction',\n // },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNyZWF0ZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUF4RTs7UUFDVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVE1RCxDQUFDO0lBTlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNsRCwrREFBK0Q7UUFFOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRTtRQUNMLG9CQUFvQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsOENBQThDO1FBQzlDLEtBQUs7S0FDTjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuXG4gICBjb25zdCBjb21wID0gYXdhaXQgaW1wb3J0KCcuL3JlcG9ydC1jcmVhdGUtcm9vdC9yZXBvcnQtY3JlYXRlLXJvb3QuY29tcG9uZW50JykudGhlbihtID0+IG0uQVhQUmVwb3J0Q3JlYXRlUm9vdENvbXBvbmVudCk7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygncmVwb3J0LmNyZWF0ZS50aXRsZScsIHsgc2NvcGU6ICdyZXBvcnQtbWFuYWdlbWVudCcgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1SZXBvcnRDcmVhdGVXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAncmVwb3J0LWNyZWF0ZS1yb290JyxcbiAgc3RlcHM6IHtcbiAgICAncmVwb3J0LWNyZWF0ZS1yb290Jzoge1xuICAgICAgYWN0aW9uOiAnQVhNUmVwb3J0Q3JlYXRlUm9vdFdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInVubG9ja2VkXCIpID09IHRydWUnIH1dLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHN1Y2Nlc3NUb2FzdDoge1xuICAgICAgaWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtdGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLWJvZHknLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gbW9kaWZ5Q29uZmlybWVkOiB7XG4gICAgLy8gICBpZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgLy8gICBhY3Rpb246ICdBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24nLFxuICAgIC8vIH0sXG4gIH0sXG59OyAiXX0=","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPDomainModule, provideEntity } from '@acorex/platform/domain';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { RootConfig } from './const';\nimport { AXM_REPORT_CATEGORY_PROVIDER, AXM_REPORT_DEFINITION_PROVIDER, } from './features/report-runner/reports.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMDataSetService, AXMDataSetServiceImpl } from './entities';\nimport { AXMColumnEvaluatorScopeProvider } from './features/data-llist/column-evaluator-scope.provider';\nimport { AXMReportCreateRootWorkflowAction, AXMReportCreateWorkflow, } from './features/report/create/report-create.workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nfunction routesFacory() {\n let routes = [\n {\n path: `:app/${RootConfig.module.route}/viewer`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: ':reportId',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n {\n path: '',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n ],\n },\n {\n path: `:app/${RootConfig.module.route}/reports`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: '**',\n loadComponent: () => import('./features/report-runner/report-runner-root-page/report-runner-root-page.component').then((c) => c.AXMReportRunnerRootPageComponent),\n data: { reuse: true },\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMReportManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportManagementModule, imports: [AXPDomainModule, i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportManagementModule, providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPDomainModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXMReportManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPDomainModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw4QkFBOEIsR0FDL0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFrRGxELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLHVCQUF1QixHQUN4QixNQUFNLGlEQUFpRCxDQUFDOzs7QUF2RHpELFNBQVMsWUFBWTtJQUNuQixJQUFJLE1BQU0sR0FBVztRQUNuQjtZQUNF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QUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCxpQ0FBaUM7NkJBQ2xDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0QsOEJBQThCO3dCQUM5Qiw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxlQUFlOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxJQUFJO3dCQUNKLG9DQUFvQzt3QkFDcEMseUNBQXlDO3dCQUN6QyxtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSiwrQ0FBK0M7d0JBQy9DLG1EQUFtRDt3QkFDbkQsbUJBQW1CO3dCQUNuQixLQUFLO3dCQUNMOzRCQUNFLE9BQU8sRUFBRSxNQUFNOzRCQUNmLEtBQUssRUFBRSxJQUFJOzRCQUNYLFVBQVUsRUFBRSxZQUFZO3lCQUN6Qjt3QkFFRCxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzNGOzRCQUNFLE9BQU8sRUFBRSx1Q0FBdUM7NEJBQ2hELFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQXV0aEd1YXJkIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9NRU5VX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRG9tYWluTW9kdWxlLCBwcm92aWRlRW50aXR5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9kb21haW4nO1xuaW1wb3J0IHsgQVhQUm9vdExheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL2RlZmF1bHQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUk9VVEVTIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7XG4gIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gIEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUixcbn0gZnJvbSAnLi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydHMucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNTWVudVByb3ZpZGVyIH0gZnJvbSAnLi9tZW51LnByb3ZpZGVyJztcblxuZnVuY3Rpb24gcm91dGVzRmFjb3J5KCkge1xuICBsZXQgcm91dGVzOiBSb3V0ZXMgPSBbXG4gICAge1xuICAgICAgcGF0aDogYDphcHAvJHtSb290Q29uZmlnLm1vZHVsZS5yb3V0ZX0vdmlld2VyYCxcbiAgICAgIGNhbkFjdGl2YXRlOiBbQVhQQXV0aEd1YXJkXSxcbiAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFYUFJvb3RMYXlvdXRDb21wb25lbnQ7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICc6cmVwb3J0SWQnLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXZpZXdlci9yZXBvcnQtdmlld2VyLXBhZ2UvcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYUFJlcG9ydFZpZXdlclBhZ2VDb21wb25lbnQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXZpZXdlci9yZXBvcnQtdmlld2VyLXBhZ2UvcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYUFJlcG9ydFZpZXdlclBhZ2VDb21wb25lbnQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiBgOmFwcC8ke1Jvb3RDb25maWcubW9kdWxlLnJvdXRlfS9yZXBvcnRzYCxcbiAgICAgIGNhbkFjdGl2YXRlOiBbQVhQQXV0aEd1YXJkXSxcbiAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFYUFJvb3RMYXlvdXRDb21wb25lbnQ7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcqKicsXG4gICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYTVJlcG9ydFJ1bm5lclJvb3RQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbmltcG9ydCB7IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNRGF0YVNldFNlcnZpY2UsIEFYTURhdGFTZXRTZXJ2aWNlSW1wbCB9IGZyb20gJy4vZW50aXRpZXMnO1xuaW1wb3J0IHsgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciB9IGZyb20gJy4vZmVhdHVyZXMvZGF0YS1sbGlzdC9jb2x1bW4tZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIEFYTVJlcG9ydENyZWF0ZVJvb3RXb3JrZmxvd0FjdGlvbixcbiAgQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG59IGZyb20gJy4vZmVhdHVyZXMvcmVwb3J0L2NyZWF0ZS9yZXBvcnQtY3JlYXRlLndvcmtmbG93JztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBEb21haW5Nb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdyZXBvcnQtY3JlYXRlJzogQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhNRGF0YVNldFNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRGF0YVNldFNlcnZpY2VJbXBsLFxuICAgIH0sXG4gICAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfUFJPVklERVIsXG4gICAgLy8gICAgIHVzZUNsYXNzOiBBWFBSZXBvcnRTZWFyY2hQcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAvLyAgICAgdXNlQ2xhc3M6IEFYUFJlcG9ydFNlYXJjaERlZmluaXRpb25Qcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuXG4gICAgcHJvdmlkZUVudGl0eShbUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuZnVsbE5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkuZnVsbE5hbWVdKSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydE1hbmFnZW1lbnRNb2R1bGUgeyB9XG4iXX0=","import { AXPReportDefinitionService, } from \"@acorex/platform/common\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPCommandService } from \"@acorex/platform/runtime\";\nexport const AXPReportViewerViewModel = signalStore(withState(() => ({\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n categoriesPath: [],\n allowFetchData: false,\n status: AXPPageStatus.Idle,\n error: null,\n})), withComputed((store) => ({\n //#region ---- Layout Management ----\n availableLayouts: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts)\n return [];\n return report.layouts.map(layout => ({\n id: layout.id,\n title: layout.title,\n icon: layout.icon,\n type: layout.layout.type\n }));\n }),\n defaultLayout: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts?.length)\n return null;\n // Find layout marked as default, or use first layout\n return report.layouts.find(l => l.isDefault) || report.layouts[0];\n }),\n activeLayoutId: computed(() => store.currentLayout()?.id || null),\n layoutType: computed(() => store.currentLayout()?.layout?.type || null),\n //#endregion\n //#region ---- Layout-Specific Configurations ----\n tableLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table'\n ? layout.layout\n : null;\n }),\n chartLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'chart'\n ? layout.layout\n : null;\n }),\n //#endregion\n //#region ---- State Indicators ----\n isLoading: computed(() => store.status() === AXPPageStatus.Processing),\n isExecuting: computed(() => store.status() === AXPPageStatus.Submitting),\n hasError: computed(() => store.error() !== null),\n hasMultipleLayouts: computed(() => {\n const report = store.reportDefinition();\n return (report?.layouts?.length ?? 0) > 1;\n }),\n title: computed(() => store.reportDefinition()?.title ?? 'Report Viewer'),\n description: computed(() => store.reportDefinition()?.description ?? null),\n //#endregion\n //#region ---- Form Configuration ----\n formDefinition: computed(() => {\n const report = store.reportDefinition();\n if (!report || !report.parameterGroups) {\n return { groups: [] };\n }\n return {\n groups: report.parameterGroups.map(group => ({\n name: group.name,\n title: group.title,\n description: group.description,\n parameters: group.parameters.map(param => ({\n path: param.path,\n title: param.title,\n description: param.description,\n widget: param.widget\n }))\n }))\n };\n }),\n //#endregion\n //#region ---- Layout Type Detection ----\n isTableLayout: computed(() => store.currentLayout()?.layout?.type === 'table'),\n isChartLayout: computed(() => store.currentLayout()?.layout?.type === 'chart'),\n //#endregion\n //#region ---- Action States ----\n canExecute: computed(() => store.reportDefinition() !== null &&\n store.currentLayout() !== null &&\n store.status() !== AXPPageStatus.Processing &&\n store.status() !== AXPPageStatus.Submitting),\n canSwitchLayout: computed(() => (store.reportDefinition()?.layouts?.length ?? 0) > 1 &&\n store.status() !== AXPPageStatus.Submitting),\n canSelectRows: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table' &&\n layout.layout.options?.selectable?.mode &&\n layout.layout.options?.selectable?.mode !== 'none';\n }),\n //#endregion\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => {\n const executeReport = async () => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout)\n return;\n patchState(store, {\n status: AXPPageStatus.Submitting,\n error: null\n });\n patchState(store, {\n allowFetchData: true\n });\n patchState(store, {\n status: AXPPageStatus.Submitted,\n error: null\n });\n };\n const fetchData = async (parameters = {}) => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n return null;\n }\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n // Create execution context - ensure dataSource is provided\n const dataSource = layout.dataSource || {\n type: 'query',\n name: 'getEmployeeList'\n };\n const context = {\n reportId: report.id,\n layoutId: layout.id,\n dataSource: dataSource,\n parameters: {\n ...store.filterContext(),\n ...parameters\n }\n };\n return await commandService.execute('ReportManagement.Report:Execute', context);\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to execute report',\n });\n console.error('Error executing report:', error);\n return null;\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n };\n return {\n //#region ---- Report Loading ----\n async loadReport(reportId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n const report = await reportDefinitionService.getReportById(reportId);\n if (report) {\n console.log('report', report);\n // Configure parameter widgets with proper paths\n report.parameterGroups.forEach(group => {\n group.parameters.forEach(param => {\n param.widget.path = param.path;\n });\n });\n // Load categories path for breadcrumbs\n const categoriesPath = await reportDefinitionService.getCategoriesPathByReportId(reportId);\n // Set default layout\n const defaultLayout = report.layouts.find(l => l.isDefault) || report.layouts[0];\n patchState(store, {\n reportDefinition: report,\n currentLayout: defaultLayout,\n categoriesPath: categoriesPath || [],\n filterContext: {}, // Reset context when loading new report\n allowFetchData: false,\n });\n }\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to load report definition'\n });\n console.error('Error loading report:', error);\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n },\n //#endregion\n //#region ---- Layout Management ----\n switchLayout(layoutId) {\n const report = store.reportDefinition();\n if (!report)\n return;\n const layout = report.layouts.find(l => l.id === layoutId);\n if (layout) {\n patchState(store, {\n currentLayout: layout,\n });\n }\n },\n //#endregion\n //#region ---- Data Execution ----\n executeReport,\n fetchData,\n //#endregion\n //#region ---- Filter Management ----\n updateFilterContext(context) {\n patchState(store, {\n filterContext: { ...store.filterContext(), ...context },\n });\n },\n clearFilters() {\n patchState(store, {\n allowFetchData: false,\n filterContext: {},\n });\n },\n resetFilters() {\n patchState(store, {\n allowFetchData: false\n });\n },\n //#endregion\n //#region ---- Export Management ----\n async exportReport(format) {\n const layout = store.currentLayout();\n if (!layout?.export) {\n console.warn('Export not configured for current layout');\n return;\n }\n try {\n // Export logic would go here\n // This would typically call a different command for export\n console.log(`Exporting report in ${format} format`);\n }\n catch (error) {\n console.error('Error exporting report:', error);\n }\n },\n //#endregion\n //#region ---- Utility Methods ----\n refresh() {\n return executeReport();\n },\n clearError() {\n patchState(store, {\n error: null\n });\n },\n reset() {\n patchState(store, {\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n allowFetchData: false,\n categoriesPath: [],\n status: AXPPageStatus.Idle,\n error: null,\n });\n }\n //#endregion\n };\n}), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n // Subscribe to language and locale changes\n translationService.langChanges$.subscribe(() => {\n // Handle language change if needed\n });\n localeService.profileChanged$.subscribe(() => {\n // Handle locale change if needed \n });\n },\n onDestroy() {\n // Cleanup if needed\n }\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCwwQkFBMEIsR0FPM0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc3RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxXQUFXLENBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsZ0JBQWdCLEVBQUUsSUFBa0M7SUFDcEQsYUFBYSxFQUFFLElBQXdDO0lBQ3ZELGFBQWEsRUFBRSxFQUFvQjtJQUNuQyxjQUFjLEVBQUUsRUFBVztJQUMzQixjQUFjLEVBQUUsS0FBSztJQUNyQixNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUk7SUFDMUIsS0FBSyxFQUFFLElBQXFCO0NBQzdCLENBQUMsQ0FBQyxFQUVILFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2Qix5Q0FBeUM7SUFFekMsZ0JBQWdC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QUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYUFJlcG9ydERlZmluaXRpb24sXG4gIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlLFxuICBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uLFxuICBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbixcbiAgQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCxcbiAgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZFJlc3VsdCxcbiAgQVhQUmVwb3J0Q2hhcnRMYXlvdXQsXG4gIEFYUFJlcG9ydFRhYmxlTGF5b3V0LFxufSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcbmltcG9ydCB7IEFYUFBhZ2VTdGF0dXMgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlclwiO1xuaW1wb3J0IHsgQVhQRHluYW1pY0Zvcm1EZWZpbml0aW9uIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUsIHdpdGhNZXRob2RzLCB3aXRoQ29tcHV0ZWQsIHdpdGhTdGF0ZSwgd2l0aEhvb2tzLCBwYXRjaFN0YXRlIH0gZnJvbSBcIkBuZ3J4L3NpZ25hbHNcIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS90cmFuc2xhdGlvblwiO1xuaW1wb3J0IHsgQVhMb2NhbGVTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9sb2NhbGVcIjtcbmltcG9ydCB7IEFYUENvbW1hbmRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuaW1wb3J0IHsgQVhQQ29udGV4dERhdGEgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwgPSBzaWduYWxTdG9yZShcbiAgd2l0aFN0YXRlKCgpID0+ICh7XG4gICAgcmVwb3J0RGVmaW5pdGlvbjogbnVsbCBhcyBBWFBSZXBvcnREZWZpbml0aW9uIHwgbnVsbCxcbiAgICBjdXJyZW50TGF5b3V0OiBudWxsIGFzIEFYUFJlcG9ydExheW91dERlZmluaXRpb24gfCBudWxsLFxuICAgIGZpbHRlckNvbnRleHQ6IHt9IGFzIEFYUENvbnRleHREYXRhLFxuICAgIGNhdGVnb3JpZXNQYXRoOiBbXSBhcyBhbnlbXSxcbiAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgZXJyb3I6IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgfSkpLFxuXG4gIHdpdGhDb21wdXRlZCgoc3RvcmUpID0+ICh7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBMYXlvdXQgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIGF2YWlsYWJsZUxheW91dHM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIGlmICghcmVwb3J0Py5sYXlvdXRzKSByZXR1cm4gW107XG5cbiAgICAgIHJldHVybiByZXBvcnQubGF5b3V0cy5tYXAobGF5b3V0ID0+ICh7XG4gICAgICAgIGlkOiBsYXlvdXQuaWQsXG4gICAgICAgIHRpdGxlOiBsYXlvdXQudGl0bGUsXG4gICAgICAgIGljb246IGxheW91dC5pY29uLFxuICAgICAgICB0eXBlOiBsYXlvdXQubGF5b3V0LnR5cGVcbiAgICAgIH0gYXMgQVhQTGF5b3V0U3dpdGNoZXJPcHRpb24pKTtcbiAgICB9KSxcblxuICAgIGRlZmF1bHRMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIGlmICghcmVwb3J0Py5sYXlvdXRzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBGaW5kIGxheW91dCBtYXJrZWQgYXMgZGVmYXVsdCwgb3IgdXNlIGZpcnN0IGxheW91dFxuICAgICAgcmV0dXJuIHJlcG9ydC5sYXlvdXRzLmZpbmQobCA9PiBsLmlzRGVmYXVsdCkgfHwgcmVwb3J0LmxheW91dHNbMF07XG4gICAgfSksXG5cbiAgICBhY3RpdmVMYXlvdXRJZDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5pZCB8fCBudWxsKSxcblxuICAgIGxheW91dFR5cGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlIHx8IG51bGwpLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dC1TcGVjaWZpYyBDb25maWd1cmF0aW9ucyAgIC0tLS1cblxuICAgIHRhYmxlTGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZSdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuICAgIGNoYXJ0TGF5b3V0Q29uZmlnOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICdjaGFydCdcbiAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0XG4gICAgICAgIDogbnVsbDtcbiAgICB9KSxcblxuXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU3RhdGUgSW5kaWNhdG9ycyAgIC0tLS1cblxuICAgIGlzTG9hZGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgaXNFeGVjdXRpbmc6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcpLFxuICAgIGhhc0Vycm9yOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5lcnJvcigpICE9PSBudWxsKSxcbiAgICBoYXNNdWx0aXBsZUxheW91dHM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIHJldHVybiAocmVwb3J0Py5sYXlvdXRzPy5sZW5ndGggPz8gMCkgPiAxO1xuICAgIH0pLFxuXG4gICAgdGl0bGU6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8udGl0bGUgPz8gJ1JlcG9ydCBWaWV3ZXInKSxcbiAgICBkZXNjcmlwdGlvbjogY29tcHV0ZWQoKCkgPT4gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpPy5kZXNjcmlwdGlvbiA/PyBudWxsKSxcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBGb3JtIENvbmZpZ3VyYXRpb24gICAtLS0tXG5cbiAgICBmb3JtRGVmaW5pdGlvbjogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgaWYgKCFyZXBvcnQgfHwgIXJlcG9ydC5wYXJhbWV0ZXJHcm91cHMpIHtcbiAgICAgICAgcmV0dXJuIHsgZ3JvdXBzOiBbXSB9IGFzIEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ3JvdXBzOiByZXBvcnQucGFyYW1ldGVyR3JvdXBzLm1hcChncm91cCA9PiAoe1xuICAgICAgICAgIG5hbWU6IGdyb3VwLm5hbWUsXG4gICAgICAgICAgdGl0bGU6IGdyb3VwLnRpdGxlLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBncm91cC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBwYXJhbWV0ZXJzOiBncm91cC5wYXJhbWV0ZXJzLm1hcChwYXJhbSA9PiAoe1xuICAgICAgICAgICAgcGF0aDogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHRpdGxlOiBwYXJhbS50aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXJhbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHdpZGdldDogcGFyYW0ud2lkZ2V0XG4gICAgICAgICAgfSkpXG4gICAgICAgIH0pKVxuICAgICAgfSBhcyBBWFBEeW5hbWljRm9ybURlZmluaXRpb247XG4gICAgfSksXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IFR5cGUgRGV0ZWN0aW9uICAgLS0tLVxuXG4gICAgaXNUYWJsZUxheW91dDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScpLFxuICAgIGlzQ2hhcnRMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlID09PSAnY2hhcnQnKSxcblxuICAgIC8vI2VuZHJlZ2lvblxuXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEFjdGlvbiBTdGF0ZXMgICAtLS0tXG5cbiAgICBjYW5FeGVjdXRlOiBjb21wdXRlZCgoKSA9PlxuICAgICAgc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpICE9PSBudWxsICYmXG4gICAgICBzdG9yZS5jdXJyZW50TGF5b3V0KCkgIT09IG51bGwgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmdcbiAgICApLFxuXG4gICAgY2FuU3dpdGNoTGF5b3V0OiBjb21wdXRlZCgoKSA9PlxuICAgICAgKHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8ubGF5b3V0cz8ubGVuZ3RoID8/IDApID4gMSAmJlxuICAgICAgc3RvcmUuc3RhdHVzKCkgIT09IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGluZ1xuICAgICksXG5cbiAgICBjYW5TZWxlY3RSb3dzOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScgJiZcbiAgICAgICAgbGF5b3V0LmxheW91dC5vcHRpb25zPy5zZWxlY3RhYmxlPy5tb2RlICYmXG4gICAgICAgIGxheW91dC5sYXlvdXQub3B0aW9ucz8uc2VsZWN0YWJsZT8ubW9kZSAhPT0gJ25vbmUnO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG4gIH0pKSxcblxuICB3aXRoTWV0aG9kcyhcbiAgICAoc3RvcmUsXG4gICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSksXG4gICAgICBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSlcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGVSZXBvcnQgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGF5b3V0ID0gc3RvcmUuY3VycmVudExheW91dCgpO1xuICAgICAgICBpZiAoIXJlcG9ydCB8fCAhbGF5b3V0KSByZXR1cm47XG5cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5TdWJtaXR0aW5nLFxuICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRlZCxcbiAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZldGNoRGF0YSA9IGFzeW5jIChwYXJhbWV0ZXJzOiBBWFBDb250ZXh0RGF0YSA9IHt9KTogUHJvbWlzZTxBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0IHwgbnVsbD4gPT4ge1xuICAgICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgICAgaWYgKCFyZXBvcnQgfHwgIWxheW91dCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQ3JlYXRlIGV4ZWN1dGlvbiBjb250ZXh0IC0gZW5zdXJlIGRhdGFTb3VyY2UgaXMgcHJvdmlkZWRcbiAgICAgICAgICBjb25zdCBkYXRhU291cmNlID0gbGF5b3V0LmRhdGFTb3VyY2UgfHwge1xuICAgICAgICAgICAgdHlwZTogJ3F1ZXJ5JyBhcyBjb25zdCxcbiAgICAgICAgICAgIG5hbWU6ICdnZXRFbXBsb3llZUxpc3QnXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IGNvbnRleHQ6IEFYUExheW91dEV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gICAgICAgICAgICByZXBvcnRJZDogcmVwb3J0LmlkLFxuICAgICAgICAgICAgbGF5b3V0SWQ6IGxheW91dC5pZCxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGRhdGFTb3VyY2UsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIC4uLnN0b3JlLmZpbHRlckNvbnRleHQoKSxcbiAgICAgICAgICAgICAgLi4ucGFyYW1ldGVyc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICByZXR1cm4gYXdhaXQgY29tbWFuZFNlcnZpY2UuZXhlY3V0ZSgnUmVwb3J0TWFuYWdlbWVudC5SZXBvcnQ6RXhlY3V0ZScsIGNvbnRleHQpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIGVycm9yOiAnRmFpbGVkIHRvIGV4ZWN1dGUgcmVwb3J0JyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBleGVjdXRpbmcgcmVwb3J0OicsIGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFJlcG9ydCBMb2FkaW5nICAgLS0tLVxuXG4gICAgICAgIGFzeW5jIGxvYWRSZXBvcnQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXBvcnQgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRSZXBvcnRCeUlkKHJlcG9ydElkKTtcbiAgICAgICAgICAgIGlmIChyZXBvcnQpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlcG9ydCcsIHJlcG9ydCk7XG4gICAgICAgICAgICAgIC8vIENvbmZpZ3VyZSBwYXJhbWV0ZXIgd2lkZ2V0cyB3aXRoIHByb3BlciBwYXRoc1xuICAgICAgICAgICAgICByZXBvcnQucGFyYW1ldGVyR3JvdXBzLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICAgICAgICAgIGdyb3VwLnBhcmFtZXRlcnMuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgICAgICAgICAgICBwYXJhbS53aWRnZXQucGF0aCA9IHBhcmFtLnBhdGg7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIC8vIExvYWQgY2F0ZWdvcmllcyBwYXRoIGZvciBicmVhZGNydW1ic1xuICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldENhdGVnb3JpZXNQYXRoQnlSZXBvcnRJZChyZXBvcnRJZCk7XG5cbiAgICAgICAgICAgICAgLy8gU2V0IGRlZmF1bHQgbGF5b3V0XG4gICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRMYXlvdXQgPSByZXBvcnQubGF5b3V0cy5maW5kKGwgPT4gbC5pc0RlZmF1bHQpIHx8IHJlcG9ydC5sYXlvdXRzWzBdO1xuXG4gICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICByZXBvcnREZWZpbml0aW9uOiByZXBvcnQsXG4gICAgICAgICAgICAgICAgY3VycmVudExheW91dDogZGVmYXVsdExheW91dCxcbiAgICAgICAgICAgICAgICBjYXRlZ29yaWVzUGF0aDogY2F0ZWdvcmllc1BhdGggfHwgW10sXG4gICAgICAgICAgICAgICAgZmlsdGVyQ29udGV4dDoge30sIC8vIFJlc2V0IGNvbnRleHQgd2hlbiBsb2FkaW5nIG5ldyByZXBvcnRcbiAgICAgICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgIGVycm9yOiAnRmFpbGVkIHRvIGxvYWQgcmVwb3J0IGRlZmluaXRpb24nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgcmVwb3J0OicsIGVycm9yKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IE1hbmFnZW1lbnQgICAtLS0tXG5cbiAgICAgICAgc3dpdGNoTGF5b3V0KGxheW91dElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICAgICAgaWYgKCFyZXBvcnQpIHJldHVybjtcblxuICAgICAgICAgIGNvbnN0IGxheW91dCA9IHJlcG9ydC5sYXlvdXRzLmZpbmQobCA9PiBsLmlkID09PSBsYXlvdXRJZCk7XG4gICAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBsYXlvdXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIEV4ZWN1dGlvbiAgIC0tLS1cblxuICAgICAgICBleGVjdXRlUmVwb3J0LFxuICAgICAgICBmZXRjaERhdGEsXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBGaWx0ZXIgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgICAgICB1cGRhdGVGaWx0ZXJDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7IC4uLnN0b3JlLmZpbHRlckNvbnRleHQoKSwgLi4uY29udGV4dCB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNsZWFyRmlsdGVycygpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7fSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXNldEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEV4cG9ydCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIGFzeW5jIGV4cG9ydFJlcG9ydChmb3JtYXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgICAgICBpZiAoIWxheW91dD8uZXhwb3J0KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0V4cG9ydCBub3QgY29uZmlndXJlZCBmb3IgY3VycmVudCBsYXlvdXQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gRXhwb3J0IGxvZ2ljIHdvdWxkIGdvIGhlcmVcbiAgICAgICAgICAgIC8vIFRoaXMgd291bGQgdHlwaWNhbGx5IGNhbGwgYSBkaWZmZXJlbnQgY29tbWFuZCBmb3IgZXhwb3J0XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXhwb3J0aW5nIHJlcG9ydCBpbiAke2Zvcm1hdH0gZm9ybWF0YCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4cG9ydGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICAgICAgICByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIHJldHVybiBleGVjdXRlUmVwb3J0KCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBudWxsLFxuICAgICAgICAgICAgZmlsdGVyQ29udGV4dDoge30sXG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBjYXRlZ29yaWVzUGF0aDogW10sXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgICB9O1xuICAgIH1cbiAgKSxcblxuICB3aXRoSG9va3MoKHN0b3JlLFxuICAgIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSksXG4gICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICkgPT4gKHtcbiAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAvLyBTdWJzY3JpYmUgdG8gbGFuZ3VhZ2UgYW5kIGxvY2FsZSBjaGFuZ2VzXG4gICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBsYW5ndWFnZSBjaGFuZ2UgaWYgbmVlZGVkXG4gICAgICB9KTtcblxuICAgICAgbG9jYWxlU2VydmljZS5wcm9maWxlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSGFuZGxlIGxvY2FsZSBjaGFuZ2UgaWYgbmVlZGVkICBcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25EZXN0cm95KCkge1xuICAgICAgLy8gQ2xlYW51cCBpZiBuZWVkZWRcbiAgICB9XG4gIH0pKVxuKTsgIl19","import { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { applySystemActionDefault, getSystemActions } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPReportTableViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.commandService = inject(AXPCommandService);\n this.grid = viewChild('grid', ...(ngDevMode ? [{ debugName: \"grid\" }] : []));\n //#endregion\n //#region ---- Computed Properties ---- \n this.layout = computed(() => {\n return this.vm.currentLayout()?.layout;\n }, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.#fetchData = effect(() => {\n if (this.grid() && this.vm.allowFetchData()) {\n this.grid()?.refresh();\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.dataSource = new AXDataSource({\n load: async (e) => {\n if (!this.vm.allowFetchData()) {\n return { items: [], total: 0 };\n }\n const result = await this.vm.fetchData(e);\n if (!result?.data || result.data.type !== 'table') {\n console.error('invalid table result');\n return { items: [], total: 0 };\n }\n ;\n let items = result.data.items ?? [];\n let total = result.data.total || 0;\n return { items, total };\n },\n pageSize: 10,\n key: 'id'\n });\n this.columns = computed(() => {\n return this.layout().columns?.map((col) => ({\n field: col.field,\n title: col.title || col.field,\n width: col.width || '150px',\n visible: col.visible !== false,\n align: col.align || 'left',\n widget: { ...col.widget, path: col.field }\n })) || [];\n }, ...(ngDevMode ? [{ debugName: \"columns\" }] : []));\n this.paginationEnabled = computed(() => {\n return this.layout().options?.pagination !== false;\n }, ...(ngDevMode ? [{ debugName: \"paginationEnabled\" }] : []));\n this.primaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'primary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"primaryRowAction\" }] : []));\n this.hasPrimaryRowAction = computed(() => {\n return this.primaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasPrimaryRowAction\" }] : []));\n this.secondaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'secondary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"secondaryRowAction\" }] : []));\n this.hasSecondaryRowAction = computed(() => {\n return this.secondaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasSecondaryRowAction\" }] : []));\n this.defaultRowAction = computed(() => {\n const defaultAction = this.layout().actions?.find(a => a.default);\n if (!defaultAction) {\n return null;\n }\n return this.convertToRowCommandItem(defaultAction);\n }, ...(ngDevMode ? [{ debugName: \"defaultRowAction\" }] : []));\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleRowClick(event) {\n this.handleRowAction(event.name, event.data);\n }\n handleDbRowClick(event) {\n if (this.defaultRowAction()) {\n this.handleRowAction(this.defaultRowAction().name, event.data);\n }\n }\n handleRowAction(name, data) {\n console.log('row action', name, data);\n }\n #fetchData;\n //#endregion\n //#region ---- Helpers ----\n convertToRowCommandItem(action) {\n const systemAction = getSystemActions(action.type);\n if (!systemAction) {\n return {\n icon: action.icon ?? 'fa-light fa-eye',\n text: action.title,\n name: action.name,\n divided: action.break,\n color: action.color,\n };\n }\n const defaultAction = applySystemActionDefault(action, systemAction.key);\n return {\n icon: defaultAction.icon ?? 'fa-light fa-eye',\n text: defaultAction.title,\n name: defaultAction.name,\n divided: defaultAction.break,\n color: defaultAction.color,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPReportTableViewComponent, isStandalone: true, selector: \"axp-report-table-view\", viewQueries: [{ propertyName: \"grid\", first: true, predicate: [\"grid\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"selectedRows\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"noDataTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXRowIndexColumnComponent, selector: \"ax-index-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"padZero\"] }, { kind: \"component\", type: i1.AXRowSelectColumnComponent, selector: \"ax-select-column\", inputs: [\"width\", \"caption\", \"fixed\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"component\", type: i1.AXRowDropdownCommandColumnComponent, selector: \"ax-dropdown-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetColumnRendererComponent, selector: \"axp-widget-column-renderer\", inputs: [\"caption\", \"customExpandIcon\", \"customCollapseIcon\", \"customWidth\", \"node\", \"footerTemplate\", \"expandHandler\", \"cellTemplate\", \"headerTemplate\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-table-view', standalone: true, imports: [\n CommonModule,\n AXDataTableModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC10YWJsZS12aWV3L3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsaUJBQWlCLEVBQXVFLE1BQU0sK0JBQStCLENBQUM7QUFDN0osT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLHdCQUF3QixFQUFFLGdCQUFn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RUFBRSxNQUFNLENBQUMsS0FBSztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2FBQ0EsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUEwQixDQUFDLENBQUM7UUFDaEcsT0FBTztZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLGlCQUFpQjtZQUM3QyxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3hCLE9BQU8sRUFBRSxhQUFhLENBQUMsS0FBSztZQUM1QixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7U0FDUCxDQUFDO0lBQ3hCLENBQUM7OEdBaklVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLCtMQzVCeEMsZ3JDQXNDQSwyQ0RyQkksWUFBWSw4QkFDWixpQkFBaUIsd3FDQUNqQixlQUFlLDhCQUNmLGlCQUFpQiw4QkFDakIsbUJBQW1CLDhCQUNuQixzQkFBc0I7OzJGQU1iLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixzQkFBc0I7cUJBQ3ZCLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQsIEFYRGF0YVRhYmxlTW9kdWxlLCBBWERhdGFUYWJsZVJvd0RiQ2xpY2ssIEFYUm93Q29tbWFuZEl0ZW0sIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbHVtbk5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENvbHVtbiwgQVhQUmVwb3J0VGFibGVMYXlvdXQsIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VRdWVyeSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBTeXN0ZW1BY3Rpb25UeXBlLCBhcHBseVN5c3RlbUFjdGlvbkRlZmF1bHQsIGdldFN5c3RlbUFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LXRhYmxlLXZpZXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYRGF0YVRhYmxlTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGVcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydFRhYmxlVmlld0NvbXBvbmVudCB7XG5cbiAgLy8jcmVnaW9uIC0tLS0gICBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KEFYUENvbW1hbmRTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGdyaWQgPSB2aWV3Q2hpbGQ8QVhEYXRhVGFibGVDb21wb25lbnQ+KCdncmlkJyk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSb3dDbGljayhldmVudDogQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVJvd0FjdGlvbihldmVudC5uYW1lLCBldmVudC5kYXRhKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVEYlJvd0NsaWNrKGV2ZW50OiBBWERhdGFUYWJsZVJvd0RiQ2xpY2spOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0Um93QWN0aW9uKCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlUm93QWN0aW9uKHRoaXMuZGVmYXVsdFJvd0FjdGlvbigpIS5uYW1lLCBldmVudC5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUm93QWN0aW9uKG5hbWU6IHN0cmluZywgZGF0YTogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ3JvdyBhY3Rpb24nLCBuYW1lLCBkYXRhKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS0gXG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGF5b3V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAodGhpcy52bS5jdXJyZW50TGF5b3V0KCk/LmxheW91dCBhcyBBWFBSZXBvcnRUYWJsZUxheW91dCkhO1xuICB9KTtcblxuICAjZmV0Y2hEYXRhID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5ncmlkKCkgJiYgdGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpKSB7XG4gICAgICB0aGlzLmdyaWQoKT8ucmVmcmVzaCgpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlKHtcbiAgICBsb2FkOiBhc3luYyAoZTogQVhEYXRhU291cmNlUXVlcnkpID0+IHtcbiAgICAgIGlmICghdGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpKSB7XG4gICAgICAgIHJldHVybiB7IGl0ZW1zOiBbXSwgdG90YWw6IDAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnZtLmZldGNoRGF0YShlKVxuICAgICAgaWYgKCFyZXN1bHQ/LmRhdGEgfHwgcmVzdWx0LmRhdGEudHlwZSAhPT0gJ3RhYmxlJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdpbnZhbGlkIHRhYmxlIHJlc3VsdCcpO1xuICAgICAgICByZXR1cm4geyBpdGVtczogW10sIHRvdGFsOiAwIH1cbiAgICAgIH07XG5cbiAgICAgIGxldCBpdGVtczogYW55W10gPSByZXN1bHQuZGF0YS5pdGVtcyBhcyBhbnlbXSA/PyBbXTtcbiAgICAgIGxldCB0b3RhbCA9IHJlc3VsdC5kYXRhLnRvdGFsIHx8IDA7XG5cbiAgICAgIHJldHVybiB7IGl0ZW1zLCB0b3RhbCB9O1xuICAgIH0sXG4gICAgcGFnZVNpemU6IDEwLFxuICAgIGtleTogJ2lkJ1xuICB9KTtcblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBjb2x1bW5zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLmNvbHVtbnM/Lm1hcCgoY29sOiBBWFBSZXBvcnRDb2x1bW4pID0+ICh7XG4gICAgICBmaWVsZDogY29sLmZpZWxkLFxuICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wuZmllbGQsXG4gICAgICB3aWR0aDogY29sLndpZHRoIHx8ICcxNTBweCcsXG4gICAgICB2aXNpYmxlOiBjb2wudmlzaWJsZSAhPT0gZmFsc2UsXG4gICAgICBhbGlnbjogY29sLmFsaWduIHx8ICdsZWZ0JyxcbiAgICAgIHdpZGdldDogeyAuLi5jb2wud2lkZ2V0LCBwYXRoOiBjb2wuZmllbGQgfSBhcyBBWFBXaWRnZXRDb2x1bW5Ob2RlXG4gICAgfSkpIHx8IFtdO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnaW5hdGlvbkVuYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0KCkub3B0aW9ucz8ucGFnaW5hdGlvbiAhPT0gZmFsc2U7XG4gIH0pO1xuXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaW1hcnlSb3dBY3Rpb24gPSBjb21wdXRlZDxBWFJvd0NvbW1hbmRJdGVtW10+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQoKS5hY3Rpb25zPy5maWx0ZXIoYSA9PiBhLnByaW9yaXR5ID09PSAncHJpbWFyeScpPy5tYXAoYSA9PiB0aGlzLmNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGEpKSB8fCBbXTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc1ByaW1hcnlSb3dBY3Rpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMucHJpbWFyeVJvd0FjdGlvbigpLmxlbmd0aCA+IDA7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWNvbmRhcnlSb3dBY3Rpb24gPSBjb21wdXRlZDxBWFJvd0NvbW1hbmRJdGVtW10+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQoKS5hY3Rpb25zPy5maWx0ZXIoYSA9PiBhLnByaW9yaXR5ID09PSAnc2Vjb25kYXJ5Jyk/Lm1hcChhID0+IHRoaXMuY29udmVydFRvUm93Q29tbWFuZEl0ZW0oYSkpIHx8IFtdO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzU2Vjb25kYXJ5Um93QWN0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnNlY29uZGFyeVJvd0FjdGlvbigpLmxlbmd0aCA+IDA7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0Um93QWN0aW9uID0gY29tcHV0ZWQ8QVhSb3dDb21tYW5kSXRlbSB8IG51bGw+KCgpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0QWN0aW9uID0gdGhpcy5sYXlvdXQoKS5hY3Rpb25zPy5maW5kKGEgPT4gYS5kZWZhdWx0KTtcbiAgICBpZiAoIWRlZmF1bHRBY3Rpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb252ZXJ0VG9Sb3dDb21tYW5kSXRlbShkZWZhdWx0QWN0aW9uKTtcbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBjb252ZXJ0VG9Sb3dDb21tYW5kSXRlbShhY3Rpb246IEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uKTogQVhSb3dDb21tYW5kSXRlbSB7XG4gICAgY29uc3Qgc3lzdGVtQWN0aW9uID0gZ2V0U3lzdGVtQWN0aW9ucyhhY3Rpb24udHlwZSBhcyBBWFBTeXN0ZW1BY3Rpb25UeXBlKTtcbiAgICBpZiAoIXN5c3RlbUFjdGlvbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvbjogYWN0aW9uLmljb24gPz8gJ2ZhLWxpZ2h0IGZhLWV5ZScsXG4gICAgICAgIHRleHQ6IGFjdGlvbi50aXRsZSxcbiAgICAgICAgbmFtZTogYWN0aW9uLm5hbWUsXG4gICAgICAgIGRpdmlkZWQ6IGFjdGlvbi5icmVhayxcbiAgICAgICAgY29sb3I6IGFjdGlvbi5jb2xvcixcbiAgICAgIH0gYXMgQVhSb3dDb21tYW5kSXRlbTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdEFjdGlvbiA9IGFwcGx5U3lzdGVtQWN0aW9uRGVmYXVsdChhY3Rpb24sIHN5c3RlbUFjdGlvbi5rZXkgYXMgQVhQU3lzdGVtQWN0aW9uVHlwZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246IGRlZmF1bHRBY3Rpb24uaWNvbiA/PyAnZmEtbGlnaHQgZmEtZXllJyxcbiAgICAgIHRleHQ6IGRlZmF1bHRBY3Rpb24udGl0bGUsXG4gICAgICBuYW1lOiBkZWZhdWx0QWN0aW9uLm5hbWUsXG4gICAgICBkaXZpZGVkOiBkZWZhdWx0QWN0aW9uLmJyZWFrLFxuICAgICAgY29sb3I6IGRlZmF1bHRBY3Rpb24uY29sb3IsXG4gICAgfSBhcyBBWFJvd0NvbW1hbmRJdGVtO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbn0gIiwiPGF4LWRhdGEtdGFibGVcbiAgI2dyaWRcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gIFtwYWdpbmddPVwidHJ1ZVwiXG4gIChvblJvd0RiQ2xpY2spPVwiaGFuZGxlRGJSb3dDbGljaygkZXZlbnQpXCJcbiAgY2xhc3M9XCJheC1mbGV4LTFcIlxuPlxuICA8IS0tIER5bmFtaWMgY29sdW1ucyBiYXNlZCBvbiBjb25maWd1cmF0aW9uIC0tPlxuICA8YXgtaW5kZXgtY29sdW1uIGZpeGVkPVwic3RhcnRcIiBbd2lkdGhdPVwiJzgwcHgnXCIgW3BhZFplcm9dPVwidHJ1ZVwiPjwvYXgtaW5kZXgtY29sdW1uPlxuICBAaWYgKHZtLmNhblNlbGVjdFJvd3MoKSkge1xuICAgIDxheC1zZWxlY3QtY29sdW1uIGZpeGVkPVwic3RhcnRcIiBbd2lkdGhdPVwiJzUwcHgnXCI+PC9heC1zZWxlY3QtY29sdW1uPlxuICB9XG4gIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCk7IHRyYWNrIGNvbHVtbi5maWVsZCkge1xuICAgIEBpZiAoY29sdW1uLnZpc2libGUpIHtcbiAgICAgIDxheHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlclxuICAgICAgICBbY3VzdG9tV2lkdGhdPVwiY29sdW1uLndpZHRoICsgJ3B4J1wiXG4gICAgICAgIFtjYXB0aW9uXT1cIihjb2x1bW4udGl0bGUgfCB0cmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgICAgW25vZGVdPVwiY29sdW1uLndpZGdldCFcIlxuICAgICAgPjwvYXhwLXdpZGdldC1jb2x1bW4tcmVuZGVyZXI+XG4gICAgfVxuICB9XG4gIEBpZiAoaGFzUHJpbWFyeVJvd0FjdGlvbigpKSB7XG4gICAgPGF4LWNvbW1hbmQtY29sdW1uXG4gICAgICBmaXhlZD1cImVuZFwiXG4gICAgICBbd2lkdGhdPVwiJzEwMHB4J1wiXG4gICAgICBbaXRlbXNdPVwicHJpbWFyeVJvd0FjdGlvbigpXCJcbiAgICAgIChvbkl0ZW1DbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQpXCJcbiAgICA+PC9heC1jb21tYW5kLWNvbHVtbj5cbiAgfVxuICBAaWYgKGhhc1NlY29uZGFyeVJvd0FjdGlvbigpKSB7XG4gICAgPGF4LWRyb3Bkb3duLWNvbW1hbmQtY29sdW1uXG4gICAgICBmaXhlZD1cImVuZFwiXG4gICAgICBbd2lkdGhdPVwiJzYwcHgnXCJcbiAgICAgIFtpdGVtc109XCJzZWNvbmRhcnlSb3dBY3Rpb24oKVwiXG4gICAgICAob25JdGVtQ2xpY2spPVwiaGFuZGxlUm93Q2xpY2soJGV2ZW50KVwiXG4gICAgPjwvYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4+XG4gIH1cbjwvYXgtZGF0YS10YWJsZT5cbiJdfQ==","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXPieChartReportMapper } from '@acorex/platform/common';\nimport { AXDonutChartComponent } from '@acorex/charts/donut-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart'\n ? layout.layout\n : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.chartOptions()) {\n // TODO: Implement chart data fetching\n console.log('Chart data fetch triggered', {\n chartType: this.chartType(),\n dataMapping: this.dataMapping()\n });\n this.vm.fetchData().then((data) => {\n const donutChartData = AXPieChartReportMapper((data?.data).data ?? {});\n this.donutChartData.set(donutChartData);\n console.log('donutChartData', donutChartData);\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.donutChartData = signal([], ...(ngDevMode ? [{ debugName: \"donutChartData\" }] : []));\n this.donutChartOptions = signal({\n totalLabel: 'Total',\n showTooltip: true\n }, ...(ngDevMode ? [{ debugName: \"donutChartOptions\" }] : []));\n this.legendOptions = signal({\n mode: 'horizontal',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n #fetchData;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle chart click events\n */\n handleChartClick(event) {\n // TODO: Implement chart click handling\n console.log('Chart clicked:', event);\n }\n /**\n * Handle chart data point selection\n */\n handleDataPointSelect(event) {\n // TODO: Implement data point selection\n console.log('Data point selected:', event);\n }\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n /**\n * Get chart configuration for rendering\n */\n getChartConfig() {\n // TODO: Transform AXPReportChartOptions to chart library format\n return {\n type: this.chartType(),\n options: this.chartOptions(),\n dataMapping: this.dataMapping()\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPReportChartViewComponent, isStandalone: true, selector: \"axp-report-chart-view\", ngImport: i0, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-donut-chart #chart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (donutChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXDonutChartComponent, selector: \"ax-donut-chart\", inputs: [\"data\", \"options\"], outputs: [\"segmentClick\", \"segmentHover\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-chart-view', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXDonutChartComponent,\n AXChartLegendComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-donut-chart #chart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (donutChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNoYXJ0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtY2hhcnQtdmlldy9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUF3QixzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBeUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRyxPQUFPLEVBQUUsc0JBQXNCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFrQjNGLE1BQU0sT0FBTywy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QUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ08scUJBQXFCLENBQUMsS0FBVTtRQUN0Qyx1Q0FBdUM7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsWUFBWTtJQUVaLHNDQUFzQztJQUV0Qzs7T0FFRztJQUNPLFlBQVk7UUFDbEIsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztHQUVEO0lBQ1csY0FBYztRQUNwQixnRUFBZ0U7UUFDaEUsT0FBTztZQUNILElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQ2xDLENBQUM7SUFDTixDQUFDOzhHQTVHUSwyQkFBMkI7a0dBQTNCLDJCQUEyQixpRkMxQnhDLGt0R0FzRkEsaXVIRHhFUSxZQUFZLDhCQUNaLGlCQUFpQiw4QkFDakIsbUJBQW1CLDhHQUNuQixzQkFBc0IsK0JBQ3RCLHFCQUFxQixtSUFDckIsc0JBQXNCOzsyRkFPakIsMkJBQTJCO2tCQWhCdkMsU0FBUzsrQkFDSSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQixzQkFBc0I7cUJBQ3pCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFBhZ2VTdGF0dXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0TGF5b3V0LCBBWFBpZUNoYXJ0UmVwb3J0TWFwcGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhEb251dENoYXJ0Q29tcG9uZW50LCBBWERvbnV0Q2hhcnRPcHRpb24sIEFYRG9udXRDaGFydFZhbHVlIH0gZnJvbSAnQGFjb3JleC9jaGFydHMvZG9udXQtY2hhcnQnO1xuaW1wb3J0IHsgQVhDaGFydExlZ2VuZENvbXBvbmVudCwgQVhDaGFydExlZ2VuZE9wdGlvbnMgfSBmcm9tICdAYWNvcmV4L2NoYXJ0cy9jaGFydC1sZWdlbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtY2hhcnQtdmlldycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgICAgIEFYRG9udXRDaGFydENvbXBvbmVudCxcbiAgICAgICAgQVhDaGFydExlZ2VuZENvbXBvbmVudFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVwb3J0LWNoYXJ0LXZpZXcuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBBWFBQYWdlU3RhdHVzID0gQVhQUGFnZVN0YXR1cztcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCBjaGFydCBsYXlvdXQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFydExheW91dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgbGF5b3V0ID0gdGhpcy52bS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICAgIHJldHVybiBsYXlvdXQ/LmxheW91dC50eXBlID09PSAnY2hhcnQnXG4gICAgICAgICAgICA/IGxheW91dC5sYXlvdXQgYXMgQVhQUmVwb3J0Q2hhcnRMYXlvdXRcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoYXJ0IGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFydE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYXJ0TGF5b3V0ID0gdGhpcy5jaGFydExheW91dCgpO1xuICAgICAgICByZXR1cm4gY2hhcnRMYXlvdXQ/Lm9wdGlvbnMgfHwgbnVsbDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoYXJ0IHR5cGUgZm9yIHJlbmRlcmluZ1xuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFydFR5cGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgICAgICByZXR1cm4gb3B0aW9ucz8uY2hhcnRUeXBlIHx8ICdiYXInO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBtYXBwaW5nIGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YU1hcHBpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmNoYXJ0T3B0aW9ucygpO1xuICAgICAgICByZXR1cm4gb3B0aW9ucz8uZGF0YU1hcHBpbmcgfHwgbnVsbDtcbiAgICB9KTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFZmZlY3RzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogRWZmZWN0IHRvIGhhbmRsZSBkYXRhIGZldGNoaW5nIHdoZW4gY2hhcnQgY29uZmlndXJhdGlvbiBjaGFuZ2VzXG4gICAgICovXG4gICAgI2ZldGNoRGF0YSA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnZtLmFsbG93RmV0Y2hEYXRhKCkgJiYgdGhpcy5jaGFydE9wdGlvbnMoKSkge1xuICAgICAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGNoYXJ0IGRhdGEgZmV0Y2hpbmdcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDaGFydCBkYXRhIGZldGNoIHRyaWdnZXJlZCcsIHtcbiAgICAgICAgICAgICAgICBjaGFydFR5cGU6IHRoaXMuY2hhcnRUeXBlKCksXG4gICAgICAgICAgICAgICAgZGF0YU1hcHBpbmc6IHRoaXMuZGF0YU1hcHBpbmcoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnZtLmZldGNoRGF0YSgpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkb251dENoYXJ0RGF0YSA9IEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIoKGRhdGE/LmRhdGEgYXMgYW55KS5kYXRhIGFzIGFueSA/PyB7fSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kb251dENoYXJ0RGF0YS5zZXQoZG9udXRDaGFydERhdGEpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkb251dENoYXJ0RGF0YScsIGRvbnV0Q2hhcnREYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRXZlbnQgSGFuZGxlcnMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgY2hhcnQgY2xpY2sgZXZlbnRzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNoYXJ0Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgY2hhcnQgY2xpY2sgaGFuZGxpbmdcbiAgICAgICAgY29uc29sZS5sb2coJ0NoYXJ0IGNsaWNrZWQ6JywgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBjaGFydCBkYXRhIHBvaW50IHNlbGVjdGlvblxuICAgICAqL1xuICAgIHByb3RlY3RlZCBoYW5kbGVEYXRhUG9pbnRTZWxlY3QoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnQgZGF0YSBwb2ludCBzZWxlY3Rpb25cbiAgICAgICAgY29uc29sZS5sb2coJ0RhdGEgcG9pbnQgc2VsZWN0ZWQ6JywgZXZlbnQpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIGNoYXJ0IGlzIHJlYWR5IHRvIHJlbmRlclxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0NoYXJ0UmVhZHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLmNoYXJ0T3B0aW9ucygpICYmIHRoaXMuZGF0YU1hcHBpbmcoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gKiBHZXQgY2hhcnQgY29uZmlndXJhdGlvbiBmb3IgcmVuZGVyaW5nXG4gKi9cbiAgICBwcm90ZWN0ZWQgZ2V0Q2hhcnRDb25maWcoKTogYW55IHtcbiAgICAgICAgLy8gVE9ETzogVHJhbnNmb3JtIEFYUFJlcG9ydENoYXJ0T3B0aW9ucyB0byBjaGFydCBsaWJyYXJ5IGZvcm1hdFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogdGhpcy5jaGFydFR5cGUoKSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMuY2hhcnRPcHRpb25zKCksXG4gICAgICAgICAgICBkYXRhTWFwcGluZzogdGhpcy5kYXRhTWFwcGluZygpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRvbnV0Q2hhcnREYXRhID0gc2lnbmFsPEFYRG9udXRDaGFydFZhbHVlPihbXSk7XG5cbiAgICBwcm90ZWN0ZWQgZG9udXRDaGFydE9wdGlvbnMgPSBzaWduYWw8QVhEb251dENoYXJ0T3B0aW9uPih7XG4gICAgICAgIHRvdGFsTGFiZWw6ICdUb3RhbCcsXG4gICAgICAgIHNob3dUb29sdGlwOiB0cnVlXG4gICAgfSlcblxuICAgIHByb3RlY3RlZCBsZWdlbmRPcHRpb25zID0gc2lnbmFsPEFYQ2hhcnRMZWdlbmRPcHRpb25zPih7XG4gICAgICAgIG1vZGU6ICdob3Jpem9udGFsJyxcbiAgICB9KVxuXG5cbiAgICAvLyNlbmRyZWdpb25cbn1cblxuIiwiPGRpdiBjbGFzcz1cImF4cC1yZXBvcnQtY2hhcnQtdmlld1wiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcpIHtcbiAgICA8IS0tIExvYWRpbmcgU3RhdGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF4LXNwaW5uZXIgYXgtc3BpbiBheC1ib3JkZXItNCBheC1ib3JkZXItZ3JheS0yMDAgYXgtYm9yZGVyLXQtcHJpbWFyeSBheC1yb3VuZGVkLWZ1bGwgYXgtdy0xMiBheC1oLTEyXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmctdGV4dFwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5sb2FkaW5nLmNoYXJ0JykgfCBhc3luYyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKHZtLnN0YXR1cygpID09PSBBWFBQYWdlU3RhdHVzLkVycm9yKSB7XG4gICAgPCEtLSBFcnJvciBTdGF0ZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19lcnJvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItaWNvblwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19lcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxoNCBjbGFzcz1cIl9fZXJyb3ItdGl0bGVcIj5cbiAgICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPHAgY2xhc3M9XCJfX2Vycm9yLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgdm0uZXJyb3IoKSB8fCB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5lcnJvci5nZW5lcmljJykgfCBhc3luYyB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSBpZiAoaXNDaGFydFJlYWR5KCkpIHtcbiAgICA8IS0tIENoYXJ0IENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmhlYWRlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1oZWFkZXJcIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX2NoYXJ0LXRpdGxlXCI+e3sgY2hhcnRMYXlvdXQoKT8uaGVhZGVyPy50aXRsZSB9fTwvaDM+XG4gICAgICAgICAgQGlmIChjaGFydExheW91dCgpPy5oZWFkZXI/LnNob3dEYXRlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1kYXRlXCI+e3sgJ2NvbW1vbi5kYXRlLnRvZGF5JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtYm9keVwiPlxuICAgICAgICA8IS0tIENoYXJ0IGNvbXBvbmVudCB3aWxsIGJlIHJlbmRlcmVkIGhlcmUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIl9fcGxhY2Vob2xkZXItY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC13cmFwIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1nYXAtMTBcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibGVnZW5kT3B0aW9ucygpLm1vZGUgPT09ICdob3Jpem9udGFsJyA/ICdheC1mbGV4LWNvbCcgOiAnYXgtZmxleC1yb3cnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPCEtLSBDaGFydCBBcmVhIC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0wIGF4LXNpemUtOTZcIj5cbiAgICAgICAgICAgICAgICA8YXgtZG9udXQtY2hhcnQgI2NoYXJ0IFtkYXRhXT1cImRvbnV0Q2hhcnREYXRhKClcIiBbb3B0aW9uc109XCJkb251dENoYXJ0T3B0aW9ucygpXCI+PC9heC1kb251dC1jaGFydD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwhLS0gTGVnZW5kIEFyZWEgLS0+XG4gICAgICAgICAgICAgIEBpZiAoZG9udXRDaGFydERhdGEoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxheC1jaGFydC1sZWdlbmQgW29wdGlvbnNdPVwibGVnZW5kT3B0aW9ucygpXCIgW2NoYXJ0XT1cImNoYXJ0XCI+PC9heC1jaGFydC1sZWdlbmQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmZvb3Rlcikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1mb290ZXJcIj5cbiAgICAgICAgICBAaWYgKGNoYXJ0TGF5b3V0KCk/LmZvb3Rlcj8uY3VzdG9tSHRtbCkge1xuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImNoYXJ0TGF5b3V0KCk/LmZvb3Rlcj8uY3VzdG9tSHRtbFwiPjwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDwhLS0gTm8gQ29uZmlndXJhdGlvbiBTdGF0ZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX25vLWNvbmZpZy1pY29uXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtY2hhcnQtbGluZVwiPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnLWNvbnRlbnRcIj5cbiAgICAgICAgPGg0IGNsYXNzPVwiX19uby1jb25maWctdGl0bGVcIj5cbiAgICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5jaGFydC5uby1jb25maWcudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxwIGNsYXNzPVwiX19uby1jb25maWctZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5jaGFydC5uby1jb25maWcuZGVzY3JpcHRpb24nKSB8IGFzeW5jIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportDefinitionService } from '@acorex/platform/common';\nimport { AXPDynamicFormComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutFooterComponent } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AXPReportViewerViewModel } from '../report-viewer.viewmodel';\nimport { AXPReportTableViewComponent } from '../views/report-table-view/report-table-view.component';\nimport { AXPReportChartViewComponent } from '../views/report-chart-view/report-chart-view.component';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/dropdown\";\nexport class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---- Dependencies ----\n this.layoutService = inject(AXPLayoutThemeService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.unsubscriber = inject(AXUnsubscriber);\n //#endregion\n //#region ---- Inputs ----\n this.reportId = input(...(ngDevMode ? [undefined, { debugName: \"reportId\" }] : []));\n this.reportParameters = input({}, ...(ngDevMode ? [{ debugName: \"reportParameters\" }] : []));\n //#endregion\n //#region ---- ViewChildren ----\n this.filtersForm = viewChild('filtersForm', ...(ngDevMode ? [{ debugName: \"filtersForm\" }] : []));\n //#endregion\n //#region ---- ViewModel ----\n this.vm = inject(AXPReportViewerViewModel);\n //#endregion\n //#region ---- Computed Properties ----\n this.showFiltersPanel = () => this.layoutService.isLarge();\n this.baseRoutes = [this.sessionService.application?.name, 'report-management'];\n //#endregion\n //#region ---- Layout Configurations ----\n this.defaultLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 6 },\n lg: { colSpan: 12 }\n }\n });\n this.compactLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n sm: { colSpan: 6 },\n md: { colSpan: 4 },\n lg: { colSpan: 3 }\n }\n });\n }\n //#endregion\n //#region ---- Lifecycle ----\n async ngOnInit() {\n await super.ngOnInit();\n // Subscribe to route parameter changes for dynamic report loading\n this.unsubscriber.takeUntilDestroy(this.route.paramMap).subscribe(async (params) => {\n const reportId = params.get('reportId') ||\n this.route.snapshot.queryParamMap.get('reportId') ||\n this.reportId();\n if (reportId) {\n await this.loadReportAndRefresh(reportId);\n }\n });\n }\n //#endregion\n //#region ---- Helper Methods ----\n async loadReportAndRefresh(reportId) {\n await this.vm.loadReport(reportId);\n // Force refresh of page layout (breadcrumbs, title, etc.) after report loads\n this.recompute();\n // Handle initial parameters from query string\n const queryParams = this.route.snapshot.queryParams;\n const initialParams = { ...queryParams };\n delete initialParams['reportId']; // Remove reportId from parameters\n // Merge with component input parameters\n const allParams = { ...initialParams, ...this.reportParameters() };\n if (Object.keys(allParams).length > 0) {\n console.log('Applying initial parameters:', allParams);\n this.vm.updateFilterContext(allParams);\n // Auto-execute if parameters are provided\n setTimeout(async () => {\n await this.vm.executeReport();\n }, 500); // Small delay to ensure form is ready\n }\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleFiltersChange(event) {\n this.vm.updateFilterContext(event);\n }\n handleFiltersInitiated(event) {\n this.vm.updateFilterContext(event);\n }\n async handleExecuteReport() {\n const isValid = await this.filtersForm()?.validate();\n if (!isValid) {\n return;\n }\n await this.vm.executeReport();\n }\n handleRefresh() {\n this.vm.refresh();\n }\n handleClearFilters() {\n this.vm.clearFilters();\n // Reset form if available\n const form = this.filtersForm();\n if (form) {\n form.resetErrors();\n }\n }\n //#endregion\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const breadcrumbs = [\n {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports',\n },\n }\n ];\n // Add categories path\n const categoriesPath = this.vm.categoriesPath();\n if (categoriesPath && categoriesPath.length > 0) {\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const category of categoriesPath) {\n urlParts.push(category.id);\n breadcrumbs.push({\n name: category.id,\n title: category.title,\n command: {\n name: 'navigate-to-category',\n options: {\n path: [...urlParts]\n },\n },\n });\n }\n }\n // Add report title as final breadcrumb\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n breadcrumbs.push({\n name: 'report-viewer',\n title: reportDefinition.title,\n });\n }\n return breadcrumbs;\n }\n async getPageTitle() {\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n return reportDefinition.title;\n }\n return await this.translateService.translateAsync('@report-management:features.report-viewer.title');\n }\n async getPageDescription() {\n const reportDefinition = this.vm.reportDefinition();\n return reportDefinition?.description || null;\n }\n async getBackButton() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // If no categories path, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n if (categoriesPath.length === 1) {\n // If only one category, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n // Go back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 1];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes, 'reports']);\n }\n else {\n // Navigate to parent category\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const cat of categoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async getPrimaryMenuItems() {\n // No primary menu items since execute button is in footer\n return [];\n }\n async getSecondaryMenuItems() {\n const reportDefinition = this.vm.reportDefinition();\n if (!reportDefinition) {\n return [];\n }\n return [\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.refresh'),\n icon: 'fa-light fa-refresh',\n color: 'secondary',\n disabled: this.vm.isLoading() || this.vm.isExecuting(),\n command: {\n name: 'refresh-report',\n },\n },\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.clear-filters'),\n icon: 'fa-light fa-filter-slash',\n color: 'warning',\n command: {\n name: 'clear-filters',\n },\n },\n ];\n }\n async execute(command) {\n switch (command.name) {\n case 'execute-report':\n await this.handleExecuteReport();\n break;\n case 'refresh-report':\n this.handleRefresh();\n break;\n case 'clear-filters':\n this.handleClearFilters();\n break;\n case 'navigate-to-reports':\n await this.router.navigate([...this.baseRoutes, 'reports']);\n break;\n case 'navigate-to-category':\n const path = command.options?.['path'];\n if (path) {\n await this.router.navigate(path);\n }\n break;\n default:\n console.warn(`Unknown command: ${command.name}`);\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportViewerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: AXPReportViewerPageComponent, isStandalone: true, selector: \"axp-report-viewer-page\", inputs: { reportId: { classPropertyName: \"reportId\", publicName: \"reportId\", isSignal: true, isRequired: false, transformFunction: null }, reportParameters: { classPropertyName: \"reportParameters\", publicName: \"reportParameters\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"axp-report-viewer-page\" }, providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], viewQueries: [{ propertyName: \"filtersForm\", first: true, predicate: [\"filtersForm\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form\\n #filtersForm\\n [formDefinition]=\\\"vm.formDefinition()\\\"\\n [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\"\\n [layoutStyle]=\\\"'compact'\\\"\\n (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\"\\n >\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\">\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n class=\\\"ax-w-full\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\"\\n [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\"\\n >\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item\\n [text]=\\\"layout.title\\\"\\n [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\"\\n >\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content>\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button\\n look=\\\"outline\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\"\\n >\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"component\", type: \n // \n AXPDynamicFormComponent, selector: \"axp-dynamic-form\", inputs: [\"formDefinition\", \"context\", \"layoutStyle\", \"layoutConfig\"], outputs: [\"contextChange\", \"contextInitiated\", \"validityChange\"] }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPReportTableViewComponent, selector: \"axp-report-table-view\" }, { kind: \"component\", type: AXPReportChartViewComponent, selector: \"axp-report-chart-view\" }, { kind: \"component\", type: AXPThemeLayoutFooterComponent, selector: \"axp-layout-footer, axp-layout-page-footer\" }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-viewer-page', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n // \n AXPDynamicFormComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXPReportTableViewComponent,\n AXPReportChartViewComponent,\n AXPThemeLayoutFooterComponent\n ], providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form\\n #filtersForm\\n [formDefinition]=\\\"vm.formDefinition()\\\"\\n [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\"\\n [layoutStyle]=\\\"'compact'\\\"\\n (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\"\\n >\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\">\\n <ax-button\\n [class.ax-sm]=\\\"layoutService.isSmall()\\\"\\n class=\\\"ax-w-full\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\"\\n [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\"\\n >\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item\\n [text]=\\\"layout.title\\\"\\n [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\"\\n >\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content>\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button\\n look=\\\"outline\\\"\\n color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\"\\n >\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\\n\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXItcGFnZS9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDOUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJB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QUFXLEVBQUUsNEJBQTRCO2FBQzFDO1NBQ0YsNktDdkRILHV6SEE2R0EsZ2hGRDlFSSxZQUFZLHFNQUNaLGNBQWMsb3VCQUNkLGlCQUFpQixzVkFDakIsZUFBZSw4QkFDZixtQkFBbUIsOEdBQ25CLHNCQUFzQiw4QkFDdEIsZ0JBQWdCO2dCQUNoQixHQUFHO2dCQUNILHVCQUF1QixxTUFDdkIsc0JBQXNCLDREQUN0QixnQ0FBZ0MsOEZBQ2hDLDZCQUE2Qiw4REFDN0IsNEJBQTRCLGdpQkFDNUIsMkJBQTJCLGtFQUMzQiwyQkFBMkIsa0VBQzNCLDZCQUE2Qjs7MkZBZ0JwQiw0QkFBNEI7a0JBbkN4QyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixHQUFHO3dCQUNILHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0IsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3FCQUM5QixhQUNVO3dCQUNULGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4Qjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJyZWFkY3J1bWJJdGVtLCBBWFBDb250ZXh0RGF0YSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWFBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dEJsb2NrQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dEZvb3RlckNvbXBvbmVudFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUFBhZ2VMYXlvdXRCYXNlLCBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCwgQVhQUGFnZUxheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L3ZpZXdzJztcbmltcG9ydCB7IEFYUExheW91dFRoZW1lU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCB2aWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydFRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXdzL3JlcG9ydC10YWJsZS12aWV3L3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDaGFydFZpZXdDb21wb25lbnQgfSBmcm9tICcuLi92aWV3cy9yZXBvcnQtY2hhcnQtdmlldy9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bi1idXR0b24nO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtdmlld2VyLXBhZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICAvLyBcbiAgICBBWFBEeW5hbWljRm9ybUNvbXBvbmVudCxcbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0U3RhcnRTaWRlQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQUmVwb3J0VGFibGVWaWV3Q29tcG9uZW50LFxuICAgIEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEZvb3RlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgICBBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQUGFnZUxheW91dEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogQVhQUmVwb3J0Vmlld2VyUGFnZUNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYXhwLXJlcG9ydC12aWV3ZXItcGFnZScgfVxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KEFYUExheW91dFRoZW1lU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgSW5wdXRzICAgLS0tLVxuXG4gIHJlcG9ydElkID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZXBvcnRQYXJhbWV0ZXJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oe30pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBWaWV3Q2hpbGRyZW4gICAtLS0tXG5cbiAgcHJpdmF0ZSBmaWx0ZXJzRm9ybSA9IHZpZXdDaGlsZDxBWEZvcm1Db21wb25lbnQ+KCdmaWx0ZXJzRm9ybScpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgVmlld01vZGVsICAgLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBSZXBvcnRWaWV3ZXJWaWV3TW9kZWwpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgc2hvd0ZpbHRlcnNQYW5lbCA9ICgpID0+IHRoaXMubGF5b3V0U2VydmljZS5pc0xhcmdlKCk7XG5cbiAgcHJpdmF0ZSBiYXNlUm91dGVzID0gW3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWUsICdyZXBvcnQtbWFuYWdlbWVudCddO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IENvbmZpZ3VyYXRpb25zICAgLS0tLVxuXG4gIHByb3RlY3RlZCBkZWZhdWx0TGF5b3V0ID0gKCkgPT4gKHtcbiAgICBwb3NpdGlvbnM6IHtcbiAgICAgIGRlZmF1bHQ6IHsgY29sU3BhbjogMTIgfSxcbiAgICAgIG1kOiB7IGNvbFNwYW46IDYgfSxcbiAgICAgIGxnOiB7IGNvbFNwYW46IDEyIH1cbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjb21wYWN0TGF5b3V0ID0gKCkgPT4gKHtcbiAgICBwb3NpdGlvbnM6IHtcbiAgICAgIGRlZmF1bHQ6IHsgY29sU3BhbjogMTIgfSxcbiAgICAgIHNtOiB7IGNvbFNwYW46IDYgfSxcbiAgICAgIG1kOiB7IGNvbFNwYW46IDQgfSxcbiAgICAgIGxnOiB7IGNvbFNwYW46IDMgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMaWZlY3ljbGUgICAtLS0tXG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZSBwYXJhbWV0ZXIgY2hhbmdlcyBmb3IgZHluYW1pYyByZXBvcnQgbG9hZGluZ1xuICAgIHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kodGhpcy5yb3V0ZS5wYXJhbU1hcCkuc3Vic2NyaWJlKGFzeW5jIChwYXJhbXMpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydElkID0gcGFyYW1zLmdldCgncmVwb3J0SWQnKSB8fFxuICAgICAgICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdyZXBvcnRJZCcpIHx8XG4gICAgICAgIHRoaXMucmVwb3J0SWQoKTtcblxuICAgICAgaWYgKHJlcG9ydElkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBIZWxwZXIgTWV0aG9kcyAgIC0tLS1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSZXBvcnRBbmRSZWZyZXNoKHJlcG9ydElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnZtLmxvYWRSZXBvcnQocmVwb3J0SWQpO1xuXG4gICAgLy8gRm9yY2UgcmVmcmVzaCBvZiBwYWdlIGxheW91dCAoYnJlYWRjcnVtYnMsIHRpdGxlLCBldGMuKSBhZnRlciByZXBvcnQgbG9hZHNcbiAgICB0aGlzLnJlY29tcHV0ZSgpO1xuXG4gICAgLy8gSGFuZGxlIGluaXRpYWwgcGFyYW1ldGVycyBmcm9tIHF1ZXJ5IHN0cmluZ1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICBjb25zdCBpbml0aWFsUGFyYW1zID0geyAuLi5xdWVyeVBhcmFtcyB9O1xuICAgIGRlbGV0ZSBpbml0aWFsUGFyYW1zWydyZXBvcnRJZCddOyAvLyBSZW1vdmUgcmVwb3J0SWQgZnJvbSBwYXJhbWV0ZXJzXG5cbiAgICAvLyBNZXJnZSB3aXRoIGNvbXBvbmVudCBpbnB1dCBwYXJhbWV0ZXJzXG4gICAgY29uc3QgYWxsUGFyYW1zID0geyAuLi5pbml0aWFsUGFyYW1zLCAuLi50aGlzLnJlcG9ydFBhcmFtZXRlcnMoKSB9O1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGFsbFBhcmFtcykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc29sZS5sb2coJ0FwcGx5aW5nIGluaXRpYWwgcGFyYW1ldGVyczonLCBhbGxQYXJhbXMpO1xuICAgICAgdGhpcy52bS51cGRhdGVGaWx0ZXJDb250ZXh0KGFsbFBhcmFtcyk7XG4gICAgICAvLyBBdXRvLWV4ZWN1dGUgaWYgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWRcbiAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLnZtLmV4ZWN1dGVSZXBvcnQoKTtcbiAgICAgIH0sIDUwMCk7IC8vIFNtYWxsIGRlbGF5IHRvIGVuc3VyZSBmb3JtIGlzIHJlYWR5XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRmlsdGVyc0NoYW5nZShldmVudDogQVhQQ29udGV4dERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbHRlcnNJbml0aWF0ZWQoZXZlbnQ6IEFYUENvbnRleHREYXRhKTogdm9pZCB7XG4gICAgdGhpcy52bS51cGRhdGVGaWx0ZXJDb250ZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVFeGVjdXRlUmVwb3J0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB0aGlzLmZpbHRlcnNGb3JtKCk/LnZhbGlkYXRlKCk7XG4gICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMudm0uZXhlY3V0ZVJlcG9ydCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy52bS5yZWZyZXNoKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMudm0uY2xlYXJGaWx0ZXJzKCk7XG4gICAgLy8gUmVzZXQgZm9ybSBpZiBhdmFpbGFibGVcbiAgICBjb25zdCBmb3JtID0gdGhpcy5maWx0ZXJzRm9ybSgpO1xuICAgIGlmIChmb3JtKSB7XG4gICAgICBmb3JtLnJlc2V0RXJyb3JzKCk7XG4gICAgfVxuICB9XG5cblxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZUJyZWFkY3J1bWJzKCk6IFByb21pc2U8QVhQQnJlYWRjcnVtYkl0ZW1bXT4ge1xuICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncmVwb3J0cycsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZS10by1yZXBvcnRzJyxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgLy8gQWRkIGNhdGVnb3JpZXMgcGF0aFxuICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gdGhpcy52bS5jYXRlZ29yaWVzUGF0aCgpO1xuICAgIGlmIChjYXRlZ29yaWVzUGF0aCAmJiBjYXRlZ29yaWVzUGF0aC5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgdXJsUGFydHMgPSBbLi4udGhpcy5iYXNlUm91dGVzLCAncmVwb3J0cyddO1xuICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzUGF0aCkge1xuICAgICAgICB1cmxQYXJ0cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgYnJlYWRjcnVtYnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgdGl0bGU6IGNhdGVnb3J5LnRpdGxlLFxuICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgIG5hbWU6ICduYXZpZ2F0ZS10by1jYXRlZ29yeScsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBhdGg6IFsuLi51cmxQYXJ0c11cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIHJlcG9ydCB0aXRsZSBhcyBmaW5hbCBicmVhZGNydW1iXG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmIChyZXBvcnREZWZpbml0aW9uKSB7XG4gICAgICBicmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3JlcG9ydC12aWV3ZXInLFxuICAgICAgICB0aXRsZTogcmVwb3J0RGVmaW5pdGlvbi50aXRsZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBicmVhZGNydW1icztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcG9ydERlZmluaXRpb24gPSB0aGlzLnZtLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICBpZiAocmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuIHJlcG9ydERlZmluaXRpb24udGl0bGU7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLnRpdGxlJyk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIHJldHVybiByZXBvcnREZWZpbml0aW9uPy5kZXNjcmlwdGlvbiB8fCBudWxsO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0QmFja0J1dHRvbigpOiBQcm9taXNlPEFYUEJhY2tCdXR0b24gfCBudWxsPiB7XG4gICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmNhdGVnb3JpZXNQYXRoKCk7XG5cbiAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gSWYgbm8gY2F0ZWdvcmllcyBwYXRoLCBnbyBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoY2F0ZWdvcmllc1BhdGgubGVuZ3RoID09PSAxKSB7XG4gICAgICAvLyBJZiBvbmx5IG9uZSBjYXRlZ29yeSwgZ28gYmFjayB0byByZXBvcnRzIHJvb3RcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtcnVubmVyLm1lbnUtdGl0bGUnKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gR28gYmFjayB0byBwYXJlbnQgY2F0ZWdvcnlcbiAgICBjb25zdCBwYXJlbnRDYXRlZ29yeSA9IGNhdGVnb3JpZXNQYXRoW2NhdGVnb3JpZXNQYXRoLmxlbmd0aCAtIDFdO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogcGFyZW50Q2F0ZWdvcnkudGl0bGUsXG4gICAgfTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIG9uQmFja0J1dHRvbkNsaWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gdGhpcy52bS5jYXRlZ29yaWVzUGF0aCgpO1xuXG4gICAgaWYgKCFjYXRlZ29yaWVzUGF0aCB8fCBjYXRlZ29yaWVzUGF0aC5sZW5ndGggPD0gMSkge1xuICAgICAgLy8gTmF2aWdhdGUgYmFjayB0byByZXBvcnRzIHJvb3RcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXMsICdyZXBvcnRzJ10pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOYXZpZ2F0ZSB0byBwYXJlbnQgY2F0ZWdvcnlcbiAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXMsICdyZXBvcnRzJ107XG4gICAgICBmb3IgKGNvbnN0IGNhdCBvZiBjYXRlZ29yaWVzUGF0aCkge1xuICAgICAgICB1cmxQYXJ0cy5wdXNoKGNhdC5pZCk7XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh1cmxQYXJ0cyk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAvLyBObyBwcmltYXJ5IG1lbnUgaXRlbXMgc2luY2UgZXhlY3V0ZSBidXR0b24gaXMgaW4gZm9vdGVyXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0U2Vjb25kYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIGNvbnN0IHJlcG9ydERlZmluaXRpb24gPSB0aGlzLnZtLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICBpZiAoIXJlcG9ydERlZmluaXRpb24pIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5hY3Rpb25zLnJlZnJlc2gnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXJlZnJlc2gnLFxuICAgICAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICAgIGRpc2FibGVkOiB0aGlzLnZtLmlzTG9hZGluZygpIHx8IHRoaXMudm0uaXNFeGVjdXRpbmcoKSxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdyZWZyZXNoLXJlcG9ydCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5hY3Rpb25zLmNsZWFyLWZpbHRlcnMnKSxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZpbHRlci1zbGFzaCcsXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICBuYW1lOiAnY2xlYXItZmlsdGVycycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBleGVjdXRlKGNvbW1hbmQ6IEFYUEV4ZWN1dGVDb21tYW5kKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3dpdGNoIChjb21tYW5kLm5hbWUpIHtcbiAgICAgIGNhc2UgJ2V4ZWN1dGUtcmVwb3J0JzpcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVFeGVjdXRlUmVwb3J0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVmcmVzaC1yZXBvcnQnOlxuICAgICAgICB0aGlzLmhhbmRsZVJlZnJlc2goKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbGVhci1maWx0ZXJzJzpcbiAgICAgICAgdGhpcy5oYW5kbGVDbGVhckZpbHRlcnMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICduYXZpZ2F0ZS10by1yZXBvcnRzJzpcbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbmF2aWdhdGUtdG8tY2F0ZWdvcnknOlxuICAgICAgICBjb25zdCBwYXRoID0gY29tbWFuZC5vcHRpb25zPy5bJ3BhdGgnXSBhcyBzdHJpbmdbXTtcbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUud2FybihgVW5rbm93biBjb21tYW5kOiAke2NvbW1hbmQubmFtZX1gKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59ICIsIjxheHAtcGFnZS1sYXlvdXQgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gIDwhLS0gTGVmdCBQYW5lbDogRmlsdGVycyAoQWx3YXlzIHZpc2libGUgZm9yIGRlc2t0b3ApIC0tPlxuICBAaWYgKHNob3dGaWx0ZXJzUGFuZWwoKSkge1xuICAgIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGU+XG4gICAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmZpbHRlcnMudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICAgIDwvYXhwLWxheW91dC10aXRsZT5cbiAgICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiX19maWx0ZXJzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxheHAtZHluYW1pYy1mb3JtXG4gICAgICAgICAgICAjZmlsdGVyc0Zvcm1cbiAgICAgICAgICAgIFtmb3JtRGVmaW5pdGlvbl09XCJ2bS5mb3JtRGVmaW5pdGlvbigpXCJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cInZtLmZpbHRlckNvbnRleHQoKVwiXG4gICAgICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImRlZmF1bHRMYXlvdXQoKVwiXG4gICAgICAgICAgICBbbGF5b3V0U3R5bGVdPVwiJ2NvbXBhY3QnXCJcbiAgICAgICAgICAgIChjb250ZXh0Q2hhbmdlKT1cImhhbmRsZUZpbHRlcnNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY29udGV4dEluaXRpYXRlZCk9XCJoYW5kbGVGaWx0ZXJzSW5pdGlhdGVkKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2F4cC1keW5hbWljLWZvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heHAtbGF5b3V0LWNvbnRlbnQ+XG4gICAgICA8YXhwLWxheW91dC1mb290ZXIgY2xhc3M9XCJheC1wLTQgYXgtYm9yZGVyLXRcIj5cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIFtjbGFzcy5heC1zbV09XCJsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC13LWZ1bGxcIlxuICAgICAgICAgIFt0ZXh0XT1cInQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMuZXhlY3V0ZScpIHwgYXN5bmNcIlxuICAgICAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoeyBuYW1lOiAnZXhlY3V0ZS1yZXBvcnQnIH0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLXBsYXlcIj48L2F4LWljb24+XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgPC9heHAtbGF5b3V0LWZvb3Rlcj5cbiAgICA8L2F4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgfVxuXG4gIDxheHAtcGFnZS10b29sYmFyPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIEBpZiAodm0uaGFzTXVsdGlwbGVMYXlvdXRzKCkpIHtcbiAgICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJ2bS5jdXJyZW50TGF5b3V0KCk/LnRpdGxlXCI+XG4gICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHZtLmN1cnJlbnRMYXlvdXQoKT8uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgICBAZm9yIChsYXlvdXQgb2Ygdm0uYXZhaWxhYmxlTGF5b3V0cygpOyB0cmFjayBsYXlvdXQuaWQpIHtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCJsYXlvdXQudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZtLmN1cnJlbnRMYXlvdXQoKT8uaWQgPT09IGxheW91dC5pZFwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5zd2l0Y2hMYXlvdXQobGF5b3V0LmlkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGxheW91dC5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgIDxheHAtbGF5b3V0LXN1ZmZpeD4gPC9heHAtbGF5b3V0LXN1ZmZpeD5cbiAgPC9heHAtcGFnZS10b29sYmFyPlxuXG4gIDwhLS0gTWFpbiBDb250ZW50OiBSZXBvcnQgRGlzcGxheSAtLT5cbiAgPGF4cC1wYWdlLWNvbnRlbnQ+XG4gICAgQGlmICghdm0ucmVwb3J0RGVmaW5pdGlvbigpKSB7XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXBvcnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZXBvcnREaXNwbGF5XCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG48L2F4cC1wYWdlLWxheW91dD5cblxuPCEtLSBSZXBvcnQgRGlzcGxheSBBcmVhIC0tPlxuPG5nLXRlbXBsYXRlICNyZXBvcnREaXNwbGF5PlxuICBAaWYgKHZtLmlzVGFibGVMYXlvdXQoKSkge1xuICAgIDxheHAtcmVwb3J0LXRhYmxlLXZpZXc+IDwvYXhwLXJlcG9ydC10YWJsZS12aWV3PlxuICB9IEBlbHNlIGlmICh2bS5pc0NoYXJ0TGF5b3V0KCkpIHtcbiAgICA8YXhwLXJlcG9ydC1jaGFydC12aWV3PiA8L2F4cC1yZXBvcnQtY2hhcnQtdmlldz5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBObyBSZXBvcnQgU2VsZWN0ZWQgU3RhdGUgLS0+XG48bmctdGVtcGxhdGUgI25vUmVwb3J0PlxuICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnRcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtaWNvblwiPlxuICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1jaGFydC1saW5lXCI+PC9heC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydC1jb250ZW50XCI+XG4gICAgICA8aDMgY2xhc3M9XCJfX25vLXJlcG9ydC10aXRsZVwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2gzPlxuICAgICAgPHAgY2xhc3M9XCJfX25vLXJlcG9ydC1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyB0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5uby1yZXBvcnQuZGVzY3JpcHRpb24nKSB8IGFzeW5jIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1yZXBvcnQtYWN0aW9uc1wiPlxuICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgbG9vaz1cIm91dGxpbmVcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3RleHRdPVwidCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIubm8tcmVwb3J0LmJyb3dzZS1yZXBvcnRzJykgfCBhc3luY1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1mb2xkZXItb3BlblwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtcmVwb3J0LW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2Fjb3JleC1tb2R1bGVzLXJlcG9ydC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i3","i4","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-report-management.mjs","sources":["../tmp-esm2022/report-management/lib/const.js","../tmp-esm2022/report-management/lib/reports/report.types.js","../tmp-esm2022/report-management/lib/reports/report-definition.provider.js","../tmp-esm2022/report-management/lib/reports/report-definition.service.js","../tmp-esm2022/report-management/lib/reports/report-mapper.js","../tmp-esm2022/report-management/lib/features/report-runner/reports.provider.js","../tmp-esm2022/report-management/lib/menu.provider.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.service.js","../tmp-esm2022/report-management/lib/entities/data-set/filter.def.js","../tmp-esm2022/report-management/lib/entities/data-set/column.def.js","../tmp-esm2022/report-management/lib/entities/data-set/sort.def.js","../tmp-esm2022/report-management/lib/entities/data-set/data-set.entity.js","../tmp-esm2022/report-management/lib/features/data-llist/column-evaluator-scope.provider.js","../tmp-esm2022/report-management/lib/features/report/create/report-create.workflow.js","../tmp-esm2022/report-management/lib/report-management.module.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-table-view/report-table-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/views/report-chart-view/report-chart-view.component.js","../tmp-esm2022/report-management/lib/features/report-viewer/report-viewer-page/report-viewer-page.component.js","../tmp-esm2022/report-management/acorex-modules-report-management.js"],"sourcesContent":["const config = {\n i18n: 'report-management',\n module: 'ReportManagement'\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'report-management',\n name: config.module,\n title: `@${config.i18n}.module-name`,\n icon: 'fa-light fa-chart-bar'\n },\n entities: {\n dataSet: {\n name: 'DataSet',\n title: `t(\"dataSet\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"dataSetPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-default',\n },\n category: {\n name: 'Category',\n fullName: `${config.module}.Category`,\n title: `@${config.i18n}.entities.category.title`,\n titlePlural: `@${config.i18n}.entities.category.title-plural`,\n icon: 'fa-light fa-folder'\n },\n report: {\n name: 'Report',\n fullName: `${config.module}.Report`,\n title: `@${config.i18n}.entities.report.title`,\n //titlePlural: `@${config.i18n}.entities.report.title-plural`,\n titlePlural: `t(\"entities.report.title-plural\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-chart-pie'\n }\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE1BQU0sR0FBRztJQUNYLElBQUksRUFBRSxtQkFBbUI7SUFDekIsTUFBTSxFQUFDLGtCQUFrQjtDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLE1BQU07SUFDTixNQUFNLEVBQUU7UUFDSixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxjQUFjO1FBQ3BDLElBQUksRUFBRSx1QkFBdUI7S0FDaEM7SUFDRCxRQUFRLEVBQUU7UUFDVixPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSwwQkFBMEIsTUFBTSxDQUFDLElBQUksTUFBTTtZQUNsRCxXQUFXLEVBQUUsZ0NBQWdDLE1BQU0sQ0FBQyxJQUFJLE1BQU07WUFDOUQsSUFBSSxFQUFFLHFCQUFxQjtTQUM1QjtRQUNHLFFBQVEsRUFBRTtZQUNOLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLFdBQVc7WUFDckMsS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksMEJBQTBCO1lBQ2hELFdBQVcsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGlDQUFpQztZQUM3RCxJQUFJLEVBQUUsb0JBQW9CO1NBQzdCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxTQUFTO1lBQ25DLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLHdCQUF3QjtZQUM5Qyw4REFBOEQ7WUFDOUQsV0FBVyxFQUFFLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxLQUFLO1lBQ3pFLElBQUksRUFBRSw0QkFBNEI7U0FDckM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb25maWcgPSB7XG4gICAgaTE4bjogJ3JlcG9ydC1tYW5hZ2VtZW50JyxcbiAgICBtb2R1bGU6J1JlcG9ydE1hbmFnZW1lbnQnXG59O1xuXG5leHBvcnQgY29uc3QgUm9vdENvbmZpZyA9IHtcbiAgICBjb25maWcsXG4gICAgbW9kdWxlOiB7XG4gICAgICAgIHJvdXRlOiAncmVwb3J0LW1hbmFnZW1lbnQnLFxuICAgICAgICBuYW1lOiBjb25maWcubW9kdWxlLFxuICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5tb2R1bGUtbmFtZWAsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1jaGFydC1iYXInXG4gICAgfSxcbiAgICBlbnRpdGllczoge1xuICAgIGRhdGFTZXQ6IHtcbiAgICAgIG5hbWU6ICdEYXRhU2V0JyxcbiAgICAgIHRpdGxlOiBgdChcImRhdGFTZXRcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIHRpdGxlUGx1cmFsOiBgdChcImRhdGFTZXRQbHVyYWxcIiwgeyBzY29wZTogXCIke2NvbmZpZy5pMThufVwiIH0pYCxcbiAgICAgIGljb246ICdmYS1saWdodCBmYS1kZWZhdWx0JyxcbiAgICB9LFxuICAgICAgICBjYXRlZ29yeToge1xuICAgICAgICAgICAgbmFtZTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5DYXRlZ29yeWAsXG4gICAgICAgICAgICB0aXRsZTogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZWAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYEAke2NvbmZpZy5pMThufS5lbnRpdGllcy5jYXRlZ29yeS50aXRsZS1wbHVyYWxgLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbGRlcidcbiAgICAgICAgfSxcbiAgICAgICAgcmVwb3J0OiB7XG4gICAgICAgICAgICBuYW1lOiAnUmVwb3J0JyxcbiAgICAgICAgICAgIGZ1bGxOYW1lOiBgJHtjb25maWcubW9kdWxlfS5SZXBvcnRgLFxuICAgICAgICAgICAgdGl0bGU6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlYCxcbiAgICAgICAgICAgIC8vdGl0bGVQbHVyYWw6IGBAJHtjb25maWcuaTE4bn0uZW50aXRpZXMucmVwb3J0LnRpdGxlLXBsdXJhbGAsXG4gICAgICAgICAgICB0aXRsZVBsdXJhbDogYHQoXCJlbnRpdGllcy5yZXBvcnQudGl0bGUtcGx1cmFsXCIse3Njb3BlOlwiJHtjb25maWcuaTE4bn1cIn0pYCxcbiAgICAgICAgICAgIGljb246ICdmYS1saWdodCBmYS1maWxlLWNoYXJ0LXBpZSdcbiAgICAgICAgfVxuICAgIH0sXG59O1xuIl19","//#region ---- Imports ----\nexport {};\n//#endregion\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0cy9yZXBvcnQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCOztBQStkL0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEV4cG9ydE9wdGlvbnMsIEFYUE9wdGlvbnNEYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Q29sdW1uTm9kZSwgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kQWN0aW9uVHlwZSwgQVhQUXVlcnlTb3J0IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBDb3JlIFJlcG9ydCBUeXBlcyBhbmQgSW50ZXJmYWNlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0VHlwZSA9ICd0YWJsZScgfCAnY2hhcnQnIHwgJ2NhcmRzJyB8ICdjdXN0b20nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gICAgaGFzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGhhc1JlcG9ydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RGVmaW5pdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWRzOiBzdHJpbmdbXTtcbiAgICBwYXJhbWV0ZXJHcm91cHM6IEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwW107XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcbiAgICBsYXlvdXRzOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uW107ICAvLyBDaGFuZ2VkIHRvIHN1cHBvcnQgbXVsdGlwbGUgbGF5b3V0c1xuICAgIGRlZmF1bHRMYXlvdXRJZDogc3RyaW5nOyAgICAgICAgICAgICAgLy8gV2hpY2ggbGF5b3V0IHRvIHNob3cgYnkgZGVmYXVsdFxuICAgIGRhdGFTb3VyY2U/OiBBWFBSZXBvcnREYXRhU291cmNlOyAgICAgLy8gT3B0aW9uYWwgZmFsbGJhY2sgZGF0YVNvdXJjZSBmb3IgYWxsIGxheW91dHNcbn1cblxuLyoqXG4gKiBMYXlvdXQgRGVmaW5pdGlvbiAtIEFzc29jaWF0ZXMgYSBsYXlvdXQgd2l0aCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydExheW91dERlZmluaXRpb24ge1xuICAgIGlkOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBsYXlvdXRcbiAgICB0aXRsZTogc3RyaW5nOyAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSBuYW1lIChlLmcuLCBcIlRhYmxlIFZpZXdcIiwgXCJDaGFydCBWaWV3XCIpXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7ICAgICAgICAgIC8vIE9wdGlvbmFsIGRlc2NyaXB0aW9uXG4gICAgaWNvbj86IHN0cmluZzsgICAgICAgICAgICAgICAgIC8vIEljb24gZm9yIGxheW91dCBzd2l0Y2hlciBVSVxuICAgIGxheW91dDogQVhQUmVwb3J0TGF5b3V0OyAgICAgICAvLyBUaGUgYWN0dWFsIGxheW91dCBjb25maWd1cmF0aW9uXG4gICAgZGF0YVNvdXJjZT86IEFYUFJlcG9ydERhdGFTb3VyY2U7IC8vIE9wdGlvbmFsIGxheW91dC1zcGVjaWZpYyBkYXRhU291cmNlIChvdmVycmlkZXMgcmVwb3J0LWxldmVsKVxuICAgIGlzRGVmYXVsdD86IGJvb2xlYW47ICAgICAgICAgICAvLyBBbHRlcm5hdGl2ZSB0byBkZWZhdWx0TGF5b3V0SWRcbiAgICBleHBvcnQ/OiBBWFBFeHBvcnRPcHRpb25zO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0UGFyYW1ldGVyR3JvdXAge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHBhcmFtZXRlcnM6IEFYUFJlcG9ydFBhcmFtZXRlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlciB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgd2lkZ2V0OiBBWFBXaWRnZXROb2RlO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIC0tLS0gICBEYXRhIFNvdXJjZSBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0RGF0YVNvdXJjZSA9XG4gICAgfCBBWFBRdWVyeURhdGFTb3VyY2VcbiAgICB8IEFYUEN1c3RvbURhdGFTb3VyY2VcbiAgICB8IEFYUEFnZ3JlZ2F0ZWREYXRhU291cmNlXG4gICAgfCBBWFBUcmFuc2Zvcm1lZERhdGFTb3VyY2U7XG5cbi8qKlxuICogUXVlcnkgRGF0YSBTb3VyY2UgLSBVc2VkIGZvciBleGVjdXRpbmcgcHJlZGVmaW5lZCBxdWVyaWVzIChBWFBRdWVyeSlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBRdWVyeURhdGFTb3VyY2Uge1xuICAgIHR5cGU6ICdxdWVyeSc7XG4gICAgbmFtZTogc3RyaW5nOyAvLyBUaGUgcmVnaXN0ZXJlZCBxdWVyeSBuYW1lLCBlLmcuLCAnZ2V0RW1wbG95ZWVMaXN0J1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHF1ZXJ5IGlucHV0c1xuICAgIHNvcnRGaWVsZHM/OiBBWFBRdWVyeVNvcnRbXTsgICAgICAgICAgLy8gRGVmYXVsdCBzb3J0aW5nIGFwcGxpZWQgYnkgdGhlIGJhY2tlbmRcbiAgICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgICAgICAgICAgICAgICAgIC8vIEVuYWJsZXMgcGFnaW5nIGluIHJlc3VsdCBzZXRcbn1cblxuXG5cbi8qKlxuICogQ3VzdG9tIERhdGEgU291cmNlIC0gVXNlZCBmb3IgZmV0Y2hpbmcgZGF0YSBmcm9tIGN1c3RvbSBwcm92aWRlcnMgbGlrZSBSRVNUIEFQSXMgb3IgZXh0ZXJuYWwgc2VydmljZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDdXN0b21EYXRhU291cmNlIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBwcm92aWRlcjogc3RyaW5nOyAvLyBFeGFtcGxlOiAnaHR0cDovL2FwaS9yZXBvcnQnIG9yICdjdXN0b206TXlIYW5kbGVyJ1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdOyAvLyBNYXBzIHJlcG9ydCBwYXJhbWV0ZXJzIHRvIHBheWxvYWRcbiAgICBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgICAgIC8vIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGN1c3RvbSBoYW5kbGVyXG59XG5cbi8qKlxuICogUGFyYW1ldGVyIEJpbmRpbmcgLSBNYXBzIHJlcG9ydC1sZXZlbCBwYXJhbWV0ZXJzIHRvIGFjdHVhbCBxdWVyeS9jb21tYW5kIGlucHV0IHN0cnVjdHVyZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmcge1xuICAgIHBhcmFtZXRlcktleTogc3RyaW5nOyAvLyBSZXBvcnQgcGFyYW1ldGVyIGtleSwgZS5nLiwgJ3N0YXJ0RGF0ZSdcbiAgICBiaW5kVG86IHN0cmluZzsgICAgICAgLy8gSW5wdXQga2V5IGluIHRoZSBxdWVyeS9jb21tYW5kIHBheWxvYWQsIGUuZy4sICdmaWx0ZXJzLmZyb20nXG59XG5cbi8qKlxuICogQWdncmVnYXRlZCBEYXRhIFNvdXJjZSAtIFVzZWQgZm9yIHByZS1hZ2dyZWdhdGVkIGRhdGEgb3B0aW1pemVkIGZvciBjaGFydHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBZ2dyZWdhdGVkRGF0YVNvdXJjZSB7XG4gICAgdHlwZTogJ2FnZ3JlZ2F0ZWQnO1xuICAgIGJhc2VRdWVyeTogc3RyaW5nOyAgICAvLyBCYXNlIHF1ZXJ5IHRvIGFnZ3JlZ2F0ZSBmcm9tXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICBncm91cEJ5OiBzdHJpbmdbXTsgICAgLy8gRmllbGRzIHRvIGdyb3VwIGJ5XG4gICAgYWdncmVnYXRpb25zOiBBWFBBZ2dyZWdhdGlvbltdOyAvLyBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zXG4gICAgaW5wdXRzPzogQVhQUmVwb3J0UGFyYW1ldGVyQmluZGluZ1tdO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybWVkIERhdGEgU291cmNlIC0gQXBwbGllcyB0cmFuc2Zvcm1hdGlvbnMgdG8gZXhpc3RpbmcgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVHJhbnNmb3JtZWREYXRhU291cmNlIHtcbiAgICB0eXBlOiAndHJhbnNmb3JtZWQnO1xuICAgIGJhc2VEYXRhU291cmNlOiBBWFBSZXBvcnREYXRhU291cmNlOyAvLyBTb3VyY2UgdG8gdHJhbnNmb3JtXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgICB0cmFuc2Zvcm1hdGlvbnM6IEFYUERhdGFUcmFuc2Zvcm1hdGlvbltdOyAvLyBMaXN0IG9mIHRyYW5zZm9ybWF0aW9uc1xuICAgIGlucHV0cz86IEFYUFJlcG9ydFBhcmFtZXRlckJpbmRpbmdbXTtcbn1cblxuLyoqXG4gKiBBZ2dyZWdhdGlvbiBvcGVyYXRpb24gZm9yIGFnZ3JlZ2F0ZWQgZGF0YSBzb3VyY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWdncmVnYXRpb24ge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgb3BlcmF0aW9uOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCcgfCAnZGlzdGluY3QnO1xuICAgIGFsaWFzPzogc3RyaW5nOyAvLyBPdXRwdXQgZmllbGQgbmFtZVxufVxuXG4vKipcbiAqIERhdGEgdHJhbnNmb3JtYXRpb24gb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRGF0YVRyYW5zZm9ybWF0aW9uIHtcbiAgICB0eXBlOiAnZmlsdGVyJyB8ICdzb3J0JyB8ICdncm91cCcgfCAncGl2b3QnIHwgJ2Zvcm1hdCc7XG4gICAgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyAvLyBUcmFuc2Zvcm1hdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9uXG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gLS0tLSAgIExheW91dCBUeXBlcyAgIC0tLS1cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0TGF5b3V0ID1cbiAgICB8IEFYUFJlcG9ydFRhYmxlTGF5b3V0XG4gICAgfCBBWFBSZXBvcnRDaGFydExheW91dFxuXG4vKipcbiAqIFRhYmxlIExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdGFidWxhciBmb3JtYXRcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIGV4dGVuZHMgQVhQQWN0aW9uTWVudUl0ZW0ge1xuICAgIHByaW9yaXR5OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgICB0eXBlOiBBWFBDb21tYW5kQWN0aW9uVHlwZTtcbiAgICBkZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRUYWJsZUxheW91dCB7XG4gICAgdHlwZTogJ3RhYmxlJztcbiAgICBjb2x1bW5zOiBBWFBSZXBvcnRDb2x1bW5bXTtcbiAgICBhY3Rpb25zPzogQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb25bXTtcbiAgICBvcHRpb25zPzogQVhQVGFibGVPcHRpb25zO1xuICAgIGdyb3VwQnk/OiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmc/OiBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGVbXTtcbiAgICBzdW1tYXJ5PzogQVhQUmVwb3J0U3VtbWFyeU9wdGlvbnNbXTtcbiAgICBoZWFkZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG4gICAgZm9vdGVyPzogQVhQUmVwb3J0SGVhZGVyRm9vdGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFRhYmxlT3B0aW9ucyB7XG4gICAgcGFnaW5hdGlvbj86IGJvb2xlYW47XG4gICAgc3RpY2t5SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzdHJpcGVkUm93cz86IGJvb2xlYW47XG4gICAgc29ydGluZz86IEFYUFF1ZXJ5U29ydFtdO1xuICAgIHNlbGVjdGFibGU/OiB7XG4gICAgICAgIG1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyB8ICdub25lJztcbiAgICB9O1xufVxuXG4vKipcbiAqIENoYXJ0IExheW91dCAtIERpc3BsYXlzIGRhdGEgaW4gdmFyaW91cyBjaGFydCBmb3JtYXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRMYXlvdXQge1xuICAgIHR5cGU6ICdjaGFydCc7XG4gICAgb3B0aW9uczogQVhQUmVwb3J0Q2hhcnRPcHRpb25zO1xuICAgIGhlYWRlcj86IEFYUFJlcG9ydEhlYWRlckZvb3RlcjtcbiAgICBmb290ZXI/OiBBWFBSZXBvcnRIZWFkZXJGb290ZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q2hhcnRPcHRpb25zIHtcbiAgICBjaGFydFR5cGU6ICdiYXInIHwgJ2xpbmUnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ2FyZWEnIHwgJ3NjYXR0ZXInIHwgJ3JhZGFyJyB8ICdtaXhlZCc7XG4gICAgZGF0YU1hcHBpbmc6IEFYUENoYXJ0RGF0YU1hcHBpbmc7XG4gICAgc3R5bGluZz86IEFYUENoYXJ0U3R5bGluZztcbiAgICBpbnRlcmFjdGl2aXR5PzogQVhQQ2hhcnRJbnRlcmFjdGl2aXR5O1xufVxuXG4vKipcbiAqIENoYXJ0IERhdGEgTWFwcGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnREYXRhTWFwcGluZyB7XG4gICAgLy8gQ29yZSBmaWVsZHNcbiAgICB4RmllbGQ6IHN0cmluZzsgICAgICAgICAgICAgICAgICAgIC8vIFgtYXhpcyBkYXRhIGZpZWxkXG4gICAgeUZpZWxkczogc3RyaW5nIHwgc3RyaW5nW107ICAgICAgICAvLyBZLWF4aXMgZGF0YSBmaWVsZChzKSBmb3IgbXVsdGlwbGUgc2VyaWVzXG5cbiAgICAvLyBHcm91cGluZyBhbmQgY2F0ZWdvcml6YXRpb25cbiAgICBncm91cEJ5Pzogc3RyaW5nOyAgICAgICAgICAgICAgICAgIC8vIEdyb3VwIGRhdGEgYnkgdGhpcyBmaWVsZFxuICAgIHNlcmllc0ZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgLy8gRmllbGQgdG8gY3JlYXRlIG11bHRpcGxlIHNlcmllc1xuXG4gICAgLy8gU3BlY2lhbCBmaWVsZHMgZm9yIHNwZWNpZmljIGNoYXJ0IHR5cGVzXG4gICAgc2l6ZUZpZWxkPzogc3RyaW5nOyAgICAgICAgICAgICAgICAvLyBGb3IgYnViYmxlIGNoYXJ0c1xuICAgIGNvbG9yRmllbGQ/OiBzdHJpbmc7ICAgICAgICAgICAgICAgLy8gRm9yIGdyYWRpZW50L2NvbmRpdGlvbmFsIGNvbG9yaW5nXG4gICAgbGFiZWxGaWVsZD86IHN0cmluZzsgICAgICAgICAgICAgICAvLyBDdXN0b20gbGFiZWwgZmllbGRcblxuICAgIC8vIERhdGEgYWdncmVnYXRpb25cbiAgICBhZ2dyZWdhdGlvbj86IHtcbiAgICAgICAgbWV0aG9kOiAnc3VtJyB8ICdhdmcnIHwgJ2NvdW50JyB8ICdtaW4nIHwgJ21heCc7XG4gICAgICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBWaXN1YWwgU3R5bGluZyBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ2hhcnRTdHlsaW5nIHtcbiAgICAvLyBUaGVtZSBhbmQgY29sb3JzXG4gICAgY29sb3JTY2hlbWU/OiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZGFuZ2VyJyB8ICdjdXN0b20nO1xuICAgIGN1c3RvbUNvbG9ycz86IHN0cmluZ1tdO1xuXG4gICAgLy8gQ2hhcnQgYXBwZWFyYW5jZVxuICAgIGdyaWRMaW5lcz86IGJvb2xlYW47XG4gICAgbGVnZW5kPzoge1xuICAgICAgICBzaG93OiBib29sZWFuO1xuICAgICAgICBwb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgfTtcblxuICAgIC8vIEF4ZXMgY29uZmlndXJhdGlvblxuICAgIHhBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuICAgIHlBeGlzPzogQVhQQ2hhcnRBeGlzQ29uZmlnO1xuXG4gICAgLy8gQW5pbWF0aW9uXG4gICAgYW5pbWF0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBkdXJhdGlvbj86IG51bWJlcjtcbiAgICB9O1xuXG4gICAgLy8gQ2hhcnQtc3BlY2lmaWMgc3R5bGluZ1xuICAgIGNoYXJ0U3BlY2lmaWM/OiB7XG4gICAgICAgIC8vIEJhciBjaGFydCBvcHRpb25zXG4gICAgICAgIGJhcj86IHtcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICAgICAgICAgICAgbW9kZTogJ2dyb3VwZWQnIHwgJ3N0YWNrZWQnO1xuICAgICAgICAgICAgYmFyV2lkdGg/OiBudW1iZXI7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTGluZSBjaGFydCBvcHRpb25zXG4gICAgICAgIGxpbmU/OiB7XG4gICAgICAgICAgICBzdHlsZTogJ3N0cmFpZ2h0JyB8ICdjdXJ2ZWQnIHwgJ3N0ZXBwZWQnO1xuICAgICAgICAgICAgc2hvd1BvaW50cz86IGJvb2xlYW47XG4gICAgICAgICAgICB0ZW5zaW9uPzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIEFyZWEgY2hhcnQgb3B0aW9uc1xuICAgICAgICBhcmVhPzoge1xuICAgICAgICAgICAgbW9kZTogJ25vcm1hbCcgfCAnc3RhY2tlZCcgfCAncGVyY2VudGFnZSc7XG4gICAgICAgICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFBpZS9Eb3VnaG51dCBvcHRpb25zXG4gICAgICAgIHBpZT86IHtcbiAgICAgICAgICAgIHN0YXJ0QW5nbGU/OiBudW1iZXI7XG4gICAgICAgICAgICBpbm5lclJhZGl1cz86IG51bWJlcjsgLy8gRm9yIGRvdWdobnV0IGNoYXJ0c1xuICAgICAgICAgICAgc2hvd0xhYmVscz86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuLyoqXG4gKiBDaGFydCBBeGlzIENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEF4aXNDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHR5cGU/OiAnbGluZWFyJyB8ICdsb2dhcml0aG1pYycgfCAnZGF0ZXRpbWUnIHwgJ2NhdGVnb3J5JztcbiAgICBtaW4/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4PzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGZvcm1hdD86IHN0cmluZztcbiAgICBncmlkTGluZXM/OiBib29sZWFuO1xuICAgIHRpY2tJbnRlcnZhbD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDaGFydCBJbnRlcmFjdGl2aXR5IENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDaGFydEludGVyYWN0aXZpdHkge1xuICAgIC8vIFpvb20gYW5kIHBhblxuICAgIHpvb20/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIG1vZGU/OiAneCcgfCAneScgfCAneHknO1xuICAgIH07XG5cbiAgICAvLyBUb29sdGlwc1xuICAgIHRvb2x0aXBzPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgICAgIHNob3dPbkhvdmVyPzogYm9vbGVhbjtcbiAgICB9O1xuXG4gICAgLy8gQ2xpY2sgZXZlbnRzXG4gICAgb25DbGljaz86IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgYWN0aW9uPzogJ2RyaWxsLWRvd24nIHwgJ2ZpbHRlcicgfCAnY3VzdG9tJztcbiAgICB9O1xuXG4gICAgLy8gU2VsZWN0aW9uXG4gICAgc2VsZWN0aW9uPzoge1xuICAgICAgICBlbmFibGVkOiBib29sZWFuO1xuICAgICAgICBtb2RlPzogJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuICAgIH07XG5cbiAgICAvLyBFeHBvcnRcbiAgICBleHBvcnQ/OiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIGZvcm1hdHM/OiAoJ3BuZycgfCAnanBnJyB8ICdwZGYnIHwgJ3N2ZycpW107XG4gICAgfTtcbn1cblxuXG4vLyNyZWdpb24gLS0tLSAgIFNoYXJlZCBNb2RlbHMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0Q29sdW1uIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHZpc2libGU/OiBib29sZWFuO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICAgIHdpZGdldD86IEFYUFdpZGdldENvbHVtbk5vZGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRTdW1tYXJ5T3B0aW9ucyB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBvcGVyYXRpb246ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21pbicgfCAnbWF4JztcbiAgICBkaXNwbGF5SW46ICdncm91cEZvb3RlcicgfCAncmVwb3J0Rm9vdGVyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBDb25kaXRpb25hbEZvcm1hdFJ1bGUge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgY29uZGl0aW9uOiAnPicgfCAnPCcgfCAnPScgfCAnIT0nIHwgJ2NvbnRhaW5zJztcbiAgICB2YWx1ZTogYW55O1xuICAgIHN0eWxlOiB7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgICAgIGZvbnRXZWlnaHQ/OiAnbm9ybWFsJyB8ICdib2xkJztcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEhlYWRlckZvb3RlciB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nb1VybD86IHN0cmluZztcbiAgICBzaG93RGF0ZT86IGJvb2xlYW47XG4gICAgc2hvd1BhcmFtZXRlcnM/OiBib29sZWFuO1xuICAgIGN1c3RvbUh0bWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTGF5b3V0IHN3aXRjaGVyIG9wdGlvbnMgZm9yIFVJIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBMYXlvdXRTd2l0Y2hlck9wdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdHlwZTogQVhQUmVwb3J0TGF5b3V0VHlwZTtcbn1cblxuLyoqXG4gKiBSdW50aW1lIGxheW91dCBzZWxlY3Rpb24gc3RhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRMYXlvdXRTdGF0ZSB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBhY3RpdmVMYXlvdXRJZDogc3RyaW5nO1xuICAgIGF2YWlsYWJsZUxheW91dHM6IEFYUExheW91dFN3aXRjaGVyT3B0aW9uW107XG59XG5cbi8qKlxuICogTGF5b3V0IHZhbGlkYXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0VmFsaWRhdGlvblJlc3VsdCB7XG4gICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICBlcnJvcnM6IHN0cmluZ1tdO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBzb3VyY2UgcmVzb2x1dGlvbiByZXN1bHQgZm9yIGEgc3BlY2lmaWMgbGF5b3V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RGF0YVNvdXJjZVJlc29sdXRpb24ge1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgZGF0YVNvdXJjZTogQVhQUmVwb3J0RGF0YVNvdXJjZTtcbiAgICBzb3VyY2U6ICdsYXlvdXQnIHwgJ3JlcG9ydCcgfCAnbm9uZSc7IC8vIFdoZXJlIHRoZSBkYXRhU291cmNlIGNhbWUgZnJvbVxufVxuXG4vKipcbiAqIExheW91dCBleGVjdXRpb24gY29udGV4dCB3aXRoIHJlc29sdmVkIGRhdGEgc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIGRhdGFTb3VyY2U6IEFYUFJlcG9ydERhdGFTb3VyY2U7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuXG5leHBvcnQgdHlwZSBBWFBFeGVjdXRpb25SZXBvcnRSZXN1bHQgPVxuICAgIHwgeyB0eXBlOiAndGFibGUnLCBpdGVtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgdG90YWw6IG51bWJlciB9XG4gICAgfCB7IHR5cGU6ICdjaGFydCcsIGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH1cbiAgICB8IHsgdHlwZTogJ2NhcmRzJywgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gfVxuICAgIHwgeyB0eXBlOiAnY3VzdG9tJywgZGF0YTogdW5rbm93biB9O1xuXG5cbmV4cG9ydCB0eXBlIEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgPSBBWFBSZXBvcnRMYXlvdXQgJiB7IGRhdGE6IEFYUEV4ZWN1dGlvblJlcG9ydFJlc3VsdCB9O1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZCBleHRlbmRzIEFYUENvbW1hbmQ8QVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCwgQVhQRXhlY3V0aW9uUmVwb3J0Q29tbWFuZFJlc3VsdD4ge1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gc3RhdHVzIGFuZCBtZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvblN0YXR1cyB7XG4gICAgcmVwb3J0SWQ6IHN0cmluZztcbiAgICBsYXlvdXRJZDogc3RyaW5nO1xuICAgIHN0YXR1czogJ3BlbmRpbmcnIHwgJ2V4ZWN1dGluZycgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2NhbmNlbGxlZCc7XG4gICAgc3RhcnRUaW1lOiBEYXRlO1xuICAgIGVuZFRpbWU/OiBEYXRlO1xuICAgIGR1cmF0aW9uPzogbnVtYmVyOyAvLyBtaWxsaXNlY29uZHNcbiAgICByZWNvcmRDb3VudD86IG51bWJlcjtcbiAgICBlcnJvcj86IEFYUFJlcG9ydEV4ZWN1dGlvbkVycm9yO1xufVxuXG4vKipcbiAqIERldGFpbGVkIGVycm9yIGluZm9ybWF0aW9uIGZvciByZXBvcnQgZXhlY3V0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQUmVwb3J0RXhlY3V0aW9uRXJyb3Ige1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHN0YWNrPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcG9ydCBleGVjdXRpb24gcmVxdWVzdCB3aXRoIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnRFeGVjdXRpb25SZXF1ZXN0IHtcbiAgICByZXBvcnRJZDogc3RyaW5nO1xuICAgIGxheW91dElkOiBzdHJpbmc7XG4gICAgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgb3B0aW9ucz86IEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgcmVwb3J0IGV4ZWN1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydEV4ZWN1dGlvbk9wdGlvbnMge1xuICAgIHRpbWVvdXQ/OiBudW1iZXI7IC8vIG1pbGxpc2Vjb25kc1xuICAgIHByaW9yaXR5PzogJ2xvdycgfCAnbm9ybWFsJyB8ICdoaWdoJztcbiAgICBjYWNoZT86IGJvb2xlYW47XG4gICAgY2FjaGVUaW1lb3V0PzogbnVtYmVyOyAvLyBzZWNvbmRzXG59XG5cbi8vI2VuZHJlZ2lvblxuXG5cbiJdfQ==","import { InjectionToken } from '@angular/core';\nexport const AXP_REPORT_DEFINITION_PROVIDER = new InjectionToken('AXP_REPORT_DEFINITION_PROVIDER', {\n factory: () => [],\n});\nexport const AXP_REPORT_CATEGORY_PROVIDER = new InjectionToken('AXP_REPORT_CATEGORY_PROVIDER', {\n factory: () => [],\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC1kZWZpbml0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQXFDLGdDQUFnQyxFQUFFO0lBQ25JLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO0NBQ3BCLENBQUMsQ0FBQztBQVlILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFtQyw4QkFBOEIsRUFBRTtJQUM3SCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24gfSBmcm9tICcuL3JlcG9ydC50eXBlcyc7XG5cbmV4cG9ydCB0eXBlIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclxuICAgIHwgUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXI+O1xuXG5leHBvcnQgY29uc3QgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlclRva2VuW10+KCdBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVInLCB7XG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBBWFBSZXBvcnREZWZpbml0aW9uUHJvdmlkZXIge1xuICAgIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD47XG59XG5cblxuZXhwb3J0IHR5cGUgQVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlclRva2VuID1cbiAgICB8IEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJcbiAgICB8IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcj47XG5cbmV4cG9ydCBjb25zdCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXJUb2tlbltdPignQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUicsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBbXSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+O1xuICAgIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQ+O1xufVxuXG5cblxuIl19","//#region ---- Imports ----\nimport { inject, Injectable } from '@angular/core';\nimport { AXP_REPORT_CATEGORY_PROVIDER, AXP_REPORT_DEFINITION_PROVIDER } from './report-definition.provider';\nimport * as i0 from \"@angular/core\";\n//#endregion\nexport class AXPReportDefinitionService {\n constructor() {\n //#region ---- Providers & Caches ----\n this.categoryProviders = inject(AXP_REPORT_CATEGORY_PROVIDER, { optional: true }) || [];\n this.definitionProviders = inject(AXP_REPORT_DEFINITION_PROVIDER, { optional: true }) || [];\n /** Cache for definitions by categoryId. */\n this.definitionsByCategory = new Map();\n /** Cache for categories by id. */\n this.categoriesById = new Map();\n /** Cache for categories by parentId. */\n this.categoriesByParentId = new Map();\n }\n //#endregion\n //#region ---- Public API ----\n /**\n * Returns all categories for a given parentId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getCategories(parentId) {\n if (this.categoriesByParentId.has(parentId)) {\n return this.categoriesByParentId.get(parentId);\n }\n const resolvedProviders = await Promise.allSettled(this.categoryProviders);\n const categories = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const cats = await p.value.getList(parentId);\n if (Array.isArray(cats)) {\n categories.push(...cats);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.categoriesByParentId.set(parentId, categories);\n for (const cat of categories) {\n this.categoriesById.set(cat.id, cat);\n }\n return categories;\n }\n /**\n * Returns all report definitions for a given categoryId, loading from providers if not cached.\n * Continues reading from other providers even if one fails.\n */\n async getReportsByCategoryId(categoryId) {\n if (this.definitionsByCategory.has(categoryId)) {\n return this.definitionsByCategory.get(categoryId);\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n const definitions = [];\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getList === 'function') {\n try {\n const defs = await p.value.getList(categoryId);\n if (Array.isArray(defs)) {\n definitions.push(...defs);\n }\n }\n catch {\n // continue on error\n }\n }\n }\n this.definitionsByCategory.set(categoryId, definitions);\n return definitions;\n }\n /**\n * Returns a report definition by its id. Continues through providers on errors.\n */\n async getReportById(id) {\n for (const reports of this.definitionsByCategory.values()) {\n const found = reports.find(report => report.id === id);\n if (found) {\n return found;\n }\n }\n const resolvedProviders = await Promise.allSettled(this.definitionProviders);\n for (const p of resolvedProviders) {\n if (p.status === 'fulfilled' && p.value && typeof p.value.getById === 'function') {\n try {\n const result = await p.value.getById(id);\n if (result)\n return result;\n }\n catch {\n // continue on error\n }\n }\n }\n return undefined;\n }\n /**\n * Returns a category by its id, using cache and providers if needed.\n */\n async getCategoryById(categoryId) {\n if (this.categoriesById.has(categoryId)) {\n return this.categoriesById.get(categoryId);\n }\n for (const categories of this.categoriesByParentId.values()) {\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n this.categoriesById.set(categoryId, found);\n return found;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n const found = this.categoriesById.get(categoryId);\n if (found)\n return found;\n }\n const searchQueue = [undefined];\n const searched = new Set();\n while (searchQueue.length > 0) {\n const parentId = searchQueue.shift();\n if (searched.has(parentId))\n continue;\n searched.add(parentId);\n const categories = await this.getCategories(parentId);\n const found = categories.find(cat => cat.id === categoryId);\n if (found) {\n return found;\n }\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searchQueue.push(category.id);\n }\n }\n }\n return undefined;\n }\n /**\n * Returns the full categories path from root to the specified category.\n */\n async getCategoriesPathById(categoryId) {\n const path = [];\n let currentCategoryId = categoryId;\n while (currentCategoryId) {\n let category = this.categoriesById.get(currentCategoryId);\n if (!category) {\n category = await this.getCategoryById(currentCategoryId);\n if (!category) {\n throw new Error(`Category with id '${currentCategoryId}' not found`);\n }\n }\n path.unshift(category);\n currentCategoryId = category.parentId;\n }\n return path;\n }\n /**\n * Returns the full categories path for the category that contains the specified report.\n */\n async getCategoriesPathByReportId(reportId) {\n const categoryId = await this.getCategoryIdByReportId(reportId);\n if (!categoryId) {\n throw new Error(`Report with id '${reportId}' not found in any category`);\n }\n return this.getCategoriesPathById(categoryId);\n }\n /**\n * Returns the category ID that contains a specific report.\n */\n async getCategoryIdByReportId(reportId) {\n for (const [categoryId, reports] of this.definitionsByCategory.entries()) {\n if (reports.some(report => report.id === reportId)) {\n return categoryId;\n }\n }\n if (!this.categoriesByParentId.has(undefined)) {\n await this.getCategories();\n }\n const searched = new Set();\n const searchQueueParents = [undefined];\n const searchedParents = new Set();\n while (searchQueueParents.length > 0) {\n const parentId = searchQueueParents.shift();\n if (searchedParents.has(parentId))\n continue;\n searchedParents.add(parentId);\n const categories = await this.getCategories(parentId);\n for (const category of categories) {\n if (!searched.has(category.id)) {\n searched.add(category.id);\n const reports = await this.getReportsByCategoryId(category.id);\n if (reports.some(report => report.id === reportId)) {\n return category.id;\n }\n searchQueueParents.push(category.id);\n }\n }\n }\n return undefined;\n }\n //#endregion\n //#region ---- Cache Management ----\n clearDefinitionsCache() {\n this.definitionsByCategory.clear();\n }\n clearCategoriesCache() {\n this.categoriesByParentId.clear();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportDefinitionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportDefinitionService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportDefinitionService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZmluaXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LWRlZmluaXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRTVHLFlBQVk7QUFLWixNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSUksMENBQTBDO1FBRXpCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRix3QkFBbUIsR0FBRyxNQUFNLENBQUMsOEJBQThCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEcsMkNBQTJDO1FBQ25DLDBCQUFxQixHQUF1QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlFLGtDQUFrQztRQUMxQixtQkFBYyxHQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25FLHdDQUF3QztRQUNoQyx5QkFBb0IsR0FBaUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztLQTRNMUY7SUExTUcsWUFBWTtJQUVaLGtDQUFrQztJQUVsQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUNwRCxD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SSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUNqRCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7b0JBQ0Qsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7SUFFWix3Q0FBd0M7SUFFeEMscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQXBOUSwwQkFBMEI7a0hBQTFCLDBCQUEwQixjQUZ2QixNQUFNOzsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIC0tLS0gICBJbXBvcnRzICAgLS0tLVxuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uIH0gZnJvbSAnLi9yZXBvcnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUiwgQVhQX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSIH0gZnJvbSAnLi9yZXBvcnQtZGVmaW5pdGlvbi5wcm92aWRlcic7XG5cbi8vI2VuZHJlZ2lvblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB7XG4gICAgLy8jcmVnaW9uIC0tLS0gICBQcm92aWRlcnMgJiBDYWNoZXMgICAtLS0tXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3J5UHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZpbml0aW9uUHJvdmlkZXJzID0gaW5qZWN0KEFYUF9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBbXTtcblxuICAgIC8qKiBDYWNoZSBmb3IgZGVmaW5pdGlvbnMgYnkgY2F0ZWdvcnlJZC4gKi9cbiAgICBwcml2YXRlIGRlZmluaXRpb25zQnlDYXRlZ29yeTogTWFwPHN0cmluZywgQVhQUmVwb3J0RGVmaW5pdGlvbltdPiA9IG5ldyBNYXAoKTtcbiAgICAvKiogQ2FjaGUgZm9yIGNhdGVnb3JpZXMgYnkgaWQuICovXG4gICAgcHJpdmF0ZSBjYXRlZ29yaWVzQnlJZDogTWFwPHN0cmluZywgQVhQUmVwb3J0Q2F0ZWdvcnk+ID0gbmV3IE1hcCgpO1xuICAgIC8qKiBDYWNoZSBmb3IgY2F0ZWdvcmllcyBieSBwYXJlbnRJZC4gKi9cbiAgICBwcml2YXRlIGNhdGVnb3JpZXNCeVBhcmVudElkOiBNYXA8c3RyaW5nIHwgdW5kZWZpbmVkLCBBWFBSZXBvcnRDYXRlZ29yeVtdPiA9IG5ldyBNYXAoKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQdWJsaWMgQVBJICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbGwgY2F0ZWdvcmllcyBmb3IgYSBnaXZlbiBwYXJlbnRJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldENhdGVnb3JpZXMocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHBhcmVudElkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuZ2V0KHBhcmVudElkKSE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvbHZlZFByb3ZpZGVycyA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZCh0aGlzLmNhdGVnb3J5UHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgY2F0ZWdvcmllczogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0cyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChwYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhdHMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLnB1c2goLi4uY2F0cyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeVBhcmVudElkLnNldChwYXJlbnRJZCwgY2F0ZWdvcmllcyk7XG4gICAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllc0J5SWQuc2V0KGNhdC5pZCwgY2F0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2F0ZWdvcmllcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCByZXBvcnQgZGVmaW5pdGlvbnMgZm9yIGEgZ2l2ZW4gY2F0ZWdvcnlJZCwgbG9hZGluZyBmcm9tIHByb3ZpZGVycyBpZiBub3QgY2FjaGVkLlxuICAgICAqIENvbnRpbnVlcyByZWFkaW5nIGZyb20gb3RoZXIgcHJvdmlkZXJzIGV2ZW4gaWYgb25lIGZhaWxzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgaWYgKHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmhhcyhjYXRlZ29yeUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmdldChjYXRlZ29yeUlkKSE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzb2x2ZWRQcm92aWRlcnMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQodGhpcy5kZWZpbml0aW9uUHJvdmlkZXJzKTtcbiAgICAgICAgY29uc3QgZGVmaW5pdGlvbnM6IEFYUFJlcG9ydERlZmluaXRpb25bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHAgb2YgcmVzb2x2ZWRQcm92aWRlcnMpIHtcbiAgICAgICAgICAgIGlmIChwLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcgJiYgcC52YWx1ZSAmJiB0eXBlb2YgcC52YWx1ZS5nZXRMaXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmcyA9IGF3YWl0IHAudmFsdWUuZ2V0TGlzdChjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zLnB1c2goLi4uZGVmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29udGludWUgb24gZXJyb3JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuc2V0KGNhdGVnb3J5SWQsIGRlZmluaXRpb25zKTtcbiAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSByZXBvcnQgZGVmaW5pdGlvbiBieSBpdHMgaWQuIENvbnRpbnVlcyB0aHJvdWdoIHByb3ZpZGVycyBvbiBlcnJvcnMuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb3J0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgcmVwb3J0cyBvZiB0aGlzLmRlZmluaXRpb25zQnlDYXRlZ29yeS52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSByZXBvcnRzLmZpbmQocmVwb3J0ID0+IHJlcG9ydC5pZCA9PT0gaWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc29sdmVkUHJvdmlkZXJzID0gYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHRoaXMuZGVmaW5pdGlvblByb3ZpZGVycyk7XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiByZXNvbHZlZFByb3ZpZGVycykge1xuICAgICAgICAgICAgaWYgKHAuc3RhdHVzID09PSAnZnVsZmlsbGVkJyAmJiBwLnZhbHVlICYmIHR5cGVvZiBwLnZhbHVlLmdldEJ5SWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwLnZhbHVlLmdldEJ5SWQoaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb250aW51ZSBvbiBlcnJvclxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBjYXRlZ29yeSBieSBpdHMgaWQsIHVzaW5nIGNhY2hlIGFuZCBwcm92aWRlcnMgaWYgbmVlZGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRDYXRlZ29yeUJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzQnlJZC5oYXMoY2F0ZWdvcnlJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXNCeUlkLmdldChjYXRlZ29yeUlkKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3JpZXMgb2YgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC52YWx1ZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgZm91bmQgPSBjYXRlZ29yaWVzLmZpbmQoY2F0ID0+IGNhdC5pZCA9PT0gY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeUlkLCBmb3VuZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5oYXModW5kZWZpbmVkKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGNhdGVnb3J5SWQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kKSByZXR1cm4gZm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VhcmNoUXVldWU6IChzdHJpbmcgfCB1bmRlZmluZWQpW10gPSBbdW5kZWZpbmVkXTtcbiAgICAgICAgY29uc3Qgc2VhcmNoZWQgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudElkID0gc2VhcmNoUXVldWUuc2hpZnQoKSE7XG4gICAgICAgICAgICBpZiAoc2VhcmNoZWQuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZC5hZGQocGFyZW50SWQpO1xuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcyhwYXJlbnRJZCk7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IGNhdGVnb3JpZXMuZmluZChjYXQgPT4gY2F0LmlkID09PSBjYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllcykge1xuICAgICAgICAgICAgICAgIGlmICghc2VhcmNoZWQuaGFzKGNhdGVnb3J5LmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hRdWV1ZS5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmdWxsIGNhdGVnb3JpZXMgcGF0aCBmcm9tIHJvb3QgdG8gdGhlIHNwZWNpZmllZCBjYXRlZ29yeS5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGg6IEFYUFJlcG9ydENhdGVnb3J5W10gPSBbXTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYXRlZ29yeUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBjYXRlZ29yeUlkO1xuICAgICAgICB3aGlsZSAoY3VycmVudENhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgIGxldCBjYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcmllc0J5SWQuZ2V0KGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgIGlmICghY2F0ZWdvcnkpIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeSA9IGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcnlCeUlkKGN1cnJlbnRDYXRlZ29yeUlkKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2F0ZWdvcnkgd2l0aCBpZCAnJHtjdXJyZW50Q2F0ZWdvcnlJZH0nIG5vdCBmb3VuZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGgudW5zaGlmdChjYXRlZ29yeSk7XG4gICAgICAgICAgICBjdXJyZW50Q2F0ZWdvcnlJZCA9IGNhdGVnb3J5LnBhcmVudElkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGZ1bGwgY2F0ZWdvcmllcyBwYXRoIGZvciB0aGUgY2F0ZWdvcnkgdGhhdCBjb250YWlucyB0aGUgc3BlY2lmaWVkIHJlcG9ydC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRDYXRlZ29yaWVzUGF0aEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0Q2F0ZWdvcnlbXT4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yeUlkID0gYXdhaXQgdGhpcy5nZXRDYXRlZ29yeUlkQnlSZXBvcnRJZChyZXBvcnRJZCk7XG4gICAgICAgIGlmICghY2F0ZWdvcnlJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvcnQgd2l0aCBpZCAnJHtyZXBvcnRJZH0nIG5vdCBmb3VuZCBpbiBhbnkgY2F0ZWdvcnlgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnlJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY2F0ZWdvcnkgSUQgdGhhdCBjb250YWlucyBhIHNwZWNpZmljIHJlcG9ydC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2F0ZWdvcnlJZEJ5UmVwb3J0SWQocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGZvciAoY29uc3QgW2NhdGVnb3J5SWQsIHJlcG9ydHNdIG9mIHRoaXMuZGVmaW5pdGlvbnNCeUNhdGVnb3J5LmVudHJpZXMoKSkge1xuICAgICAgICAgICAgaWYgKHJlcG9ydHMuc29tZShyZXBvcnQgPT4gcmVwb3J0LmlkID09PSByZXBvcnRJZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2F0ZWdvcnlJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuY2F0ZWdvcmllc0J5UGFyZW50SWQuaGFzKHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0Q2F0ZWdvcmllcygpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlYXJjaGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaFF1ZXVlUGFyZW50czogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFt1bmRlZmluZWRdO1xuICAgICAgICBjb25zdCBzZWFyY2hlZFBhcmVudHMgPSBuZXcgU2V0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgICAgICAgd2hpbGUgKHNlYXJjaFF1ZXVlUGFyZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IHNlYXJjaFF1ZXVlUGFyZW50cy5zaGlmdCgpITtcbiAgICAgICAgICAgIGlmIChzZWFyY2hlZFBhcmVudHMuaGFzKHBhcmVudElkKSkgY29udGludWU7XG4gICAgICAgICAgICBzZWFyY2hlZFBhcmVudHMuYWRkKHBhcmVudElkKTtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBhd2FpdCB0aGlzLmdldENhdGVnb3JpZXMocGFyZW50SWQpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWFyY2hlZC5oYXMoY2F0ZWdvcnkuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaGVkLmFkZChjYXRlZ29yeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcG9ydHMgPSBhd2FpdCB0aGlzLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVwb3J0cy5zb21lKHJlcG9ydCA9PiByZXBvcnQuaWQgPT09IHJlcG9ydElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5LmlkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaFF1ZXVlUGFyZW50cy5wdXNoKGNhdGVnb3J5LmlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ2FjaGUgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIGNsZWFyRGVmaW5pdGlvbnNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc0J5Q2F0ZWdvcnkuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBjbGVhckNhdGVnb3JpZXNDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXRlZ29yaWVzQnlQYXJlbnRJZC5jbGVhcigpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuXG5cbiJdfQ==","export function AXPBarChartReportMapper(data, options) {\n return data.map((item) => {\n return {\n id: item.id,\n label: item[options.xField],\n value: Array.isArray(options.yFields) ? item[options.yFields[0]] : item[options.yFields]\n };\n });\n}\nexport function AXPieChartReportMapper(data) {\n return Object.entries(data).map(([key, value]) => ({\n id: key,\n label: key,\n value: value\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBVyxFQUFFLE9BQTRCO0lBQzdFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JCLE9BQU87WUFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDM0IsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMzRixDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQTRCO0lBQy9ELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxFQUFFLEVBQUUsR0FBRztRQUNQLEtBQUssRUFBRSxHQUFHO1FBQ1YsS0FBSyxFQUFFLEtBQUs7S0FDZixDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBDaGFydERhdGFNYXBwaW5nIH0gZnJvbSBcIi4vcmVwb3J0LnR5cGVzXCI7XG5pbXBvcnQgeyBBWEJhckNoYXJ0RGF0YSB9IGZyb20gXCJAYWNvcmV4L2NoYXJ0cy9iYXItY2hhcnRcIjtcbmltcG9ydCB7IEFYRG9udXRDaGFydFZhbHVlIH0gZnJvbSBcIkBhY29yZXgvY2hhcnRzL2RvbnV0LWNoYXJ0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBWFBCYXJDaGFydFJlcG9ydE1hcHBlcihkYXRhOiBhbnlbXSwgb3B0aW9uczogQVhQQ2hhcnREYXRhTWFwcGluZyk6IEFYQmFyQ2hhcnREYXRhW10ge1xuICAgIHJldHVybiBkYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICBsYWJlbDogaXRlbVtvcHRpb25zLnhGaWVsZF0sXG4gICAgICAgICAgICB2YWx1ZTogQXJyYXkuaXNBcnJheShvcHRpb25zLnlGaWVsZHMpID8gaXRlbVtvcHRpb25zLnlGaWVsZHNbMF1dIDogaXRlbVtvcHRpb25zLnlGaWVsZHNdXG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFYUGllQ2hhcnRSZXBvcnRNYXBwZXIoZGF0YTogUmVjb3JkPHN0cmluZywgbnVtYmVyPik6IEFYRG9udXRDaGFydFZhbHVlIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZGF0YSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICAgIGlkOiBrZXksXG4gICAgICAgIGxhYmVsOiBrZXksXG4gICAgICAgIHZhbHVlOiB2YWx1ZVxuICAgIH0pKTtcbn1cblxuIl19","import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER } from '../../reports';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMReportDefinitionProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.report.name}`;\n }\n async getList(categoryId) {\n const result = (await this.queryService.fetch(`${this.entityName}:GetByCategory`, { categoryId }))?.items;\n return result ?? [];\n }\n async getById(id) {\n const result = await this.queryService.fetch(`${this.entityName}:GetById`, id);\n return result ?? undefined;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportDefinitionProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportDefinitionProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_DEFINITION_PROVIDER = {\n provide: AXP_REPORT_DEFINITION_PROVIDER,\n useClass: AXMReportDefinitionProvider,\n multi: true,\n};\n// --- Category Provider ---\nexport class AXMReportCategoryProvider {\n constructor() {\n this.queryService = inject(AXPQueryService);\n this.entityName = `${RootConfig.module.name}.${RootConfig.entities.category.name}`;\n }\n async getList(parentId) {\n let result = [];\n if (parentId) {\n result = (await this.queryService.fetch(`${this.entityName}:GetChildren`, { parentId }))?.items ?? [];\n }\n else {\n result = (await this.queryService.fetch(`${this.entityName}:GetRoots`, {}))?.items ?? [];\n }\n return result ?? [];\n }\n async getById(id) {\n return this.getList().then(cats => cats.find(cat => cat.id === id));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportCategoryProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportCategoryProvider, decorators: [{\n type: Injectable\n }] });\nexport const AXM_REPORT_CATEGORY_PROVIDER = {\n provide: AXP_REPORT_CATEGORY_PROVIDER,\n useClass: AXMReportCategoryProvider,\n multi: true,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC1ydW5uZXIvcmVwb3J0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9ELDhCQUE4QixFQUFnRCw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3TCxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBS3pDLE1BQU0sT0FBTywyQkFBMkI7SUFEeEM7UUFFWSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2QyxlQUFVLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztLQWlCdkY7SUFmRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDekMsR0FBRyxJQUFJLENBQUMsVUFBVSxnQkFBZ0IsRUFDbEMsRUFBRSxVQUFVLEVBQUUsQ0FDakIsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUNWLE9BQU8sTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFVO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLEdBQUcsSUFBSSxDQUFDLFVBQVUsVUFBVSxFQUM1QixFQUFFLENBQ0wsQ0FBQztRQUNGLE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUMvQixDQUFDOzhHQWxCUSwyQkFBMkI7a0hBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7QUFzQlgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsMkJBQTJCO0lBQ3JDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLDZCQUE2QjtBQUU3QixNQUFNLE9BQU8seUJBQXlCO0lBRHRDO1FBRVksaUJBQVksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsZUFBVSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7S0FxQnpGO0lBbkJHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBaUI7UUFDM0IsSUFBSSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FDbkMsR0FBRyxJQUFJLENBQUMsVUFBVSxjQUFjLEVBQ2hDLEVBQUUsUUFBUSxFQUFFLENBQ2YsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUE7UUFDbkIsQ0FBQzthQUNJLENBQUM7WUFDRixNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNuQyxHQUFHLElBQUksQ0FBQyxVQUFVLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FDckMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OEdBdEJRLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVOztBQTBCWCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxPQUFPLEVBQUUsNEJBQTRCO0lBQ3JDLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblByb3ZpZGVyLCBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIsIEFYUFJlcG9ydENhdGVnb3J5LCBBWFBfUkVQT1JUX0NBVEVHT1JZX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSwgQVhQUXVlcnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbnN0JztcbmltcG9ydCB7IEFYUFBhZ2VkTGlzdFJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydERlZmluaXRpb25Qcm92aWRlciB7XG4gICAgcHJpdmF0ZSBxdWVyeVNlcnZpY2UgPSBpbmplY3QoQVhQUXVlcnlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGVudGl0eU5hbWUgPSBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMucmVwb3J0Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QoY2F0ZWdvcnlJZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnREZWZpbml0aW9uW10+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKGF3YWl0IHRoaXMucXVlcnlTZXJ2aWNlLmZldGNoPHsgY2F0ZWdvcnlJZDogc3RyaW5nIH0sIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnREZWZpbml0aW9uPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmVudGl0eU5hbWV9OkdldEJ5Q2F0ZWdvcnlgLFxuICAgICAgICAgICAgeyBjYXRlZ29yeUlkIH1cbiAgICAgICAgKSk/Lml0ZW1zO1xuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IFtdO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8QVhQUmVwb3J0RGVmaW5pdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxzdHJpbmcsIEFYUFJlcG9ydERlZmluaXRpb24+KFxuICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRCeUlkYCxcbiAgICAgICAgICAgIGlkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBBWFBfUkVQT1JUX0RFRklOSVRJT05fUFJPVklERVIsXG4gICAgdXNlQ2xhc3M6IEFYTVJlcG9ydERlZmluaXRpb25Qcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07XG5cbi8vIC0tLSAgQ2F0ZWdvcnkgUHJvdmlkZXIgLS0tXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlciBpbXBsZW1lbnRzIEFYUFJlcG9ydENhdGVnb3J5UHJvdmlkZXIge1xuICAgIHByaXZhdGUgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG4gICAgcHJpdmF0ZSBlbnRpdHlOYW1lID0gYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmNhdGVnb3J5Lm5hbWV9YDtcblxuICAgIGFzeW5jIGdldExpc3QocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogQVhQUmVwb3J0Q2F0ZWdvcnlbXSA9IFtdO1xuICAgICAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDx7IHBhcmVudElkOiBzdHJpbmcgfSwgQVhQUGFnZWRMaXN0UmVzdWx0PEFYUFJlcG9ydENhdGVnb3J5Pj4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5lbnRpdHlOYW1lfTpHZXRDaGlsZHJlbmAsXG4gICAgICAgICAgICAgICAgeyBwYXJlbnRJZCB9XG4gICAgICAgICAgICApKT8uaXRlbXMgPz8gW11cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IChhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaDxhbnksIEFYUFBhZ2VkTGlzdFJlc3VsdDxBWFBSZXBvcnRDYXRlZ29yeT4+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuZW50aXR5TmFtZX06R2V0Um9vdHNgLCB7fSlcbiAgICAgICAgICAgICk/Lml0ZW1zID8/IFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gW107XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxBWFBSZXBvcnRDYXRlZ29yeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaXN0KCkudGhlbihjYXRzID0+IGNhdHMuZmluZChjYXQgPT4gY2F0LmlkID09PSBpZCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIgPSB7XG4gICAgcHJvdmlkZTogQVhQX1JFUE9SVF9DQVRFR09SWV9QUk9WSURFUixcbiAgICB1c2VDbGFzczogQVhNUmVwb3J0Q2F0ZWdvcnlQcm92aWRlcixcbiAgICBtdWx0aTogdHJ1ZSxcbn07ICJdfQ==","import { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nexport class AXMMenuProvider {\n constructor() {\n this.sessionService = inject(AXPSessionService);\n }\n async provide(context) {\n const module = RootConfig.module;\n context.addItems([\n {\n text: RootConfig.entities.report.titlePlural,\n path: `${this.sessionService.application?.name}/${module.route}/reports`,\n icon: RootConfig.entities.report.icon,\n priority: 9001,\n },\n ]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL21lbnUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ1ksbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQWN2RCxDQUFDO0lBWkcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUErQjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRWpDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDYjtnQkFDSSxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVztnQkFDNUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLFVBQVU7Z0JBQ3hFLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUNyQyxRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVQcm92aWRlciwgQVhQTWVudVByb3ZpZGVyQ29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuXG5leHBvcnQgY2xhc3MgQVhNTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcblxuICAgIGFzeW5jIHByb3ZpZGUoY29udGV4dDogQVhQTWVudVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBtb2R1bGUgPSBSb290Q29uZmlnLm1vZHVsZTtcblxuICAgICAgICBjb250ZXh0LmFkZEl0ZW1zKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBSb290Q29uZmlnLmVudGl0aWVzLnJlcG9ydC50aXRsZVBsdXJhbCxcbiAgICAgICAgICAgICAgICBwYXRoOiBgJHt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lfS8ke21vZHVsZS5yb3V0ZX0vcmVwb3J0c2AsXG4gICAgICAgICAgICAgICAgaWNvbjogUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuaWNvbixcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogOTAwMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiJdfQ==","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport * as i0 from \"@angular/core\";\nexport class AXMDataSetService extends AXMEntityCrudServiceImpl {\n}\nexport class AXMDataSetServiceImpl extends AXMDataSetService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.dataSet.name}`);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMDataSetServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMDataSetServiceImpl }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMDataSetServiceImpl, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2RhdGEtc2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd6QyxNQUFNLE9BQWdCLGlCQUFrQixTQUFRLHdCQUcvQztDQUFHO0FBR0osTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUMxRDtRQUNFLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQzs4R0FIVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUVudGl0eUNydWRTZXJ2aWNlSW1wbCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2VudGl0eSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbCB9IGZyb20gJy4vZGF0YS1zZXQudHlwZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2UgZXh0ZW5kcyBBWE1FbnRpdHlDcnVkU2VydmljZUltcGw8XG4gIHN0cmluZyxcbiAgQVhNUmVwb3J0TWFuYWdlbWVudERhdGFTZXRFbnRpdHlNb2RlbFxuPiB7fVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNRGF0YVNldFNlcnZpY2VJbXBsIGV4dGVuZHMgQVhNRGF0YVNldFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lfWApO1xuICB9XG59XG4iXX0=","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_FILTER_WIDGET = [\n {\n type: 'block-layout',\n mode: 'view',\n children: [\n // Enable/Disable Checkbox\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 1 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n defaultValue: true,\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n // Data Source Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'dataSource',\n options: {\n placeholder: 'Select Data Source',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"$root.dataSources\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var ds = context.eval('dataSource'); \n var columns = (ds && ds.columns) || []; \n context.set('availableFields', columns);\n context.set('columnName', null);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Field/Column Selector\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'columnName',\n options: {\n placeholder: 'Select Field',\n valueField: 'name',\n textField: 'title',\n dataSource: '{{ context.eval(\"availableFields\") || [] }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"dataSource\") }}',\n },\n triggers: [\n {\n event: \"{{ events.context('columnName') }}\",\n action: `{{ \n var columnName = context.eval('columnName');\n var availableFields = context.eval('availableFields') || [];\n var column = availableFields.find(function(c) { return c.name === columnName; }) || {};\n var fieldType = column.type || 'string';\n \n // Determine widget type based on field type\n var widgetType = (function() {\n var t = (typeof fieldType === 'object' && fieldType !== null && 'name' in fieldType) ? fieldType.name : fieldType;\n return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' :\n t === 'number-editor' || t === 'number' ? 'number-filter' :\n t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' :\n t === 'select-editor' || t === 'select' ? 'select-filter' :\n t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' :\n t === 'color-editor' ? 'color-filter' : 'string-filter';\n })();\n \n context.set('widgetType', widgetType);\n context.set('fieldType', fieldType);\n context.set('filter', null);\n }}`,\n },\n ],\n },\n ],\n },\n // Logical Operator (And/Or)\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'logicOperator',\n defaultValue: 'and',\n options: {\n placeholder: 'Logic',\n dataSource: [\n { value: 'and', text: 'And' },\n { value: 'or', text: 'Or' }\n ],\n valueField: 'value',\n textField: 'text',\n readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n },\n // Dynamic Filter Widget based on field type\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n // String Filter\n {\n type: 'string-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter filter value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ !context.eval(\"widgetType\") || context.eval(\"widgetType\") === \"string-filter\" }}',\n },\n },\n // Number Filter\n {\n type: 'number-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Enter number value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"number-filter\" }}',\n },\n },\n // DateTime Filter\n {\n type: 'datetime-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select date\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"datetime-filter\" }}',\n },\n },\n // Select Filter\n {\n type: 'select-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select value\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"select-filter\" }}',\n },\n },\n // Boolean Filter\n {\n type: 'boolean-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"boolean-filter\" }}',\n },\n },\n // Color Filter\n {\n type: 'color-filter',\n mode: 'edit',\n path: 'filter',\n options: {\n placeholder: '{{ (context.eval(\">enabled\") ?? true) ? \"Select color\" : \"Filter is disabled\" }}',\n readonly: '{{ !context.eval(\">enabled\") || !context.eval(\"columnName\") }}',\n visibility: '{{ context.eval(\"widgetType\") === \"color-filter\" }}',\n },\n },\n ],\n },\n ],\n options: {\n spacing: { margin: \"0px\", padding: \"8px\" }\n }\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2ZpbHRlci5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSzdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFxQjtJQUN6RDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFO1lBQ1IsMEJBQTBCO1lBQzFCO2dCQUNFLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsaUJBQWlCO3dCQUN2QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsU0FBUzt3QkFDZixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFFRCx1QkFBdUI7WUFDdkI7Z0JBQ0UsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxFQUFFO29CQUNSO3dCQUNFLElBQUksRUFBRSxlQUFlO3dCQUNyQixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxvQkFBb0I7NEJBQ2pDLFVBQVUsRUFBRSxNQUFNOzRCQUNsQixTQUFTLEVBQUUsT0FBTzs0QkFDbEIsVUFB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QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsV0FBVyxFQUFFLGtGQUFrRjs0QkFDL0YsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHNEQUFzRDt5QkFDbkU7cUJBQ0Y7b0JBQ0QsaUJBQWlCO29CQUNqQjt3QkFDRSxJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsUUFBUTt3QkFDZCxPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFLGdFQUFnRTs0QkFDMUUsVUFBVSxFQUFFLHVEQUF1RDt5QkFDcEU7cUJBQ0Y7b0JBQ0QsZUFBZTtvQkFDZjt3QkFDRSxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFOzRCQUNQLFdBQVcsRUFBRSxrRkFBa0Y7NEJBQy9GLFFBQVEsRUFBRSxnRUFBZ0U7NEJBQzFFLFVBQVUsRUFBRSxxREFBcUQ7eUJBQ2xFO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtTQUMzQztLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIDogQVhQV2lkZ2V0Tm9kZVtdID0gW1xuICB7XG4gICAgdHlwZTogJ2Jsb2NrLWxheW91dCcsXG4gICAgbW9kZTogJ3ZpZXcnLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICAvLyBFbmFibGUvRGlzYWJsZSBDaGVja2JveFxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAxIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIERhdGEgU291cmNlIFNlbGVjdG9yXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IERhdGEgU291cmNlJyxcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICB0ZXh0RmllbGQ6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGRhdGFTb3VyY2U6ICd7eyBjb250ZXh0LmV2YWwoXCIkcm9vdC5kYXRhU291cmNlc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSAoZHMgJiYgZHMuY29sdW1ucykgfHwgW107IFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2F2YWlsYWJsZUZpZWxkcycsIGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2NvbHVtbk5hbWUnLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWx0ZXInLCBudWxsKTtcbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBGaWVsZC9Db2x1bW4gU2VsZWN0b3JcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMyB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdjb2x1bW5OYW1lJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgRmllbGQnLFxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogJ3t7IGNvbnRleHQuZXZhbChcImF2YWlsYWJsZUZpZWxkc1wiKSB8fCBbXSB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJkYXRhU291cmNlXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2NvbHVtbk5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IFxuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb250ZXh0LmV2YWwoJ2NvbHVtbk5hbWUnKTtcbiAgICAgICAgICAgICAgICAgIHZhciBhdmFpbGFibGVGaWVsZHMgPSBjb250ZXh0LmV2YWwoJ2F2YWlsYWJsZUZpZWxkcycpIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbiA9IGF2YWlsYWJsZUZpZWxkcy5maW5kKGZ1bmN0aW9uKGMpIHsgcmV0dXJuIGMubmFtZSA9PT0gY29sdW1uTmFtZTsgfSkgfHwge307XG4gICAgICAgICAgICAgICAgICB2YXIgZmllbGRUeXBlID0gY29sdW1uLnR5cGUgfHwgJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZSB3aWRnZXQgdHlwZSBiYXNlZCBvbiBmaWVsZCB0eXBlXG4gICAgICAgICAgICAgICAgICB2YXIgd2lkZ2V0VHlwZSA9IChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSAodHlwZW9mIGZpZWxkVHlwZSA9PT0gJ29iamVjdCcgJiYgZmllbGRUeXBlICE9PSBudWxsICYmICduYW1lJyBpbiBmaWVsZFR5cGUpID8gZmllbGRUeXBlLm5hbWUgOiBmaWVsZFR5cGU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ID09PSAndGV4dC1lZGl0b3InIHx8IHQgPT09ICdsYXJnZS10ZXh0LWVkaXRvcicgfHwgdCA9PT0gJ3N0cmluZycgPyAnc3RyaW5nLWZpbHRlcicgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdkYXRlLXRpbWUtZWRpdG9yJyB8fCB0ID09PSAnZGF0ZXRpbWUnIHx8IHQgPT09ICdkYXRlJyA/ICdkYXRldGltZS1maWx0ZXInIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHQgPT09ICdzZWxlY3QtZWRpdG9yJyB8fCB0ID09PSAnc2VsZWN0JyA/ICdzZWxlY3QtZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0ID09PSAnY29sb3ItZWRpdG9yJyA/ICdjb2xvci1maWx0ZXInIDogJ3N0cmluZy1maWx0ZXInO1xuICAgICAgICAgICAgICAgICAgfSkoKTtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ3dpZGdldFR5cGUnLCB3aWRnZXRUeXBlKTtcbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdmaWVsZFR5cGUnLCBmaWVsZFR5cGUpO1xuICAgICAgICAgICAgICAgICAgY29udGV4dC5zZXQoJ2ZpbHRlcicsIG51bGwpO1xuICAgICAgICAgICAgICAgIH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIC8vIExvZ2ljYWwgT3BlcmF0b3IgKEFuZC9PcilcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ2dyaWQtaXRlbS1sYXlvdXQnLFxuICAgICAgICBtb2RlOiAndmlldycsXG4gICAgICAgIG9wdGlvbnM6IHsgY29sU3BhbjogMiB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QtZWRpdG9yJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdsb2dpY09wZXJhdG9yJyxcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogJ2FuZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnTG9naWMnLFxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBbXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ2FuZCcsIHRleHQ6ICdBbmQnIH0sXG4gICAgICAgICAgICAgICAgeyB2YWx1ZTogJ29yJywgdGV4dDogJ09yJyB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgXG4gICAgICAvLyBEeW5hbWljIEZpbHRlciBXaWRnZXQgYmFzZWQgb24gZmllbGQgdHlwZVxuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgLy8gU3RyaW5nIEZpbHRlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmctZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiRW50ZXIgZmlsdGVyIHZhbHVlXCIgOiBcIkZpbHRlciBpcyBkaXNhYmxlZFwiIH19JyxcbiAgICAgICAgICAgICAgcmVhZG9ubHk6ICd7eyAhY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgfHwgIWNvbnRleHQuZXZhbChcImNvbHVtbk5hbWVcIikgfX0nLFxuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiAne3sgIWNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgfHwgY29udGV4dC5ldmFsKFwid2lkZ2V0VHlwZVwiKSA9PT0gXCJzdHJpbmctZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIE51bWJlciBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIkVudGVyIG51bWJlciB2YWx1ZVwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwibnVtYmVyLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBEYXRlVGltZSBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnZGF0ZXRpbWUtZmlsdGVyJyxcbiAgICAgICAgICAgIG1vZGU6ICdlZGl0JyxcbiAgICAgICAgICAgIHBhdGg6ICdmaWx0ZXInLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ3t7IChjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSA/PyB0cnVlKSA/IFwiU2VsZWN0IGRhdGVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcImRhdGV0aW1lLWZpbHRlclwiIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAvLyBTZWxlY3QgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ3NlbGVjdC1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAne3sgKGNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpID8/IHRydWUpID8gXCJTZWxlY3QgdmFsdWVcIiA6IFwiRmlsdGVyIGlzIGRpc2FibGVkXCIgfX0nLFxuICAgICAgICAgICAgICByZWFkb25seTogJ3t7ICFjb250ZXh0LmV2YWwoXCI+ZW5hYmxlZFwiKSB8fCAhY29udGV4dC5ldmFsKFwiY29sdW1uTmFtZVwiKSB9fScsXG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6ICd7eyBjb250ZXh0LmV2YWwoXCJ3aWRnZXRUeXBlXCIpID09PSBcInNlbGVjdC1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQm9vbGVhbiBGaWx0ZXJcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbi1maWx0ZXInLFxuICAgICAgICAgICAgbW9kZTogJ2VkaXQnLFxuICAgICAgICAgICAgcGF0aDogJ2ZpbHRlcicsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiYm9vbGVhbi1maWx0ZXJcIiB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQ29sb3IgRmlsdGVyXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NvbG9yLWZpbHRlcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZmlsdGVyJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICd7eyAoY29udGV4dC5ldmFsKFwiPmVuYWJsZWRcIikgPz8gdHJ1ZSkgPyBcIlNlbGVjdCBjb2xvclwiIDogXCJGaWx0ZXIgaXMgZGlzYWJsZWRcIiB9fScsXG4gICAgICAgICAgICAgIHJlYWRvbmx5OiAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIHx8ICFjb250ZXh0LmV2YWwoXCJjb2x1bW5OYW1lXCIpIH19JyxcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogJ3t7IGNvbnRleHQuZXZhbChcIndpZGdldFR5cGVcIikgPT09IFwiY29sb3ItZmlsdGVyXCIgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHNwYWNpbmc6IHsgbWFyZ2luOiBcIjBweFwiLCBwYWRkaW5nOiBcIjhweFwiIH1cbiAgICB9XG4gIH0sXG5dO1xuXG4vLyNlbmRyZWdpb24gIl19","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_COLUMN_WIDGET = [\n {\n type: 'grid-row-layout',\n mode: 'view',\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 2 },\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n label: 'Enable',\n tooltip: 'Enable or disable this filter',\n disabled: '{{ context.eval(\"isRequired\") }}',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'view',\n path: 'title',\n options: {\n //readonly: '{{ !context.eval(\">enabled\") }}',\n },\n },\n ],\n }\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2RhdGEtc2V0L2NvbHVtbi5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDO0FBSTdDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUE4QjtJQUNsRTtRQUNFLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUU7WUFDUjtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjt3QkFDdkIsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsT0FBTyxFQUFFOzRCQUNQLEtBQUssRUFBRSxRQUFROzRCQUNmLE9BQU8sRUFBRSwrQkFBK0I7NEJBQ3hDLFFBQVEsRUFBRSxrQ0FBa0M7eUJBQzdDO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QixRQUFRLEVBQUU7b0JBQ1I7d0JBQ0UsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLElBQUksRUFBRSxNQUFNO3dCQUNaLElBQUksRUFBRSxPQUFPO3dCQUNiLE9BQU8sRUFBRTt3QkFDUCxnREFBZ0Q7eUJBQ2pEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfQ09MVU1OX1dJREdFVCA6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLXJvdy1sYXlvdXQnLFxuICAgIG1vZGU6ICd2aWV3JyxcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gICAgICAgIG1vZGU6ICd2aWV3JyxcbiAgICAgICAgb3B0aW9uczogeyBjb2xTcGFuOiAyIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94LWVkaXRvcicsXG4gICAgICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgICAgICBwYXRoOiAnZW5hYmxlZCcsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnRW5hYmxlJyxcbiAgICAgICAgICAgICAgdG9vbHRpcDogJ0VuYWJsZSBvciBkaXNhYmxlIHRoaXMgZmlsdGVyJyxcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6ICd7eyBjb250ZXh0LmV2YWwoXCJpc1JlcXVpcmVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICBvcHRpb25zOiB7IGNvbFNwYW46IDMgfSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAndGV4dC1lZGl0b3InLFxuICAgICAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgICAgICAgcGF0aDogJ3RpdGxlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgLy9yZWFkb25seTogICAne3sgIWNvbnRleHQuZXZhbChcIj5lbmFibGVkXCIpIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICBdLFxuICB9LFxuXTtcblxuLy8jZW5kcmVnaW9uICJdfQ==","//#region ---- DataSet Filter Widget ----\nexport const AXM_DATASET_SORT_WIDGET = [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'enabled',\n options: {\n dataSource: [\n {\n value: 'asc',\n text: 'Ascendent'\n },\n {\n value: 'desc',\n text: 'Desiccate'\n },\n {\n value: 'none',\n text: 'None'\n },\n ],\n textField: 'text',\n valueField: 'value',\n },\n },\n ],\n },\n];\n//#endregion \n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9lbnRpdGllcy9kYXRhLXNldC9zb3J0LmRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2Q0FBNkM7QUFJN0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQTZCO0lBQy9EO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsTUFBTTtRQUNaLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsS0FBSyxFQUFFLEtBQUs7NEJBQ1osSUFBSSxFQUFFLFdBQVc7eUJBQ2xCO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxNQUFNOzRCQUNiLElBQUksRUFBRSxXQUFXO3lCQUNsQjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsTUFBTTs0QkFDYixJQUFJLEVBQUUsTUFBTTt5QkFDYjtxQkFDRjtvQkFDRCxTQUFTLEVBQUUsTUFBTTtvQkFDakIsVUFBVSxFQUFFLE9BQU87aUJBQ3BCO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gLS0tLSAgIERhdGFTZXQgRmlsdGVyIFdpZGdldCAgIC0tLS1cblxuaW1wb3J0IHsgQVhFbnRpdHlQcm9wZXJ0eVdpZGdldCB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuXG5leHBvcnQgY29uc3QgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQ6IEFYRW50aXR5UHJvcGVydHlXaWRnZXRbXSA9IFtcbiAge1xuICAgIHR5cGU6ICdncmlkLWl0ZW0tbGF5b3V0JyxcbiAgICBtb2RlOiAndmlldycsXG4gICAgb3B0aW9uczogeyBjb2xTcGFuOiAzIH0sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ3NlbGVjdC1lZGl0b3InLFxuICAgICAgICBtb2RlOiAnZWRpdCcsXG4gICAgICAgIHBhdGg6ICdlbmFibGVkJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdhc2MnLFxuICAgICAgICAgICAgICB0ZXh0OiAnQXNjZW5kZW50J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdkZXNjJywgXG4gICAgICAgICAgICAgIHRleHQ6ICdEZXNpY2NhdGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YWx1ZTogJ25vbmUnLCBcbiAgICAgICAgICAgICAgdGV4dDogJ05vbmUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8vI2VuZHJlZ2lvbiAiXX0=","import { AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { RootConfig } from '../../const';\nimport { AXMDataSetService } from './data-set.service';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXM_DATASET_FILTER_WIDGET } from './filter.def';\nimport { AXMDataSourceService } from '@acorex/modules/data-management';\nimport { AXM_DATASET_COLUMN_WIDGET } from './column.def';\nimport { AXM_DATASET_SORT_WIDGET } from './sort.def';\nexport async function dataSetFactory(injector) {\n const dataService = injector.get(AXMDataSetService);\n const i18n = RootConfig.config.i18n;\n const translationService = injector.get(AXTranslationService);\n const dataSourceService = injector.get(AXMDataSourceService);\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.dataSet.name,\n source: '',\n title: RootConfig.entities.dataSet.title,\n formats: {\n individual: RootConfig.entities.dataSet.title,\n plural: RootConfig.entities.dataSet.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'dataSet',\n title: RootConfig.entities.dataSet.title,\n },\n {\n id: 'filters',\n title: `t(\"advance\", { scope: \"${i18n}\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'dataSet',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'categoryIds',\n title: 't(\"category\", { scope: \"common\" })',\n groupId: 'dataSet',\n schema: {\n defaultValue: '{{ [context.eval(\"categoryId\")] }}',\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.category.name}`,\n multiple: true,\n expose: [\n { source: 'id', target: 'categories.{id}' },\n { source: 'title', target: 'categories.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'dataSource',\n title: `t(\"dataSource\", { scope: \"${i18n}\" })`,\n groupId: 'dataSet',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: new AXDataSource({\n load: async () => {\n const items = await dataSourceService.query({\n skip: 0, take: 10000\n });\n const translated = await Promise.all(items.items.map(async (item) => ({\n ...item,\n title: await translationService.translateAsync(item.title),\n })));\n return { total: translated.length, items: translated };\n },\n pageSize: 1000,\n }),\n multiple: false,\n },\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ var ds = context.eval('dataSource'); var list = []; Array.isArray(ds.filters) ? (function(){ for(var i=0;i<ds.filters.length;i++){ var item = ds.filters[i]; !item.isSystemFilter ? (function(){ var fl = item.filter; var column = (ds.columns || []).find(function(c){return c.name === fl.columnName;}) || {}; var widgetType = (function(){ var t = column.type || 'string'; t = (typeof t === 'object' && t !== null && 'name' in t) ? t.name : t; return t === 'text-editor' || t === 'large-text-editor' || t === 'string' ? 'string-filter' : t === 'number-editor' || t === 'number' ? 'number-filter' : t === 'date-time-editor' || t === 'datetime' || t === 'date' ? 'datetime-filter' : t === 'select-editor' || t === 'select' ? 'select-filter' : t === 'checkbox-editor' || t === 'toggle-editor' || t === 'boolean' ? 'boolean-filter' : t === 'color-editor' ? 'color-filter' : 'string-filter'; })(); var copy = { columnName: fl.columnName, isRequired: false, enabled: true, filter: { columnName: fl.columnName, value: fl.value }, widgetType: widgetType }; list.push(copy); })() : null; } })() : null; context.set('filters', list); }}`,\n },\n ],\n },\n },\n validations: [\n { rule: 'required' },\n ],\n },\n {\n name: 'filters',\n title: `t(\"filters\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n path: 'filters',\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_FILTER_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ \n var selectedDataSource = context.eval('dataSource');\n if (selectedDataSource) {\n context.set('dataSources', [selectedDataSource]);\n }\n }}`,\n },\n ],\n },\n },\n },\n {\n name: 'columns',\n title: `t(\"columns\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_COLUMN_WIDGET,\n triggers: [\n {\n event: \"{{ events.context('dataSource') }}\",\n action: `{{ context.set('columns', context.eval('dataSource').columns); }}`,\n },\n ],\n },\n },\n },\n {\n name: 'sorts',\n title: `t(\"sorts\", { scope: \"${i18n}\" })`,\n groupId: 'filters',\n schema: {\n defaultValue: [],\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.repeaterLayout,\n options: {\n hasControls: false,\n isDraggable: true\n },\n children: AXM_DATASET_SORT_WIDGET,\n // triggers: [\n // {\n // event: \"{{ events.context('dataSource') }}\",\n // action: `{{ context.set('sorts', context.eval('dataSource').columns); }}`,\n // },\n // ],\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'dataSource' }],\n commands: {\n create: {\n execute: async (data) => {\n console.log(data);\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n {\n name: 'columns',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 5,\n },\n },\n },\n },\n {\n name: 'sorts',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'dataSet',\n },\n {\n id: 'filters',\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'dataSet',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'dataSource',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 3,\n },\n },\n },\n },\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n {\n name: 'categoryIds',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 4,\n },\n },\n },\n },\n {\n name: 'filters',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 5,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }]\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zZXQuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXRpZXMvZGF0YS1zZXQvZGF0YS1zZXQuZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQWtCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNwQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM5RCxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxH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OzRCQUNyQixJQUFJLEVBQUUsTUFBTTs0QkFDWixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGtDQUFrQzs0QkFDekMsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixJQUFJLEVBQUUsUUFBUTs0QkFDZCxLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTt5QkFDeEM7cUJBQ0Y7b0JBQ0QsS0FBSyxFQUFFO3dCQUNMLGtCQUFrQixDQUFDOzRCQUNqQixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDO3lCQUN0QyxDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBFbnRpdHlDb21tYW5kU2NvcGUsIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3QnO1xuaW1wb3J0IHsgQVhNRGF0YVNldFNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX0ZJTFRFUl9XSURHRVQgfSBmcm9tICcuL2ZpbHRlci5kZWYnO1xuaW1wb3J0IHsgQVhNRGF0YVNvdXJjZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvZGF0YS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYTV9EQVRBU0VUX0NPTFVNTl9XSURHRVQgfSBmcm9tICcuL2NvbHVtbi5kZWYnO1xuaW1wb3J0IHsgQVhNX0RBVEFTRVRfU09SVF9XSURHRVQgfSBmcm9tICcuL3NvcnQuZGVmJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRhdGFTZXRGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IFByb21pc2U8QVhQRW50aXR5IHwgbnVsbD4ge1xuICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdG9yLmdldChBWE1EYXRhU2V0U2VydmljZSk7XG4gIGNvbnN0IGkxOG4gPSBSb290Q29uZmlnLmNvbmZpZy5pMThuO1xuICBjb25zdCB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBjb25zdCBkYXRhU291cmNlU2VydmljZSA9IGluamVjdG9yLmdldChBWE1EYXRhU291cmNlU2VydmljZSk7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC5uYW1lLFxuICAgIHNvdXJjZTogJycsXG4gICAgdGl0bGU6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC50aXRsZSxcbiAgICBmb3JtYXRzOiB7XG4gICAgICBpbmRpdmlkdWFsOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgICBwbHVyYWw6IFJvb3RDb25maWcuZW50aXRpZXMuZGF0YVNldC50aXRsZVBsdXJhbCxcbiAgICAgIHNlYXJjaFJlc3VsdDoge1xuICAgICAgICB0aXRsZTogJ3t7IHRpdGxlIH19JyxcbiAgICAgICAgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbGF0ZWRFbnRpdGllczogW10sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgIHRpdGxlOiBSb290Q29uZmlnLmVudGl0aWVzLmRhdGFTZXQudGl0bGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogJ2ZpbHRlcnMnLFxuICAgICAgICB0aXRsZTogYHQoXCJhZHZhbmNlXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgdGl0bGU6IGB0KFwibmFtZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2RhdGFTZXQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgc29ydDoge1xuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICAgIGFkdmFuY2U6IHtcbiAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5saW5lOiB7XG4gICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkYXRhVHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHZhbGlkYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcnVsZTogJ3JlcXVpcmVkJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpdGxlJyxcbiAgICAgICAgdGl0bGU6IGB0KFwidGl0bGVcIiwgeyBzY29wZTogXCJjb21tb25cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICBhZHZhbmNlOiB7XG4gICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlubGluZToge1xuICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjYXRlZ29yeUlkcycsXG4gICAgICAgIHRpdGxlOiAndChcImNhdGVnb3J5XCIsIHsgc2NvcGU6IFwiY29tbW9uXCIgfSknLFxuICAgICAgICBncm91cElkOiAnZGF0YVNldCcsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZSA6ICd7eyBbY29udGV4dC5ldmFsKFwiY2F0ZWdvcnlJZFwiKV0gfX0nLFxuICAgICAgICAgIGRhdGFUeXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLmxvb2t1cCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkubmFtZX1gLFxuICAgICAgICAgICAgICBtdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhwb3NlOiBbXG4gICAgICAgICAgICAgICAgeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2NhdGVnb3JpZXMue2lkfScgfSxcbiAgICAgICAgICAgICAgICB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnY2F0ZWdvcmllcy57dGl0bGV9JyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YWxpZGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJ1bGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkYXRhU291cmNlJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZGF0YVNvdXJjZVwiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuc2VsZWN0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICB2YWx1ZUZpZWxkOiAnbmFtZScsXG4gICAgICAgICAgICAgIHRleHRGaWVsZDogJ3RpdGxlJyxcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbmV3IEFYRGF0YVNvdXJjZSh7XG4gICAgICAgICAgICAgICAgbG9hZDogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBkYXRhU291cmNlU2VydmljZS5xdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgIHNraXA6MCwgdGFrZToxMDAwMFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLml0ZW1zLm1hcChhc3luYyAoaXRlbTogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhpdGVtLnRpdGxlKSxcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7IHRvdGFsOiB0cmFuc2xhdGVkLmxlbmd0aCwgaXRlbXM6IHRyYW5zbGF0ZWQgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiAxMDAwLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiBge3sgdmFyIGRzID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7IHZhciBsaXN0ID0gW107IEFycmF5LmlzQXJyYXkoZHMuZmlsdGVycykgPyAoZnVuY3Rpb24oKXsgZm9yKHZhciBpPTA7aTxkcy5maWx0ZXJzLmxlbmd0aDtpKyspeyB2YXIgaXRlbSA9IGRzLmZpbHRlcnNbaV07ICFpdGVtLmlzU3lzdGVtRmlsdGVyID8gKGZ1bmN0aW9uKCl7IHZhciBmbCA9IGl0ZW0uZmlsdGVyOyB2YXIgY29sdW1uID0gKGRzLmNvbHVtbnMgfHwgW10pLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMubmFtZSA9PT0gZmwuY29sdW1uTmFtZTt9KSB8fCB7fTsgdmFyIHdpZGdldFR5cGUgPSAoZnVuY3Rpb24oKXsgdmFyIHQgPSBjb2x1bW4udHlwZSB8fCAnc3RyaW5nJzsgdCA9ICh0eXBlb2YgdCA9PT0gJ29iamVjdCcgJiYgdCAhPT0gbnVsbCAmJiAnbmFtZScgaW4gdCkgPyB0Lm5hbWUgOiB0OyByZXR1cm4gdCA9PT0gJ3RleHQtZWRpdG9yJyB8fCB0ID09PSAnbGFyZ2UtdGV4dC1lZGl0b3InIHx8IHQgPT09ICdzdHJpbmcnID8gJ3N0cmluZy1maWx0ZXInIDogdCA9PT0gJ251bWJlci1lZGl0b3InIHx8IHQgPT09ICdudW1iZXInID8gJ251bWJlci1maWx0ZXInIDogdCA9PT0gJ2RhdGUtdGltZS1lZGl0b3InIHx8IHQgPT09ICdkYXRldGltZScgfHwgdCA9PT0gJ2RhdGUnID8gJ2RhdGV0aW1lLWZpbHRlcicgOiB0ID09PSAnc2VsZWN0LWVkaXRvcicgfHwgdCA9PT0gJ3NlbGVjdCcgPyAnc2VsZWN0LWZpbHRlcicgOiB0ID09PSAnY2hlY2tib3gtZWRpdG9yJyB8fCB0ID09PSAndG9nZ2xlLWVkaXRvcicgfHwgdCA9PT0gJ2Jvb2xlYW4nID8gJ2Jvb2xlYW4tZmlsdGVyJyA6IHQgPT09ICdjb2xvci1lZGl0b3InID8gJ2NvbG9yLWZpbHRlcicgOiAnc3RyaW5nLWZpbHRlcic7IH0pKCk7IHZhciBjb3B5ID0geyBjb2x1bW5OYW1lOiBmbC5jb2x1bW5OYW1lLCBpc1JlcXVpcmVkOiBmYWxzZSwgZW5hYmxlZDogdHJ1ZSwgZmlsdGVyOiB7IGNvbHVtbk5hbWU6IGZsLmNvbHVtbk5hbWUsIHZhbHVlOiBmbC52YWx1ZSB9LCB3aWRnZXRUeXBlOiB3aWRnZXRUeXBlIH07IGxpc3QucHVzaChjb3B5KTsgfSkoKSA6IG51bGw7IH0gfSkoKSA6IG51bGw7IGNvbnRleHQuc2V0KCdmaWx0ZXJzJywgbGlzdCk7IH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdmFsaWRhdGlvbnM6IFtcbiAgICAgICAgICB7IHJ1bGU6ICdyZXF1aXJlZCcgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgdGl0bGU6IGB0KFwiZmlsdGVyc1wiLCB7IHNjb3BlOiBcIiR7aTE4bn1cIiB9KWAsXG4gICAgICAgIGdyb3VwSWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgc2NoZW1hOiB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBbXSxcbiAgICAgICAgICBkYXRhVHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgaW50ZXJmYWNlOiB7XG4gICAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5yZXBlYXRlckxheW91dCxcbiAgICAgICAgICAgIHBhdGg6J2ZpbHRlcnMnLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlIDogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9GSUxURVJfV0lER0VUIGFzIGFueSxcbiAgICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiBge3sgXG4gICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWREYXRhU291cmNlID0gY29udGV4dC5ldmFsKCdkYXRhU291cmNlJyk7XG4gICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRhU291cmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0KCdkYXRhU291cmNlcycsIFtzZWxlY3RlZERhdGFTb3VyY2VdKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fWAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29sdW1ucycsXG4gICAgICAgIHRpdGxlOiBgdChcImNvbHVtbnNcIiwgeyBzY29wZTogXCIke2kxOG59XCIgfSlgLFxuICAgICAgICBncm91cElkOiAnZmlsdGVycycsXG4gICAgICAgIHNjaGVtYToge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogW10sXG4gICAgICAgICAgZGF0YVR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGludGVyZmFjZToge1xuICAgICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cucmVwZWF0ZXJMYXlvdXQsXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgIGhhc0NvbnRyb2xzOiBmYWxzZSxcbiAgICAgICAgICAgICAgaXNEcmFnZ2FibGUgOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW46IEFYTV9EQVRBU0VUX0NPTFVNTl9XSURHRVQsXG4gICAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZXZlbnQ6IFwie3sgZXZlbnRzLmNvbnRleHQoJ2RhdGFTb3VyY2UnKSB9fVwiLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYHt7IGNvbnRleHQuc2V0KCdjb2x1bW5zJywgY29udGV4dC5ldmFsKCdkYXRhU291cmNlJykuY29sdW1ucyk7IH19YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzb3J0cycsXG4gICAgICAgIHRpdGxlOiBgdChcInNvcnRzXCIsIHsgc2NvcGU6IFwiJHtpMThufVwiIH0pYCxcbiAgICAgICAgZ3JvdXBJZDogJ2ZpbHRlcnMnLFxuICAgICAgICBzY2hlbWE6IHtcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IFtdLFxuICAgICAgICAgIGRhdGFUeXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICBpbnRlcmZhY2U6IHtcbiAgICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnJlcGVhdGVyTGF5b3V0LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICBoYXNDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICAgIGlzRHJhZ2dhYmxlIDogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBBWE1fREFUQVNFVF9TT1JUX1dJREdFVCxcbiAgICAgICAgICAgIC8vIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICAvLyAgIHtcbiAgICAgICAgICAgIC8vICAgICBldmVudDogXCJ7eyBldmVudHMuY29udGV4dCgnZGF0YVNvdXJjZScpIH19XCIsXG4gICAgICAgICAgICAvLyAgICAgYWN0aW9uOiBge3sgY29udGV4dC5zZXQoJ3NvcnRzJywgY29udGV4dC5ldmFsKCdkYXRhU291cmNlJykuY29sdW1ucyk7IH19YCxcbiAgICAgICAgICAgIC8vICAgfSxcbiAgICAgICAgICAgIC8vIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjb2x1bW5zOiBbeyBuYW1lOiAnbmFtZScgfSwgeyBuYW1lOiAndGl0bGUnIH0sIHsgbmFtZTogJ2RhdGFTb3VyY2UnIH1dLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHtcbiAgICAgICAgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKTtcbiAgICAgICAgICByZXR1cm4geyBpZDogcmVzIH07XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmRlbGV0ZU9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdXBkYXRlOiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgIGJ5S2V5OiB7XG4gICAgICAgIGV4ZWN1dGU6IGFzeW5jIChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLmdldE9uZShpZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5TaW5nbGUsXG4gICAgICB9LFxuICAgICAgbGlzdDoge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGRhdGFTZXJ2aWNlLnF1ZXJ5KHsgc2tpcDogZS5za2lwLCB0YWtlOiBlLnRha2UsIGZpbHRlcjogZS5maWx0ZXIgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IEFYUEVudGl0eVF1ZXJ5VHlwZS5MaXN0LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2RhdGFTZXQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdkYXRhU291cmNlJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZmlsdGVycycsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NvbHVtbnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3NvcnRzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNixcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6ICdkYXRhU2V0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZmlsdGVycycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDEyLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgc2luZ2xlOiB7XG4gICAgICAgICAgdGl0bGU6ICd7e3RpdGxlfX0nLFxuICAgICAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnZGF0YVNldCcsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogMTIsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZGF0YVNvdXJjZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDMsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbmFtZScsXG4gICAgICAgICAgICAgIGxheW91dDoge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uczoge1xuICAgICAgICAgICAgICAgICAgbGc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29sU3BhbjogNixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICAgICAgICBsYXlvdXQ6IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGxnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbFNwYW46IDYsXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2NhdGVnb3J5SWRzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiA2LFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogNCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdmaWx0ZXJzJyxcbiAgICAgICAgICAgICAgbGF5b3V0OiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBsZzoge1xuICAgICAgICAgICAgICAgICAgICBjb2xTcGFuOiAxMixcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGxpc3Q6IHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBgdChcImNyZWF0ZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pYCxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2NyZWF0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnY3JlYXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5UeXBlTGV2ZWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJkZWxldGVJdGVtc1wiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgc2NvcGU6IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAndChcImRldGFpbFwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ29wZW4tZW50aXR5JyxcbiAgICAgICAgICAgICAgcHJpb3JpdHk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgICB0eXBlOiAndmlldycsXG4gICAgICAgICAgICAgIHNjb3BlOiBBWFBFbnRpdHlDb21tYW5kU2NvcGUuSW5kaXZpZHVhbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZVwiLCB7IHNjb3BlOiBcImNvbW1vblwiIH0pJyxcbiAgICAgICAgICAgICAgY29tbWFuZDogJ2RlbGV0ZS1lbnRpdHknLFxuICAgICAgICAgICAgICBwcmlvcml0eTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgIHR5cGU6ICdkZWxldGUnLFxuICAgICAgICAgICAgICBzY29wZTogQVhQRW50aXR5Q29tbWFuZFNjb3BlLkluZGl2aWR1YWwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmlld3M6IFtcbiAgICAgICAgICAgIGNyZWF0ZUFsbFF1ZXJ5Vmlldyh7IFxuICAgICAgICAgICAgICBzb3J0czogW3sgbmFtZTogJ25hbWUnLCBkaXI6ICdhc2MnIH1dXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBlbnRpdHlEZWY7XG59XG4iXX0=","import { AXPLockService } from \"@acorex/platform/common\";\nimport { inject } from \"@angular/core\";\nexport class AXMColumnEvaluatorScopeProvider {\n constructor() {\n this.lockService = inject(AXPLockService);\n }\n async provide(context) {\n context.addScope('dataSource', {\n getColumn: async (columnName, columns) => {\n const column = columns.find(c => c.name === columnName);\n return column;\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtbGxpc3QvY29sdW1uLWV2YWx1YXRvci1zY29wZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sK0JBQStCO0lBQTVDO1FBRWMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFZbkQsQ0FBQztJQVZHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUQ7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDM0IsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFrQixFQUFFLE9BQTJDLEVBQUUsRUFBRTtnQkFDakYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ3hELE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUM7U0FFSixDQUFDLENBQUE7SUFDTixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBMb2NrU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xuaW1wb3J0IHsgQVhQRGF0YVNvdXJjZURhdGFGaWVsZERlZmluaXRpb24sIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyLCBBWFBFeHByZXNzaW9uRXZhbHVhdG9yU2NvcGVQcm92aWRlckNvbnRleHQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciBpbXBsZW1lbnRzIEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyIHtcblxuICAgIHByb3RlY3RlZCBsb2NrU2VydmljZSA9IGluamVjdChBWFBMb2NrU2VydmljZSk7XG5cbiAgICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUEV4cHJlc3Npb25FdmFsdWF0b3JTY29wZVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb250ZXh0LmFkZFNjb3BlKCdkYXRhU291cmNlJywge1xuICAgICAgICAgICAgZ2V0Q29sdW1uOiBhc3luYyAoY29sdW1uTmFtZTogc3RyaW5nLCBjb2x1bW5zOiBBWFBEYXRhU291cmNlRGF0YUZpZWxkRGVmaW5pdGlvbltdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1ucy5maW5kKGMgPT4gYy5uYW1lID09PSBjb2x1bW5OYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgfVxuXG59Il19","import { AXPopupService } from '@acorex/components/popup';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { inject } from '@angular/core';\nexport class AXMReportCreateRootWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.popupService = inject(AXPopupService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(context) {\n // const refId = context.getVariable<string>('options.refId');\n const comp = await import('./report-create-root/report-create-root.component').then(m => m.AXPReportCreateRootComponent);\n this.popupService.open(comp, await this.translationService.translateAsync('report.create.title', { scope: 'report-management' }));\n }\n}\nexport const AXMReportCreateWorkflow = {\n startStepId: 'report-create-root',\n steps: {\n 'report-create-root': {\n action: 'AXMReportCreateRootWorkflowAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"unlocked\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.entity-modified-title',\n content: 'workflow.entity-modified-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n // modifyConfirmed: {\n // id: 'modifyConfirmed',\n // action: 'AXPEntityModifyConfirmedAction',\n // },\n },\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNyZWF0ZS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS53b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFlLGlCQUFpQixFQUFzQixNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLGlCQUFpQjtJQUF4RTs7UUFDVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQVE1RCxDQUFDO0lBTlUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNsRCwrREFBK0Q7UUFFOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsbURBQW1ELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxXQUFXLEVBQUUsb0JBQW9CO0lBQ2pDLEtBQUssRUFBRTtRQUNMLG9CQUFvQixFQUFFO1lBQ3BCLE1BQU0sRUFBRSxtQ0FBbUM7WUFDM0MsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsdUNBQXVDLEVBQUUsQ0FBQztvQkFDckYsVUFBVSxFQUFFLGNBQWM7aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsZ0NBQWdDO2dCQUN2QyxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsOENBQThDO1FBQzlDLEtBQUs7S0FDTjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICBjb25zdCByZWZJZCA9IGNvbnRleHQuZ2V0VmFyaWFibGU8c3RyaW5nPignb3B0aW9ucy5yZWZJZCcpO1xuXG4gICBjb25zdCBjb21wID0gYXdhaXQgaW1wb3J0KCcuL3JlcG9ydC1jcmVhdGUtcm9vdC9yZXBvcnQtY3JlYXRlLXJvb3QuY29tcG9uZW50JykudGhlbihtID0+IG0uQVhQUmVwb3J0Q3JlYXRlUm9vdENvbXBvbmVudCk7XG4gICAgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb21wLCBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYygncmVwb3J0LmNyZWF0ZS50aXRsZScsIHsgc2NvcGU6ICdyZXBvcnQtbWFuYWdlbWVudCcgfSkpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWE1SZXBvcnRDcmVhdGVXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAncmVwb3J0LWNyZWF0ZS1yb290JyxcbiAgc3RlcHM6IHtcbiAgICAncmVwb3J0LWNyZWF0ZS1yb290Jzoge1xuICAgICAgYWN0aW9uOiAnQVhNUmVwb3J0Q3JlYXRlUm9vdFdvcmtmbG93QWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW3sgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInVubG9ja2VkXCIpID09IHRydWUnIH1dLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHN1Y2Nlc3NUb2FzdDoge1xuICAgICAgaWQ6ICdzdWNjZXNzVG9hc3QnLFxuICAgICAgYWN0aW9uOiAnQVhQVG9hc3RBY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgdGl0bGU6ICd3b3JrZmxvdy5lbnRpdHktbW9kaWZpZWQtdGl0bGUnLFxuICAgICAgICBjb250ZW50OiAnd29ya2Zsb3cuZW50aXR5LW1vZGlmaWVkLWJvZHknLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gbW9kaWZ5Q29uZmlybWVkOiB7XG4gICAgLy8gICBpZDogJ21vZGlmeUNvbmZpcm1lZCcsXG4gICAgLy8gICBhY3Rpb246ICdBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24nLFxuICAgIC8vIH0sXG4gIH0sXG59OyAiXX0=","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER } from '@acorex/platform/common';\nimport { AXPDomainModule, provideEntity } from '@acorex/platform/domain';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES } from '@angular/router';\nimport { RootConfig } from './const';\nimport { AXM_REPORT_CATEGORY_PROVIDER, AXM_REPORT_DEFINITION_PROVIDER, } from './features/report-runner/reports.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMDataSetService, AXMDataSetServiceImpl } from './entities';\nimport { AXMColumnEvaluatorScopeProvider } from './features/data-llist/column-evaluator-scope.provider';\nimport { AXMReportCreateRootWorkflowAction, AXMReportCreateWorkflow, } from './features/report/create/report-create.workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/platform/workflow\";\nfunction routesFacory() {\n let routes = [\n {\n path: `:app/${RootConfig.module.route}/viewer`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: ':reportId',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n {\n path: '',\n loadComponent: () => import('./features/report-viewer/report-viewer-page/report-viewer-page.component').then((c) => c.AXPReportViewerPageComponent),\n data: { reuse: true },\n },\n ],\n },\n {\n path: `:app/${RootConfig.module.route}/reports`,\n canActivate: [AXPAuthGuard],\n loadComponent: () => {\n return AXPRootLayoutComponent;\n },\n children: [\n {\n path: '**',\n loadComponent: () => import('./features/report-runner/report-runner-root-page/report-runner-root-page.component').then((c) => c.AXMReportRunnerRootPageComponent),\n data: { reuse: true },\n },\n ],\n },\n ];\n return routes;\n}\nexport class AXMReportManagementModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportManagementModule, imports: [AXPDomainModule, i1.AXPWorkflowModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportManagementModule, providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ], imports: [AXPDomainModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXMReportManagementModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n AXPDomainModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXMReportCreateRootWorkflowAction,\n },\n workflows: {\n 'report-create': AXMReportCreateWorkflow,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDataSetService,\n useClass: AXMDataSetServiceImpl,\n },\n AXM_REPORT_DEFINITION_PROVIDER,\n AXM_REPORT_CATEGORY_PROVIDER,\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n // {\n // provide: AXP_SEARCH_PROVIDER,\n // useClass: AXPReportSearchProvider,\n // multi: true,\n // },\n // {\n // provide: AXP_SEARCH_DEFINITION_PROVIDER,\n // useClass: AXPReportSearchDefinitionProvider,\n // multi: true,\n // },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n provideEntity([RootConfig.entities.report.fullName, RootConfig.entities.category.fullName]),\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMColumnEvaluatorScopeProvider,\n multi: true,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvcmVwb3J0LW1hbmFnZW1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw4QkFBOEIsR0FDL0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFrRGxELE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLHVCQUF1QixHQUN4QixNQUFNLGlEQUFpRCxDQUFDOzs7QUF2RHpELFNBQVMsWUFBWTtJQUNuQixJQUFJLE1BQU0sR0FBVztRQUNuQjtZQUNFLElBQUksRUFBRSxRQUFRLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTO1lBQzlDLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQztZQUMzQixhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUNsQixPQUFPLHNCQUFzQixDQUFDO1lBQ2hDLENBQUM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLDBFQUEwRSxDQUFDLENBQUMsSUFBSSxDQUNyRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUN0QztvQkFDSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUN0QjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsRUFBRTtvQkFDUixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQywwRUFBMEUsQ0FBQyxDQUFDLElBQUksQ0FDckYsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FDdEM7b0JBQ0gsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtpQkFDdEI7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsUUFBUSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVTtZQUMvQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDM0IsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbEIsT0FBTyxzQkFBc0IsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxJQUFJO29CQUNWLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLG9GQUFvRixDQUFDLENBQUMsSUFBSSxDQUMvRixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxDQUMxQztvQkFDSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUN0QjthQUNGO1NBQ0Y7S0FDRixDQUFDO0lBQ0YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQTRERCxNQUFNLE9BQU8seUJBQXlCOzhHQUF6Qix5QkFBeUI7K0dBQXpCLHlCQUF5QixZQWhEbEMsZUFBZTsrR0FnRE4seUJBQXlCLGFBcEN6QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRCw4QkFBOEI7WUFDOUIsNEJBQTRCO1lBQzVCO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsSUFBSTtZQUNKLG9DQUFvQztZQUNwQyx5Q0FBeUM7WUFDekMsbUJBQW1CO1lBQ25CLEtBQUs7WUFDTCxJQUFJO1lBQ0osK0NBQStDO1lBQy9DLG1EQUFtRDtZQUNuRCxtQkFBbUI7WUFDbkIsS0FBSztZQUNMO2dCQUNFLE9BQU8sRUFBRSxNQUFNO2dCQUNmLEtBQUssRUFBRSxJQUFJO2dCQUNYLFVBQVUsRUFBRSxZQUFZO2FBQ3pCO1lBRUQsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNGO2dCQUNFLE9BQU8sRUFBRSx1Q0FBdUM7Z0JBQ2hELFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixZQTlDQyxlQUFlO1lBQ2YsaUJBQWlCLENBQUMsUUFBUSxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsaUNBQWlDO2lCQUNsQztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QjtpQkFDekM7YUFDRixDQUFDOzsyRkF3Q08seUJBQXlCO2tCQWxEckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixpQkFBaUIsQ0FBQyxRQUFRLENBQUM7NEJBQ3pCLE9BQU8sRUFBRTtnQ0FDUCxpQ0FBaUM7NkJBQ2xDOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxlQUFlLEVBQUUsdUJBQXVCOzZCQUN6Qzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0QsOEJBQThCO3dCQUM5Qiw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxlQUFlOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxJQUFJO3dCQUNKLG9DQUFvQzt3QkFDcEMseUNBQXlDO3dCQUN6QyxtQkFBbUI7d0JBQ25CLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSiwrQ0FBK0M7d0JBQy9DLG1EQUFtRDt3QkFDbkQsbUJBQW1CO3dCQUNuQixLQUFLO3dCQUNMOzRCQUNFLE9BQU8sRUFBRSxNQUFNOzRCQUNmLEtBQUssRUFBRSxJQUFJOzRCQUNYLFVBQVUsRUFBRSxZQUFZO3lCQUN6Qjt3QkFFRCxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzNGOzRCQUNFLE9BQU8sRUFBRSx1Q0FBdUM7NEJBQ2hELFFBQVEsRUFBRSwrQkFBK0I7NEJBQ3pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQQXV0aEd1YXJkIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9NRU5VX1BST1ZJREVSIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQRG9tYWluTW9kdWxlLCBwcm92aWRlRW50aXR5IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9kb21haW4nO1xuaW1wb3J0IHsgQVhQUm9vdExheW91dENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vdGhlbWVzL2RlZmF1bHQnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUk9VVEVTIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7XG4gIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gIEFYTV9SRVBPUlRfREVGSU5JVElPTl9QUk9WSURFUixcbn0gZnJvbSAnLi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydHMucHJvdmlkZXInO1xuaW1wb3J0IHsgQVhNTWVudVByb3ZpZGVyIH0gZnJvbSAnLi9tZW51LnByb3ZpZGVyJztcblxuZnVuY3Rpb24gcm91dGVzRmFjb3J5KCkge1xuICBsZXQgcm91dGVzOiBSb3V0ZXMgPSBbXG4gICAge1xuICAgICAgcGF0aDogYDphcHAvJHtSb290Q29uZmlnLm1vZHVsZS5yb3V0ZX0vdmlld2VyYCxcbiAgICAgIGNhbkFjdGl2YXRlOiBbQVhQQXV0aEd1YXJkXSxcbiAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFYUFJvb3RMYXlvdXRDb21wb25lbnQ7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICc6cmVwb3J0SWQnLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXZpZXdlci9yZXBvcnQtdmlld2VyLXBhZ2UvcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYUFJlcG9ydFZpZXdlclBhZ2VDb21wb25lbnQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcnLFxuICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XG4gICAgICAgICAgICBpbXBvcnQoJy4vZmVhdHVyZXMvcmVwb3J0LXZpZXdlci9yZXBvcnQtdmlld2VyLXBhZ2UvcmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYUFJlcG9ydFZpZXdlclBhZ2VDb21wb25lbnQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgIGRhdGE6IHsgcmV1c2U6IHRydWUgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwYXRoOiBgOmFwcC8ke1Jvb3RDb25maWcubW9kdWxlLnJvdXRlfS9yZXBvcnRzYCxcbiAgICAgIGNhbkFjdGl2YXRlOiBbQVhQQXV0aEd1YXJkXSxcbiAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIEFYUFJvb3RMYXlvdXRDb21wb25lbnQ7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhdGg6ICcqKicsXG4gICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cbiAgICAgICAgICAgIGltcG9ydCgnLi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXG4gICAgICAgICAgICAgIChjKSA9PiBjLkFYTVJlcG9ydFJ1bm5lclJvb3RQYWdlQ29tcG9uZW50LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBkYXRhOiB7IHJldXNlOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbmltcG9ydCB7IEFYUF9FWFBSRVNTSU9OX0VWQUxVQVRPUl9TQ09QRV9QUk9WSURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQVhNRGF0YVNldFNlcnZpY2UsIEFYTURhdGFTZXRTZXJ2aWNlSW1wbCB9IGZyb20gJy4vZW50aXRpZXMnO1xuaW1wb3J0IHsgQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlciB9IGZyb20gJy4vZmVhdHVyZXMvZGF0YS1sbGlzdC9jb2x1bW4tZXZhbHVhdG9yLXNjb3BlLnByb3ZpZGVyJztcbmltcG9ydCB7XG4gIEFYTVJlcG9ydENyZWF0ZVJvb3RXb3JrZmxvd0FjdGlvbixcbiAgQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG59IGZyb20gJy4vZmVhdHVyZXMvcmVwb3J0L2NyZWF0ZS9yZXBvcnQtY3JlYXRlLndvcmtmbG93JztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWFBEb21haW5Nb2R1bGUsXG4gICAgQVhQV29ya2Zsb3dNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBBWE1SZXBvcnRDcmVhdGVSb290V29ya2Zsb3dBY3Rpb24sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dzOiB7XG4gICAgICAgICdyZXBvcnQtY3JlYXRlJzogQVhNUmVwb3J0Q3JlYXRlV29ya2Zsb3csXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhNRGF0YVNldFNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRGF0YVNldFNlcnZpY2VJbXBsLFxuICAgIH0sXG4gICAgQVhNX1JFUE9SVF9ERUZJTklUSU9OX1BST1ZJREVSLFxuICAgIEFYTV9SRVBPUlRfQ0FURUdPUllfUFJPVklERVIsXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX01FTlVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfUFJPVklERVIsXG4gICAgLy8gICAgIHVzZUNsYXNzOiBBWFBSZXBvcnRTZWFyY2hQcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICAvLyB7XG4gICAgLy8gICAgIHByb3ZpZGU6IEFYUF9TRUFSQ0hfREVGSU5JVElPTl9QUk9WSURFUixcbiAgICAvLyAgICAgdXNlQ2xhc3M6IEFYUFJlcG9ydFNlYXJjaERlZmluaXRpb25Qcm92aWRlcixcbiAgICAvLyAgICAgbXVsdGk6IHRydWUsXG4gICAgLy8gfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBST1VURVMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUZhY3Rvcnk6IHJvdXRlc0ZhY29yeSxcbiAgICB9LFxuXG4gICAgcHJvdmlkZUVudGl0eShbUm9vdENvbmZpZy5lbnRpdGllcy5yZXBvcnQuZnVsbE5hbWUsIFJvb3RDb25maWcuZW50aXRpZXMuY2F0ZWdvcnkuZnVsbE5hbWVdKSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRVhQUkVTU0lPTl9FVkFMVUFUT1JfU0NPUEVfUFJPVklERVIsXG4gICAgICB1c2VDbGFzczogQVhNQ29sdW1uRXZhbHVhdG9yU2NvcGVQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydE1hbmFnZW1lbnRNb2R1bGUgeyB9XG4iXX0=","import { AXPReportDefinitionService, } from \"../../reports\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPCommandService } from \"@acorex/platform/runtime\";\nexport const AXPReportViewerViewModel = signalStore(withState(() => ({\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n categoriesPath: [],\n allowFetchData: false,\n status: AXPPageStatus.Idle,\n error: null,\n})), withComputed((store) => ({\n //#region ---- Layout Management ----\n availableLayouts: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts)\n return [];\n return report.layouts.map((layout) => ({\n id: layout.id,\n title: layout.title,\n icon: layout.icon,\n type: layout.layout.type\n }));\n }),\n defaultLayout: computed(() => {\n const report = store.reportDefinition();\n if (!report?.layouts?.length)\n return null;\n // Find layout marked as default, or use first layout\n return report.layouts.find((l) => l.isDefault) || report.layouts[0];\n }),\n activeLayoutId: computed(() => store.currentLayout()?.id || null),\n layoutType: computed(() => store.currentLayout()?.layout?.type || null),\n //#endregion\n //#region ---- Layout-Specific Configurations ----\n tableLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table'\n ? layout.layout\n : null;\n }),\n chartLayoutConfig: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'chart'\n ? layout.layout\n : null;\n }),\n //#endregion\n //#region ---- State Indicators ----\n isLoading: computed(() => store.status() === AXPPageStatus.Processing),\n isExecuting: computed(() => store.status() === AXPPageStatus.Submitting),\n hasError: computed(() => store.error() !== null),\n hasMultipleLayouts: computed(() => {\n const report = store.reportDefinition();\n return (report?.layouts?.length ?? 0) > 1;\n }),\n title: computed(() => store.reportDefinition()?.title ?? 'Report Viewer'),\n description: computed(() => store.reportDefinition()?.description ?? null),\n //#endregion\n //#region ---- Form Configuration ----\n formDefinition: computed(() => {\n const report = store.reportDefinition();\n if (!report || !report.parameterGroups) {\n return { groups: [] };\n }\n return {\n groups: report.parameterGroups.map((group) => ({\n name: group.name,\n title: group.title,\n description: group.description,\n parameters: group.parameters.map((param) => ({\n path: param.path,\n title: param.title,\n description: param.description,\n widget: param.widget\n }))\n }))\n };\n }),\n //#endregion\n //#region ---- Layout Type Detection ----\n isTableLayout: computed(() => store.currentLayout()?.layout?.type === 'table'),\n isChartLayout: computed(() => store.currentLayout()?.layout?.type === 'chart'),\n //#endregion\n //#region ---- Action States ----\n canExecute: computed(() => store.reportDefinition() !== null &&\n store.currentLayout() !== null &&\n store.status() !== AXPPageStatus.Processing &&\n store.status() !== AXPPageStatus.Submitting),\n canSwitchLayout: computed(() => (store.reportDefinition()?.layouts?.length ?? 0) > 1 &&\n store.status() !== AXPPageStatus.Submitting),\n canSelectRows: computed(() => {\n const layout = store.currentLayout();\n return layout?.layout?.type === 'table' &&\n layout.layout.options?.selectable?.mode &&\n layout.layout.options?.selectable?.mode !== 'none';\n }),\n //#endregion\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => {\n const executeReport = async () => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout)\n return;\n patchState(store, {\n status: AXPPageStatus.Submitting,\n error: null\n });\n patchState(store, {\n allowFetchData: true\n });\n patchState(store, {\n status: AXPPageStatus.Submitted,\n error: null\n });\n };\n const fetchData = async (parameters = {}) => {\n const report = store.reportDefinition();\n const layout = store.currentLayout();\n if (!report || !layout) {\n return null;\n }\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n // Create execution context - ensure dataSource is provided\n const dataSource = layout.dataSource || {\n type: 'query',\n name: 'getEmployeeList'\n };\n const context = {\n reportId: report.id,\n layoutId: layout.id,\n dataSource: dataSource,\n parameters: {\n ...store.filterContext(),\n ...parameters\n }\n };\n return await commandService.execute('ReportManagement.Report:Execute', context);\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to execute report',\n });\n console.error('Error executing report:', error);\n return null;\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n };\n return {\n //#region ---- Report Loading ----\n async loadReport(reportId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n error: null\n });\n try {\n const report = await reportDefinitionService.getReportById(reportId);\n if (report) {\n console.log('report', report);\n // Configure parameter widgets with proper paths\n report.parameterGroups.forEach(group => {\n group.parameters.forEach(param => {\n param.widget.path = param.path;\n });\n });\n // Load categories path for breadcrumbs\n const categoriesPath = await reportDefinitionService.getCategoriesPathByReportId(reportId);\n // Set default layout\n const defaultLayout = report.layouts.find((l) => l.isDefault) || report.layouts[0];\n patchState(store, {\n reportDefinition: report,\n currentLayout: defaultLayout,\n categoriesPath: categoriesPath || [],\n filterContext: {}, // Reset context when loading new report\n allowFetchData: false,\n });\n }\n }\n catch (error) {\n patchState(store, {\n error: 'Failed to load report definition'\n });\n console.error('Error loading report:', error);\n }\n finally {\n patchState(store, {\n status: AXPPageStatus.Idle\n });\n }\n },\n //#endregion\n //#region ---- Layout Management ----\n switchLayout(layoutId) {\n const report = store.reportDefinition();\n if (!report)\n return;\n const layout = report.layouts.find((l) => l.id === layoutId);\n if (layout) {\n patchState(store, {\n currentLayout: layout,\n });\n }\n },\n //#endregion\n //#region ---- Data Execution ----\n executeReport,\n fetchData,\n //#endregion\n //#region ---- Filter Management ----\n updateFilterContext(context) {\n patchState(store, {\n filterContext: { ...store.filterContext(), ...context },\n });\n },\n clearFilters() {\n patchState(store, {\n allowFetchData: false,\n filterContext: {},\n });\n },\n resetFilters() {\n patchState(store, {\n allowFetchData: false\n });\n },\n //#endregion\n //#region ---- Export Management ----\n async exportReport(format) {\n const layout = store.currentLayout();\n if (!layout?.export) {\n console.warn('Export not configured for current layout');\n return;\n }\n try {\n // Export logic would go here\n // This would typically call a different command for export\n console.log(`Exporting report in ${format} format`);\n }\n catch (error) {\n console.error('Error exporting report:', error);\n }\n },\n //#endregion\n //#region ---- Utility Methods ----\n refresh() {\n return executeReport();\n },\n clearError() {\n patchState(store, {\n error: null\n });\n },\n reset() {\n patchState(store, {\n reportDefinition: null,\n currentLayout: null,\n filterContext: {},\n allowFetchData: false,\n categoriesPath: [],\n status: AXPPageStatus.Idle,\n error: null,\n });\n }\n //#endregion\n };\n}), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n // Subscribe to language and locale changes\n translationService.langChanges$.subscribe(() => {\n // Handle language change if needed\n });\n localeService.profileChanged$.subscribe(() => {\n // Handle locale change if needed \n });\n },\n onDestroy() {\n // Cleanup if needed\n }\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCwwQkFBMEIsR0FTM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUNqRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNmLGdCQUFnQixFQUFFLElBQWtDO0lBQ3BELGFBQWEsRUFBRSxJQUF3QztJQUN2RCxhQUFhLEVBQUUsRUFBb0I7SUFDbkMsY0FBYyxFQUFFLEVBQVc7SUFDM0IsY0FBYyxFQUFFLEtBQUs7SUFDckIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJO0lBQzFCLEtBQUssRUFBRSxJQUFxQjtDQUM3QixDQUFDLENBQUMsRUFFSCxZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkIseUNBQXlDO0lBRXpDLGdCQUFnQixF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QW9CO0lBQ3RCLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhQUmVwb3J0RGVmaW5pdGlvbixcbiAgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UsXG4gIEFYUFJlcG9ydExheW91dERlZmluaXRpb24sXG4gIEFYUExheW91dFN3aXRjaGVyT3B0aW9uLFxuICBBWFBMYXlvdXRFeGVjdXRpb25Db250ZXh0LFxuICBBWFBFeGVjdXRpb25SZXBvcnRDb21tYW5kUmVzdWx0LFxuICBBWFBSZXBvcnRDaGFydExheW91dCxcbiAgQVhQUmVwb3J0VGFibGVMYXlvdXQsXG4gIEFYUFJlcG9ydFBhcmFtZXRlckdyb3VwLFxuICBBWFBSZXBvcnRQYXJhbWV0ZXIsXG59IGZyb20gXCIuLi8uLi9yZXBvcnRzXCI7XG5pbXBvcnQgeyBBWFBQYWdlU3RhdHVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IEFYUER5bmFtaWNGb3JtRGVmaW5pdGlvbiB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBjb21wdXRlZCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHNpZ25hbFN0b3JlLCB3aXRoTWV0aG9kcywgd2l0aENvbXB1dGVkLCB3aXRoU3RhdGUsIHdpdGhIb29rcywgcGF0Y2hTdGF0ZSB9IGZyb20gXCJAbmdyeC9zaWduYWxzXCI7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb25cIjtcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvbG9jYWxlXCI7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWVcIjtcbmltcG9ydCB7IEFYUENvbnRleHREYXRhIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsID0gc2lnbmFsU3RvcmUoXG4gIHdpdGhTdGF0ZSgoKSA9PiAoe1xuICAgIHJlcG9ydERlZmluaXRpb246IG51bGwgYXMgQVhQUmVwb3J0RGVmaW5pdGlvbiB8IG51bGwsXG4gICAgY3VycmVudExheW91dDogbnVsbCBhcyBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uIHwgbnVsbCxcbiAgICBmaWx0ZXJDb250ZXh0OiB7fSBhcyBBWFBDb250ZXh0RGF0YSxcbiAgICBjYXRlZ29yaWVzUGF0aDogW10gYXMgYW55W10sXG4gICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlLFxuICAgIGVycm9yOiBudWxsIGFzIHN0cmluZyB8IG51bGwsXG4gIH0pKSxcblxuICB3aXRoQ29tcHV0ZWQoKHN0b3JlKSA9PiAoe1xuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IE1hbmFnZW1lbnQgICAtLS0tXG5cbiAgICBhdmFpbGFibGVMYXlvdXRzOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICBpZiAoIXJlcG9ydD8ubGF5b3V0cykgcmV0dXJuIFtdO1xuXG4gICAgICByZXR1cm4gcmVwb3J0LmxheW91dHMubWFwKChsYXlvdXQ6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+ICh7XG4gICAgICAgIGlkOiBsYXlvdXQuaWQsXG4gICAgICAgIHRpdGxlOiBsYXlvdXQudGl0bGUsXG4gICAgICAgIGljb246IGxheW91dC5pY29uLFxuICAgICAgICB0eXBlOiBsYXlvdXQubGF5b3V0LnR5cGVcbiAgICAgIH0gYXMgQVhQTGF5b3V0U3dpdGNoZXJPcHRpb24pKTtcbiAgICB9KSxcblxuICAgIGRlZmF1bHRMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgIGlmICghcmVwb3J0Py5sYXlvdXRzPy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gICAgICAvLyBGaW5kIGxheW91dCBtYXJrZWQgYXMgZGVmYXVsdCwgb3IgdXNlIGZpcnN0IGxheW91dFxuICAgICAgcmV0dXJuIHJlcG9ydC5sYXlvdXRzLmZpbmQoKGw6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+IGwuaXNEZWZhdWx0KSB8fCByZXBvcnQubGF5b3V0c1swXTtcbiAgICB9KSxcblxuICAgIGFjdGl2ZUxheW91dElkOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5jdXJyZW50TGF5b3V0KCk/LmlkIHx8IG51bGwpLFxuXG4gICAgbGF5b3V0VHlwZTogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5sYXlvdXQ/LnR5cGUgfHwgbnVsbCksXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0LVNwZWNpZmljIENvbmZpZ3VyYXRpb25zICAgLS0tLVxuXG4gICAgdGFibGVMYXlvdXRDb25maWc6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgIHJldHVybiBsYXlvdXQ/LmxheW91dD8udHlwZSA9PT0gJ3RhYmxlJ1xuICAgICAgICA/IGxheW91dC5sYXlvdXQgYXMgQVhQUmVwb3J0VGFibGVMYXlvdXRcbiAgICAgICAgOiBudWxsO1xuICAgIH0pLFxuXG4gICAgY2hhcnRMYXlvdXRDb25maWc6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgIHJldHVybiBsYXlvdXQ/LmxheW91dD8udHlwZSA9PT0gJ2NoYXJ0J1xuICAgICAgICA/IGxheW91dC5sYXlvdXQgYXMgQVhQUmVwb3J0Q2hhcnRMYXlvdXRcbiAgICAgICAgOiBudWxsO1xuICAgIH0pLFxuXG5cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBTdGF0ZSBJbmRpY2F0b3JzICAgLS0tLVxuXG4gICAgaXNMb2FkaW5nOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5zdGF0dXMoKSA9PT0gQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nKSxcbiAgICBpc0V4ZWN1dGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc3RhdHVzKCkgPT09IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGluZyksXG4gICAgaGFzRXJyb3I6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmVycm9yKCkgIT09IG51bGwpLFxuICAgIGhhc011bHRpcGxlTGF5b3V0czogY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgcmV0dXJuIChyZXBvcnQ/LmxheW91dHM/Lmxlbmd0aCA/PyAwKSA+IDE7XG4gICAgfSksXG5cbiAgICB0aXRsZTogY29tcHV0ZWQoKCkgPT4gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpPy50aXRsZSA/PyAnUmVwb3J0IFZpZXdlcicpLFxuICAgIGRlc2NyaXB0aW9uOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk/LmRlc2NyaXB0aW9uID8/IG51bGwpLFxuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEZvcm0gQ29uZmlndXJhdGlvbiAgIC0tLS1cblxuICAgIGZvcm1EZWZpbml0aW9uOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCByZXBvcnQgPSBzdG9yZS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgICBpZiAoIXJlcG9ydCB8fCAhcmVwb3J0LnBhcmFtZXRlckdyb3Vwcykge1xuICAgICAgICByZXR1cm4geyBncm91cHM6IFtdIH0gYXMgQVhQRHluYW1pY0Zvcm1EZWZpbml0aW9uO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBncm91cHM6IHJlcG9ydC5wYXJhbWV0ZXJHcm91cHMubWFwKChncm91cDogQVhQUmVwb3J0UGFyYW1ldGVyR3JvdXApID0+ICh7XG4gICAgICAgICAgbmFtZTogZ3JvdXAubmFtZSxcbiAgICAgICAgICB0aXRsZTogZ3JvdXAudGl0bGUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGdyb3VwLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHBhcmFtZXRlcnM6IGdyb3VwLnBhcmFtZXRlcnMubWFwKChwYXJhbTogQVhQUmVwb3J0UGFyYW1ldGVyKSA9PiAoe1xuICAgICAgICAgICAgcGF0aDogcGFyYW0ucGF0aCxcbiAgICAgICAgICAgIHRpdGxlOiBwYXJhbS50aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXJhbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHdpZGdldDogcGFyYW0ud2lkZ2V0XG4gICAgICAgICAgfSkpXG4gICAgICAgIH0pKVxuICAgICAgfSBhcyBBWFBEeW5hbWljRm9ybURlZmluaXRpb247XG4gICAgfSksXG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGF5b3V0IFR5cGUgRGV0ZWN0aW9uICAgLS0tLVxuXG4gICAgaXNUYWJsZUxheW91dDogY29tcHV0ZWQoKCkgPT4gc3RvcmUuY3VycmVudExheW91dCgpPy5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScpLFxuICAgIGlzQ2hhcnRMYXlvdXQ6IGNvbXB1dGVkKCgpID0+IHN0b3JlLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0Py50eXBlID09PSAnY2hhcnQnKSxcblxuICAgIC8vI2VuZHJlZ2lvblxuXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEFjdGlvbiBTdGF0ZXMgICAtLS0tXG5cbiAgICBjYW5FeGVjdXRlOiBjb21wdXRlZCgoKSA9PlxuICAgICAgc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpICE9PSBudWxsICYmXG4gICAgICBzdG9yZS5jdXJyZW50TGF5b3V0KCkgIT09IG51bGwgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcgJiZcbiAgICAgIHN0b3JlLnN0YXR1cygpICE9PSBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmdcbiAgICApLFxuXG4gICAgY2FuU3dpdGNoTGF5b3V0OiBjb21wdXRlZCgoKSA9PlxuICAgICAgKHN0b3JlLnJlcG9ydERlZmluaXRpb24oKT8ubGF5b3V0cz8ubGVuZ3RoID8/IDApID4gMSAmJlxuICAgICAgc3RvcmUuc3RhdHVzKCkgIT09IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGluZ1xuICAgICksXG5cbiAgICBjYW5TZWxlY3RSb3dzOiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQ/LnR5cGUgPT09ICd0YWJsZScgJiZcbiAgICAgICAgbGF5b3V0LmxheW91dC5vcHRpb25zPy5zZWxlY3RhYmxlPy5tb2RlICYmXG4gICAgICAgIGxheW91dC5sYXlvdXQub3B0aW9ucz8uc2VsZWN0YWJsZT8ubW9kZSAhPT0gJ25vbmUnO1xuICAgIH0pLFxuXG4gICAgLy8jZW5kcmVnaW9uXG4gIH0pKSxcblxuICB3aXRoTWV0aG9kcyhcbiAgICAoc3RvcmUsXG4gICAgICByZXBvcnREZWZpbml0aW9uU2VydmljZTogQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpLFxuICAgICAgY29tbWFuZFNlcnZpY2U6IEFYUENvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KEFYUENvbW1hbmRTZXJ2aWNlKVxuICAgICkgPT4ge1xuICAgICAgY29uc3QgZXhlY3V0ZVJlcG9ydCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICBjb25zdCBsYXlvdXQgPSBzdG9yZS5jdXJyZW50TGF5b3V0KCk7XG4gICAgICAgIGlmICghcmVwb3J0IHx8ICFsYXlvdXQpIHJldHVybjtcblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlN1Ym1pdHRpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIGFsbG93RmV0Y2hEYXRhOiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuU3VibWl0dGVkLFxuICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHBhcmFtZXRlcnM6IEFYUENvbnRleHREYXRhID0ge30pOiBQcm9taXNlPEFYUEV4ZWN1dGlvblJlcG9ydENvbW1hbmRSZXN1bHQgfCBudWxsPiA9PiB7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHN0b3JlLnJlcG9ydERlZmluaXRpb24oKTtcbiAgICAgICAgY29uc3QgbGF5b3V0ID0gc3RvcmUuY3VycmVudExheW91dCgpO1xuICAgICAgICBpZiAoIXJlcG9ydCB8fCAhbGF5b3V0KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBDcmVhdGUgZXhlY3V0aW9uIGNvbnRleHQgLSBlbnN1cmUgZGF0YVNvdXJjZSBpcyBwcm92aWRlZFxuICAgICAgICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBsYXlvdXQuZGF0YVNvdXJjZSB8fCB7XG4gICAgICAgICAgICB0eXBlOiAncXVlcnknIGFzIGNvbnN0LFxuICAgICAgICAgICAgbmFtZTogJ2dldEVtcGxveWVlTGlzdCdcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgY29udGV4dDogQVhQTGF5b3V0RXhlY3V0aW9uQ29udGV4dCA9IHtcbiAgICAgICAgICAgIHJlcG9ydElkOiByZXBvcnQuaWQsXG4gICAgICAgICAgICBsYXlvdXRJZDogbGF5b3V0LmlkLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgLi4uc3RvcmUuZmlsdGVyQ29udGV4dCgpLFxuICAgICAgICAgICAgICAuLi5wYXJhbWV0ZXJzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBhd2FpdCBjb21tYW5kU2VydmljZS5leGVjdXRlKCdSZXBvcnRNYW5hZ2VtZW50LlJlcG9ydDpFeGVjdXRlJywgY29udGV4dCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgZXJyb3I6ICdGYWlsZWQgdG8gZXhlY3V0ZSByZXBvcnQnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4ZWN1dGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgUmVwb3J0IExvYWRpbmcgICAtLS0tXG5cbiAgICAgICAgYXN5bmMgbG9hZFJlcG9ydChyZXBvcnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcG9ydCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydEJ5SWQocmVwb3J0SWQpO1xuICAgICAgICAgICAgaWYgKHJlcG9ydCkge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygncmVwb3J0JywgcmVwb3J0KTtcbiAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIHBhcmFtZXRlciB3aWRnZXRzIHdpdGggcHJvcGVyIHBhdGhzXG4gICAgICAgICAgICAgIHJlcG9ydC5wYXJhbWV0ZXJHcm91cHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgICAgICAgICAgZ3JvdXAucGFyYW1ldGVycy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgICAgICAgICAgIHBhcmFtLndpZGdldC5wYXRoID0gcGFyYW0ucGF0aDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgLy8gTG9hZCBjYXRlZ29yaWVzIHBhdGggZm9yIGJyZWFkY3J1bWJzXG4gICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeVJlcG9ydElkKHJlcG9ydElkKTtcblxuICAgICAgICAgICAgICAvLyBTZXQgZGVmYXVsdCBsYXlvdXRcbiAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdExheW91dCA9IHJlcG9ydC5sYXlvdXRzLmZpbmQoKGw6IEFYUFJlcG9ydExheW91dERlZmluaXRpb24pID0+IGwuaXNEZWZhdWx0KSB8fCByZXBvcnQubGF5b3V0c1swXTtcblxuICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgcmVwb3J0RGVmaW5pdGlvbjogcmVwb3J0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnRMYXlvdXQ6IGRlZmF1bHRMYXlvdXQsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcmllc1BhdGg6IGNhdGVnb3JpZXNQYXRoIHx8IFtdLFxuICAgICAgICAgICAgICAgIGZpbHRlckNvbnRleHQ6IHt9LCAvLyBSZXNldCBjb250ZXh0IHdoZW4gbG9hZGluZyBuZXcgcmVwb3J0XG4gICAgICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBlcnJvcjogJ0ZhaWxlZCB0byBsb2FkIHJlcG9ydCBkZWZpbml0aW9uJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIHJlcG9ydDonLCBlcnJvcik7XG4gICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIExheW91dCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIHN3aXRjaExheW91dChsYXlvdXRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgICAgY29uc3QgcmVwb3J0ID0gc3RvcmUucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgICAgICAgIGlmICghcmVwb3J0KSByZXR1cm47XG5cbiAgICAgICAgICBjb25zdCBsYXlvdXQgPSByZXBvcnQubGF5b3V0cy5maW5kKChsOiBBWFBSZXBvcnRMYXlvdXREZWZpbml0aW9uKSA9PiBsLmlkID09PSBsYXlvdXRJZCk7XG4gICAgICAgICAgaWYgKGxheW91dCkge1xuICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBsYXlvdXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIEV4ZWN1dGlvbiAgIC0tLS1cblxuICAgICAgICBleGVjdXRlUmVwb3J0LFxuICAgICAgICBmZXRjaERhdGEsXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cbiAgICAgICAgLy8jcmVnaW9uIC0tLS0gICBGaWx0ZXIgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgICAgICB1cGRhdGVGaWx0ZXJDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7IC4uLnN0b3JlLmZpbHRlckNvbnRleHQoKSwgLi4uY29udGV4dCB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIGNsZWFyRmlsdGVycygpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBmaWx0ZXJDb250ZXh0OiB7fSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICByZXNldEZpbHRlcnMoKTogdm9pZCB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgYWxsb3dGZXRjaERhdGE6IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG5cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIEV4cG9ydCBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gICAgICAgIGFzeW5jIGV4cG9ydFJlcG9ydChmb3JtYXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIGNvbnN0IGxheW91dCA9IHN0b3JlLmN1cnJlbnRMYXlvdXQoKTtcbiAgICAgICAgICBpZiAoIWxheW91dD8uZXhwb3J0KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0V4cG9ydCBub3QgY29uZmlndXJlZCBmb3IgY3VycmVudCBsYXlvdXQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gRXhwb3J0IGxvZ2ljIHdvdWxkIGdvIGhlcmVcbiAgICAgICAgICAgIC8vIFRoaXMgd291bGQgdHlwaWNhbGx5IGNhbGwgYSBkaWZmZXJlbnQgY29tbWFuZCBmb3IgZXhwb3J0XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRXhwb3J0aW5nIHJlcG9ydCBpbiAke2Zvcm1hdH0gZm9ybWF0YCk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGV4cG9ydGluZyByZXBvcnQ6JywgZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAvLyNyZWdpb24gLS0tLSAgIFV0aWxpdHkgTWV0aG9kcyAgIC0tLS1cblxuICAgICAgICByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIHJldHVybiBleGVjdXRlUmVwb3J0KCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb246IG51bGwsXG4gICAgICAgICAgICBjdXJyZW50TGF5b3V0OiBudWxsLFxuICAgICAgICAgICAgZmlsdGVyQ29udGV4dDoge30sXG4gICAgICAgICAgICBhbGxvd0ZldGNoRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBjYXRlZ29yaWVzUGF0aDogW10sXG4gICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8jZW5kcmVnaW9uXG4gICAgICB9O1xuICAgIH1cbiAgKSxcblxuICB3aXRoSG9va3MoKHN0b3JlLFxuICAgIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSksXG4gICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICkgPT4gKHtcbiAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAvLyBTdWJzY3JpYmUgdG8gbGFuZ3VhZ2UgYW5kIGxvY2FsZSBjaGFuZ2VzXG4gICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBsYW5ndWFnZSBjaGFuZ2UgaWYgbmVlZGVkXG4gICAgICB9KTtcblxuICAgICAgbG9jYWxlU2VydmljZS5wcm9maWxlQ2hhbmdlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gSGFuZGxlIGxvY2FsZSBjaGFuZ2UgaWYgbmVlZGVkICBcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgb25EZXN0cm95KCkge1xuICAgICAgLy8gQ2xlYW51cCBpZiBuZWVkZWRcbiAgICB9XG4gIH0pKVxuKTsgIl19","import { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, viewChild, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { applySystemActionDefault, getSystemActions } from '@acorex/platform/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/data-table\";\nimport * as i2 from \"@acorex/platform/layout/builder\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXPReportTableViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.commandService = inject(AXPCommandService);\n this.grid = viewChild('grid', ...(ngDevMode ? [{ debugName: \"grid\" }] : []));\n //#endregion\n //#region ---- Computed Properties ---- \n this.layout = computed(() => {\n return this.vm.currentLayout()?.layout;\n }, ...(ngDevMode ? [{ debugName: \"layout\" }] : []));\n this.#fetchData = effect(() => {\n if (this.grid() && this.vm.allowFetchData()) {\n this.grid()?.refresh();\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.dataSource = new AXDataSource({\n load: async (e) => {\n if (!this.vm.allowFetchData()) {\n return { items: [], total: 0 };\n }\n const result = await this.vm.fetchData(e);\n if (!result?.data || result.data.type !== 'table') {\n console.error('invalid table result');\n return { items: [], total: 0 };\n }\n ;\n let items = result.data.items ?? [];\n let total = result.data.total || 0;\n return { items, total };\n },\n pageSize: 10,\n key: 'id'\n });\n this.columns = computed(() => {\n return this.layout().columns?.map((col) => ({\n field: col.field,\n title: col.title || col.field,\n width: col.width || '150px',\n visible: col.visible !== false,\n align: col.align || 'left',\n widget: { ...col.widget, path: col.field }\n })) || [];\n }, ...(ngDevMode ? [{ debugName: \"columns\" }] : []));\n this.paginationEnabled = computed(() => {\n return this.layout().options?.pagination !== false;\n }, ...(ngDevMode ? [{ debugName: \"paginationEnabled\" }] : []));\n this.primaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'primary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"primaryRowAction\" }] : []));\n this.hasPrimaryRowAction = computed(() => {\n return this.primaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasPrimaryRowAction\" }] : []));\n this.secondaryRowAction = computed(() => {\n return this.layout().actions?.filter(a => a.priority === 'secondary')?.map(a => this.convertToRowCommandItem(a)) || [];\n }, ...(ngDevMode ? [{ debugName: \"secondaryRowAction\" }] : []));\n this.hasSecondaryRowAction = computed(() => {\n return this.secondaryRowAction().length > 0;\n }, ...(ngDevMode ? [{ debugName: \"hasSecondaryRowAction\" }] : []));\n this.defaultRowAction = computed(() => {\n const defaultAction = this.layout().actions?.find(a => a.default);\n if (!defaultAction) {\n return null;\n }\n return this.convertToRowCommandItem(defaultAction);\n }, ...(ngDevMode ? [{ debugName: \"defaultRowAction\" }] : []));\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleRowClick(event) {\n this.handleRowAction(event.name, event.data);\n }\n handleDbRowClick(event) {\n if (this.defaultRowAction()) {\n this.handleRowAction(this.defaultRowAction().name, event.data);\n }\n }\n handleRowAction(name, data) {\n console.log('row action', name, data);\n }\n #fetchData;\n //#endregion\n //#region ---- Helpers ----\n convertToRowCommandItem(action) {\n const systemAction = getSystemActions(action.type);\n if (!systemAction) {\n return {\n icon: action.icon ?? 'fa-light fa-eye',\n text: action.title,\n name: action.name,\n divided: action.break,\n color: action.color,\n };\n }\n const defaultAction = applySystemActionDefault(action, systemAction.key);\n return {\n icon: defaultAction.icon ?? 'fa-light fa-eye',\n text: defaultAction.title,\n name: defaultAction.name,\n divided: defaultAction.break,\n color: defaultAction.color,\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPReportTableViewComponent, isStandalone: true, selector: \"axp-report-table-view\", viewQueries: [{ propertyName: \"grid\", first: true, predicate: [\"grid\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDataTableModule }, { kind: \"component\", type: i1.AXDataTableComponent, selector: \"ax-data-table\", inputs: [\"dataSource\", \"selectedRows\", \"parentField\", \"rowTemplate\", \"emptyTemplate\", \"noDataTemplate\", \"alternative\", \"showHeader\", \"fixedHeader\", \"showFooter\", \"fixedFooter\", \"itemHeight\", \"allowReordering\", \"paging\", \"fetchDataMode\", \"loading\", \"focusedRow\"], outputs: [\"selectedRowsChange\", \"focusedRowChange\", \"onRowClick\", \"onRowDbClick\", \"onColumnsOrderChanged\", \"onColumnSizeChanged\", \"onPageChanged\"] }, { kind: \"component\", type: i1.AXRowIndexColumnComponent, selector: \"ax-index-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"padZero\"] }, { kind: \"component\", type: i1.AXRowSelectColumnComponent, selector: \"ax-select-column\", inputs: [\"width\", \"caption\", \"fixed\"] }, { kind: \"component\", type: i1.AXRowCommandColumnComponent, selector: \"ax-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"component\", type: i1.AXRowDropdownCommandColumnComponent, selector: \"ax-dropdown-command-column\", inputs: [\"width\", \"caption\", \"fixed\", \"footerTemplate\", \"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: i2.AXPWidgetColumnRendererComponent, selector: \"axp-widget-column-renderer\", inputs: [\"caption\", \"customExpandIcon\", \"customCollapseIcon\", \"customWidth\", \"node\", \"footerTemplate\", \"expandHandler\", \"cellTemplate\", \"headerTemplate\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-table-view', standalone: true, imports: [\n CommonModule,\n AXDataTableModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<ax-data-table\\n #grid\\n [dataSource]=\\\"dataSource\\\"\\n [paging]=\\\"true\\\"\\n (onRowDbClick)=\\\"handleDbRowClick($event)\\\"\\n class=\\\"ax-flex-1\\\"\\n>\\n <!-- Dynamic columns based on configuration -->\\n <ax-index-column fixed=\\\"start\\\" [width]=\\\"'80px'\\\" [padZero]=\\\"true\\\"></ax-index-column>\\n @if (vm.canSelectRows()) {\\n <ax-select-column fixed=\\\"start\\\" [width]=\\\"'50px'\\\"></ax-select-column>\\n }\\n @for (column of columns(); track column.field) {\\n @if (column.visible) {\\n <axp-widget-column-renderer\\n [customWidth]=\\\"column.width + 'px'\\\"\\n [caption]=\\\"(column.title | translate | async)!\\\"\\n [node]=\\\"column.widget!\\\"\\n ></axp-widget-column-renderer>\\n }\\n }\\n @if (hasPrimaryRowAction()) {\\n <ax-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'100px'\\\"\\n [items]=\\\"primaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-command-column>\\n }\\n @if (hasSecondaryRowAction()) {\\n <ax-dropdown-command-column\\n fixed=\\\"end\\\"\\n [width]=\\\"'60px'\\\"\\n [items]=\\\"secondaryRowAction()\\\"\\n (onItemClick)=\\\"handleRowClick($event)\\\"\\n ></ax-dropdown-command-column>\\n }\\n</ax-data-table>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtdGFibGUtdmlldy9yZXBvcnQtdGFibGUtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC10YWJsZS12aWV3L3JlcG9ydC10YWJsZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsaUJBQWlCLEVBQXVFLE1BQU0sK0JBQStCLENBQUM7QUFDN0osT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLHdCQUF3QixFQUFFLGdCQUFn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RUFBRSxNQUFNLENBQUMsS0FBSztnQkFDckIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2FBQ0EsQ0FBQztRQUN4QixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxHQUEwQixDQUFDLENBQUM7UUFDaEcsT0FBTztZQUNMLElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFJLGlCQUFpQjtZQUM3QyxJQUFJLEVBQUUsYUFBYSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1lBQ3hCLE9BQU8sRUFBRSxhQUFhLENBQUMsS0FBSztZQUM1QixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7U0FDUCxDQUFDO0lBQ3hCLENBQUM7OEdBaklVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLCtMQzVCeEMsZ3JDQXNDQSwyQ0RyQkksWUFBWSw4QkFDWixpQkFBaUIsd3FDQUNqQixlQUFlLDhCQUNmLGlCQUFpQiw4QkFDakIsbUJBQW1CLDhCQUNuQixzQkFBc0I7OzJGQU1iLDJCQUEyQjtrQkFmdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixzQkFBc0I7cUJBQ3ZCLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhVGFibGVDb21wb25lbnQsIEFYRGF0YVRhYmxlTW9kdWxlLCBBWERhdGFUYWJsZVJvd0RiQ2xpY2ssIEFYUm93Q29tbWFuZEl0ZW0sIEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbHVtbk5vZGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCB9IGZyb20gJy4uLy4uL3JlcG9ydC12aWV3ZXIudmlld21vZGVsJztcbmltcG9ydCB7IEFYUFJlcG9ydENvbHVtbiwgQVhQUmVwb3J0VGFibGVMYXlvdXQsIEFYUFJlcG9ydFRhYmxlTGF5b3V0Um93QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cyc7XG5pbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZVF1ZXJ5IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYUFN5c3RlbUFjdGlvblR5cGUsIGFwcGx5U3lzdGVtQWN0aW9uRGVmYXVsdCwgZ2V0U3lzdGVtQWN0aW9ucyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1yZXBvcnQtdGFibGUtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhEYXRhVGFibGVNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQUmVwb3J0VGFibGVWaWV3Q29tcG9uZW50IHtcblxuICAvLyNyZWdpb24gLS0tLSAgIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZ3JpZCA9IHZpZXdDaGlsZDxBWERhdGFUYWJsZUNvbXBvbmVudD4oJ2dyaWQnKTtcblxuICAvLyNlbmRyZWdpb25cblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgRXZlbnQgSGFuZGxlcnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJvd0NsaWNrKGV2ZW50OiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlUm93QWN0aW9uKGV2ZW50Lm5hbWUsIGV2ZW50LmRhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZURiUm93Q2xpY2soZXZlbnQ6IEFYRGF0YVRhYmxlUm93RGJDbGljayk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlZmF1bHRSb3dBY3Rpb24oKSkge1xuICAgICAgdGhpcy5oYW5kbGVSb3dBY3Rpb24odGhpcy5kZWZhdWx0Um93QWN0aW9uKCkhLm5hbWUsIGV2ZW50LmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVSb3dBY3Rpb24obmFtZTogc3RyaW5nLCBkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygncm93IGFjdGlvbicsIG5hbWUsIGRhdGEpO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLSBcblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBsYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuICh0aGlzLnZtLmN1cnJlbnRMYXlvdXQoKT8ubGF5b3V0IGFzIEFYUFJlcG9ydFRhYmxlTGF5b3V0KSE7XG4gIH0pO1xuXG4gICNmZXRjaERhdGEgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLmdyaWQoKSAmJiB0aGlzLnZtLmFsbG93RmV0Y2hEYXRhKCkpIHtcbiAgICAgIHRoaXMuZ3JpZCgpPy5yZWZyZXNoKCk7XG4gICAgfVxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2Uoe1xuICAgIGxvYWQ6IGFzeW5jIChlOiBBWERhdGFTb3VyY2VRdWVyeSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnZtLmFsbG93RmV0Y2hEYXRhKCkpIHtcbiAgICAgICAgcmV0dXJuIHsgaXRlbXM6IFtdLCB0b3RhbDogMCB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMudm0uZmV0Y2hEYXRhKGUpXG4gICAgICBpZiAoIXJlc3VsdD8uZGF0YSB8fCByZXN1bHQuZGF0YS50eXBlICE9PSAndGFibGUnKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2ludmFsaWQgdGFibGUgcmVzdWx0Jyk7XG4gICAgICAgIHJldHVybiB7IGl0ZW1zOiBbXSwgdG90YWw6IDAgfVxuICAgICAgfTtcblxuICAgICAgbGV0IGl0ZW1zOiBhbnlbXSA9IHJlc3VsdC5kYXRhLml0ZW1zIGFzIGFueVtdID8/IFtdO1xuICAgICAgbGV0IHRvdGFsID0gcmVzdWx0LmRhdGEudG90YWwgfHwgMDtcblxuICAgICAgcmV0dXJuIHsgaXRlbXMsIHRvdGFsIH07XG4gICAgfSxcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnXG4gIH0pO1xuXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0KCkuY29sdW1ucz8ubWFwKChjb2w6IEFYUFJlcG9ydENvbHVtbikgPT4gKHtcbiAgICAgIGZpZWxkOiBjb2wuZmllbGQsXG4gICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5maWVsZCxcbiAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgJzE1MHB4JyxcbiAgICAgIHZpc2libGU6IGNvbC52aXNpYmxlICE9PSBmYWxzZSxcbiAgICAgIGFsaWduOiBjb2wuYWxpZ24gfHwgJ2xlZnQnLFxuICAgICAgd2lkZ2V0OiB7IC4uLmNvbC53aWRnZXQsIHBhdGg6IGNvbC5maWVsZCB9IGFzIEFYUFdpZGdldENvbHVtbk5vZGVcbiAgICB9KSkgfHwgW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdpbmF0aW9uRW5hYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQoKS5vcHRpb25zPy5wYWdpbmF0aW9uICE9PSBmYWxzZTtcbiAgfSk7XG5cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJpbWFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbHRlcihhID0+IGEucHJpb3JpdHkgPT09ICdwcmltYXJ5Jyk/Lm1hcChhID0+IHRoaXMuY29udmVydFRvUm93Q29tbWFuZEl0ZW0oYSkpIHx8IFtdO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzUHJpbWFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5wcmltYXJ5Um93QWN0aW9uKCkubGVuZ3RoID4gMDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlY29uZGFyeVJvd0FjdGlvbiA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbHRlcihhID0+IGEucHJpb3JpdHkgPT09ICdzZWNvbmRhcnknKT8ubWFwKGEgPT4gdGhpcy5jb252ZXJ0VG9Sb3dDb21tYW5kSXRlbShhKSkgfHwgW107XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBoYXNTZWNvbmRhcnlSb3dBY3Rpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kYXJ5Um93QWN0aW9uKCkubGVuZ3RoID4gMDtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRSb3dBY3Rpb24gPSBjb21wdXRlZDxBWFJvd0NvbW1hbmRJdGVtIHwgbnVsbD4oKCkgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRBY3Rpb24gPSB0aGlzLmxheW91dCgpLmFjdGlvbnM/LmZpbmQoYSA9PiBhLmRlZmF1bHQpO1xuICAgIGlmICghZGVmYXVsdEFjdGlvbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGRlZmF1bHRBY3Rpb24pO1xuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlcnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGNvbnZlcnRUb1Jvd0NvbW1hbmRJdGVtKGFjdGlvbjogQVhQUmVwb3J0VGFibGVMYXlvdXRSb3dBY3Rpb24pOiBBWFJvd0NvbW1hbmRJdGVtIHtcbiAgICBjb25zdCBzeXN0ZW1BY3Rpb24gPSBnZXRTeXN0ZW1BY3Rpb25zKGFjdGlvbi50eXBlIGFzIEFYUFN5c3RlbUFjdGlvblR5cGUpO1xuICAgIGlmICghc3lzdGVtQWN0aW9uKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uOiBhY3Rpb24uaWNvbiA/PyAnZmEtbGlnaHQgZmEtZXllJyxcbiAgICAgICAgdGV4dDogYWN0aW9uLnRpdGxlLFxuICAgICAgICBuYW1lOiBhY3Rpb24ubmFtZSxcbiAgICAgICAgZGl2aWRlZDogYWN0aW9uLmJyZWFrLFxuICAgICAgICBjb2xvcjogYWN0aW9uLmNvbG9yLFxuICAgICAgfSBhcyBBWFJvd0NvbW1hbmRJdGVtO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0QWN0aW9uID0gYXBwbHlTeXN0ZW1BY3Rpb25EZWZhdWx0KGFjdGlvbiwgc3lzdGVtQWN0aW9uLmtleSBhcyBBWFBTeXN0ZW1BY3Rpb25UeXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogZGVmYXVsdEFjdGlvbi5pY29uID8/ICdmYS1saWdodCBmYS1leWUnLFxuICAgICAgdGV4dDogZGVmYXVsdEFjdGlvbi50aXRsZSxcbiAgICAgIG5hbWU6IGRlZmF1bHRBY3Rpb24ubmFtZSxcbiAgICAgIGRpdmlkZWQ6IGRlZmF1bHRBY3Rpb24uYnJlYWssXG4gICAgICBjb2xvcjogZGVmYXVsdEFjdGlvbi5jb2xvcixcbiAgICB9IGFzIEFYUm93Q29tbWFuZEl0ZW07XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxufSAiLCI8YXgtZGF0YS10YWJsZVxuICAjZ3JpZFxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgW3BhZ2luZ109XCJ0cnVlXCJcbiAgKG9uUm93RGJDbGljayk9XCJoYW5kbGVEYlJvd0NsaWNrKCRldmVudClcIlxuICBjbGFzcz1cImF4LWZsZXgtMVwiXG4+XG4gIDwhLS0gRHluYW1pYyBjb2x1bW5zIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24gLS0+XG4gIDxheC1pbmRleC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInODBweCdcIiBbcGFkWmVyb109XCJ0cnVlXCI+PC9heC1pbmRleC1jb2x1bW4+XG4gIEBpZiAodm0uY2FuU2VsZWN0Um93cygpKSB7XG4gICAgPGF4LXNlbGVjdC1jb2x1bW4gZml4ZWQ9XCJzdGFydFwiIFt3aWR0aF09XCInNTBweCdcIj48L2F4LXNlbGVjdC1jb2x1bW4+XG4gIH1cbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgY29sdW1uLmZpZWxkKSB7XG4gICAgQGlmIChjb2x1bW4udmlzaWJsZSkge1xuICAgICAgPGF4cC13aWRnZXQtY29sdW1uLXJlbmRlcmVyXG4gICAgICAgIFtjdXN0b21XaWR0aF09XCJjb2x1bW4ud2lkdGggKyAncHgnXCJcbiAgICAgICAgW2NhcHRpb25dPVwiKGNvbHVtbi50aXRsZSB8IHRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICBbbm9kZV09XCJjb2x1bW4ud2lkZ2V0IVwiXG4gICAgICA+PC9heHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlcj5cbiAgICB9XG4gIH1cbiAgQGlmIChoYXNQcmltYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInMTAwcHgnXCJcbiAgICAgIFtpdGVtc109XCJwcmltYXJ5Um93QWN0aW9uKClcIlxuICAgICAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKCRldmVudClcIlxuICAgID48L2F4LWNvbW1hbmQtY29sdW1uPlxuICB9XG4gIEBpZiAoaGFzU2Vjb25kYXJ5Um93QWN0aW9uKCkpIHtcbiAgICA8YXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW5cbiAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgIFt3aWR0aF09XCInNjBweCdcIlxuICAgICAgW2l0ZW1zXT1cInNlY29uZGFyeVJvd0FjdGlvbigpXCJcbiAgICAgIChvbkl0ZW1DbGljayk9XCJoYW5kbGVSb3dDbGljaygkZXZlbnQpXCJcbiAgICA+PC9heC1kcm9wZG93bi1jb21tYW5kLWNvbHVtbj5cbiAgfVxuPC9heC1kYXRhLXRhYmxlPlxuIl19","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLayoutBuilderModule, AXPPageStatus } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXPReportViewerViewModel } from '../../report-viewer.viewmodel';\nimport { AXPieChartReportMapper } from '../../../../reports/report-mapper';\nimport { AXDonutChartComponent } from '@acorex/charts/donut-chart';\nimport { AXChartLegendComponent } from '@acorex/charts/chart-legend';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/translation\";\nimport * as i2 from \"@angular/common\";\nexport class AXPReportChartViewComponent {\n constructor() {\n //#region ---- Dependencies ----\n this.vm = inject(AXPReportViewerViewModel);\n this.AXPPageStatus = AXPPageStatus;\n //#endregion\n //#region ---- Computed Properties ----\n /**\n * Current chart layout configuration\n */\n this.chartLayout = computed(() => {\n const layout = this.vm.currentLayout();\n return layout?.layout.type === 'chart'\n ? layout.layout\n : null;\n }, ...(ngDevMode ? [{ debugName: \"chartLayout\" }] : []));\n /**\n * Chart configuration options\n */\n this.chartOptions = computed(() => {\n const chartLayout = this.chartLayout();\n return chartLayout?.options || null;\n }, ...(ngDevMode ? [{ debugName: \"chartOptions\" }] : []));\n /**\n * Chart type for rendering\n */\n this.chartType = computed(() => {\n const options = this.chartOptions();\n return options?.chartType || 'bar';\n }, ...(ngDevMode ? [{ debugName: \"chartType\" }] : []));\n /**\n * Data mapping configuration\n */\n this.dataMapping = computed(() => {\n const options = this.chartOptions();\n return options?.dataMapping || null;\n }, ...(ngDevMode ? [{ debugName: \"dataMapping\" }] : []));\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n this.#fetchData = effect(() => {\n if (this.vm.allowFetchData() && this.chartOptions()) {\n // TODO: Implement chart data fetching\n console.log('Chart data fetch triggered', {\n chartType: this.chartType(),\n dataMapping: this.dataMapping()\n });\n this.vm.fetchData().then((data) => {\n const donutChartData = AXPieChartReportMapper((data?.data).data ?? {});\n this.donutChartData.set(donutChartData);\n console.log('donutChartData', donutChartData);\n });\n }\n }, ...(ngDevMode ? [{ debugName: \"#fetchData\" }] : []));\n this.donutChartData = signal([], ...(ngDevMode ? [{ debugName: \"donutChartData\" }] : []));\n this.donutChartOptions = signal({\n totalLabel: 'Total',\n showTooltip: true\n }, ...(ngDevMode ? [{ debugName: \"donutChartOptions\" }] : []));\n this.legendOptions = signal({\n mode: 'horizontal',\n }, ...(ngDevMode ? [{ debugName: \"legendOptions\" }] : []));\n }\n //#endregion\n //#region ---- Effects ----\n /**\n * Effect to handle data fetching when chart configuration changes\n */\n #fetchData;\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle chart click events\n */\n handleChartClick(event) {\n // TODO: Implement chart click handling\n console.log('Chart clicked:', event);\n }\n /**\n * Handle chart data point selection\n */\n handleDataPointSelect(event) {\n // TODO: Implement data point selection\n console.log('Data point selected:', event);\n }\n //#endregion\n //#region ---- Helper Methods ----\n /**\n * Check if chart is ready to render\n */\n isChartReady() {\n return !!(this.chartOptions() && this.dataMapping());\n }\n /**\n * Get chart configuration for rendering\n */\n getChartConfig() {\n // TODO: Transform AXPReportChartOptions to chart library format\n return {\n type: this.chartType(),\n options: this.chartOptions(),\n dataMapping: this.dataMapping()\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPReportChartViewComponent, isStandalone: true, selector: \"axp-report-chart-view\", ngImport: i0, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-donut-chart #chart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (donutChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i1.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXPLayoutBuilderModule }, { kind: \"component\", type: AXDonutChartComponent, selector: \"ax-donut-chart\", inputs: [\"data\", \"options\"], outputs: [\"segmentClick\", \"segmentHover\"] }, { kind: \"component\", type: AXChartLegendComponent, selector: \"ax-chart-legend\", inputs: [\"chart\", \"options\"], outputs: [\"itemClick\", \"itemMouseEnter\", \"itemMouseLeave\"] }, { kind: \"pipe\", type: i2.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i1.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-chart-view', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXPLayoutBuilderModule,\n AXDonutChartComponent,\n AXChartLegendComponent\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"<div class=\\\"axp-report-chart-view\\\" *translate=\\\"let t\\\">\\n @if (vm.status() === AXPPageStatus.Processing) {\\n <!-- Loading State -->\\n <div class=\\\"__loading\\\">\\n <div\\n class=\\\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\\\"\\n ></div>\\n <div class=\\\"__loading-text\\\">\\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\\n </div>\\n </div>\\n } @else if (vm.status() === AXPPageStatus.Error) {\\n <!-- Error State -->\\n <div class=\\\"__error\\\">\\n <div class=\\\"__error-icon\\\">\\n <i class=\\\"fa-light fa-exclamation-triangle\\\"></i>\\n </div>\\n <div class=\\\"__error-content\\\">\\n <h4 class=\\\"__error-title\\\">\\n {{ t('@report-management:features.report-viewer.error.title') | async }}\\n </h4>\\n <p class=\\\"__error-description\\\">\\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\\n </p>\\n </div>\\n </div>\\n } @else if (isChartReady()) {\\n <!-- Chart Content -->\\n <div class=\\\"__chart-container\\\">\\n @if (chartLayout()?.header) {\\n <div class=\\\"__chart-header\\\">\\n <h3 class=\\\"__chart-title\\\">{{ chartLayout()?.header?.title }}</h3>\\n @if (chartLayout()?.header?.showDate) {\\n <div class=\\\"__chart-date\\\">{{ 'common.date.today' | translate | async }}</div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"__chart-body\\\">\\n <!-- Chart component will be rendered here -->\\n <div class=\\\"__chart-placeholder\\\">\\n <div class=\\\"__placeholder-content\\\">\\n <div\\n class=\\\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\\\"\\n [class]=\\\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\\\"\\n >\\n <!-- Chart Area -->\\n <div class=\\\"ax-flex-0 ax-size-96\\\">\\n <ax-donut-chart #chart [data]=\\\"donutChartData()\\\" [options]=\\\"donutChartOptions()\\\"></ax-donut-chart>\\n </div>\\n <!-- Legend Area -->\\n @if (donutChartData().length > 0) {\\n <div>\\n <ax-chart-legend [options]=\\\"legendOptions()\\\" [chart]=\\\"chart\\\"></ax-chart-legend>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n\\n @if (chartLayout()?.footer) {\\n <div class=\\\"__chart-footer\\\">\\n @if (chartLayout()?.footer?.customHtml) {\\n <div [innerHTML]=\\\"chartLayout()?.footer?.customHtml\\\"></div>\\n }\\n </div>\\n }\\n </div>\\n } @else {\\n <!-- No Configuration State -->\\n <div class=\\\"__no-config\\\">\\n <div class=\\\"__no-config-icon\\\">\\n <i class=\\\"fa-light fa-chart-line\\\"></i>\\n </div>\\n <div class=\\\"__no-config-content\\\">\\n <h4 class=\\\"__no-config-title\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\\n </h4>\\n <p class=\\\"__no-config-description\\\">\\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\\n </p>\\n </div>\\n </div>\\n }\\n</div>\\n\", styles: [\".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNoYXJ0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXZpZXdlci92aWV3cy9yZXBvcnQtY2hhcnQtdmlldy9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUF5QyxNQUFNLDRCQUE0QixDQUFDO0FBQzFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQWtCM0YsTUFBTSxPQUFPLDJC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QztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3RDLHVDQUF1QztRQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFZO0lBRVosc0NBQXNDO0lBRXRDOztPQUVHO0lBQ08sWUFBWTtRQUNsQixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O0dBRUQ7SUFDVyxjQUFjO1FBQ3BCLGdFQUFnRTtRQUNoRSxPQUFPO1lBQ0gsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDbEMsQ0FBQztJQUNOLENBQUM7OEdBNUdRLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGlGQzNCeEMsa3RHQXNGQSxpdUhEdkVRLFlBQVksOEJBQ1osaUJBQWlCLDhCQUNqQixtQkFBbUIsOEdBQ25CLHNCQUFzQiwrQkFDdEIscUJBQXFCLG1JQUNyQixzQkFBc0I7OzJGQU9qQiwyQkFBMkI7a0JBaEJ2QyxTQUFTOytCQUNJLHVCQUF1QixjQUNyQixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHNCQUFzQjtxQkFDekIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQUGFnZVN0YXR1cyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vcmVwb3J0LXZpZXdlci52aWV3bW9kZWwnO1xuaW1wb3J0IHsgQVhQUmVwb3J0Q2hhcnRMYXlvdXQgfSBmcm9tICcuLi8uLi8uLi8uLi9yZXBvcnRzL3JlcG9ydC50eXBlcyc7XG5pbXBvcnQgeyBBWFBpZUNoYXJ0UmVwb3J0TWFwcGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vcmVwb3J0cy9yZXBvcnQtbWFwcGVyJztcbmltcG9ydCB7IEFYRG9udXRDaGFydENvbXBvbmVudCwgQVhEb251dENoYXJ0T3B0aW9uLCBBWERvbnV0Q2hhcnRWYWx1ZSB9IGZyb20gJ0BhY29yZXgvY2hhcnRzL2RvbnV0LWNoYXJ0JztcbmltcG9ydCB7IEFYQ2hhcnRMZWdlbmRDb21wb25lbnQsIEFYQ2hhcnRMZWdlbmRPcHRpb25zIH0gZnJvbSAnQGFjb3JleC9jaGFydHMvY2hhcnQtbGVnZW5kJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNoYXJ0LXZpZXcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgICAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgICAgICBBWERvbnV0Q2hhcnRDb21wb25lbnQsXG4gICAgICAgIEFYQ2hhcnRMZWdlbmRDb21wb25lbnRcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtY2hhcnQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRDaGFydFZpZXdDb21wb25lbnQge1xuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdm0gPSBpbmplY3QoQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgQVhQUGFnZVN0YXR1cyA9IEFYUFBhZ2VTdGF0dXM7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgY2hhcnQgbGF5b3V0IGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRMYXlvdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxheW91dCA9IHRoaXMudm0uY3VycmVudExheW91dCgpO1xuICAgICAgICByZXR1cm4gbGF5b3V0Py5sYXlvdXQudHlwZSA9PT0gJ2NoYXJ0J1xuICAgICAgICAgICAgPyBsYXlvdXQubGF5b3V0IGFzIEFYUFJlcG9ydENoYXJ0TGF5b3V0XG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDaGFydCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjaGFydExheW91dCA9IHRoaXMuY2hhcnRMYXlvdXQoKTtcbiAgICAgICAgcmV0dXJuIGNoYXJ0TGF5b3V0Py5vcHRpb25zIHx8IG51bGw7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDaGFydCB0eXBlIGZvciByZW5kZXJpbmdcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRUeXBlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jaGFydE9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM/LmNoYXJ0VHlwZSB8fCAnYmFyJztcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgbWFwcGluZyBjb25maWd1cmF0aW9uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFNYXBwaW5nID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5jaGFydE9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM/LmRhdGFNYXBwaW5nIHx8IG51bGw7XG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRWZmZWN0cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVmZmVjdCB0byBoYW5kbGUgZGF0YSBmZXRjaGluZyB3aGVuIGNoYXJ0IGNvbmZpZ3VyYXRpb24gY2hhbmdlc1xuICAgICAqL1xuICAgICNmZXRjaERhdGEgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy52bS5hbGxvd0ZldGNoRGF0YSgpICYmIHRoaXMuY2hhcnRPcHRpb25zKCkpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IEltcGxlbWVudCBjaGFydCBkYXRhIGZldGNoaW5nXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQ2hhcnQgZGF0YSBmZXRjaCB0cmlnZ2VyZWQnLCB7XG4gICAgICAgICAgICAgICAgY2hhcnRUeXBlOiB0aGlzLmNoYXJ0VHlwZSgpLFxuICAgICAgICAgICAgICAgIGRhdGFNYXBwaW5nOiB0aGlzLmRhdGFNYXBwaW5nKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy52bS5mZXRjaERhdGEoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG9udXRDaGFydERhdGEgPSBBWFBpZUNoYXJ0UmVwb3J0TWFwcGVyKChkYXRhPy5kYXRhIGFzIGFueSkuZGF0YSBhcyBhbnkgPz8ge30pO1xuICAgICAgICAgICAgICAgIHRoaXMuZG9udXRDaGFydERhdGEuc2V0KGRvbnV0Q2hhcnREYXRhKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnZG9udXRDaGFydERhdGEnLCBkb251dENoYXJ0RGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGNoYXJ0IGNsaWNrIGV2ZW50c1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBoYW5kbGVDaGFydENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGNoYXJ0IGNsaWNrIGhhbmRsaW5nXG4gICAgICAgIGNvbnNvbGUubG9nKCdDaGFydCBjbGlja2VkOicsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgY2hhcnQgZGF0YSBwb2ludCBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRGF0YVBvaW50U2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogSW1wbGVtZW50IGRhdGEgcG9pbnQgc2VsZWN0aW9uXG4gICAgICAgIGNvbnNvbGUubG9nKCdEYXRhIHBvaW50IHNlbGVjdGVkOicsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIE1ldGhvZHMgICAtLS0tXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBjaGFydCBpcyByZWFkeSB0byByZW5kZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNDaGFydFJlYWR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy5jaGFydE9wdGlvbnMoKSAmJiB0aGlzLmRhdGFNYXBwaW5nKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICogR2V0IGNoYXJ0IGNvbmZpZ3VyYXRpb24gZm9yIHJlbmRlcmluZ1xuICovXG4gICAgcHJvdGVjdGVkIGdldENoYXJ0Q29uZmlnKCk6IGFueSB7XG4gICAgICAgIC8vIFRPRE86IFRyYW5zZm9ybSBBWFBSZXBvcnRDaGFydE9wdGlvbnMgdG8gY2hhcnQgbGlicmFyeSBmb3JtYXRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuY2hhcnRUeXBlKCksXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLmNoYXJ0T3B0aW9ucygpLFxuICAgICAgICAgICAgZGF0YU1hcHBpbmc6IHRoaXMuZGF0YU1hcHBpbmcoKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkb251dENoYXJ0RGF0YSA9IHNpZ25hbDxBWERvbnV0Q2hhcnRWYWx1ZT4oW10pO1xuXG4gICAgcHJvdGVjdGVkIGRvbnV0Q2hhcnRPcHRpb25zID0gc2lnbmFsPEFYRG9udXRDaGFydE9wdGlvbj4oe1xuICAgICAgICB0b3RhbExhYmVsOiAnVG90YWwnLFxuICAgICAgICBzaG93VG9vbHRpcDogdHJ1ZVxuICAgIH0pXG5cbiAgICBwcm90ZWN0ZWQgbGVnZW5kT3B0aW9ucyA9IHNpZ25hbDxBWENoYXJ0TGVnZW5kT3B0aW9ucz4oe1xuICAgICAgICBtb2RlOiAnaG9yaXpvbnRhbCcsXG4gICAgfSlcblxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG5cbiIsIjxkaXYgY2xhc3M9XCJheHAtcmVwb3J0LWNoYXJ0LXZpZXdcIiAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgQGlmICh2bS5zdGF0dXMoKSA9PT0gQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nKSB7XG4gICAgPCEtLSBMb2FkaW5nIFN0YXRlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJfX2xvYWRpbmdcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJheC1zcGlubmVyIGF4LXNwaW4gYXgtYm9yZGVyLTQgYXgtYm9yZGVyLWdyYXktMjAwIGF4LWJvcmRlci10LXByaW1hcnkgYXgtcm91bmRlZC1mdWxsIGF4LXctMTIgYXgtaC0xMlwiXG4gICAgICA+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19sb2FkaW5nLXRleHRcIj5cbiAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIubG9hZGluZy5jaGFydCcpIHwgYXN5bmMgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIGlmICh2bS5zdGF0dXMoKSA9PT0gQVhQUGFnZVN0YXR1cy5FcnJvcikge1xuICAgIDwhLS0gRXJyb3IgU3RhdGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fZXJyb3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2Vycm9yLWljb25cIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZXJyb3ItY29udGVudFwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJfX2Vycm9yLXRpdGxlXCI+XG4gICAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuZXJyb3IudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxwIGNsYXNzPVwiX19lcnJvci1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIHt7IHZtLmVycm9yKCkgfHwgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuZXJyb3IuZ2VuZXJpYycpIHwgYXN5bmMgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGlzQ2hhcnRSZWFkeSgpKSB7XG4gICAgPCEtLSBDaGFydCBDb250ZW50IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgQGlmIChjaGFydExheW91dCgpPy5oZWFkZXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtaGVhZGVyXCI+XG4gICAgICAgICAgPGgzIGNsYXNzPVwiX19jaGFydC10aXRsZVwiPnt7IGNoYXJ0TGF5b3V0KCk/LmhlYWRlcj8udGl0bGUgfX08L2gzPlxuICAgICAgICAgIEBpZiAoY2hhcnRMYXlvdXQoKT8uaGVhZGVyPy5zaG93RGF0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtZGF0ZVwiPnt7ICdjb21tb24uZGF0ZS50b2RheScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX2NoYXJ0LWJvZHlcIj5cbiAgICAgICAgPCEtLSBDaGFydCBjb21wb25lbnQgd2lsbCBiZSByZW5kZXJlZCBoZXJlIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiX19jaGFydC1wbGFjZWhvbGRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX3BsYWNlaG9sZGVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtd3JhcCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtZ2FwLTEwXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImxlZ2VuZE9wdGlvbnMoKS5tb2RlID09PSAnaG9yaXpvbnRhbCcgPyAnYXgtZmxleC1jb2wnIDogJ2F4LWZsZXgtcm93J1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwhLS0gQ2hhcnQgQXJlYSAtLT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXgtMCBheC1zaXplLTk2XCI+XG4gICAgICAgICAgICAgICAgPGF4LWRvbnV0LWNoYXJ0ICNjaGFydCBbZGF0YV09XCJkb251dENoYXJ0RGF0YSgpXCIgW29wdGlvbnNdPVwiZG9udXRDaGFydE9wdGlvbnMoKVwiPjwvYXgtZG9udXQtY2hhcnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8IS0tIExlZ2VuZCBBcmVhIC0tPlxuICAgICAgICAgICAgICBAaWYgKGRvbnV0Q2hhcnREYXRhKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8YXgtY2hhcnQtbGVnZW5kIFtvcHRpb25zXT1cImxlZ2VuZE9wdGlvbnMoKVwiIFtjaGFydF09XCJjaGFydFwiPjwvYXgtY2hhcnQtbGVnZW5kPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXIpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY2hhcnQtZm9vdGVyXCI+XG4gICAgICAgICAgQGlmIChjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWwpIHtcbiAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJjaGFydExheW91dCgpPy5mb290ZXI/LmN1c3RvbUh0bWxcIj48L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8IS0tIE5vIENvbmZpZ3VyYXRpb24gU3RhdGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cIl9fbm8tY29uZmlnXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiX19uby1jb25maWctaWNvblwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoYXJ0LWxpbmVcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX25vLWNvbmZpZy1jb250ZW50XCI+XG4gICAgICAgIDxoNCBjbGFzcz1cIl9fbm8tY29uZmlnLXRpdGxlXCI+XG4gICAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLnRpdGxlJykgfCBhc3luYyB9fVxuICAgICAgICA8L2g0PlxuICAgICAgICA8cCBjbGFzcz1cIl9fbm8tY29uZmlnLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAge3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIuY2hhcnQubm8tY29uZmlnLmRlc2NyaXB0aW9uJykgfCBhc3luYyB9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportDefinitionService } from '../../../reports';\nimport { AXPDynamicFormComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutFooterComponent } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AXPReportViewerViewModel } from '../report-viewer.viewmodel';\nimport { AXPReportTableViewComponent } from '../views/report-table-view/report-table-view.component';\nimport { AXPReportChartViewComponent } from '../views/report-chart-view/report-chart-view.component';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/dropdown\";\nexport class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---- Dependencies ----\n this.layoutService = inject(AXPLayoutThemeService);\n this.route = inject(ActivatedRoute);\n this.router = inject(Router);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.unsubscriber = inject(AXUnsubscriber);\n //#endregion\n //#region ---- Inputs ----\n this.reportId = input(...(ngDevMode ? [undefined, { debugName: \"reportId\" }] : []));\n this.reportParameters = input({}, ...(ngDevMode ? [{ debugName: \"reportParameters\" }] : []));\n //#endregion\n //#region ---- ViewChildren ----\n this.filtersForm = viewChild('filtersForm', ...(ngDevMode ? [{ debugName: \"filtersForm\" }] : []));\n //#endregion\n //#region ---- ViewModel ----\n this.vm = inject(AXPReportViewerViewModel);\n //#endregion\n //#region ---- Computed Properties ----\n this.showFiltersPanel = () => this.layoutService.isLarge();\n this.baseRoutes = [this.sessionService.application?.name, 'report-management'];\n //#endregion\n //#region ---- Layout Configurations ----\n this.defaultLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n md: { colSpan: 6 },\n lg: { colSpan: 12 }\n }\n });\n this.compactLayout = () => ({\n positions: {\n default: { colSpan: 12 },\n sm: { colSpan: 6 },\n md: { colSpan: 4 },\n lg: { colSpan: 3 }\n }\n });\n }\n //#endregion\n //#region ---- Lifecycle ----\n async ngOnInit() {\n await super.ngOnInit();\n // Subscribe to route parameter changes for dynamic report loading\n this.unsubscriber.takeUntilDestroy(this.route.paramMap).subscribe(async (params) => {\n const reportId = params.get('reportId') ||\n this.route.snapshot.queryParamMap.get('reportId') ||\n this.reportId();\n if (reportId) {\n await this.loadReportAndRefresh(reportId);\n }\n });\n }\n //#endregion\n //#region ---- Helper Methods ----\n async loadReportAndRefresh(reportId) {\n await this.vm.loadReport(reportId);\n // Force refresh of page layout (breadcrumbs, title, etc.) after report loads\n this.recompute();\n // Handle initial parameters from query string\n const queryParams = this.route.snapshot.queryParams;\n const initialParams = { ...queryParams };\n delete initialParams['reportId']; // Remove reportId from parameters\n // Merge with component input parameters\n const allParams = { ...initialParams, ...this.reportParameters() };\n if (Object.keys(allParams).length > 0) {\n console.log('Applying initial parameters:', allParams);\n this.vm.updateFilterContext(allParams);\n // Auto-execute if parameters are provided\n setTimeout(async () => {\n await this.vm.executeReport();\n }, 500); // Small delay to ensure form is ready\n }\n }\n //#endregion\n //#region ---- Event Handlers ----\n handleFiltersChange(event) {\n this.vm.updateFilterContext(event);\n }\n handleFiltersInitiated(event) {\n this.vm.updateFilterContext(event);\n }\n async handleExecuteReport() {\n const isValid = await this.filtersForm()?.validate();\n if (!isValid) {\n return;\n }\n await this.vm.executeReport();\n }\n handleRefresh() {\n this.vm.refresh();\n }\n handleClearFilters() {\n this.vm.clearFilters();\n // Reset form if available\n const form = this.filtersForm();\n if (form) {\n form.resetErrors();\n }\n }\n //#endregion\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const breadcrumbs = [\n {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports',\n },\n }\n ];\n // Add categories path\n const categoriesPath = this.vm.categoriesPath();\n if (categoriesPath && categoriesPath.length > 0) {\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const category of categoriesPath) {\n urlParts.push(category.id);\n breadcrumbs.push({\n name: category.id,\n title: category.title,\n command: {\n name: 'navigate-to-category',\n options: {\n path: [...urlParts]\n },\n },\n });\n }\n }\n // Add report title as final breadcrumb\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n breadcrumbs.push({\n name: 'report-viewer',\n title: reportDefinition.title,\n });\n }\n return breadcrumbs;\n }\n async getPageTitle() {\n const reportDefinition = this.vm.reportDefinition();\n if (reportDefinition) {\n return reportDefinition.title;\n }\n return await this.translateService.translateAsync('@report-management:features.report-viewer.title');\n }\n async getPageDescription() {\n const reportDefinition = this.vm.reportDefinition();\n return reportDefinition?.description || null;\n }\n async getBackButton() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // If no categories path, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n if (categoriesPath.length === 1) {\n // If only one category, go back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:features.report-runner.menu-title'),\n };\n }\n // Go back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 1];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.categoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes, 'reports']);\n }\n else {\n // Navigate to parent category\n let urlParts = [...this.baseRoutes, 'reports'];\n for (const cat of categoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async getPrimaryMenuItems() {\n // No primary menu items since execute button is in footer\n return [];\n }\n async getSecondaryMenuItems() {\n const reportDefinition = this.vm.reportDefinition();\n if (!reportDefinition) {\n return [];\n }\n return [\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.refresh'),\n icon: 'fa-light fa-refresh',\n color: 'secondary',\n disabled: this.vm.isLoading() || this.vm.isExecuting(),\n command: {\n name: 'refresh-report',\n },\n },\n {\n title: await this.translateService.translateAsync('@report-management:features.report-viewer.actions.clear-filters'),\n icon: 'fa-light fa-filter-slash',\n color: 'warning',\n command: {\n name: 'clear-filters',\n },\n },\n ];\n }\n async execute(command) {\n switch (command.name) {\n case 'execute-report':\n await this.handleExecuteReport();\n break;\n case 'refresh-report':\n this.handleRefresh();\n break;\n case 'clear-filters':\n this.handleClearFilters();\n break;\n case 'navigate-to-reports':\n await this.router.navigate([...this.baseRoutes, 'reports']);\n break;\n case 'navigate-to-category':\n const path = command.options?.['path'];\n if (path) {\n await this.router.navigate(path);\n }\n break;\n default:\n console.warn(`Unknown command: ${command.name}`);\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportViewerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPReportViewerPageComponent, isStandalone: true, selector: \"axp-report-viewer-page\", inputs: { reportId: { classPropertyName: \"reportId\", publicName: \"reportId\", isSignal: true, isRequired: false, transformFunction: null }, reportParameters: { classPropertyName: \"reportParameters\", publicName: \"reportParameters\", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: \"axp-report-viewer-page\" }, providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], viewQueries: [{ propertyName: \"filtersForm\", first: true, predicate: [\"filtersForm\"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutStyle]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\">\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i5.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"component\", type: \n // \n AXPDynamicFormComponent, selector: \"axp-dynamic-form\", inputs: [\"formDefinition\", \"context\", \"layoutStyle\", \"layoutConfig\"], outputs: [\"contextChange\", \"contextInitiated\", \"validityChange\"] }, { kind: \"component\", type: AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPReportTableViewComponent, selector: \"axp-report-table-view\" }, { kind: \"component\", type: AXPReportChartViewComponent, selector: \"axp-report-chart-view\" }, { kind: \"component\", type: AXPThemeLayoutFooterComponent, selector: \"axp-layout-footer, axp-layout-page-footer\" }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-viewer-page', standalone: true, imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n // \n AXPDynamicFormComponent,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXPReportTableViewComponent,\n AXPReportChartViewComponent,\n AXPThemeLayoutFooterComponent\n ], providers: [\n AXUnsubscriber,\n AXPReportViewerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPReportViewerPageComponent,\n },\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n <!-- Left Panel: Filters (Always visible for desktop) -->\\n @if (showFiltersPanel()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>\\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\\n </axp-layout-title>\\n </axp-layout-header>\\n <axp-layout-content>\\n <div class=\\\"__filters-container\\\">\\n <axp-dynamic-form #filtersForm [formDefinition]=\\\"vm.formDefinition()\\\" [context]=\\\"vm.filterContext()\\\"\\n [layoutConfig]=\\\"defaultLayout()\\\" [layoutStyle]=\\\"'compact'\\\" (contextChange)=\\\"handleFiltersChange($event)\\\"\\n (contextInitiated)=\\\"handleFiltersInitiated($event)\\\">\\n </axp-dynamic-form>\\n </div>\\n </axp-layout-content>\\n <axp-layout-footer class=\\\"ax-p-4 ax-border-t\\\">\\n <ax-button [class.ax-sm]=\\\"layoutService.isSmall()\\\" class=\\\"ax-w-full\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.actions.execute') | async\\\" [color]=\\\"'primary'\\\"\\n (onClick)=\\\"execute({ name: 'execute-report' })\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-play\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </axp-layout-footer>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-toolbar>\\n <axp-layout-prefix>\\n @if (vm.hasMultipleLayouts()) {\\n <ax-button [text]=\\\"vm.currentLayout()?.title\\\">\\n <ax-icon icon=\\\"fa-light {{ vm.currentLayout()?.icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n @for (layout of vm.availableLayouts(); track layout.id) {\\n <ax-button-item-list>\\n <ax-button-item [text]=\\\"layout.title\\\" [selected]=\\\"vm.currentLayout()?.id === layout.id\\\"\\n (onClick)=\\\"vm.switchLayout(layout.id)\\\">\\n <ax-icon icon=\\\"fa-light {{ layout.icon }}\\\"></ax-icon>\\n </ax-button-item>\\n </ax-button-item-list>\\n }\\n </ax-dropdown-panel>\\n </ax-button>\\n }\\n </axp-layout-prefix>\\n <axp-layout-suffix> </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Main Content: Report Display -->\\n <axp-page-content class=\\\"ax-overflow-auto\\\">\\n @if (!vm.reportDefinition()) {\\n <ng-container *ngTemplateOutlet=\\\"noReport\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"reportDisplay\\\"></ng-container>\\n }\\n </axp-page-content>\\n</axp-page-layout>\\n\\n<!-- Report Display Area -->\\n<ng-template #reportDisplay>\\n @if (vm.isTableLayout()) {\\n <axp-report-table-view> </axp-report-table-view>\\n } @else if (vm.isChartLayout()) {\\n <axp-report-chart-view> </axp-report-chart-view>\\n }\\n</ng-template>\\n\\n<!-- No Report Selected State -->\\n<ng-template #noReport>\\n <div class=\\\"__no-report\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__no-report-icon\\\">\\n <ax-icon class=\\\"fa-light fa-chart-line\\\"></ax-icon>\\n </div>\\n <div class=\\\"__no-report-content\\\">\\n <h3 class=\\\"__no-report-title\\\">\\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\\n </h3>\\n <p class=\\\"__no-report-description\\\">\\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\\n </p>\\n <div class=\\\"__no-report-actions\\\">\\n <ax-button look=\\\"outline\\\" color=\\\"primary\\\"\\n [text]=\\\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\\\">\\n <ax-prefix>\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n</ng-template>\", styles: [\".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC12aWV3ZXIvcmVwb3J0LXZpZXdlci1wYWdlL3JlcG9ydC12aWV3ZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtdmlld2VyL3JlcG9ydC12aWV3ZXItcGFnZS9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDOUIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJB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QUFXLEVBQUUsNEJBQTRCO2FBQzFDO1NBQ0YsNktDdkRILGtpSEE0RmMsZ2hGRDdEVixZQUFZLHFNQUNaLGNBQWMsb3VCQUNkLGlCQUFpQixzVkFDakIsZUFBZSw4QkFDZixtQkFBbUIsOEdBQ25CLHNCQUFzQiw4QkFDdEIsZ0JBQWdCO2dCQUNoQixHQUFHO2dCQUNILHVCQUF1QixxTUFDdkIsc0JBQXNCLDREQUN0QixnQ0FBZ0MsOEZBQ2hDLDZCQUE2Qiw4REFDN0IsNEJBQTRCLGdpQkFDNUIsMkJBQTJCLGtFQUMzQiwyQkFBMkIsa0VBQzNCLDZCQUE2Qjs7MkZBZ0JwQiw0QkFBNEI7a0JBbkN4QyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixHQUFHO3dCQUNILHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQ0FBZ0M7d0JBQ2hDLDZCQUE2Qjt3QkFDN0IsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3FCQUM5QixhQUNVO3dCQUNULGNBQWM7d0JBQ2Qsd0JBQXdCO3dCQUN4Qjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUExheW91dENvbnRleHRDaGFuZ2VFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQQWN0aW9uTWVudUl0ZW0sIEFYUEJhY2tCdXR0b24sIEFYUEJyZWFkY3J1bWJJdGVtLCBBWFBDb250ZXh0RGF0YSwgQVhQRXhlY3V0ZUNvbW1hbmQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXBvcnRzJztcbmltcG9ydCB7XG4gIEFYUER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0Rm9vdGVyQ29tcG9uZW50XG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBvdXRwdXQsIHZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhQUmVwb3J0Vmlld2VyVmlld01vZGVsIH0gZnJvbSAnLi4vcmVwb3J0LXZpZXdlci52aWV3bW9kZWwnO1xuaW1wb3J0IHsgQVhQUmVwb3J0VGFibGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vdmlld3MvcmVwb3J0LXRhYmxlLXZpZXcvcmVwb3J0LXRhYmxlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUFJlcG9ydENoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXdzL3JlcG9ydC1jaGFydC12aWV3L3JlcG9ydC1jaGFydC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXJlcG9ydC12aWV3ZXItcGFnZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIC8vIFxuICAgIEFYUER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIEFYUFBhZ2VMYXlvdXRDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRIZWFkZXJDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICBBWFBSZXBvcnRUYWJsZVZpZXdDb21wb25lbnQsXG4gICAgQVhQUmVwb3J0Q2hhcnRWaWV3Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0Rm9vdGVyQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBBWFBSZXBvcnRWaWV3ZXJQYWdlQ29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtdmlld2VyLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheHAtcmVwb3J0LXZpZXdlci1wYWdlJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydFZpZXdlclBhZ2VDb21wb25lbnQgZXh0ZW5kcyBBWFBQYWdlTGF5b3V0QmFzZUNvbXBvbmVudCB7XG5cbiAgLy8jcmVnaW9uIC0tLS0gICBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxheW91dFNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0VGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBJbnB1dHMgICAtLS0tXG5cbiAgcmVwb3J0SWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlcG9ydFBhcmFtZXRlcnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cblxuICAvLyNyZWdpb24gLS0tLSAgIFZpZXdDaGlsZHJlbiAgIC0tLS1cblxuICBwcml2YXRlIGZpbHRlcnNGb3JtID0gdmlld0NoaWxkPEFYRm9ybUNvbXBvbmVudD4oJ2ZpbHRlcnNGb3JtJyk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBWaWV3TW9kZWwgICAtLS0tXG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZtID0gaW5qZWN0KEFYUFJlcG9ydFZpZXdlclZpZXdNb2RlbCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBzaG93RmlsdGVyc1BhbmVsID0gKCkgPT4gdGhpcy5sYXlvdXRTZXJ2aWNlLmlzTGFyZ2UoKTtcblxuICBwcml2YXRlIGJhc2VSb3V0ZXMgPSBbdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZSwgJ3JlcG9ydC1tYW5hZ2VtZW50J107XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBMYXlvdXQgQ29uZmlndXJhdGlvbnMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIGRlZmF1bHRMYXlvdXQgPSAoKSA9PiAoe1xuICAgIHBvc2l0aW9uczoge1xuICAgICAgZGVmYXVsdDogeyBjb2xTcGFuOiAxMiB9LFxuICAgICAgbWQ6IHsgY29sU3BhbjogNiB9LFxuICAgICAgbGc6IHsgY29sU3BhbjogMTIgfVxuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNvbXBhY3RMYXlvdXQgPSAoKSA9PiAoe1xuICAgIHBvc2l0aW9uczoge1xuICAgICAgZGVmYXVsdDogeyBjb2xTcGFuOiAxMiB9LFxuICAgICAgc206IHsgY29sU3BhbjogNiB9LFxuICAgICAgbWQ6IHsgY29sU3BhbjogNCB9LFxuICAgICAgbGc6IHsgY29sU3BhbjogMyB9XG4gICAgfVxuICB9KTtcblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIExpZmVjeWNsZSAgIC0tLS1cblxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHJvdXRlIHBhcmFtZXRlciBjaGFuZ2VzIGZvciBkeW5hbWljIHJlcG9ydCBsb2FkaW5nXG4gICAgdGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSh0aGlzLnJvdXRlLnBhcmFtTWFwKS5zdWJzY3JpYmUoYXN5bmMgKHBhcmFtcykgPT4ge1xuICAgICAgY29uc3QgcmVwb3J0SWQgPSBwYXJhbXMuZ2V0KCdyZXBvcnRJZCcpIHx8XG4gICAgICAgIHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3JlcG9ydElkJykgfHxcbiAgICAgICAgdGhpcy5yZXBvcnRJZCgpO1xuXG4gICAgICBpZiAocmVwb3J0SWQpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkUmVwb3J0QW5kUmVmcmVzaChyZXBvcnRJZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEhlbHBlciBNZXRob2RzICAgLS0tLVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFJlcG9ydEFuZFJlZnJlc2gocmVwb3J0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudm0ubG9hZFJlcG9ydChyZXBvcnRJZCk7XG5cbiAgICAvLyBGb3JjZSByZWZyZXNoIG9mIHBhZ2UgbGF5b3V0IChicmVhZGNydW1icywgdGl0bGUsIGV0Yy4pIGFmdGVyIHJlcG9ydCBsb2Fkc1xuICAgIHRoaXMucmVjb21wdXRlKCk7XG5cbiAgICAvLyBIYW5kbGUgaW5pdGlhbCBwYXJhbWV0ZXJzIGZyb20gcXVlcnkgc3RyaW5nXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIGNvbnN0IGluaXRpYWxQYXJhbXMgPSB7IC4uLnF1ZXJ5UGFyYW1zIH07XG4gICAgZGVsZXRlIGluaXRpYWxQYXJhbXNbJ3JlcG9ydElkJ107IC8vIFJlbW92ZSByZXBvcnRJZCBmcm9tIHBhcmFtZXRlcnNcblxuICAgIC8vIE1lcmdlIHdpdGggY29tcG9uZW50IGlucHV0IHBhcmFtZXRlcnNcbiAgICBjb25zdCBhbGxQYXJhbXMgPSB7IC4uLmluaXRpYWxQYXJhbXMsIC4uLnRoaXMucmVwb3J0UGFyYW1ldGVycygpIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoYWxsUGFyYW1zKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zb2xlLmxvZygnQXBwbHlpbmcgaW5pdGlhbCBwYXJhbWV0ZXJzOicsIGFsbFBhcmFtcyk7XG4gICAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoYWxsUGFyYW1zKTtcbiAgICAgIC8vIEF1dG8tZXhlY3V0ZSBpZiBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZFxuICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMudm0uZXhlY3V0ZVJlcG9ydCgpO1xuICAgICAgfSwgNTAwKTsgLy8gU21hbGwgZGVsYXkgdG8gZW5zdXJlIGZvcm0gaXMgcmVhZHlcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIEV2ZW50IEhhbmRsZXJzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBoYW5kbGVGaWx0ZXJzQ2hhbmdlKGV2ZW50OiBBWFBDb250ZXh0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMudm0udXBkYXRlRmlsdGVyQ29udGV4dChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlRmlsdGVyc0luaXRpYXRlZChldmVudDogQVhQQ29udGV4dERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnZtLnVwZGF0ZUZpbHRlckNvbnRleHQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUV4ZWN1dGVSZXBvcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaXNWYWxpZCA9IGF3YWl0IHRoaXMuZmlsdGVyc0Zvcm0oKT8udmFsaWRhdGUoKTtcbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52bS5leGVjdXRlUmVwb3J0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnZtLnJlZnJlc2goKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbGVhckZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy52bS5jbGVhckZpbHRlcnMoKTtcbiAgICAvLyBSZXNldCBmb3JtIGlmIGF2YWlsYWJsZVxuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZpbHRlcnNGb3JtKCk7XG4gICAgaWYgKGZvcm0pIHtcbiAgICAgIGZvcm0ucmVzZXRFcnJvcnMoKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBQYWdlIENvbmZpZ3VyYXRpb24gT3ZlcnJpZGVzICAgLS0tLVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlQnJlYWRjcnVtYnMoKTogUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgY29uc3QgYnJlYWRjcnVtYnM6IEFYUEJyZWFkY3J1bWJJdGVtW10gPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyZXBvcnRzJyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OnJvb3QtbWVudScpLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ25hdmlnYXRlLXRvLXJlcG9ydHMnLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIF07XG5cbiAgICAvLyBBZGQgY2F0ZWdvcmllcyBwYXRoXG4gICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmNhdGVnb3JpZXNQYXRoKCk7XG4gICAgaWYgKGNhdGVnb3JpZXNQYXRoICYmIGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXMsICdyZXBvcnRzJ107XG4gICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIGNhdGVnb3JpZXNQYXRoKSB7XG4gICAgICAgIHVybFBhcnRzLnB1c2goY2F0ZWdvcnkuaWQpO1xuICAgICAgICBicmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBjYXRlZ29yeS5pZCxcbiAgICAgICAgICB0aXRsZTogY2F0ZWdvcnkudGl0bGUsXG4gICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgbmFtZTogJ25hdmlnYXRlLXRvLWNhdGVnb3J5JyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcGF0aDogWy4uLnVybFBhcnRzXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgcmVwb3J0IHRpdGxlIGFzIGZpbmFsIGJyZWFkY3J1bWJcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgaWYgKHJlcG9ydERlZmluaXRpb24pIHtcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICBuYW1lOiAncmVwb3J0LXZpZXdlcicsXG4gICAgICAgIHRpdGxlOiByZXBvcnREZWZpbml0aW9uLnRpdGxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgZ2V0UGFnZVRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmIChyZXBvcnREZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm4gcmVwb3J0RGVmaW5pdGlvbi50aXRsZTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC12aWV3ZXIudGl0bGUnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCByZXBvcnREZWZpbml0aW9uID0gdGhpcy52bS5yZXBvcnREZWZpbml0aW9uKCk7XG4gICAgcmV0dXJuIHJlcG9ydERlZmluaXRpb24/LmRlc2NyaXB0aW9uIHx8IG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRCYWNrQnV0dG9uKCk6IFByb21pc2U8QVhQQmFja0J1dHRvbiB8IG51bGw+IHtcbiAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uY2F0ZWdvcmllc1BhdGgoKTtcblxuICAgIGlmICghY2F0ZWdvcmllc1BhdGggfHwgY2F0ZWdvcmllc1BhdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBJZiBubyBjYXRlZ29yaWVzIHBhdGgsIGdvIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXJ1bm5lci5tZW51LXRpdGxlJyksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChjYXRlZ29yaWVzUGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICAgIC8vIElmIG9ubHkgb25lIGNhdGVnb3J5LCBnbyBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYygnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBHbyBiYWNrIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcmllc1BhdGhbY2F0ZWdvcmllc1BhdGgubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBwYXJlbnRDYXRlZ29yeS50aXRsZSxcbiAgICB9O1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgb25CYWNrQnV0dG9uQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2F0ZWdvcmllc1BhdGggPSB0aGlzLnZtLmNhdGVnb3JpZXNQYXRoKCk7XG5cbiAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA8PSAxKSB7XG4gICAgICAvLyBOYXZpZ2F0ZSBiYWNrIHRvIHJlcG9ydHMgcm9vdFxuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5hdmlnYXRlIHRvIHBhcmVudCBjYXRlZ29yeVxuICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlcywgJ3JlcG9ydHMnXTtcbiAgICAgIGZvciAoY29uc3QgY2F0IG9mIGNhdGVnb3JpZXNQYXRoKSB7XG4gICAgICAgIHVybFBhcnRzLnB1c2goY2F0LmlkKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQcmltYXJ5TWVudUl0ZW1zKCk6IFByb21pc2U8QVhQQWN0aW9uTWVudUl0ZW1bXT4ge1xuICAgIC8vIE5vIHByaW1hcnkgbWVudSBpdGVtcyBzaW5jZSBleGVjdXRlIGJ1dHRvbiBpcyBpbiBmb290ZXJcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRTZWNvbmRhcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgY29uc3QgcmVwb3J0RGVmaW5pdGlvbiA9IHRoaXMudm0ucmVwb3J0RGVmaW5pdGlvbigpO1xuICAgIGlmICghcmVwb3J0RGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMucmVmcmVzaCcpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtcmVmcmVzaCcsXG4gICAgICAgIGNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMudm0uaXNMb2FkaW5nKCkgfHwgdGhpcy52bS5pc0V4ZWN1dGluZygpLFxuICAgICAgICBjb21tYW5kOiB7XG4gICAgICAgICAgbmFtZTogJ3JlZnJlc2gtcmVwb3J0JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmFjdGlvbnMuY2xlYXItZmlsdGVycycpLFxuICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtZmlsdGVyLXNsYXNoJyxcbiAgICAgICAgY29sb3I6ICd3YXJuaW5nJyxcbiAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgIG5hbWU6ICdjbGVhci1maWx0ZXJzJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnZXhlY3V0ZS1yZXBvcnQnOlxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV4ZWN1dGVSZXBvcnQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyZWZyZXNoLXJlcG9ydCc6XG4gICAgICAgIHRoaXMuaGFuZGxlUmVmcmVzaCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NsZWFyLWZpbHRlcnMnOlxuICAgICAgICB0aGlzLmhhbmRsZUNsZWFyRmlsdGVycygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLXJlcG9ydHMnOlxuICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbLi4udGhpcy5iYXNlUm91dGVzLCAncmVwb3J0cyddKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICduYXZpZ2F0ZS10by1jYXRlZ29yeSc6XG4gICAgICAgIGNvbnN0IHBhdGggPSBjb21tYW5kLm9wdGlvbnM/LlsncGF0aCddIGFzIHN0cmluZ1tdO1xuICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGNvbW1hbmQ6ICR7Y29tbWFuZC5uYW1lfWApO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cbn0gIiwiPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPCEtLSBMZWZ0IFBhbmVsOiBGaWx0ZXJzIChBbHdheXMgdmlzaWJsZSBmb3IgZGVza3RvcCkgLS0+XG4gIEBpZiAoc2hvd0ZpbHRlcnNQYW5lbCgpKSB7XG4gIDxheHAtbGF5b3V0LXN0YXJ0LXNpZGU+XG4gICAgPGF4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLmZpbHRlcnMudGl0bGUnKSB8IGFzeW5jIH19XG4gICAgICA8L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgPC9heHAtbGF5b3V0LWhlYWRlcj5cbiAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cIl9fZmlsdGVycy1jb250YWluZXJcIj5cbiAgICAgICAgPGF4cC1keW5hbWljLWZvcm0gI2ZpbHRlcnNGb3JtIFtmb3JtRGVmaW5pdGlvbl09XCJ2bS5mb3JtRGVmaW5pdGlvbigpXCIgW2NvbnRleHRdPVwidm0uZmlsdGVyQ29udGV4dCgpXCJcbiAgICAgICAgICBbbGF5b3V0Q29uZmlnXT1cImRlZmF1bHRMYXlvdXQoKVwiIFtsYXlvdXRTdHlsZV09XCInY29tcGFjdCdcIiAoY29udGV4dENoYW5nZSk9XCJoYW5kbGVGaWx0ZXJzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChjb250ZXh0SW5pdGlhdGVkKT1cImhhbmRsZUZpbHRlcnNJbml0aWF0ZWQoJGV2ZW50KVwiPlxuICAgICAgICA8L2F4cC1keW5hbWljLWZvcm0+XG4gICAgICA8L2Rpdj5cbiAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICA8YXhwLWxheW91dC1mb290ZXIgY2xhc3M9XCJheC1wLTQgYXgtYm9yZGVyLXRcIj5cbiAgICAgIDxheC1idXR0b24gW2NsYXNzLmF4LXNtXT1cImxheW91dFNlcnZpY2UuaXNTbWFsbCgpXCIgY2xhc3M9XCJheC13LWZ1bGxcIlxuICAgICAgICBbdGV4dF09XCJ0KCdAcmVwb3J0LW1hbmFnZW1lbnQ6ZmVhdHVyZXMucmVwb3J0LXZpZXdlci5hY3Rpb25zLmV4ZWN1dGUnKSB8IGFzeW5jXCIgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgIChvbkNsaWNrKT1cImV4ZWN1dGUoeyBuYW1lOiAnZXhlY3V0ZS1yZXBvcnQnIH0pXCI+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1wbGF5XCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvYXhwLWxheW91dC1mb290ZXI+XG4gIDwvYXhwLWxheW91dC1zdGFydC1zaWRlPlxuICB9XG5cbiAgPGF4cC1wYWdlLXRvb2xiYXI+XG4gICAgPGF4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgQGlmICh2bS5oYXNNdWx0aXBsZUxheW91dHMoKSkge1xuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJ2bS5jdXJyZW50TGF5b3V0KCk/LnRpdGxlXCI+XG4gICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCB7eyB2bS5jdXJyZW50TGF5b3V0KCk/Lmljb24gfX1cIj48L2F4LWljb24+XG4gICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICBAZm9yIChsYXlvdXQgb2Ygdm0uYXZhaWxhYmxlTGF5b3V0cygpOyB0cmFjayBsYXlvdXQuaWQpIHtcbiAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbdGV4dF09XCJsYXlvdXQudGl0bGVcIiBbc2VsZWN0ZWRdPVwidm0uY3VycmVudExheW91dCgpPy5pZCA9PT0gbGF5b3V0LmlkXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uc3dpdGNoTGF5b3V0KGxheW91dC5pZClcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGxheW91dC5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgPC9heC1idXR0b24+XG4gICAgICB9XG4gICAgPC9heHAtbGF5b3V0LXByZWZpeD5cbiAgICA8YXhwLWxheW91dC1zdWZmaXg+IDwvYXhwLWxheW91dC1zdWZmaXg+XG4gIDwvYXhwLXBhZ2UtdG9vbGJhcj5cblxuICA8IS0tIE1haW4gQ29udGVudDogUmVwb3J0IERpc3BsYXkgLS0+XG4gIDxheHAtcGFnZS1jb250ZW50IGNsYXNzPVwiYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgIEBpZiAoIXZtLnJlcG9ydERlZmluaXRpb24oKSkge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1JlcG9ydFwiPjwvbmctY29udGFpbmVyPlxuICAgIH0gQGVsc2Uge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZXBvcnREaXNwbGF5XCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG48L2F4cC1wYWdlLWxheW91dD5cblxuPCEtLSBSZXBvcnQgRGlzcGxheSBBcmVhIC0tPlxuPG5nLXRlbXBsYXRlICNyZXBvcnREaXNwbGF5PlxuICBAaWYgKHZtLmlzVGFibGVMYXlvdXQoKSkge1xuICA8YXhwLXJlcG9ydC10YWJsZS12aWV3PiA8L2F4cC1yZXBvcnQtdGFibGUtdmlldz5cbiAgfSBAZWxzZSBpZiAodm0uaXNDaGFydExheW91dCgpKSB7XG4gIDxheHAtcmVwb3J0LWNoYXJ0LXZpZXc+IDwvYXhwLXJlcG9ydC1jaGFydC12aWV3PlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48IS0tIE5vIFJlcG9ydCBTZWxlY3RlZCBTdGF0ZSAtLT5cbjxuZy10ZW1wbGF0ZSAjbm9SZXBvcnQ+XG4gIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydFwiICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydC1pY29uXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoYXJ0LWxpbmVcIj48L2F4LWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIl9fbm8tcmVwb3J0LWNvbnRlbnRcIj5cbiAgICAgIDxoMyBjbGFzcz1cIl9fbm8tcmVwb3J0LXRpdGxlXCI+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLm5vLXJlcG9ydC50aXRsZScpIHwgYXN5bmMgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8cCBjbGFzcz1cIl9fbm8tcmVwb3J0LWRlc2NyaXB0aW9uXCI+XG4gICAgICAgIHt7IHQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLm5vLXJlcG9ydC5kZXNjcmlwdGlvbicpIHwgYXN5bmMgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJfX25vLXJlcG9ydC1hY3Rpb25zXCI+XG4gICAgICAgIDxheC1idXR0b24gbG9vaz1cIm91dGxpbmVcIiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgIFt0ZXh0XT1cInQoJ0ByZXBvcnQtbWFuYWdlbWVudDpmZWF0dXJlcy5yZXBvcnQtdmlld2VyLm5vLXJlcG9ydC5icm93c2UtcmVwb3J0cycpIHwgYXN5bmNcIj5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1mb2xkZXItb3BlblwiPjwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LW1vZHVsZXMtcmVwb3J0LW1hbmFnZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2Fjb3JleC1tb2R1bGVzLXJlcG9ydC1tYW5hZ2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i3","i4","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,MAAM,GAAG;AACf,IAAI,IAAI,EAAE,mBAAmB;AAC7B,IAAI,MAAM,EAAE;AACZ,CAAC;AACW,MAAC,UAAU,GAAG;AAC1B,IAAI,MAAM;AACV,IAAI,MAAM,EAAE;AACZ,QAAQ,KAAK,EAAE,mBAAmB;AAClC,QAAQ,IAAI,EAAE,MAAM,CAAC,MAAM;AAC3B,QAAQ,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5C,QAAQ,IAAI,EAAE;AACd,KAAK;AACL,IAAI,QAAQ,EAAE;AACd,QAAQ,OAAO,EAAE;AACjB,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,KAAK,EAAE,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9D,YAAY,WAAW,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1E,YAAY,IAAI,EAAE,qBAAqB;AACvC,SAAS;AACT,QAAQ,QAAQ,EAAE;AAClB,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AACjD,YAAY,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;AAC5D,YAAY,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC;AACzE,YAAY,IAAI,EAAE;AAClB,SAAS;AACT,QAAQ,MAAM,EAAE;AAChB,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AAC/C,YAAY,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAC1D;AACA,YAAY,WAAW,EAAE,CAAC,yCAAyC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACrF,YAAY,IAAI,EAAE;AAClB;AACA,KAAK;AACL;;ACnCA;AAEA;;ACDY,MAAC,8BAA8B,GAAG,IAAI,cAAc,CAAC,gCAAgC,EAAE;AACnG,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,CAAC;AACW,MAAC,4BAA4B,GAAG,IAAI,cAAc,CAAC,8BAA8B,EAAE;AAC/F,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,CAAC;;ACND;AAIA;AACO,MAAM,0BAA0B,CAAC;AACxC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;AAC/F,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE;AACnG;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE;AAC9C;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE;AACvC;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,QAAQ,EAAE;AAClC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACrD,YAAY,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC1D;AACA,QAAQ,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAClF,QAAQ,MAAM,UAAU,GAAG,EAAE;AAC7B,QAAQ,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE;AAC3C,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC9F,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAChE,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC7C,wBAAwB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChD;AACA;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC3D,QAAQ,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AACtC,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC;AAChD;AACA,QAAQ,OAAO,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,sBAAsB,CAAC,UAAU,EAAE;AAC7C,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACxD,YAAY,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;AAC7D;AACA,QAAQ,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACpF,QAAQ,MAAM,WAAW,GAAG,EAAE;AAC9B,QAAQ,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE;AAC3C,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC9F,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;AAClE,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC7C,wBAAwB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjD;AACA;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC;AAC/D,QAAQ,OAAO,WAAW;AAC1B;AACA;AACA;AACA;AACA,IAAI,MAAM,aAAa,CAAC,EAAE,EAAE;AAC5B,QAAQ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE;AACnE,YAAY,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;AAClE,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,OAAO,KAAK;AAC5B;AACA;AACA,QAAQ,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACpF,QAAQ,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE;AAC3C,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AAC9F,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5D,oBAAoB,IAAI,MAAM;AAC9B,wBAAwB,OAAO,MAAM;AACrC;AACA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,QAAQ,OAAO,SAAS;AACxB;AACA;AACA;AACA;AACA,IAAI,MAAM,eAAe,CAAC,UAAU,EAAE;AACtC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AACjD,YAAY,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;AACtD;AACA,QAAQ,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE;AACrE,YAAY,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC;AACvE,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC;AAC1D,gBAAgB,OAAO,KAAK;AAC5B;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,CAAC,aAAa,EAAE;AACtC,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;AAC7D,YAAY,IAAI,KAAK;AACrB,gBAAgB,OAAO,KAAK;AAC5B;AACA,QAAQ,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC;AACvC,QAAQ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE;AAClC,QAAQ,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,YAAY,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE;AAChD,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AACtC,gBAAgB;AAChB,YAAY,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,YAAY,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACjE,YAAY,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC;AACvE,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,OAAO,KAAK;AAC5B;AACA,YAAY,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;AAC/C,gBAAgB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAChD,oBAAoB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjD;AACA;AACA;AACA,QAAQ,OAAO,SAAS;AACxB;AACA;AACA;AACA;AACA,IAAI,MAAM,qBAAqB,CAAC,UAAU,EAAE;AAC5C,QAAQ,MAAM,IAAI,GAAG,EAAE;AACvB,QAAQ,IAAI,iBAAiB,GAAG,UAAU;AAC1C,QAAQ,OAAO,iBAAiB,EAAE;AAClC,YAAY,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACrE,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;AACxE,gBAAgB,IAAI,CAAC,QAAQ,EAAE;AAC/B,oBAAoB,MAAM,IAAI,KAAK,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACxF;AACA;AACA,YAAY,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAClC,YAAY,iBAAiB,GAAG,QAAQ,CAAC,QAAQ;AACjD;AACA,QAAQ,OAAO,IAAI;AACnB;AACA;AACA;AACA;AACA,IAAI,MAAM,2BAA2B,CAAC,QAAQ,EAAE;AAChD,QAAQ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;AACvE,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AACrF;AACA,QAAQ,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;AACrD;AACA;AACA;AACA;AACA,IAAI,MAAM,uBAAuB,CAAC,QAAQ,EAAE;AAC5C,QAAQ,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE;AAClF,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE;AAChE,gBAAgB,OAAO,UAAU;AACjC;AACA;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACvD,YAAY,MAAM,IAAI,CAAC,aAAa,EAAE;AACtC;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE;AAClC,QAAQ,MAAM,kBAAkB,GAAG,CAAC,SAAS,CAAC;AAC9C,QAAQ,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE;AACzC,QAAQ,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,YAAY,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE;AACvD,YAAY,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7C,gBAAgB;AAChB,YAAY,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AACzC,YAAY,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AACjE,YAAY,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;AAC/C,gBAAgB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAChD,oBAAoB,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7C,oBAAoB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAClF,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE;AACxE,wBAAwB,OAAO,QAAQ,CAAC,EAAE;AAC1C;AACA,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AACxD;AACA;AACA;AACA,QAAQ,OAAO,SAAS;AACxB;AACA;AACA;AACA,IAAI,qBAAqB,GAAG;AAC5B,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE;AAC1C;AACA,IAAI,oBAAoB,GAAG;AAC3B,QAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE;AACzC;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AACpK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,MAAM;AACtC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC1NN,SAAS,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE;AACvD,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AAC9B,QAAQ,OAAO;AACf,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE;AACvB,YAAY,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACvC,YAAY,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;AACnG,SAAS;AACT,KAAK,CAAC;AACN;AACO,SAAS,sBAAsB,CAAC,IAAI,EAAE;AAC7C,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM;AACvD,QAAQ,EAAE,EAAE,GAAG;AACf,QAAQ,KAAK,EAAE,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf,KAAK,CAAC,CAAC;AACP;;ACVO,MAAM,2BAA2B,CAAC;AACzC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AACnD,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxF;AACA,IAAI,MAAM,OAAO,CAAC,UAAU,EAAE;AAC9B,QAAQ,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,GAAG,KAAK;AACjH,QAAQ,OAAO,MAAM,IAAI,EAAE;AAC3B;AACA,IAAI,MAAM,OAAO,CAAC,EAAE,EAAE;AACtB,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;AACtF,QAAQ,OAAO,MAAM,IAAI,SAAS;AAClC;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;AACjJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;AACN,MAAM,8BAA8B,GAAG;AAC9C,IAAI,OAAO,EAAE,8BAA8B;AAC3C,IAAI,QAAQ,EAAE,2BAA2B;AACzC,IAAI,KAAK,EAAE,IAAI;AACf,CAAC;AACD;AACO,MAAM,yBAAyB,CAAC;AACvC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AACnD,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1F;AACA,IAAI,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC5B,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE;AACjH;AACA,aAAa;AACb,YAAY,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,EAAE;AACpG;AACA,QAAQ,OAAO,MAAM,IAAI,EAAE;AAC3B;AACA,IAAI,MAAM,OAAO,CAAC,EAAE,EAAE;AACtB,QAAQ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC5L,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAC/I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;AACN,MAAM,4BAA4B,GAAG;AAC5C,IAAI,OAAO,EAAE,4BAA4B;AACzC,IAAI,QAAQ,EAAE,yBAAyB;AACvC,IAAI,KAAK,EAAE,IAAI;AACf,CAAC;;ACvDM,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;AACxC,QAAQ,OAAO,CAAC,QAAQ,CAAC;AACzB,YAAY;AACZ,gBAAgB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW;AAC5D,gBAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACxF,gBAAgB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;AACrD,gBAAgB,QAAQ,EAAE,IAAI;AAC9B,aAAa;AACb,SAAS,CAAC;AACV;AACA;;ACdO,MAAM,iBAAiB,SAAS,wBAAwB,CAAC;AAChE;AACO,MAAM,qBAAqB,SAAS,iBAAiB,CAAC;AAC7D,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACxL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC3I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;AAC/H,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACfvC;AACO,MAAM,yBAAyB,GAAG;AACzC,IAAI;AACJ,QAAQ,IAAI,EAAE,cAAc;AAC5B,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,QAAQ,EAAE;AAClB;AACA,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,iBAAiB;AAC/C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,YAAY,EAAE,IAAI;AAC1C,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,KAAK,EAAE,QAAQ;AAC3C,4BAA4B,OAAO,EAAE,+BAA+B;AACpE,4BAA4B,QAAQ,EAAE,kCAAkC;AACxE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,YAAY;AAC1C,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,oBAAoB;AAC7D,4BAA4B,UAAU,EAAE,MAAM;AAC9C,4BAA4B,SAAS,EAAE,OAAO;AAC9C,4BAA4B,UAAU,EAAE,+CAA+C;AACvF,4BAA4B,QAAQ,EAAE,iCAAiC;AACvE,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE;AAClC,4BAA4B;AAC5B,gCAAgC,KAAK,EAAE,oCAAoC;AAC3E,gCAAgC,MAAM,EAAE,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA,kBAAkB,CAAC;AACnB,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,YAAY;AAC1C,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,cAAc;AACvD,4BAA4B,UAAU,EAAE,MAAM;AAC9C,4BAA4B,SAAS,EAAE,OAAO;AAC9C,4BAA4B,UAAU,EAAE,6CAA6C;AACrF,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE;AAClC,4BAA4B;AAC5B,gCAAgC,KAAK,EAAE,oCAAoC;AAC3E,gCAAgC,MAAM,EAAE,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,CAAC;AACnB,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,YAAY,EAAE,KAAK;AAC3C,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,OAAO;AAChD,4BAA4B,UAAU,EAAE;AACxC,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;AAC7D,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACzD,6BAA6B;AAC7B,4BAA4B,UAAU,EAAE,OAAO;AAC/C,4BAA4B,SAAS,EAAE,MAAM;AAC7C,4BAA4B,QAAQ,EAAE,iCAAiC;AACvE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,wFAAwF;AACjI,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,qFAAqF;AAC7H,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,wFAAwF;AACjI,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,sDAAsD;AAC9F,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,iBAAiB;AAC/C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,iFAAiF;AAC1H,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,wDAAwD;AAChG,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,eAAe;AAC7C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,kFAAkF;AAC3H,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,sDAAsD;AAC9F,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,gBAAgB;AAC9C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,uDAAuD;AAC/F,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,cAAc;AAC5C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,kFAAkF;AAC3H,4BAA4B,QAAQ,EAAE,gEAAgE;AACtG,4BAA4B,UAAU,EAAE,qDAAqD;AAC7F,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,EAAE;AACjB,YAAY,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AACpD;AACA,KAAK;AACL,CAAC;AACD;;AC9MA;AACO,MAAM,yBAAyB,GAAG;AACzC,IAAI;AACJ,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,QAAQ,EAAE;AAClB,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,iBAAiB;AAC/C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,KAAK,EAAE,QAAQ;AAC3C,4BAA4B,OAAO,EAAE,+BAA+B;AACpE,4BAA4B,QAAQ,EAAE,kCAAkC;AACxE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvC,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,aAAa;AAC3C,wBAAwB,IAAI,EAAE,MAAM;AACpC,wBAAwB,IAAI,EAAE,OAAO;AACrC,wBAAwB,OAAO,EAAE;AACjC;AACA,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB;AACA,SAAS;AACT,KAAK;AACL,CAAC;AACD;;ACzCA;AACO,MAAM,uBAAuB,GAAG;AACvC,IAAI;AACJ,QAAQ,IAAI,EAAE,kBAAkB;AAChC,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,QAAQ,QAAQ,EAAE;AAClB,YAAY;AACZ,gBAAgB,IAAI,EAAE,eAAe;AACrC,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,UAAU,EAAE;AAChC,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,KAAK;AACxC,4BAA4B,IAAI,EAAE;AAClC,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,MAAM;AACzC,4BAA4B,IAAI,EAAE;AAClC,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,MAAM;AACzC,4BAA4B,IAAI,EAAE;AAClC,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,SAAS,EAAE,MAAM;AACrC,oBAAoB,UAAU,EAAE,OAAO;AACvC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,CAAC;AACD;;ACvBO,eAAe,cAAc,CAAC,QAAQ,EAAE;AAC/C,IAAI,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACvD,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI;AACvC,IAAI,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACjE,IAAI,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAChE,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AACtC,QAAQ,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC9C,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;AAChD,QAAQ,OAAO,EAAE;AACjB,YAAY,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;AACzD,YAAY,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;AAC3D,YAAY,YAAY,EAAE;AAC1B,gBAAgB,KAAK,EAAE,aAAa;AACpC,gBAAgB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AACpD,aAAa;AACb,SAAS;AACT,QAAQ,eAAe,EAAE,EAAE;AAC3B,QAAQ,MAAM,EAAE;AAChB,YAAY;AACZ,gBAAgB,EAAE,EAAE,SAAS;AAC7B,gBAAgB,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK;AACxD,aAAa;AACb,YAAY;AACZ,gBAAgB,EAAE,EAAE,SAAS;AAC7B,gBAAgB,KAAK,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC;AAC3D,aAAa;AACb,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY;AACZ,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB,KAAK,EAAE,CAAC,8BAA8B,CAAC;AACvD,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,OAAO,EAAE,IAAI;AACrC,qBAAqB;AACrB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,OAAO,EAAE,IAAI;AACzC,yBAAyB;AACzB,wBAAwB,MAAM,EAAE;AAChC,4BAA4B,OAAO,EAAE,KAAK;AAC1C,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,IAAI;AACpD,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,WAAW,EAAE;AAC7B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,UAAU;AACxC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,OAAO;AAC7B,gBAAgB,KAAK,EAAE,CAAC,+BAA+B,CAAC;AACxD,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,OAAO,EAAE,IAAI;AACrC,qBAAqB;AACrB,oBAAoB,MAAM,EAAE;AAC5B,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,OAAO,EAAE,IAAI;AACzC,yBAAyB;AACzB,wBAAwB,MAAM,EAAE;AAChC,4BAA4B,OAAO,EAAE,KAAK;AAC1C,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,IAAI;AACpD,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,WAAW,EAAE;AAC7B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,UAAU;AACxC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,aAAa;AACnC,gBAAgB,KAAK,EAAE,oCAAoC;AAC3D,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,YAAY,EAAE,oCAAoC;AACtE,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AACtD,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpG,4BAA4B,QAAQ,EAAE,IAAI;AAC1C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE;AAC3E,gCAAgC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE;AACjF,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,WAAW,EAAE;AAC7B,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,UAAU;AACxC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,KAAK,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,IAAI,CAAC;AAC9D,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AACtD,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,UAAU,EAAE,MAAM;AAC9C,4BAA4B,SAAS,EAAE,OAAO;AAC9C,4BAA4B,UAAU,EAAE,IAAI,YAAY,CAAC;AACzD,gCAAgC,IAAI,EAAE,YAAY;AAClD,oCAAoC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC;AAChF,wCAAwC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;AACvD,qCAAqC,CAAC;AACtC,oCAAoC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM;AAC1G,wCAAwC,GAAG,IAAI;AAC/C,wCAAwC,KAAK,EAAE,MAAM,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;AAClG,qCAAqC,CAAC,CAAC,CAAC;AACxC,oCAAoC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;AAC1F,iCAAiC;AACjC,gCAAgC,QAAQ,EAAE,IAAI;AAC9C,6BAA6B,CAAC;AAC9B,4BAA4B,QAAQ,EAAE,KAAK;AAC3C,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE;AAClC,4BAA4B;AAC5B,gCAAgC,KAAK,EAAE,oCAAoC;AAC3E,gCAAgC,MAAM,EAAE,CAAC,qmCAAqmC,CAAC;AAC/oC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,WAAW,EAAE;AAC7B,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE;AACxC,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,KAAK,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC;AAC3D,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,cAAc;AAC9D,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,KAAK;AAC9C,4BAA4B,WAAW,EAAE;AACzC,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE,yBAAyB;AAC3D,wBAAwB,QAAQ,EAAE;AAClC,4BAA4B;AAC5B,gCAAgC,KAAK,EAAE,oCAAoC;AAC3E,gCAAgC,MAAM,EAAE,CAAC;AACzC;AACA;AACA;AACA;AACA,kBAAkB,CAAC;AACnB,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,KAAK,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC;AAC3D,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,cAAc;AAC9D,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,KAAK;AAC9C,4BAA4B,WAAW,EAAE;AACzC,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE,yBAAyB;AAC3D,wBAAwB,QAAQ,EAAE;AAClC,4BAA4B;AAC5B,gCAAgC,KAAK,EAAE,oCAAoC;AAC3E,gCAAgC,MAAM,EAAE,CAAC,iEAAiE,CAAC;AAC3G,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,IAAI,EAAE,OAAO;AAC7B,gBAAgB,KAAK,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC;AACzD,gBAAgB,OAAO,EAAE,SAAS;AAClC,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,IAAI,EAAE,iBAAiB,CAAC,cAAc;AAC9D,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,WAAW,EAAE,KAAK;AAC9C,4BAA4B,WAAW,EAAE;AACzC,yBAAyB;AACzB,wBAAwB,QAAQ,EAAE,uBAAuB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC9E,QAAQ,QAAQ,EAAE;AAClB,YAAY,MAAM,EAAE;AACpB,gBAAgB,OAAO,EAAE,OAAO,IAAI,KAAK;AACzC,oBAAoB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACrC,oBAAoB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC;AACjE,oBAAoB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;AACtC,iBAAiB;AACjB,aAAa;AACb,YAAY,MAAM,EAAE;AACpB,gBAAgB,OAAO,EAAE,OAAO,EAAE,KAAK;AACvC,oBAAoB,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;AAC1D,iBAAiB;AACjB,aAAa;AACb,YAAY,MAAM,EAAE;AACpB,gBAAgB,OAAO,EAAE,OAAO,IAAI,KAAK;AACzC,oBAAoB,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AACrE,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,EAAE;AACjB,YAAY,KAAK,EAAE;AACnB,gBAAgB,OAAO,EAAE,OAAO,EAAE,KAAK;AACvC,oBAAoB,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AACvD,iBAAiB;AACjB,gBAAgB,IAAI,EAAE,kBAAkB,CAAC,MAAM;AAC/C,aAAa;AACb,YAAY,IAAI,EAAE;AAClB,gBAAgB,OAAO,EAAE,OAAO,CAAC,KAAK;AACtC,oBAAoB,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACpG,iBAAiB;AACjB,gBAAgB,IAAI,EAAE,kBAAkB,CAAC,IAAI;AAC7C,aAAa;AACb,SAAS;AACT,QAAQ,UAAU,EAAE;AACpB,YAAY,MAAM,EAAE;AACpB,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB;AACxB,4BAA4B,EAAE,EAAE,SAAS;AACzC,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,EAAE,EAAE,SAAS;AACzC,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,YAAY;AAC9C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,OAAO;AACzC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,SAAS;AAC3C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,EAAE;AACnD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,SAAS;AAC3C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,OAAO;AACzC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB;AACxB,4BAA4B,EAAE,EAAE,SAAS;AACzC,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,EAAE,EAAE,SAAS;AACzC,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,YAAY;AAC9C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,OAAO;AACzC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,SAAS;AAC3C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,EAAE;AACnD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,KAAK,EAAE,WAAW;AACtC,oBAAoB,QAAQ,EAAE;AAC9B,wBAAwB;AACxB,4BAA4B,EAAE,EAAE,SAAS;AACzC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,EAAE;AACnD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,YAAY;AAC9C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,OAAO;AACzC,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,aAAa;AAC/C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,CAAC;AAClD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,IAAI,EAAE,SAAS;AAC3C,4BAA4B,MAAM,EAAE;AACpC,gCAAgC,SAAS,EAAE;AAC3C,oCAAoC,EAAE,EAAE;AACxC,wCAAwC,OAAO,EAAE,EAAE;AACnD,wCAAwC,KAAK,EAAE,CAAC;AAChD,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,OAAO,EAAE,EAAE;AAC/B,iBAAiB;AACjB,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,CAAC,gCAAgC,CAAC;AACrE,4BAA4B,OAAO,EAAE,eAAe;AACpD,4BAA4B,QAAQ,EAAE,SAAS;AAC/C,4BAA4B,IAAI,EAAE,QAAQ;AAC1C,4BAA4B,KAAK,EAAE,qBAAqB,CAAC,SAAS;AAClE,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,uCAAuC;AAC1E,4BAA4B,OAAO,EAAE,eAAe;AACpD,4BAA4B,QAAQ,EAAE,SAAS;AAC/C,4BAA4B,IAAI,EAAE,QAAQ;AAC1C,4BAA4B,KAAK,EAAE,qBAAqB,CAAC,QAAQ;AACjE,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,kCAAkC;AACrE,4BAA4B,OAAO,EAAE,aAAa;AAClD,4BAA4B,QAAQ,EAAE,WAAW;AACjD,4BAA4B,IAAI,EAAE,MAAM;AACxC,4BAA4B,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACnE,yBAAyB;AACzB,wBAAwB;AACxB,4BAA4B,KAAK,EAAE,kCAAkC;AACrE,4BAA4B,OAAO,EAAE,eAAe;AACpD,4BAA4B,QAAQ,EAAE,WAAW;AACjD,4BAA4B,IAAI,EAAE,QAAQ;AAC1C,4BAA4B,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACnE,yBAAyB;AACzB,qBAAqB;AACrB,oBAAoB,KAAK,EAAE;AAC3B,wBAAwB,kBAAkB,CAAC;AAC3C,4BAA4B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE;AAChE,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,SAAS;AACpB;;ACvgBO,MAAM,+BAA+B,CAAC;AAC7C,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC;AACjD;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE;AACvC,YAAY,SAAS,EAAE,OAAO,UAAU,EAAE,OAAO,KAAK;AACtD,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;AACvE,gBAAgB,OAAO,MAAM;AAC7B;AACA,SAAS,CAAC;AACV;AACA;;ACVO,MAAM,iCAAiC,SAAS,iBAAiB,CAAC;AACzE,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,QAAQ,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAC9D;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B;AACA,QAAQ,MAAM,IAAI,GAAG,MAAM,OAAO,8EAAmD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC;AAChI,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACzI;AACA;AACO,MAAM,uBAAuB,GAAG;AACvC,IAAI,WAAW,EAAE,oBAAoB;AACrC,IAAI,KAAK,EAAE;AACX,QAAQ,oBAAoB,EAAE;AAC9B,YAAY,MAAM,EAAE,mCAAmC;AACvD,YAAY,SAAS,EAAE;AACvB,gBAAgB;AAChB,oBAAoB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,uCAAuC,EAAE,CAAC;AACzG,oBAAoB,UAAU,EAAE,cAAc;AAC9C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,YAAY,EAAE;AACtB,YAAY,EAAE,EAAE,cAAc;AAC9B,YAAY,MAAM,EAAE,gBAAgB;AACpC,YAAY,KAAK,EAAE;AACnB,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,gCAAgC;AACvD,gBAAgB,OAAO,EAAE,+BAA+B;AACxD,aAAa;AACb,YAAY,SAAS,EAAE;AACvB,gBAAgB;AAChB,oBAAoB,UAAU,EAAE,EAAE;AAClC,oBAAoB,UAAU,EAAE,iBAAiB;AACjD,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AChCD,SAAS,YAAY,GAAG;AACxB,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ;AACR,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;AAC1D,YAAY,WAAW,EAAE,CAAC,YAAY,CAAC;AACvC,YAAY,aAAa,EAAE,MAAM;AACjC,gBAAgB,OAAO,sBAAsB;AAC7C,aAAa;AACb,YAAY,QAAQ,EAAE;AACtB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,WAAW;AACrC,oBAAoB,aAAa,EAAE,MAAM,0EAAkF,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AACvK,oBAAoB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACzC,iBAAiB;AACjB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,EAAE;AAC5B,oBAAoB,aAAa,EAAE,MAAM,0EAAkF,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AACvK,oBAAoB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACzC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ;AACR,YAAY,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC3D,YAAY,WAAW,EAAE,CAAC,YAAY,CAAC;AACvC,YAAY,aAAa,EAAE,MAAM;AACjC,gBAAgB,OAAO,sBAAsB;AAC7C,aAAa;AACb,YAAY,QAAQ,EAAE;AACtB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,aAAa,EAAE,MAAM,OAAO,mFAAoF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gCAAgC,CAAC;AACrL,oBAAoB,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACzC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM;AACjB;AACO,MAAM,yBAAyB,CAAC;AACvC,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC1L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC9L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE;AACrJ,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,QAAQ,EAAE,qBAAqB;AAC/C,aAAa;AACb,YAAY,8BAA8B;AAC1C,YAAY,4BAA4B;AACxC,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,QAAQ,EAAE,eAAe;AACzC,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,gBAAgB,OAAO,EAAE,MAAM;AAC/B,gBAAgB,KAAK,EAAE,IAAI;AAC3B,gBAAgB,UAAU,EAAE,YAAY;AACxC,aAAa;AACb,YAAY,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvG,YAAY;AACZ,gBAAgB,OAAO,EAAE,uCAAuC;AAChE,gBAAgB,QAAQ,EAAE,+BAA+B;AACzD,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa;AACb,SAAS,EAAE,OAAO,EAAE,CAAC,eAAe;AACpC,YAAY,iBAAiB,CAAC,QAAQ,CAAC;AACvC,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,iCAAiC;AACrD,iBAAiB;AACjB,gBAAgB,SAAS,EAAE;AAC3B,oBAAoB,eAAe,EAAE,uBAAuB;AAC5D,iBAAiB;AACjB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,eAAe;AACvC,wBAAwB,iBAAiB,CAAC,QAAQ,CAAC;AACnD,4BAA4B,OAAO,EAAE;AACrC,gCAAgC,iCAAiC;AACjE,6BAA6B;AAC7B,4BAA4B,SAAS,EAAE;AACvC,gCAAgC,eAAe,EAAE,uBAAuB;AACxE,6BAA6B;AAC7B,yBAAyB,CAAC;AAC1B,qBAAqB;AACrB,oBAAoB,OAAO,EAAE,EAAE;AAC/B,oBAAoB,YAAY,EAAE,EAAE;AACpC,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,QAAQ,EAAE,qBAAqB;AAC3D,yBAAyB;AACzB,wBAAwB,8BAA8B;AACtD,wBAAwB,4BAA4B;AACpD,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,QAAQ,EAAE,eAAe;AACrD,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,MAAM;AAC3C,4BAA4B,KAAK,EAAE,IAAI;AACvC,4BAA4B,UAAU,EAAE,YAAY;AACpD,yBAAyB;AACzB,wBAAwB,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnH,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,uCAAuC;AAC5E,4BAA4B,QAAQ,EAAE,+BAA+B;AACrE,4BAA4B,KAAK,EAAE,IAAI;AACvC,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AChJD,MAAC,wBAAwB,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO;AACrE,IAAI,gBAAgB,EAAE,IAAI;AAC1B,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,aAAa,EAAE,EAAE;AACrB,IAAI,cAAc,EAAE,EAAE;AACtB,IAAI,cAAc,EAAE,KAAK;AACzB,IAAI,MAAM,EAAE,aAAa,CAAC,IAAI;AAC9B,IAAI,KAAK,EAAE,IAAI;AACf,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,MAAM;AAC9B;AACA,IAAI,gBAAgB,EAAE,QAAQ,CAAC,MAAM;AACrC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO;AAC5B,YAAY,OAAO,EAAE;AACrB,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;AAC/C,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE;AACzB,YAAY,KAAK,EAAE,MAAM,CAAC,KAAK;AAC/B,YAAY,IAAI,EAAE,MAAM,CAAC,IAAI;AAC7B,YAAY,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;AAChC,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,aAAa,EAAE,QAAQ,CAAC,MAAM;AAClC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM;AACpC,YAAY,OAAO,IAAI;AACvB;AACA,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,KAAK,CAAC;AACN,IAAI,cAAc,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC;AACrE,IAAI,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;AAC3E;AACA;AACA,IAAI,iBAAiB,EAAE,QAAQ,CAAC,MAAM;AACtC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,OAAO,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK;AACxC,cAAc,MAAM,CAAC;AACrB,cAAc,IAAI;AAClB,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE,QAAQ,CAAC,MAAM;AACtC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,OAAO,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK;AACxC,cAAc,MAAM,CAAC;AACrB,cAAc,IAAI;AAClB,KAAK,CAAC;AACN;AACA;AACA,IAAI,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,aAAa,CAAC,UAAU,CAAC;AAC1E,IAAI,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,aAAa,CAAC,UAAU,CAAC;AAC5E,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC;AACpD,IAAI,kBAAkB,EAAE,QAAQ,CAAC,MAAM;AACvC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC;AACjD,KAAK,CAAC;AACN,IAAI,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,IAAI,eAAe,CAAC;AAC7E,IAAI,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,WAAW,IAAI,IAAI,CAAC;AAC9E;AACA;AACA,IAAI,cAAc,EAAE,QAAQ,CAAC,MAAM;AACnC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAChD,YAAY,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;AACjC;AACA,QAAQ,OAAO;AACf,YAAY,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC3D,gBAAgB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChC,gBAAgB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClC,gBAAgB,WAAW,EAAE,KAAK,CAAC,WAAW;AAC9C,gBAAgB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC7D,oBAAoB,IAAI,EAAE,KAAK,CAAC,IAAI;AACpC,oBAAoB,KAAK,EAAE,KAAK,CAAC,KAAK;AACtC,oBAAoB,WAAW,EAAE,KAAK,CAAC,WAAW;AAClD,oBAAoB,MAAM,EAAE,KAAK,CAAC;AAClC,iBAAiB,CAAC;AAClB,aAAa,CAAC;AACd,SAAS;AACT,KAAK,CAAC;AACN;AACA;AACA,IAAI,aAAa,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;AAClF,IAAI,aAAa,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC;AAClF;AACA;AACA,IAAI,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,gBAAgB,EAAE,KAAK,IAAI;AAChE,QAAQ,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI;AACtC,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,aAAa,CAAC,UAAU;AACnD,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,aAAa,CAAC,UAAU,CAAC;AACpD,IAAI,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC;AACxF,QAAQ,KAAK,CAAC,MAAM,EAAE,KAAK,aAAa,CAAC,UAAU,CAAC;AACpD,IAAI,aAAa,EAAE,QAAQ,CAAC,MAAM;AAClC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,OAAO,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO;AAC/C,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI;AACnD,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,KAAK,MAAM;AAC9D,KAAK,CAAC;AACN;AACA,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK;AACtI,IAAI,MAAM,aAAa,GAAG,YAAY;AACtC,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;AAC9B,YAAY;AACZ,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,YAAY,MAAM,EAAE,aAAa,CAAC,UAAU;AAC5C,YAAY,KAAK,EAAE;AACnB,SAAS,CAAC;AACV,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,YAAY,cAAc,EAAE;AAC5B,SAAS,CAAC;AACV,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,YAAY,MAAM,EAAE,aAAa,CAAC,SAAS;AAC3C,YAAY,KAAK,EAAE;AACnB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,OAAO,UAAU,GAAG,EAAE,KAAK;AACjD,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AAC/C,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;AAChC,YAAY,OAAO,IAAI;AACvB;AACA,QAAQ,UAAU,CAAC,KAAK,EAAE;AAC1B,YAAY,MAAM,EAAE,aAAa,CAAC,UAAU;AAC5C,YAAY,KAAK,EAAE;AACnB,SAAS,CAAC;AACV,QAAQ,IAAI;AACZ;AACA,YAAY,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI;AACpD,gBAAgB,IAAI,EAAE,OAAO;AAC7B,gBAAgB,IAAI,EAAE;AACtB,aAAa;AACb,YAAY,MAAM,OAAO,GAAG;AAC5B,gBAAgB,QAAQ,EAAE,MAAM,CAAC,EAAE;AACnC,gBAAgB,QAAQ,EAAE,MAAM,CAAC,EAAE;AACnC,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,UAAU,EAAE;AAC5B,oBAAoB,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,oBAAoB,GAAG;AACvB;AACA,aAAa;AACb,YAAY,OAAO,MAAM,cAAc,CAAC,OAAO,CAAC,iCAAiC,EAAE,OAAO,CAAC;AAC3F;AACA,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,KAAK,EAAE,0BAA0B;AACjD,aAAa,CAAC;AACd,YAAY,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAC3D,YAAY,OAAO,IAAI;AACvB;AACA,gBAAgB;AAChB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,MAAM,EAAE,aAAa,CAAC;AACtC,aAAa,CAAC;AACd;AACA,KAAK;AACL,IAAI,OAAO;AACX;AACA,QAAQ,MAAM,UAAU,CAAC,QAAQ,EAAE;AACnC,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,MAAM,EAAE,aAAa,CAAC,UAAU;AAChD,gBAAgB,KAAK,EAAE;AACvB,aAAa,CAAC;AACd,YAAY,IAAI;AAChB,gBAAgB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,aAAa,CAAC,QAAQ,CAAC;AACpF,gBAAgB,IAAI,MAAM,EAAE;AAC5B,oBAAoB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjD;AACA,oBAAoB,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI;AAC5D,wBAAwB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI;AAC1D,4BAA4B,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAC1D,yBAAyB,CAAC;AAC1B,qBAAqB,CAAC;AACtB;AACA,oBAAoB,MAAM,cAAc,GAAG,MAAM,uBAAuB,CAAC,2BAA2B,CAAC,QAAQ,CAAC;AAC9G;AACA,oBAAoB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACtG,oBAAoB,UAAU,CAAC,KAAK,EAAE;AACtC,wBAAwB,gBAAgB,EAAE,MAAM;AAChD,wBAAwB,aAAa,EAAE,aAAa;AACpD,wBAAwB,cAAc,EAAE,cAAc,IAAI,EAAE;AAC5D,wBAAwB,aAAa,EAAE,EAAE;AACzC,wBAAwB,cAAc,EAAE,KAAK;AAC7C,qBAAqB,CAAC;AACtB;AACA;AACA,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,UAAU,CAAC,KAAK,EAAE;AAClC,oBAAoB,KAAK,EAAE;AAC3B,iBAAiB,CAAC;AAClB,gBAAgB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;AAC7D;AACA,oBAAoB;AACpB,gBAAgB,UAAU,CAAC,KAAK,EAAE;AAClC,oBAAoB,MAAM,EAAE,aAAa,CAAC;AAC1C,iBAAiB,CAAC;AAClB;AACA,SAAS;AACT;AACA;AACA,QAAQ,YAAY,CAAC,QAAQ,EAAE;AAC/B,YAAY,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE;AACnD,YAAY,IAAI,CAAC,MAAM;AACvB,gBAAgB;AAChB,YAAY,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC;AACxE,YAAY,IAAI,MAAM,EAAE;AACxB,gBAAgB,UAAU,CAAC,KAAK,EAAE;AAClC,oBAAoB,aAAa,EAAE,MAAM;AACzC,iBAAiB,CAAC;AAClB;AACA,SAAS;AACT;AACA;AACA,QAAQ,aAAa;AACrB,QAAQ,SAAS;AACjB;AACA;AACA,QAAQ,mBAAmB,CAAC,OAAO,EAAE;AACrC,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,aAAa,EAAE,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,EAAE;AACvE,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,YAAY,GAAG;AACvB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,cAAc,EAAE,KAAK;AACrC,gBAAgB,aAAa,EAAE,EAAE;AACjC,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,YAAY,GAAG;AACvB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,cAAc,EAAE;AAChC,aAAa,CAAC;AACd,SAAS;AACT;AACA;AACA,QAAQ,MAAM,YAAY,CAAC,MAAM,EAAE;AACnC,YAAY,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAChD,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE;AACjC,gBAAgB,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC;AACxE,gBAAgB;AAChB;AACA,YAAY,IAAI;AAChB;AACA;AACA,gBAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACnE;AACA,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAC/D;AACA,SAAS;AACT;AACA;AACA,QAAQ,OAAO,GAAG;AAClB,YAAY,OAAO,aAAa,EAAE;AAClC,SAAS;AACT,QAAQ,UAAU,GAAG;AACrB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,KAAK,EAAE;AACvB,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,KAAK,GAAG;AAChB,YAAY,UAAU,CAAC,KAAK,EAAE;AAC9B,gBAAgB,gBAAgB,EAAE,IAAI;AACtC,gBAAgB,aAAa,EAAE,IAAI;AACnC,gBAAgB,aAAa,EAAE,EAAE;AACjC,gBAAgB,cAAc,EAAE,KAAK;AACrC,gBAAgB,cAAc,EAAE,EAAE;AAClC,gBAAgB,MAAM,EAAE,aAAa,CAAC,IAAI;AAC1C,gBAAgB,KAAK,EAAE,IAAI;AAC3B,aAAa,CAAC;AACd;AACA;AACA,KAAK;AACL,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM;AACtH,IAAI,MAAM,MAAM,GAAG;AACnB;AACA,QAAQ,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM;AACxD;AACA,SAAS,CAAC;AACV,QAAQ,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM;AACtD;AACA,SAAS,CAAC;AACV,KAAK;AACL,IAAI,SAAS,GAAG;AAChB;AACA;AACA,CAAC,CAAC,CAAC;;AClRI,MAAM,2BAA2B,CAAC;AACzC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAClD,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvD,QAAQ,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpF;AACA;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;AACrC,YAAY,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,MAAM;AAClD,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM;AACvC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE;AACzD,gBAAgB,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE;AACtC;AACA,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/D,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAAC;AAC3C,YAAY,IAAI,EAAE,OAAO,CAAC,KAAK;AAC/B,gBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE;AAC/C,oBAAoB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;AAClD;AACA,gBAAgB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,gBAAgB,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACnE,oBAAoB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;AACzD,oBAAoB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;AAClD;AACA,gBAAgB;AAChB,gBAAgB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;AACnD,gBAAgB,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAClD,gBAAgB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AACvC,aAAa;AACb,YAAY,QAAQ,EAAE,EAAE;AACxB,YAAY,GAAG,EAAE;AACjB,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM;AACtC,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM;AACxD,gBAAgB,KAAK,EAAE,GAAG,CAAC,KAAK;AAChC,gBAAgB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK;AAC7C,gBAAgB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,OAAO;AAC3C,gBAAgB,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK;AAC9C,gBAAgB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,MAAM;AAC1C,gBAAgB,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK;AACxD,aAAa,CAAC,CAAC,IAAI,EAAE;AACrB,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D,QAAQ,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM;AAChD,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,KAAK;AAC9D,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtE,QAAQ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM;AAC/C,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAChI,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE,QAAQ,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,MAAM;AAClD,YAAY,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC;AACrD,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACxE,QAAQ,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,MAAM;AACjD,YAAY,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AAClI,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,MAAM;AACpD,YAAY,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC;AACvD,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1E,QAAQ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM;AAC/C,YAAY,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC7E,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,gBAAgB,OAAO,IAAI;AAC3B;AACA,YAAY,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;AAC9D,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACrE;AACA;AACA;AACA,IAAI,cAAc,CAAC,KAAK,EAAE;AAC1B,QAAQ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACpD;AACA,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACrC,YAAY,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AAC1E;AACA;AACA,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE;AAChC,QAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC;AAC7C;AACA,IAAI,UAAU;AACd;AACA;AACA,IAAI,uBAAuB,CAAC,MAAM,EAAE;AACpC,QAAQ,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1D,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,YAAY,OAAO;AACnB,gBAAgB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,iBAAiB;AACtD,gBAAgB,IAAI,EAAE,MAAM,CAAC,KAAK;AAClC,gBAAgB,IAAI,EAAE,MAAM,CAAC,IAAI;AACjC,gBAAgB,OAAO,EAAE,MAAM,CAAC,KAAK;AACrC,gBAAgB,KAAK,EAAE,MAAM,CAAC,KAAK;AACnC,aAAa;AACb;AACA,QAAQ,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;AAChF,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,aAAa,CAAC,IAAI,IAAI,iBAAiB;AACzD,YAAY,IAAI,EAAE,aAAa,CAAC,KAAK;AACrC,YAAY,IAAI,EAAE,aAAa,CAAC,IAAI;AACpC,YAAY,OAAO,EAAE,aAAa,CAAC,KAAK;AACxC,YAAY,KAAK,EAAE,aAAa,CAAC,KAAK;AACtC,SAAS;AACT;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,grCAAgrC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,mCAAmC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,gCAAgC,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEC,IAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEC,IAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC53G;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AACnF,wBAAwB,YAAY;AACpC,wBAAwB,iBAAiB;AACzC,wBAAwB,eAAe;AACvC,wBAAwB,iBAAiB;AACzC,wBAAwB,mBAAmB;AAC3C,wBAAwB;AACxB,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,grCAAgrC,EAAE;AAC3yC,SAAS,CAAC,EAAE,CAAC;;ACxHN,MAAM,2BAA2B,CAAC;AACzC,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAClD,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM;AAC1C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAClD,YAAY,OAAO,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK;AAC3C,kBAAkB,MAAM,CAAC;AACzB,kBAAkB,IAAI;AACtB,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM;AAC3C,YAAY,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAClD,YAAY,OAAO,WAAW,EAAE,OAAO,IAAI,IAAI;AAC/C,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM;AACxC,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;AAC/C,YAAY,OAAO,OAAO,EAAE,SAAS,IAAI,KAAK;AAC9C,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9D;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM;AAC1C,YAAY,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;AAC/C,YAAY,OAAO,OAAO,EAAE,WAAW,IAAI,IAAI;AAC/C,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAChE;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM;AACvC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACjE;AACA,gBAAgB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;AAC1D,oBAAoB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC/C,oBAAoB,WAAW,EAAE,IAAI,CAAC,WAAW;AACjD,iBAAiB,CAAC;AAClB,gBAAgB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,oBAAoB,MAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;AAC1F,oBAAoB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;AAC3D,oBAAoB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjE,iBAAiB,CAAC;AAClB;AACA,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/D,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjG,QAAQ,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;AACxC,YAAY,UAAU,EAAE,OAAO;AAC/B,YAAY,WAAW,EAAE;AACzB,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACtE,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AACpC,YAAY,IAAI,EAAE,YAAY;AAC9B,SAAS,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU;AACd;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC;AAC5C;AACA;AACA;AACA;AACA,IAAI,qBAAqB,CAAC,KAAK,EAAE;AACjC;AACA,QAAQ,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5D;AACA;AACA;AACA;AACA,IAAI,cAAc,GAAG;AACrB;AACA,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;AAClC,YAAY,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;AACxC,YAAY,WAAW,EAAE,IAAI,CAAC,WAAW;AACzC,SAAS;AACT;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,ktGAAktG,EAAE,MAAM,EAAE,CAAC,0qHAA0qH,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEF,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEG,IAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEH,IAAE,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/4P;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AACnF,wBAAwB,YAAY;AACpC,wBAAwB,iBAAiB;AACzC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,qBAAqB;AAC7C,wBAAwB;AACxB,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,ktGAAktG,EAAE,MAAM,EAAE,CAAC,0qHAA0qH,CAAC,EAAE;AACngO,SAAS,CAAC,EAAE,CAAC;;AC5GN,MAAM,4BAA4B,SAAS,0BAA0B,CAAC;AAC7E,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC1D,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAC3C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACzE,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,QAAQ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACpG;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,aAAa,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzG;AACA;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAClD;AACA;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAClE,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,mBAAmB,CAAC;AACtF;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,OAAO;AACpC,YAAY,SAAS,EAAE;AACvB,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AACxC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AAClC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;AACjC;AACA,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,aAAa,GAAG,OAAO;AACpC,YAAY,SAAS,EAAE;AACvB,gBAAgB,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AACxC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AAClC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AAClC,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AAChC;AACA,SAAS,CAAC;AACV;AACA;AACA;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,MAAM,KAAK,CAAC,QAAQ,EAAE;AAC9B;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,MAAM,KAAK;AAC5F,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AACnD,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACjE,gBAAgB,IAAI,CAAC,QAAQ,EAAE;AAC/B,YAAY,IAAI,QAAQ,EAAE;AAC1B,gBAAgB,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;AACzD;AACA,SAAS,CAAC;AACV;AACA;AACA;AACA,IAAI,MAAM,oBAAoB,CAAC,QAAQ,EAAE;AACzC,QAAQ,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC1C;AACA,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB;AACA,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW;AAC3D,QAAQ,MAAM,aAAa,GAAG,EAAE,GAAG,WAAW,EAAE;AAChD,QAAQ,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACzC;AACA,QAAQ,MAAM,SAAS,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC1E,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAY,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC;AAClE,YAAY,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC;AAClD;AACA,YAAY,UAAU,CAAC,YAAY;AACnC,gBAAgB,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAC7C,aAAa,EAAE,GAAG,CAAC,CAAC;AACpB;AACA;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,KAAK,EAAE;AAC/B,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAC1C;AACA,IAAI,sBAAsB,CAAC,KAAK,EAAE;AAClC,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAC1C;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE;AAC5D,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,YAAY;AACZ;AACA,QAAQ,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AACrC;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;AACzB;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAC9B;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AACvC,QAAQ,IAAI,IAAI,EAAE;AAClB,YAAY,IAAI,CAAC,WAAW,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,WAAW,GAAG;AAC5B,YAAY;AACZ,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,8BAA8B,CAAC;AACjG,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,qBAAqB;AAC/C,iBAAiB;AACjB;AACA,SAAS;AACT;AACA,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACvD,QAAQ,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AACzD,YAAY,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;AAC1D,YAAY,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE;AACnD,gBAAgB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1C,gBAAgB,WAAW,CAAC,IAAI,CAAC;AACjC,oBAAoB,IAAI,EAAE,QAAQ,CAAC,EAAE;AACrC,oBAAoB,KAAK,EAAE,QAAQ,CAAC,KAAK;AACzC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,IAAI,EAAE,sBAAsB;AACpD,wBAAwB,OAAO,EAAE;AACjC,4BAA4B,IAAI,EAAE,CAAC,GAAG,QAAQ;AAC9C,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC;AAClB;AACA;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AAC3D,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,WAAW,CAAC,IAAI,CAAC;AAC7B,gBAAgB,IAAI,EAAE,eAAe;AACrC,gBAAgB,KAAK,EAAE,gBAAgB,CAAC,KAAK;AAC7C,aAAa,CAAC;AACd;AACA,QAAQ,OAAO,WAAW;AAC1B;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AAC3D,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,OAAO,gBAAgB,CAAC,KAAK;AACzC;AACA,QAAQ,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iDAAiD,CAAC;AAC5G;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AAC3D,QAAQ,OAAO,gBAAgB,EAAE,WAAW,IAAI,IAAI;AACpD;AACA,IAAI,MAAM,aAAa,GAAG;AAC1B,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACvD,QAAQ,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5D;AACA,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,sDAAsD,CAAC;AACzH,aAAa;AACb;AACA,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AACzC;AACA,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,sDAAsD,CAAC;AACzH,aAAa;AACb;AACA;AACA,QAAQ,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;AACxE,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,cAAc,CAAC,KAAK;AACvC,SAAS;AACT;AACA,IAAI,MAAM,iBAAiB,GAAG;AAC9B,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACvD,QAAQ,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;AAC3D;AACA,YAAY,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACvE;AACA,aAAa;AACb;AACA,YAAY,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;AAC1D,YAAY,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;AAC9C,gBAAgB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACrC;AACA,YAAY,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAChD;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC;AACA,QAAQ,OAAO,EAAE;AACjB;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;AAC3D,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,YAAY,OAAO,EAAE;AACrB;AACA,QAAQ,OAAO;AACf,YAAY;AACZ,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,2DAA2D,CAAC;AAC9H,gBAAgB,IAAI,EAAE,qBAAqB;AAC3C,gBAAgB,KAAK,EAAE,WAAW;AAClC,gBAAgB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;AACtE,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,gBAAgB;AAC1C,iBAAiB;AACjB,aAAa;AACb,YAAY;AACZ,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iEAAiE,CAAC;AACpI,gBAAgB,IAAI,EAAE,0BAA0B;AAChD,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,eAAe;AACzC,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,QAAQ,OAAO,CAAC,IAAI;AAC5B,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,MAAM,IAAI,CAAC,mBAAmB,EAAE;AAChD,gBAAgB;AAChB,YAAY,KAAK,gBAAgB;AACjC,gBAAgB,IAAI,CAAC,aAAa,EAAE;AACpC,gBAAgB;AAChB,YAAY,KAAK,eAAe;AAChC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE;AACzC,gBAAgB;AAChB,YAAY,KAAK,qBAAqB;AACtC,gBAAgB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC3E,gBAAgB;AAChB,YAAY,KAAK,sBAAsB;AACvC,gBAAgB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;AACtD,gBAAgB,IAAI,IAAI,EAAE;AAC1B,oBAAoB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpD;AACA,gBAAgB;AAChB,YAAY;AACZ,gBAAgB,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,gBAAgB;AAChB;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,4BAA4B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,wBAAwB,EAAE,EAAE,SAAS,EAAE;AAC7hB,YAAY,cAAc;AAC1B,YAAY,wBAAwB;AACpC,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,4BAA4B;AACzD,aAAa;AACb,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,kiHAAkiH,EAAE,MAAM,EAAE,CAAC,y9EAAy9E,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEG,IAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAED,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AACxgQ;AACA,gBAAgB,uBAAuB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,mDAAmD,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qfAAqf,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEF,IAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3/C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,UAAU,EAAE,CAAC;AACtI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AACpF,wBAAwB,YAAY;AACpC,wBAAwB,cAAc;AACtC,wBAAwB,iBAAiB;AACzC,wBAAwB,eAAe;AACvC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC;AACA,wBAAwB,uBAAuB;AAC/C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gCAAgC;AACxD,wBAAwB,6BAA6B;AACrD,wBAAwB,4BAA4B;AACpD,wBAAwB,2BAA2B;AACnD,wBAAwB,2BAA2B;AACnD,wBAAwB;AACxB,qBAAqB,EAAE,SAAS,EAAE;AAClC,wBAAwB,cAAc;AACtC,wBAAwB,wBAAwB;AAChD,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,4BAA4B;AACrE,yBAAyB;AACzB,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,kiHAAkiH,EAAE,MAAM,EAAE,CAAC,y9EAAy9E,CAAC,EAAE;AAC7qM,SAAS,CAAC,EAAE,CAAC;;;;;;;AChTb;AACA;AACA;;;;"}