@acorex/platform 18.0.8 → 18.0.10

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 (810) hide show
  1. package/auth/lib/application/application.types.d.ts +3 -3
  2. package/auth/lib/auth.strategy.d.ts +5 -0
  3. package/auth/lib/errors.types.d.ts +4 -4
  4. package/auth/lib/session.service.d.ts +4 -3
  5. package/common/lib/app/application.types.d.ts +6 -12
  6. package/common/lib/schema/entity/entity.class.d.ts +2 -1
  7. package/common/lib/schema/schema.types.d.ts +2 -1
  8. package/common/lib/schema/widget/widget-base.d.ts +1 -1
  9. package/common/lib/schema/widget/widget-token.d.ts +1 -1
  10. package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +1 -1
  11. package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +2 -2
  12. package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +1 -1
  13. package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +1 -1
  14. package/core/README.md +4 -0
  15. package/core/index.d.ts +1 -0
  16. package/core/lib/types.d.ts +12 -0
  17. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  18. package/esm2022/auth/lib/auth-registry.service.mjs +3 -3
  19. package/esm2022/auth/lib/auth.module.mjs +4 -4
  20. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  21. package/esm2022/auth/lib/feature/feature.directive.mjs +3 -3
  22. package/esm2022/auth/lib/permission/permission.directive.mjs +3 -3
  23. package/esm2022/auth/lib/session.service.mjs +58 -16
  24. package/esm2022/common/lib/app/application.types.mjs +1 -1
  25. package/esm2022/common/lib/common.module.mjs +4 -4
  26. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +3 -3
  27. package/esm2022/common/lib/errors/global-error-handler.mjs +5 -5
  28. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +3 -3
  29. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +3 -3
  30. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +3 -3
  31. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +4 -4
  32. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +3 -3
  33. package/esm2022/common/lib/layout/layout.service.mjs +3 -3
  34. package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
  35. package/esm2022/common/lib/layout/sticky.directive.mjs +3 -3
  36. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +3 -3
  37. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +3 -3
  38. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +5 -5
  39. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +3 -3
  40. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +3 -3
  41. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  42. package/esm2022/common/lib/schema/schema-registery.service.mjs +3 -3
  43. package/esm2022/common/lib/schema/schema.module.mjs +4 -4
  44. package/esm2022/common/lib/schema/schema.types.mjs +1 -1
  45. package/esm2022/common/lib/schema/widget/widget-base.mjs +10 -10
  46. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +3 -3
  47. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +3 -3
  48. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
  49. package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
  50. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +3 -3
  51. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +3 -3
  52. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +3 -3
  53. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +3 -3
  54. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +3 -3
  55. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +5 -5
  56. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +4 -4
  57. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +5 -5
  58. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +4 -4
  59. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +3 -3
  60. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +5 -5
  61. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +3 -3
  62. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +4 -4
  63. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +3 -3
  64. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +5 -5
  65. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +3 -3
  66. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +3 -3
  67. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +5 -5
  68. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +3 -3
  69. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +5 -5
  70. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +4 -4
  71. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +3 -3
  72. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +3 -3
  73. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  74. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +3 -3
  75. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +5 -5
  76. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +3 -3
  77. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +3 -3
  78. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +3 -3
  79. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +3 -3
  80. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +5 -5
  81. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +3 -3
  82. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +3 -3
  83. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +3 -3
  84. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +5 -5
  85. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +3 -3
  86. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +3 -3
  87. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +4 -4
  88. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +3 -3
  89. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +5 -5
  90. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +3 -3
  91. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +3 -3
  92. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +3 -3
  93. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +3 -3
  94. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +3 -3
  95. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +3 -3
  96. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +3 -3
  97. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +3 -3
  98. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +5 -5
  99. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +3 -3
  100. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +3 -3
  101. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +3 -3
  102. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +4 -4
  103. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +3 -3
  104. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +3 -3
  105. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +3 -3
  106. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +3 -3
  107. package/esm2022/common/lib/settings/settings.service.mjs +3 -3
  108. package/esm2022/common/lib/store/common.effects.mjs +3 -3
  109. package/esm2022/common/lib/utils/clipboard-service.mjs +3 -3
  110. package/esm2022/common/lib/utils/pdf.service.mjs +3 -3
  111. package/esm2022/common/lib/utils/router-util.service.mjs +3 -3
  112. package/esm2022/common/lib/workflows/common.workflow.mjs +9 -9
  113. package/esm2022/common/lib/workflows/error-handler.mjs +3 -3
  114. package/esm2022/core/acorex-platform-core.mjs +5 -0
  115. package/esm2022/core/index.mjs +2 -0
  116. package/esm2022/core/lib/types.mjs +2 -0
  117. package/esm2022/layout/builder/lib/builder/builder.module.mjs +4 -4
  118. package/esm2022/layout/builder/lib/builder/builder.service.mjs +18 -4
  119. package/esm2022/layout/builder/lib/builder/layout.types.mjs +29 -1
  120. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +12 -5
  121. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +3 -3
  122. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +3 -3
  123. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +28 -10
  124. package/esm2022/layout/builder/lib/builder/widget.types.mjs +77 -19
  125. package/esm2022/layout/designer/acorex-platform-layout-designer.mjs +5 -0
  126. package/esm2022/layout/designer/index.mjs +3 -0
  127. package/esm2022/layout/designer/lib/components/widget-property-viewer.component.mjs +86 -0
  128. package/esm2022/layout/designer/lib/designer.module.mjs +36 -0
  129. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
  130. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +4 -5
  131. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +5 -7
  132. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
  133. package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
  134. package/esm2022/layout/entity/lib/entity.module.mjs +4 -4
  135. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +2 -3
  136. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +3 -3
  137. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +3 -3
  138. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +6 -6
  139. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +3 -3
  140. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +3 -3
  141. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +5 -5
  142. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +57 -8
  143. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +4 -5
  144. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
  145. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +6 -6
  146. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +3 -3
  147. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +3 -3
  148. package/esm2022/layouts/lib/admin/admin.module.mjs +4 -4
  149. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +4 -4
  150. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
  151. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -3
  152. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +4 -4
  153. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +4 -4
  154. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -4
  155. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  156. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +3 -3
  157. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +3 -3
  158. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
  159. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  160. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +3 -3
  161. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +4 -4
  162. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +4 -4
  163. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
  164. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
  165. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +3 -3
  166. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +6 -6
  167. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +3 -3
  168. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +3 -3
  169. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +3 -3
  170. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +3 -3
  171. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +3 -3
  172. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +3 -3
  173. package/esm2022/layouts/lib/layout.module.mjs +4 -4
  174. package/esm2022/mocks/lib/mocks.module.mjs +4 -4
  175. package/esm2022/mocks/lib/services/mocker.service.mjs +3 -3
  176. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +4 -4
  177. package/esm2022/native/lib/native.module.mjs +4 -4
  178. package/esm2022/native/lib/native.service.mjs +3 -3
  179. package/esm2022/themes/default/lib/default.module.mjs +4 -4
  180. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +3 -3
  181. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +5 -5
  182. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +5 -5
  183. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
  184. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -4
  185. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +5 -5
  186. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +5 -5
  187. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
  188. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  189. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
  190. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +4 -4
  191. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +4 -4
  192. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
  193. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
  194. package/esm2022/widgets/index.mjs +3 -1
  195. package/esm2022/widgets/lib/properties/editors.props.mjs +65 -0
  196. package/esm2022/widgets/lib/properties/groups.mjs +21 -0
  197. package/esm2022/widgets/lib/properties/index.mjs +4 -0
  198. package/esm2022/widgets/lib/properties/table-column.props.mjs +16 -0
  199. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget-view.component.mjs +33 -0
  200. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget.config.mjs +9 -0
  201. package/esm2022/widgets/lib/widgets/actions/button-widget/index.mjs +3 -0
  202. package/esm2022/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-column.component.mjs +4 -4
  203. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +45 -0
  204. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +54 -0
  205. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +15 -0
  206. package/esm2022/widgets/lib/widgets/editors/checkbox/index.mjs +3 -0
  207. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.mjs +19 -0
  208. package/esm2022/widgets/lib/{editors/password-box-widget/password-box-widget-column.component.mjs → widgets/editors/contact-widget/contact-widget-designer.component.mjs} +5 -5
  209. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.mjs +267 -0
  210. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.mjs +20 -0
  211. package/esm2022/widgets/lib/{editors/select-box-widget/select-box-widget-filter.component.mjs → widgets/editors/contact-widget/contact-widget-print.component.mjs} +5 -5
  212. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.mjs +20 -0
  213. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget.config.mjs +24 -0
  214. package/esm2022/widgets/lib/widgets/editors/contact-widget/index.mjs +8 -0
  215. package/esm2022/widgets/lib/widgets/editors/contact-widget/popup-component.mjs +78 -0
  216. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +44 -0
  217. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +19 -0
  218. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +122 -0
  219. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +20 -0
  220. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +19 -0
  221. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +45 -0
  222. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.mjs +24 -0
  223. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/index.mjs +8 -0
  224. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.mjs +66 -0
  225. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-designer.component.mjs +19 -0
  226. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.mjs +228 -0
  227. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.mjs +20 -0
  228. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.mjs +19 -0
  229. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.mjs +111 -0
  230. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget.config.mjs +24 -0
  231. package/esm2022/widgets/lib/widgets/editors/email-box-widget/index.mjs +8 -0
  232. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.mjs +19 -0
  233. package/esm2022/widgets/lib/{editors/signature-pad-widget/signature-pad-widget-column.component.mjs → widgets/editors/file-box-widget/file-box-widget-designer.component.mjs} +5 -5
  234. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.mjs +118 -0
  235. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.mjs +20 -0
  236. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.mjs +19 -0
  237. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.mjs +213 -0
  238. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.config.mjs +24 -0
  239. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.mjs +3 -0
  240. package/esm2022/widgets/lib/widgets/editors/file-box-widget/index.mjs +9 -0
  241. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.mjs +19 -0
  242. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-designer.component.mjs +19 -0
  243. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.mjs +172 -0
  244. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.mjs +20 -0
  245. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.mjs +19 -0
  246. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-types.mjs +2 -0
  247. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.mjs +159 -0
  248. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget.config.mjs +24 -0
  249. package/esm2022/widgets/lib/widgets/editors/gallery-widget/index.mjs +8 -0
  250. package/esm2022/widgets/lib/widgets/editors/large-text-widget/index.mjs +8 -0
  251. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.mjs +23 -0
  252. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-designer.component.mjs +19 -0
  253. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.mjs +55 -0
  254. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.mjs +20 -0
  255. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.mjs +19 -0
  256. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.mjs +31 -0
  257. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.mjs +33 -0
  258. package/esm2022/widgets/lib/widgets/editors/link-widget/index.mjs +8 -0
  259. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-column.component.mjs +19 -0
  260. package/esm2022/widgets/lib/{editors/rich-text-widget/rich-text-widget-column.component.mjs → widgets/editors/link-widget/link-widget-designer.component.mjs} +5 -5
  261. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.mjs +390 -0
  262. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.mjs +20 -0
  263. package/esm2022/widgets/lib/{editors/map-box-widget/map-box-widget-column.component.mjs → widgets/editors/link-widget/link-widget-print.component.mjs} +5 -5
  264. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-view.component.mjs +120 -0
  265. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget.config.mjs +24 -0
  266. package/esm2022/widgets/lib/widgets/editors/map-box-widget/index.mjs +8 -0
  267. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.mjs +19 -0
  268. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-designer.component.mjs +19 -0
  269. package/esm2022/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-edit.component.mjs +4 -4
  270. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.mjs +20 -0
  271. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.mjs +19 -0
  272. package/esm2022/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-view.component.mjs +4 -4
  273. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget.config.mjs +24 -0
  274. package/esm2022/widgets/lib/widgets/editors/number-box-widget/index.mjs +8 -0
  275. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.mjs +38 -0
  276. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-designer.component.mjs +19 -0
  277. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.mjs +138 -0
  278. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.mjs +20 -0
  279. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.mjs +19 -0
  280. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.mjs +53 -0
  281. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.mjs +31 -0
  282. package/esm2022/widgets/lib/widgets/editors/password-box-widget/index.mjs +8 -0
  283. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.mjs +19 -0
  284. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-designer.component.mjs +19 -0
  285. package/esm2022/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-edit.component.mjs +4 -4
  286. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.mjs +20 -0
  287. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.mjs +19 -0
  288. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.mjs +73 -0
  289. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.mjs +24 -0
  290. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/index.mjs +8 -0
  291. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.mjs +66 -0
  292. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-designer.component.mjs +19 -0
  293. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.mjs +220 -0
  294. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.mjs +20 -0
  295. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.mjs +19 -0
  296. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.mjs +113 -0
  297. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget.config.mjs +37 -0
  298. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/index.mjs +8 -0
  299. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.mjs +23 -0
  300. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-designer.component.mjs +19 -0
  301. package/esm2022/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-edit.component.mjs +4 -4
  302. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.mjs +20 -0
  303. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.mjs +19 -0
  304. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.mjs +39 -0
  305. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.mjs +24 -0
  306. package/esm2022/widgets/lib/widgets/editors/select-box-widget/index.mjs +8 -0
  307. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.mjs +19 -0
  308. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-designer.component.mjs +19 -0
  309. package/esm2022/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-edit.component.mjs +4 -4
  310. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.mjs +19 -0
  311. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.mjs +19 -0
  312. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.mjs +60 -0
  313. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.mjs +24 -0
  314. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/index.mjs +8 -0
  315. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.mjs +41 -0
  316. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-designer.component.mjs +19 -0
  317. package/esm2022/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-edit.component.mjs +4 -4
  318. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.mjs +20 -0
  319. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.mjs +19 -0
  320. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.mjs +41 -0
  321. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.mjs +24 -0
  322. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/index.mjs +8 -0
  323. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +19 -0
  324. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +19 -0
  325. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +140 -0
  326. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +20 -0
  327. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +19 -0
  328. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +42 -0
  329. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget.config.mjs +24 -0
  330. package/esm2022/widgets/lib/widgets/editors/text-box-widget/index.mjs +8 -0
  331. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.mjs +20 -0
  332. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-designer.component.mjs +19 -0
  333. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.mjs +121 -0
  334. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.mjs +20 -0
  335. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.mjs +19 -0
  336. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.mjs +40 -0
  337. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget.config.mjs +37 -0
  338. package/esm2022/widgets/lib/widgets/editors/toggle-widget/index.mjs +8 -0
  339. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-column.component.mjs +4 -4
  340. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-designer.component.mjs +19 -0
  341. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-edit.component.mjs +4 -5
  342. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
  343. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
  344. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-view.component.mjs +4 -4
  345. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.mjs +24 -0
  346. package/esm2022/widgets/lib/widgets/index.mjs +24 -0
  347. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.component.mjs +34 -0
  348. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.config.mjs +9 -0
  349. package/esm2022/widgets/lib/widgets/layout/block-widget/index.mjs +3 -0
  350. package/esm2022/widgets/lib/widgets/layout/repeater-widget/index.mjs +8 -0
  351. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.mjs +19 -0
  352. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.mjs +19 -0
  353. package/esm2022/widgets/lib/{editors/number-box-widget/number-box-widget-filter.component.mjs → widgets/layout/repeater-widget/repeater-widget-edit.component.mjs} +5 -5
  354. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.mjs +20 -0
  355. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.mjs +19 -0
  356. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.mjs +52 -0
  357. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.mjs +24 -0
  358. package/esm2022/widgets/lib/widgets.module.mjs +14 -22
  359. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +3 -3
  360. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +3 -3
  361. package/esm2022/workflow/lib/workflow-registery.service.mjs +3 -3
  362. package/esm2022/workflow/lib/workflow.module.mjs +4 -4
  363. package/esm2022/workflow/lib/workflow.service.mjs +3 -3
  364. package/esm2022/workflow/lib/workflow.types.mjs +6 -6
  365. package/fesm2022/acorex-platform-auth.mjs +70 -28
  366. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  367. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs → acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs} +4 -4
  368. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map → acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map} +1 -1
  369. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs → acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs} +4 -4
  370. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map → acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map} +1 -1
  371. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs → acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs} +5 -5
  372. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map → acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs.map} +1 -1
  373. package/fesm2022/{acorex-platform-common-change-password.component-CULJjn0l.mjs → acorex-platform-common-change-password.component-BBPFxmB6.mjs} +5 -5
  374. package/fesm2022/{acorex-platform-common-change-password.component-CULJjn0l.mjs.map → acorex-platform-common-change-password.component-BBPFxmB6.mjs.map} +1 -1
  375. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs → acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs} +4 -4
  376. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map → acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs.map} +1 -1
  377. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs → acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs} +4 -4
  378. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map → acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs.map} +1 -1
  379. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs → acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs} +4 -4
  380. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map → acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs.map} +1 -1
  381. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs → acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs} +4 -4
  382. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map → acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs.map} +1 -1
  383. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs → acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs} +5 -5
  384. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map → acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs.map} +1 -1
  385. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs → acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs} +4 -4
  386. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map → acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs.map} +1 -1
  387. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs → acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs} +4 -4
  388. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs.map +1 -0
  389. package/fesm2022/{acorex-platform-common-email-widget-column.component-DlPoexcx.mjs → acorex-platform-common-email-widget-column.component-BOer2nZi.mjs} +4 -4
  390. package/fesm2022/{acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map → acorex-platform-common-email-widget-column.component-BOer2nZi.mjs.map} +1 -1
  391. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs → acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs} +5 -5
  392. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map → acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs.map} +1 -1
  393. package/fesm2022/{acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs → acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs} +4 -4
  394. package/fesm2022/{acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map → acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs.map} +1 -1
  395. package/fesm2022/{acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs → acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs} +4 -4
  396. package/fesm2022/{acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map → acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs.map} +1 -1
  397. package/fesm2022/{acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs → acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs} +5 -5
  398. package/fesm2022/{acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map → acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs.map} +1 -1
  399. package/fesm2022/{acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs → acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs} +4 -4
  400. package/fesm2022/{acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map → acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs.map} +1 -1
  401. package/fesm2022/{acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs → acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs} +5 -5
  402. package/fesm2022/{acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map → acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs.map} +1 -1
  403. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs → acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs} +5 -5
  404. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map → acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs.map} +1 -1
  405. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs → acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs} +4 -4
  406. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map → acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs.map} +1 -1
  407. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs → acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs} +4 -4
  408. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map → acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs.map} +1 -1
  409. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs → acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs} +4 -4
  410. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map → acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs.map} +1 -1
  411. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs → acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs} +4 -4
  412. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map → acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs.map} +1 -1
  413. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs → acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs} +4 -4
  414. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map → acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs.map} +1 -1
  415. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs → acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs} +5 -5
  416. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map → acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs.map} +1 -1
  417. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs → acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs} +4 -4
  418. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map → acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs.map} +1 -1
  419. package/fesm2022/{acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs → acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs} +4 -4
  420. package/fesm2022/{acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map → acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs.map} +1 -1
  421. package/fesm2022/{acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs → acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs} +4 -4
  422. package/fesm2022/{acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map → acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs.map} +1 -1
  423. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs → acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs} +4 -4
  424. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map → acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs.map} +1 -1
  425. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs → acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs} +5 -5
  426. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map → acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs.map} +1 -1
  427. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs → acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs} +4 -4
  428. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map → acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs.map} +1 -1
  429. package/fesm2022/{acorex-platform-common-number-widget-edit.component-D9dC514F.mjs → acorex-platform-common-number-widget-edit.component-bTHacO49.mjs} +4 -4
  430. package/fesm2022/{acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map → acorex-platform-common-number-widget-edit.component-bTHacO49.mjs.map} +1 -1
  431. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs → acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs} +5 -5
  432. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map → acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs.map} +1 -1
  433. package/fesm2022/{acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs → acorex-platform-common-number-widget-view.component-CP5aboLU.mjs} +4 -4
  434. package/fesm2022/{acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map → acorex-platform-common-number-widget-view.component-CP5aboLU.mjs.map} +1 -1
  435. package/fesm2022/{acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs → acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs} +4 -4
  436. package/fesm2022/{acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map → acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs.map} +1 -1
  437. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs → acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs} +4 -4
  438. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map → acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs.map} +1 -1
  439. package/fesm2022/{acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs → acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs} +6 -6
  440. package/fesm2022/{acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map → acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs.map} +1 -1
  441. package/fesm2022/{acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs → acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs} +4 -4
  442. package/fesm2022/{acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map → acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs.map} +1 -1
  443. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs → acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs} +5 -5
  444. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map → acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs.map} +1 -1
  445. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs → acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs} +4 -4
  446. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map → acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs.map} +1 -1
  447. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs → acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs} +4 -4
  448. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map → acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs.map} +1 -1
  449. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs → acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs} +4 -4
  450. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map → acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs.map} +1 -1
  451. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs → acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs} +4 -4
  452. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map → acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs.map} +1 -1
  453. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs → acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs} +4 -4
  454. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map → acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs.map} +1 -1
  455. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs → acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs} +4 -4
  456. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map → acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs.map} +1 -1
  457. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs → acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs} +4 -4
  458. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map → acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs.map} +1 -1
  459. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs → acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs} +4 -4
  460. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map → acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs.map} +1 -1
  461. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs → acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs} +5 -5
  462. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs.map} +1 -1
  463. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs → acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs} +4 -4
  464. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map → acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs.map} +1 -1
  465. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs → acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs} +5 -5
  466. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map → acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs.map} +1 -1
  467. package/fesm2022/{acorex-platform-common-text-widget-column.component-qXusAevm.mjs → acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs} +4 -4
  468. package/fesm2022/{acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map → acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs.map} +1 -1
  469. package/fesm2022/{acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs → acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs} +5 -5
  470. package/fesm2022/{acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map → acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs.map} +1 -1
  471. package/fesm2022/{acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs → acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs} +4 -4
  472. package/fesm2022/{acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map → acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs.map} +1 -1
  473. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs → acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs} +4 -4
  474. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map → acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs.map} +1 -1
  475. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs → acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs} +4 -4
  476. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map → acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs.map} +1 -1
  477. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs → acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs} +4 -4
  478. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map → acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs.map} +1 -1
  479. package/fesm2022/acorex-platform-common.mjs +168 -168
  480. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  481. package/fesm2022/acorex-platform-core.mjs +4 -0
  482. package/fesm2022/acorex-platform-core.mjs.map +1 -0
  483. package/fesm2022/acorex-platform-layout-builder.mjs +169 -43
  484. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  485. package/fesm2022/acorex-platform-layout-designer.mjs +125 -0
  486. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
  487. package/fesm2022/acorex-platform-layout-entity.mjs +116 -76
  488. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  489. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs → acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs} +4 -4
  490. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map → acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs.map} +1 -1
  491. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs → acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs} +4 -4
  492. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map → acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map} +1 -1
  493. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs → acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs} +4 -4
  494. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map → acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs.map} +1 -1
  495. package/fesm2022/acorex-platform-layouts.mjs +80 -80
  496. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  497. package/fesm2022/acorex-platform-mocks.mjs +10 -10
  498. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  499. package/fesm2022/acorex-platform-native.mjs +7 -7
  500. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs → acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs} +5 -5
  501. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs.map} +1 -1
  502. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs} +5 -5
  503. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs.map} +1 -1
  504. package/fesm2022/{acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs} +4 -4
  505. package/fesm2022/{acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map} +1 -1
  506. package/fesm2022/{acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs} +4 -4
  507. package/fesm2022/{acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map} +1 -1
  508. package/fesm2022/{acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs} +4 -4
  509. package/fesm2022/{acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map} +1 -1
  510. package/fesm2022/acorex-platform-themes-default.mjs +41 -41
  511. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  512. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs → acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs} +4 -4
  513. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs.map +1 -0
  514. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs → acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs} +4 -4
  515. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs.map +1 -0
  516. package/fesm2022/acorex-platform-widgets.mjs +1855 -878
  517. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  518. package/fesm2022/acorex-platform-workflow.mjs +22 -22
  519. package/layout/builder/lib/builder/builder.service.d.ts +10 -0
  520. package/layout/builder/lib/builder/layout.types.d.ts +1 -30
  521. package/layout/builder/lib/builder/widget-renderer.component.d.ts +4 -2
  522. package/layout/builder/lib/builder/widget.types.d.ts +58 -23
  523. package/layout/designer/README.md +4 -0
  524. package/layout/designer/index.d.ts +2 -0
  525. package/layout/designer/lib/components/widget-property-viewer.component.d.ts +41 -0
  526. package/layout/designer/lib/designer.module.d.ts +12 -0
  527. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +2 -1
  528. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +12 -0
  529. package/package.json +18 -7
  530. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +3 -3
  531. package/widgets/index.d.ts +2 -0
  532. package/widgets/lib/properties/editors.props.d.ts +6 -0
  533. package/widgets/lib/properties/groups.d.ts +5 -0
  534. package/widgets/lib/properties/index.d.ts +3 -0
  535. package/widgets/lib/properties/table-column.props.d.ts +2 -0
  536. package/widgets/lib/widgets/actions/button-widget/button-widget-view.component.d.ts +11 -0
  537. package/widgets/lib/widgets/actions/button-widget/button-widget.config.d.ts +2 -0
  538. package/widgets/lib/widgets/actions/button-widget/index.d.ts +2 -0
  539. package/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.d.ts +6 -0
  540. package/widgets/lib/widgets/editors/contact-widget/contact-widget-designer.component.d.ts +6 -0
  541. package/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.d.ts +36 -0
  542. package/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.d.ts +6 -0
  543. package/widgets/lib/widgets/editors/contact-widget/contact-widget-print.component.d.ts +6 -0
  544. package/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.d.ts +6 -0
  545. package/widgets/lib/widgets/editors/contact-widget/contact-widget.config.d.ts +2 -0
  546. package/widgets/lib/widgets/editors/contact-widget/index.d.ts +7 -0
  547. package/widgets/lib/widgets/editors/contact-widget/popup-component.d.ts +10 -0
  548. package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-column.component.d.ts +1 -1
  549. package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-edit.component.d.ts +1 -1
  550. package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-edit.component.d.ts +1 -1
  551. package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-edit.component.d.ts +8 -3
  552. package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-view.component.d.ts +16 -4
  553. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.d.ts +12 -0
  554. package/widgets/lib/{editors → widgets/editors}/file-box-widget/index.d.ts +4 -3
  555. package/widgets/lib/widgets/editors/large-text-widget/index.d.ts +7 -0
  556. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.d.ts +6 -0
  557. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-designer.component.d.ts +6 -0
  558. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.d.ts +12 -0
  559. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.d.ts +6 -0
  560. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.d.ts +6 -0
  561. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.d.ts +6 -0
  562. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.d.ts +2 -0
  563. package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-edit.component.d.ts +2 -9
  564. package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-edit.component.d.ts +1 -1
  565. package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-view.component.d.ts +1 -1
  566. package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-edit.component.d.ts +1 -1
  567. package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-column.component.d.ts +2 -2
  568. package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
  569. package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-edit.component.d.ts +1 -1
  570. package/widgets/lib/widgets/index.d.ts +21 -0
  571. package/widgets/lib/widgets/layout/repeater-widget/index.d.ts +7 -0
  572. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.d.ts +6 -0
  573. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.d.ts +6 -0
  574. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.d.ts +6 -0
  575. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.d.ts +6 -0
  576. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.d.ts +6 -0
  577. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.d.ts +11 -0
  578. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.d.ts +2 -0
  579. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +0 -45
  580. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +0 -54
  581. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +0 -15
  582. package/esm2022/widgets/lib/editors/checkbox/index.mjs +0 -3
  583. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +0 -44
  584. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +0 -19
  585. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +0 -122
  586. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +0 -20
  587. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +0 -19
  588. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +0 -45
  589. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +0 -24
  590. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +0 -8
  591. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +0 -66
  592. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +0 -19
  593. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +0 -228
  594. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +0 -20
  595. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +0 -19
  596. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +0 -111
  597. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +0 -24
  598. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +0 -8
  599. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +0 -19
  600. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +0 -19
  601. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +0 -189
  602. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +0 -20
  603. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +0 -19
  604. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +0 -147
  605. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +0 -24
  606. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +0 -8
  607. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +0 -19
  608. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +0 -19
  609. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +0 -172
  610. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +0 -20
  611. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +0 -19
  612. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +0 -2
  613. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +0 -159
  614. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +0 -24
  615. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +0 -8
  616. package/esm2022/widgets/lib/editors/link-widget/index.mjs +0 -8
  617. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +0 -19
  618. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +0 -19
  619. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +0 -391
  620. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +0 -20
  621. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +0 -19
  622. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +0 -120
  623. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +0 -24
  624. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +0 -8
  625. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +0 -19
  626. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +0 -20
  627. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +0 -19
  628. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +0 -24
  629. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +0 -8
  630. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +0 -38
  631. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +0 -19
  632. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +0 -138
  633. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +0 -19
  634. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +0 -53
  635. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +0 -27
  636. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +0 -8
  637. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +0 -19
  638. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +0 -20
  639. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +0 -19
  640. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +0 -73
  641. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +0 -24
  642. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +0 -8
  643. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +0 -66
  644. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +0 -19
  645. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +0 -220
  646. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +0 -20
  647. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +0 -19
  648. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +0 -113
  649. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +0 -24
  650. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +0 -8
  651. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +0 -19
  652. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +0 -20
  653. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +0 -19
  654. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +0 -39
  655. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +0 -24
  656. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +0 -8
  657. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +0 -19
  658. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +0 -19
  659. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +0 -19
  660. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +0 -60
  661. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +0 -24
  662. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +0 -8
  663. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +0 -41
  664. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +0 -19
  665. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +0 -20
  666. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +0 -19
  667. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +0 -41
  668. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +0 -24
  669. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +0 -8
  670. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +0 -19
  671. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +0 -140
  672. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +0 -20
  673. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +0 -19
  674. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +0 -42
  675. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +0 -24
  676. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +0 -8
  677. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +0 -20
  678. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +0 -19
  679. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +0 -121
  680. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +0 -20
  681. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +0 -19
  682. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +0 -40
  683. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +0 -25
  684. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +0 -8
  685. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +0 -19
  686. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +0 -20
  687. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +0 -19
  688. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +0 -24
  689. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +0 -39
  690. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +0 -9
  691. package/esm2022/widgets/lib/layout/block-widget/index.mjs +0 -3
  692. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +0 -1
  693. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +0 -1
  694. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +0 -1
  695. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-column.component.d.ts +0 -0
  696. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-edit.component.d.ts +0 -0
  697. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-view.component.d.ts +0 -0
  698. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget.config.d.ts +0 -0
  699. /package/widgets/lib/{editors → widgets/editors}/checkbox/index.d.ts +0 -0
  700. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-designer.component.d.ts +0 -0
  701. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-filter.component.d.ts +0 -0
  702. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-print.component.d.ts +0 -0
  703. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-view.component.d.ts +0 -0
  704. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget.config.d.ts +0 -0
  705. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/index.d.ts +0 -0
  706. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-column.component.d.ts +0 -0
  707. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-designer.component.d.ts +0 -0
  708. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-filter.component.d.ts +0 -0
  709. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-print.component.d.ts +0 -0
  710. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-view.component.d.ts +0 -0
  711. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget.config.d.ts +0 -0
  712. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/index.d.ts +0 -0
  713. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-column.component.d.ts +0 -0
  714. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-designer.component.d.ts +0 -0
  715. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-filter.component.d.ts +0 -0
  716. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-print.component.d.ts +0 -0
  717. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget.config.d.ts +0 -0
  718. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-column.component.d.ts +0 -0
  719. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-designer.component.d.ts +0 -0
  720. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-edit.component.d.ts +0 -0
  721. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-filter.component.d.ts +0 -0
  722. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-print.component.d.ts +0 -0
  723. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-types.d.ts +0 -0
  724. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-view.component.d.ts +0 -0
  725. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget.config.d.ts +0 -0
  726. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/index.d.ts +0 -0
  727. /package/widgets/lib/{editors → widgets/editors}/link-widget/index.d.ts +0 -0
  728. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-column.component.d.ts +0 -0
  729. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-designer.component.d.ts +0 -0
  730. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-filter.component.d.ts +0 -0
  731. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-print.component.d.ts +0 -0
  732. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-view.component.d.ts +0 -0
  733. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget.config.d.ts +0 -0
  734. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/index.d.ts +0 -0
  735. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-column.component.d.ts +0 -0
  736. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-designer.component.d.ts +0 -0
  737. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-edit.component.d.ts +0 -0
  738. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-filter.component.d.ts +0 -0
  739. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-print.component.d.ts +0 -0
  740. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-view.component.d.ts +0 -0
  741. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget.config.d.ts +0 -0
  742. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/index.d.ts +0 -0
  743. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-column.component.d.ts +0 -0
  744. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-designer.component.d.ts +0 -0
  745. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-filter.component.d.ts +0 -0
  746. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-print.component.d.ts +0 -0
  747. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-view.component.d.ts +0 -0
  748. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget.config.d.ts +0 -0
  749. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/index.d.ts +0 -0
  750. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-column.component.d.ts +0 -0
  751. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-designer.component.d.ts +0 -0
  752. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-edit.component.d.ts +0 -0
  753. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-filter.component.d.ts +0 -0
  754. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-print.component.d.ts +0 -0
  755. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget.config.d.ts +0 -0
  756. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/index.d.ts +0 -0
  757. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-column.component.d.ts +0 -0
  758. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-designer.component.d.ts +0 -0
  759. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-filter.component.d.ts +0 -0
  760. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-print.component.d.ts +0 -0
  761. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-view.component.d.ts +0 -0
  762. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget.config.d.ts +0 -0
  763. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/index.d.ts +0 -0
  764. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-designer.component.d.ts +0 -0
  765. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-edit.component.d.ts +0 -0
  766. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-filter.component.d.ts +0 -0
  767. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-print.component.d.ts +0 -0
  768. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-view.component.d.ts +0 -0
  769. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget.config.d.ts +0 -0
  770. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/index.d.ts +0 -0
  771. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-column.component.d.ts +0 -0
  772. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-designer.component.d.ts +0 -0
  773. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-edit.component.d.ts +0 -0
  774. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-filter.component.d.ts +0 -0
  775. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-print.component.d.ts +0 -0
  776. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-view.component.d.ts +0 -0
  777. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget.config.d.ts +0 -0
  778. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/index.d.ts +0 -0
  779. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-column.component.d.ts +0 -0
  780. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-designer.component.d.ts +0 -0
  781. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-edit.component.d.ts +0 -0
  782. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-filter.component.d.ts +0 -0
  783. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-print.component.d.ts +0 -0
  784. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-view.component.d.ts +0 -0
  785. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget.config.d.ts +0 -0
  786. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/index.d.ts +0 -0
  787. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-column.component.d.ts +0 -0
  788. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-designer.component.d.ts +0 -0
  789. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-edit.component.d.ts +0 -0
  790. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-filter.component.d.ts +0 -0
  791. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-print.component.d.ts +0 -0
  792. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget.config.d.ts +0 -0
  793. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/index.d.ts +0 -0
  794. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-column.component.d.ts +0 -0
  795. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-designer.component.d.ts +0 -0
  796. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-filter.component.d.ts +0 -0
  797. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-print.component.d.ts +0 -0
  798. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-view.component.d.ts +0 -0
  799. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget.config.d.ts +0 -0
  800. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/index.d.ts +0 -0
  801. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-column.component.d.ts +0 -0
  802. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-designer.component.d.ts +0 -0
  803. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-edit.component.d.ts +0 -0
  804. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-filter.component.d.ts +0 -0
  805. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-print.component.d.ts +0 -0
  806. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-view.component.d.ts +0 -0
  807. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget.config.d.ts +0 -0
  808. /package/widgets/lib/{layout → widgets/layout}/block-widget/block-widget.component.d.ts +0 -0
  809. /package/widgets/lib/{layout → widgets/layout}/block-widget/block-widget.config.d.ts +0 -0
  810. /package/widgets/lib/{layout → widgets/layout}/block-widget/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-layout-entity.mjs","sources":["../../../../libs/platform/layout/entity/src/lib/entity.config.ts","../../../../libs/platform/layout/entity/src/lib/entity-registery.service.ts","../../../../libs/platform/layout/entity/src/lib/entity.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/workflows/delete-entity.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-update.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/workflows/modify-section.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity-detail-list.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-single.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-create.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-list.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-view.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-selector.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-edit.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-filter.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-column.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-print.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-designer.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget.config.ts","../../../../libs/platform/layout/entity/src/lib/workflows/create-entity.workflow.ts","../../../../libs/platform/layout/entity/src/lib/workflows/show-details.workflow.ts","../../../../libs/platform/layout/entity/src/lib/workflows/show-list.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity.module.ts","../../../../libs/platform/layout/entity/src/acorex-platform-layout-entity.ts"],"sourcesContent":["import { AXPEntity } from \"@acorex/platform/common\";\nimport { InjectionToken, Type } from \"@angular/core\";\n\n\nexport interface AXPEntityConfigs {\n viewers: {\n root: () => Type<any>;\n detail: {\n list: () => Type<any> | Promise<Type<any>>;\n }\n master: {\n single: () => Type<any> | Promise<Type<any>>;\n create: () => Type<any> | Promise<Type<any>>;\n modify: () => Type<any> | Promise<Type<any>>;\n list: () => Type<any> | Promise<Type<any>>;\n }\n }\n}\n\nexport const AXP_ENTITY_CONFIG_TOKEN = new InjectionToken<AXPEntityConfigs>('AXP_ENTITY_CONFIG_TOKEN');\n\n\nexport interface AXPEntityDefinitionLoader {\n get(moduleName: string, entityName: string): Promise<AXPEntity | null>;\n}\n\n\nexport const AXP_ENTITY_DEFINITION_LOADER = new InjectionToken<AXPEntityDefinitionLoader>('AXP_ENTITY_DEFINITION_LOADER');","import { Injectable, inject } from \"@angular/core\";\nimport { AXP_ENTITY_DEFINITION_LOADER } from \"./entity.config\";\nimport { AXPEntity } from \"@acorex/platform/common\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPEntityDefinitionRegistryService {\n // Stores AXPEntityConfig objects, keyed by a combination of module and entity name.\n private entities = new Map<string, AXPEntity>();\n\n // Entity loader service for dynamically loading entity configurations.\n private loader = inject(AXP_ENTITY_DEFINITION_LOADER); // Assuming AXPEntityLoader is the correct type\n\n\n /**\n * Registers a new entity configuration. Entities are identified uniquely by a combination\n * of their module and name.\n * \n * @param config The configuration object of the entity to be registered.\n */\n register(config: AXPEntity): void {\n const key = this.createEntityKey(config.module, config.name);\n this.entities.set(key, config);\n }\n\n /**\n * Resolves an entity configuration based on module and entity name. If the configuration\n * is not already registered, attempts to load it dynamically. Throws an error if the\n * entity cannot be found or loaded.\n * \n * @param moduleName The module name of the entity.\n * @param entityName The name of the entity.\n * @returns A promise resolving to the entity configuration.\n * @throws Error if the entity configuration cannot be resolved.\n */\n async resolve(moduleName: string, entityName: string): Promise<AXPEntity> {\n const key = this.createEntityKey(moduleName, entityName);\n let config = this.entities.get(key) ?? null;\n\n if (!config) {\n try {\n config = await this.loader.get(moduleName, entityName);\n if (config) {\n this.register(config);\n }\n } catch (error) {\n\n throw error; // Rethrow to allow error handling by caller\n }\n\n if (!config) {\n throw new Error(`Invalid entity name: ${key}`);\n }\n }\n\n return config;\n }\n\n /**\n * Creates a unique key for an entity based on its module and name.\n * \n * @param moduleName The module name of the entity.\n * @param entityName The name of the entity.\n * @returns The unique key for the entity.\n */\n private createEntityKey(moduleName: string, entityName: string): string {\n return `${moduleName}.${entityName}`;\n }\n}\n","import { AXStyleColorType } from \"@acorex/components/common\";\nimport { AXPWidgetColumnNode } from \"@acorex/platform/layout/builder\";\nimport { computed } from \"@angular/core\";\nimport { AXPEntity, AXPEntityAction, AXPEntityCommandScope, AXPEntityProperty, AXPEntityTableColumn, resolveActionLook } from \"@acorex/platform/common\";\n\nexport class AXPEntityCommandTriggerViewModel {\n priority: 'primary' | 'secondary';\n color: AXStyleColorType;\n icon: string;\n title: string;\n name: string\n separated: boolean\n scope: AXPEntityCommandScope;\n\n constructor(entity: AXPEntity, action: AXPEntityAction) {\n this.name = action.command;\n const resolvedLook = resolveActionLook(action);\n this.priority = action.priority;\n this.title = action.title;\n this.separated = action.separated ?? false;\n this.color = action.color ?? resolvedLook.color;\n this.icon = action.icon ?? resolvedLook.icon\n this.scope = action.scope\n }\n}\n\nexport class AXPEntityListViewColumnViewModel {\n\n constructor(private property: AXPEntityProperty, private column: AXPEntityTableColumn) {\n\n }\n\n name = this.property.name;\n title = this.column.title ?? this.property.title;\n visible = this.column?.options?.visible ?? true;\n\n node = computed<AXPWidgetColumnNode>(() => {\n const widget = this.property.schema.interface!;\n return {\n path: this.name,\n type: widget.type,\n //... this.property.options?.table?.widget\n options: { ...widget?.options }\n } as AXPWidgetColumnNode;\n\n })\n}\n\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowContext,\n createWorkFlowEvent,\n} from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\n\nexport const AXPEntityDeletedEvent = createWorkFlowEvent<{ entity: string; ids: string[] }>(\n '[Entity] Deleted'\n);\n\n@Injectable()\nexport class AXPEntityPerformDeleteAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const moduleEntity = context.getVariable('entity');\n const [moduleName, entityName] = moduleEntity.split(\".\");\n const data = context.getVariable<any>('data');\n const ids = Array.isArray(data) ? data.map(c => c.id) : [data.id];\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n let deletedCount = 0;\n context.setVariable('deleteSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: 'Deleting Record...',\n mode: 'determinate',\n status: 'Deleting...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if (entity.commands?.delete != null) {\n const deleteExec = entity.commands?.delete?.execute as Function\n const wrappedPromises = (ids as any[])\n .map((id, i) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(deleteExec(id));\n }, i * 200);\n });\n })\n .map((p) =>\n p?.then(\n (value) => {\n deletedCount++;\n dialog.setProgressText(`${deletedCount}/${ids.length}`);\n dialog.setProgressValue((deletedCount / ids.length) * 100);\n return { status: 'fulfilled', value };\n },\n (reason) => ({ status: 'rejected', reason })\n )\n );\n\n const results = await Promise.all(wrappedPromises);\n const successfulPromises = results.filter((result) => result?.status === 'fulfilled').length;\n const failedPromises = results.filter((result) => result?.status === 'rejected').length;\n setTimeout(() => {\n dialog.close();\n }, 300);\n\n // Handle different scenarios for alerts\n if (successfulPromises > 0 && failedPromises === 0) {\n // All items deleted successfully\n await this.dialogService.alert(\n 'Deletion Successful',\n `${successfulPromises} item(s) has been deleted.`,\n 'success'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));\n } else if (successfulPromises > 0 && failedPromises > 0) {\n // Some items deleted successfully, some failed\n await this.dialogService.alert(\n 'Partial Deletion Completed',\n `${successfulPromises} item(s) deleted successfully. However, ${failedPromises} item(s) could not be deleted.`,\n 'warning'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));\n } else if (successfulPromises === 0 && failedPromises > 0) {\n // No items deleted, all failed\n await this.dialogService.alert(\n 'Deletion Failed',\n `No items were deleted. ${failedPromises} item(s) failed to delete.`,\n 'danger'\n );\n } else {\n // No items to delete (no successful or failed promises)\n await this.dialogService.alert('No Deletion Needed', 'No items were available to delete.', 'info');\n }\n } else {\n throw new Error(\n `The delete operation cannot be performed on ${entity.title}. This action might be restricted or not applicable for the selected item.`\n );\n }\n }\n}\n\n\nexport const AXPDeleteEntityWorkflow: AXPWorkflow = {\n startStepId: 'confirm-delete',\n steps: {\n \"confirm-delete\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Warning',\n message: `Are you sure want to delete selected item(s)?`,\n type: 'danger',\n },\n nextSteps: [\n {\n conditions: [\n {\n type: 'AND',\n conditions: [\n { type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' },\n ],\n },\n ],\n nextStepId: 'perform-delete',\n },\n ],\n },\n \"perform-delete\": {\n action: 'entity-perform-delete',\n },\n },\n};\n","import { cloneDeep, merge, set } from \"lodash-es\";\nimport { Injectable, Injector, computed, inject, signal } from \"@angular/core\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { AXPEntity, AXPEntityProperty, AXPGridLayoutOptions, AXPLayoutService } from \"@acorex/platform/common\";\n\n\nexport class AXPEntityMasterUpdateElementViewModel {\n\n constructor(private entity: AXPEntity, private property: AXPEntityProperty) {\n\n }\n\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n editable = computed<boolean>(() => {\n return !(this.property.schema.readonly ?? false)\n });\n\n\n isRequired = computed<boolean>(() => {\n return this.property.validations?.some(c => c.rule == 'required') || false\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const updateProp = this.entity.interfaces?.master?.update?.properties?.find(c => c.name == this.property.name);\n const source = cloneDeep(updateProp?.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: this.editable() ? 'edit' : 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n triggers: widget.triggers,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n { validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\n\nexport class AXPEntityMasterUpdateViewModel {\n\n private entityDef = cloneDeep(this.config)!;\n private workflow = this.injector.get(AXPWorkflowService);\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private entityData: any,\n private props: string[]\n ) {\n }\n\n\n public isInProgress = signal<boolean>(false);\n\n public context = signal<any>(cloneDeep(this.entityData));\n\n elements = computed(() => {\n const props = this.entityDef.properties.filter(c =>\n this.props.includes(c.name) &&\n c.schema.hidden != true);\n return props.map(e => {\n return new AXPEntityMasterUpdateElementViewModel(this.entityDef, e);\n })\n });\n\n public async save(): Promise<any> {\n this.isInProgress.set(true);\n try {\n const com = this.entityDef.commands?.update;\n if (com) {\n const exec = com.execute as Function;\n return await exec(this.context());\n }\n }\n finally {\n this.isInProgress.set(false);\n }\n }\n\n public reset() {\n this.context.set(cloneDeep(this.entityData));\n }\n\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityMasterUpdateViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, id: string, props: string[]): Promise<AXPEntityMasterUpdateViewModel> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.queries.byKey) {\n const func = config.queries.byKey.execute as Function;\n const data = await func(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterUpdateViewModel(this.injector, config, data, props);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n\n\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityMasterUpdateViewModelFactory } from '../entity-master-update.viewmodel';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\nimport { AXP_ENTITY_CONFIG_TOKEN } from '../entity.config';\n\nexport const AXPEntityModifyEvent = createWorkFlowEvent<{ entity: string; values: any }>(\n '[Entity] Modified'\n);\n\n@Injectable()\nexport class AXPEntityModifySectionPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private config = inject(AXP_ENTITY_CONFIG_TOKEN)\n private factory = inject(AXPEntityMasterUpdateViewModelFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [moduleName, entityName] = context.getVariable<string>('entity').split(\".\");\n const { properties, id, title } = context.getVariable('data');\n const entityRef = await this.entityRegistery.resolve(moduleName, entityName);\n const vm = await this.factory.create(moduleName, entityName, id, properties);\n\n const com = await this.config.viewers.master.modify();\n const popup = await this.popupService.open(com, {\n title: title ?? `Modify ${entityRef.formats.individual}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n vm,\n properties,\n entity: entityRef,\n },\n });\n context.setOutput('result', false);\n if (popup.data?.result == true) {\n context.setOutput('result', true);\n context.setVariable('data', cloneDeep(popup.data.context));\n }\n }\n}\n\n@Injectable()\nexport class AXPEntityModifyConfirmedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const updatedData = context.getVariable('data');\n this.dispatch(AXPEntityModifyEvent({ entity: context.getVariable<string>('entity'), values: updatedData }));\n }\n}\n\n\nexport const AXPModifyEntitySectionWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifySectionPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n","import { Injector, computed, signal } from \"@angular/core\";\nimport { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from \"./entity.viewmodel\";\nimport { AXFormatService } from \"@acorex/core/format\";\nimport { AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator } from \"@acorex/components/common\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { AXP_ENTITY_DEFINITION_LOADER } from \"./entity.config\";\nimport { AXPEntity, AXPEntityCommandScope, AXPRelatedEntity } from \"@acorex/platform/common\";\n\n\n\n\nexport class AXPEntityDetailListViewModel {\n\n\n private detailEntity = signal<AXPEntity | null>(null);\n private formatService = this.injector.get(AXFormatService)\n private workflow = this.injector.get(AXPWorkflowService);\n\n\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.detailEntity()?.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.detailEntity()?.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 5,\n key: 'id'\n\n })\n\n constructor(\n private injector: Injector,\n private detailEntityConfig: AXPRelatedEntity,\n private parent: { entity: AXPEntity, data: any },\n ) {\n this.initialize();\n }\n\n async initialize() {\n const loader = this.injector.get(AXP_ENTITY_DEFINITION_LOADER);\n const [moduleName, entityName] = this.detailEntityConfig.entity.split('.');\n const entity = await loader.get(moduleName, entityName)\n if (!entity) {\n throw Error(`Invalid enitity name: ${this.detailEntityConfig.entity}`)\n }\n this.detailEntity.set(entity);\n this.applyFilterAndSort();\n\n }\n\n public selectedItems = signal<any[]>([]);\n\n public hasSelectedItems = computed<boolean>(() => {\n return this.selectedItems().length > 0\n });\n\n public clearSelection(): void {\n this.selectedItems.set([]);\n }\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n return this.detailEntityConfig.title ?? this.detailEntity()?.interfaces?.detail?.list?.title! ?? this.detailEntity()?.formats.plural!;\n });\n\n //****************** Inline filter ******************//\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n //return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);\n return [];\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n\n //****************** Actions ******************//\n private allActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n const list = this.detailEntity()?.interfaces?.master?.list?.actions ?? [];\n return list\n .map((tr) => new AXPEntityCommandTriggerViewModel(this.detailEntity()!, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.priority == 'primary') &&\n (\n (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())\n )\n );\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.priority == 'secondary') &&\n (\n (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())\n )\n );\n });\n\n public rowActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.scope == AXPEntityCommandScope.Individual)\n );\n });\n\n //****************** Filter ******************//\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: []\n };\n\n applyInlineFilter(value: string) {\n // const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);\n // this.inlineFilters.filters = [];\n // if (value) {\n // props.forEach(p => {\n // this.inlineFilters.filters?.push({\n // field: p.name,\n // operator: {\n // type: 'contains'\n // },\n // value\n // })\n // })\n // }\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n //this.dataSource.sort(...this.detailEntity.().map(s => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n\n const parentFilters: AXDataSourceFilterOption[] = this.detailEntityConfig.conditions?.map(c => {\n return {\n field: c.name,\n operator: (c.operator as unknown as AXDataSourceOperator),\n value: this.parent.data?.id\n } as AXDataSourceFilterOption;\n }) ?? [];\n const parentFilterWrapper: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: parentFilters\n };\n //\n const inline = this.inlineFilters.filters?.length ?? 0;\n const parent = parentFilterWrapper.filters?.length ?? 0;\n //\n if (inline) {\n this.dataSource.filter(this.inlineFilters);\n }\n else if (!inline && parent) {\n this.dataSource.filter(parentFilterWrapper);\n }\n else if (inline && parent) {\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [this.inlineFilters, parentFilterWrapper]\n });\n }\n //\n this.dataSource.refresh();\n }\n\n\n //****************** Columns ******************//\n\n columns = computed(() => {\n if (this.detailEntity()) {\n const detailColumns = this.detailEntityConfig.columns ?? []\n const columns = this.detailEntity()?.columns?.map(c => c.name) ?? [];\n const props = this.detailEntity()?.properties.filter(p =>\n p.schema.hidden != true &&\n (detailColumns?.length == 0 || detailColumns?.includes(p.name))\n ) ?? []\n const displayColumns = props.filter(p => columns.some(c => c == p.name));\n return displayColumns.map(p => {\n return new AXPEntityListViewColumnViewModel(p, this.detailEntity()?.columns?.find(c => c.name == p.name)!);\n })\n }\n return [];\n });\n\n\n\n //****************** Commands ******************//\n public async executeCommand(commandName: string, data: any = null) {\n const action = this.allActions().find(c =>\n c.name == commandName &&\n (\n (this.selectedItems().length ?\n c.scope == AXPEntityCommandScope.Selected :\n c.scope == AXPEntityCommandScope.Individual\n ) ||\n c.scope == AXPEntityCommandScope.TypeLevel\n )\n );\n await this.workflow.execute(commandName, {\n entity: this.detailEntity()?.source,\n data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data\n })\n }\n\n}\n\n\n","import { AXFormatService } from \"@acorex/core/format\";\nimport { cloneDeep, merge, set } from \"lodash-es\";\nimport { DestroyRef, Injectable, Injector, computed, inject, signal } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from \"@angular/router\";\nimport { AXPWorkflowService, ofType } from \"@acorex/platform/workflow\";\nimport { AXPSessionService } from \"@acorex/platform/auth\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPEntityCommandTriggerViewModel } from \"./entity.viewmodel\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPEntityDeletedEvent } from \"./workflows/delete-entity.workflow\";\nimport { AXPEntityModifyEvent } from \"./workflows/modify-section.workflow\";\nimport { AXPEntityDetailListViewModel } from \"./entity-detail-list.viewmodel\";\nimport { AXPBeardCrumb, AXPEntity, AXPEntityCommandScope, AXPEntityProperty, AXPEntityPropertyView, AXPEntitySectionView, AXPGridLayoutOptions, AXPLayoutService } from \"@acorex/platform/common\";\nimport { Subject, takeUntil } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\n\n\nexport class AXPEntityMasterSingleViewGroupViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntitySectionView) {\n }\n\n\n group = this.entity.groups?.find(c => c.id == this.section.id)!;\n name = signal(this.group.id);\n isLoading = signal(false);\n\n title = computed<string>(() => {\n return this.group.title ?? this.group.id;\n });\n\n description = computed<string | null | undefined>(() => {\n return this.group.description;\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.section.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n props = computed(() => {\n const { properties, interfaces } = this.entity;\n const groupProperties = properties\n .filter(({ groupId, schema }) => groupId === this.group.id && !schema.hidden)\n .map(({ name }) => name);\n\n const viewProperties = interfaces?.master?.single?.properties?.filter(({ name }) =>\n groupProperties.includes(name)\n ) ?? [];\n\n return viewProperties.map(prop =>\n new AXPEntityMasterSingleElementViewModel(this.entity, this, prop)\n );\n });\n\n editableProps = computed(() => {\n const { properties, interfaces } = this.entity;\n const editablePropertyNames = interfaces?.master?.update?.properties?.map(({ name }) => name) ?? [];\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId === this.group.id && !schema.hidden && editablePropertyNames.includes(name)\n );\n\n return filteredProperties.map(prop =>\n new AXPEntityMasterSingleElementViewModel(this.entity, this, prop)\n );\n });\n\n editable = computed(() => {\n return this.editableProps().length > 0\n });\n}\n\nexport class AXPEntityMasterSingleElementViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntityMasterSingleViewGroupViewModel, private propertyView: AXPEntityPropertyView) {\n\n }\n\n private property = this.entity.properties.find(c => c.name == this.propertyView.name)!\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const viewProp = this.entity.interfaces?.master?.single?.properties?.find(c => c.name == this.property.name);\n const source = cloneDeep(viewProp?.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n { validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\n\nexport class AXPEntityMasterSingleViewModel {\n\n private readonly entityDef = cloneDeep(this.config)!;\n private readonly _viewDef = cloneDeep(this.entityDef.interfaces?.master?.single)!\n private readonly session = this.injector.get(AXPSessionService);\n private readonly formatService = this.injector.get(AXFormatService)\n private readonly workflow = this.injector.get(AXPWorkflowService)\n private readonly destroyed = new Subject<void>();\n private translateService = this.injector.get(AXTranslationService);\n\n public events$: Subject<{ action: string }> = new Subject();\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private entityData: any,\n ) {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n if (\n event.payload.entity == this.entityDef.source &&\n event.payload.ids.includes(this.context().id)\n ) {\n this.workflow.execute('show-list-view', {\n entity: this.entityDef.source\n });\n }\n });\n this.workflow.events$\n .pipe(ofType(AXPEntityModifyEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (\n event.payload.entity == this.entityDef.source &&\n event.payload.values.id === this.context().id\n ) {\n this.context.set(event.payload.values);\n }\n });\n }\n\n\n public context = signal<any>(cloneDeep(this.entityData));\n\n private actions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.actions().filter(c => c.priority == 'primary');\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.actions().filter(c => c.priority == 'secondary');\n });\n\n public sections = computed<AXPEntityMasterSingleViewGroupViewModel[]>(() => {\n const { interfaces, properties } = this.entityDef;\n const viewProps = interfaces?.master?.single?.properties?.map(({ name }) => name) ?? [];\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId && !schema.hidden && viewProps.includes(name)\n );\n\n const groups = interfaces?.master?.single?.sections?.filter(({ id }) =>\n filteredProperties.some(({ groupId }) => groupId === id)\n ) ?? [];\n\n return groups.map(section =>\n new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section)\n );\n });\n\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n const suggestedProps = this.entityDef.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n return this.formatService.format(this._viewDef.title ?? suggestedFormat,\n 'string',\n this.context()\n );\n });\n //****************** Description ******************//\n public description = computed<string | null>(() => {\n return this._viewDef.description ? this.formatService.format(this._viewDef.description,\n 'string',\n this.context()\n ) : null;\n });\n\n //****************** Beardcrumbs ******************//\n public beardcrumbs = computed<AXPBeardCrumb[]>(() => {\n return [\n {\n title: this.translateService.translateSync('entity.home'),\n icon: \"fa-solid fa-home ax-text-xs ax-me-2\",\n url: [`/${this.session.application?.name}`]\n },\n {\n title: this.entityDef.formats.plural ?? this.entityDef.formats.individual,\n url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']\n },\n {\n title: this.title(),\n }\n ]\n });\n\n\n public relatedEntities = computed<AXPEntityDetailListViewModel[]>(() => {\n return this.entityDef.relatedEntities?.map(re =>\n new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })\n ) ?? []\n });\n\n\n public async executeCommand(commandName: string, data: any = null) {\n //TODO: syntact for workflow\n switch (commandName) {\n case 'modify-entity-section': {\n this.workflow.execute('modify-entity-section', {\n entity: this.entityDef.source,\n data: {\n id: this.context().id,\n properties: (data as AXPEntityMasterSingleViewGroupViewModel).editableProps().map(m => m.name()),\n },\n });\n break;\n }\n default:\n {\n const action = this.actions().find(c => c.name == commandName);\n this.workflow.execute(commandName, {\n entity: this.entityDef.source,\n data: action?.scope == AXPEntityCommandScope.Individual ? this.context() : null\n })\n }\n }\n }\n //\n //\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityDetailViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, id: string): Promise<AXPEntityMasterSingleViewModel> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.queries.byKey) {\n const func = config.queries.byKey.execute as Function;\n const data = await func(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterSingleViewModel(this.injector, config, data);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n\n\nexport const AXPEntityDetailViewModelResolver: ResolveFn<Promise<AXPEntityMasterSingleViewModel>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityDetailViewModelFactory = inject(AXPEntityDetailViewModelFactory)\n): Promise<AXPEntityMasterSingleViewModel> => {\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n const id = route.paramMap.get('id') as string;\n //\n return service.create(moduleName, entityName, id);\n};\n\n\n","import { Injectable, inject, Injector, computed, signal } from \"@angular/core\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { cloneDeep, merge, set } from \"lodash-es\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPEntity, AXPEntityPropertyGroup, AXPGridLayoutOptions, AXPEntityProperty, AXPLayoutService, AXPEntityPropertyCreateView, AXPEntitySectionView } from \"@acorex/platform/common\";\n\nexport class AXPEntityCreateViewSectionViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntitySectionView) {\n }\n\n\n group = this.entity.groups?.find(c => c.id == this.section.id)!;\n name = signal(this.group.id);\n\n title = computed<string>(() => {\n return this.group.title ?? this.group.id;\n });\n\n description = computed<string | null | undefined>(() => {\n return this.group.description;;\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.section.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n\n elements = computed(() => {\n const { interfaces, properties } = this.entity;\n const createProps = interfaces?.master?.create?.properties ?? [];\n const createPropNames = new Set(createProps.map(({ name }) => name));\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId === this.group.id &&\n !schema.hidden &&\n createPropNames.has(name)\n );\n\n return filteredProperties.map(property => {\n const createProp = createProps.find(({ name }) => name === property.name);\n return new AXPEntityCreateViewElementViewModel(this.entity, this, property, createProp!);\n });\n });\n}\n\nexport class AXPEntityCreateViewElementViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntityCreateViewSectionViewModel, private property: AXPEntityProperty, private createProp: AXPEntityPropertyCreateView) {\n\n }\n\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n editable = computed<boolean>(() => {\n return !(this.property.schema.readonly ?? false)\n });\n\n isRequired = computed<boolean>(() => {\n return this.property.validations?.some(c => c.rule == 'required') || false\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.createProp.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: this.editable() ? 'edit' : 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n triggers: widget.triggers,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n { validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\nexport class AXPEntityMasterCreateViewModel {\n\n private entityDef = cloneDeep(this.config)!;\n\n private workflow = this.injector.get(AXPWorkflowService)\n\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private initialData: any = {},\n ) {\n\n if (!initialData)\n initialData = {};\n this.config.properties\n .filter(c => c.schema.defaultValue != null)\n .forEach(p => {\n if (typeof p.schema.defaultValue === 'function') {\n const func = p.schema.defaultValue as Function;\n set(initialData, p.name, func(initialData));\n }\n else {\n set(initialData, p.name, p.schema.defaultValue);\n }\n });\n this.context.set(initialData);\n }\n\n public context = signal<any>(this.initialData ?? {});\n\n public isInProgress = signal<boolean>(false);\n\n public sections = computed<AXPEntityCreateViewSectionViewModel[]>(() => {\n const { interfaces, properties } = this.entityDef;\n const createProps = interfaces?.master?.create?.properties?.map(({ name }) => name) ?? [];\n\n const visibleProperties = properties.filter(({ groupId, schema, name }) =>\n groupId && !schema.hidden && createProps.includes(name)\n );\n\n const sections = interfaces?.master?.create?.sections?.filter(({ id }) =>\n visibleProperties.some(({ groupId }) => groupId === id)\n ) ?? [];\n\n return sections.map(section => new AXPEntityCreateViewSectionViewModel(this.entityDef, section));\n });\n\n public async save(): Promise<any | void> {\n try {\n this.isInProgress.set(true);\n const exec = this.entityDef.commands?.create?.execute as Function;\n return await exec((this.context()));\n }\n finally {\n this.isInProgress.set(false);\n }\n }\n\n public async createNewOne() {\n await this.workflow.execute('create-entity', {\n payload: {\n module: this.entityDef.module,\n entity: this.entityDef.name,\n },\n });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityCreateViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, initialData: any = null): Promise<AXPEntityMasterCreateViewModel> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterCreateViewModel(this.injector, config, initialData);\n }\n}\n\n","import { AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption } from '@acorex/components/common';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPBeardCrumb, AXPEntity, AXPEntityCommandScope, AXPLayoutService, AXPQueryView } from '@acorex/platform/common';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { Injectable, Injector, computed, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';\nimport { cloneDeep } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntityDefinitionRegistryService } from './entity-registery.service';\nimport { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from './entity.viewmodel';\nimport { AXPEntityDeletedEvent } from './workflows/delete-entity.workflow';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport interface AXPEntityMasterListViewSortPropViewModel {\n name: string;\n title: string;\n dir: string;\n}\n\nexport class AXPEntityMasterListViewQueryViewModel {\n constructor(private entity: AXPEntity, private section: AXPEntityMasterListViewModel, private view: AXPQueryView) {}\n\n name = this.view.name;\n title = this.view.title;\n sorts = this.view.sorts;\n columns = this.view.columns;\n conditions = this.view.conditions;\n}\n\nexport class AXPEntityMasterListViewModel {\n private readonly entityDef = cloneDeep(this.config)!;\n private readonly _viewDef = cloneDeep(this.entityDef.interfaces?.master?.list)!;\n private readonly formatService = this.injector.get(AXFormatService);\n private readonly session = this.injector.get(AXPSessionService);\n private readonly workflow = this.injector.get(AXPWorkflowService);\n private readonly destroyed = new Subject<void>();\n private translateService = this.injector.get(AXTranslationService);\n\n public events$: Subject<{ action: string }> = new Subject();\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.entityDef.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.entityDef.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 10,\n key: 'id',\n });\n\n constructor(private injector: Injector, private config: AXPEntity) {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n // debugger\n if (event.payload.entity == this.entityDef.source) {\n this.selectedItems.set([]);\n this.events$.next({ action: 'refresh' });\n }\n });\n }\n\n public selectedItems = signal<any[]>([]);\n\n public hasSelectedItems = computed<boolean>(() => {\n return this.selectedItems().length > 0;\n });\n\n public clearSelection(): void {\n this.selectedItems.set([]);\n }\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n return this._viewDef.title ?? this.entityDef.formats.plural!;\n });\n //****************** Description ******************//\n public description = computed<string | null>(() => {\n return this._viewDef.description ?? null;\n });\n\n //****************** Inline filter ******************//\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n return this.entityDef.properties.filter((p) => p.options?.filter?.inline?.enabled).map((c) => c.title);\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n //****************** Beardcrumbs ******************//\n public beardcrumbs = computed<AXPBeardCrumb[]>(() => {\n return [\n {\n title: this.translateService.translateSync('entity.home'),\n icon: 'fa-solid fa-home ax-text-xs ax-me-2',\n url: [`/${this.session.application?.name}`],\n },\n {\n title: this.title(),\n url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list'],\n },\n ];\n });\n\n //****************** Actions ******************//\n private allActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n const list = this.entityDef.interfaces?.master?.list?.actions ?? [];\n return list.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter(\n (a) =>\n a.priority == 'primary' &&\n ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems()))\n );\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter(\n (a) =>\n a.priority == 'secondary' &&\n ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems()))\n );\n });\n\n public rowActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual);\n });\n\n //****************** Filter ******************//\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: [],\n };\n\n private advanceFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [],\n };\n\n applyInlineFilter(value: string) {\n const props = this.entityDef.properties.filter((c) => c.options?.filter?.inline?.enabled);\n this.inlineFilters.filters = [];\n if (value) {\n props.forEach((p) => {\n this.inlineFilters.filters?.push({\n field: p.name,\n operator: {\n type: 'contains',\n },\n value,\n });\n });\n }\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n this.dataSource.sort(...this.sortedFields().map((s) => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n this.advanceFilters.filters = this.view().conditions.map((f) => ({\n field: f.name,\n operator: f.operator,\n value: f.value,\n }));\n //\n const inline = this.inlineFilters.filters?.length ?? 0;\n const advance = this.advanceFilters.filters?.length ?? 0;\n if (inline && !advance) {\n this.dataSource.filter(this.inlineFilters);\n } else if (!inline && advance) {\n this.dataSource.filter(this.advanceFilters);\n } else if (inline && advance) {\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [this.inlineFilters, this.advanceFilters],\n });\n }\n //\n this.dataSource.refresh();\n }\n\n //****************** Columns ******************//\n\n private allAvailableColumns = (): AXPEntityListViewColumnViewModel[] => {\n const { columns = [], properties } = this.entityDef;\n const visibleProperties = properties.filter(({ schema }) => !schema?.hidden);\n const visiblePropNames = new Set(visibleProperties.map(({ name }) => name));\n\n return columns\n .filter(({ name }) => visiblePropNames.has(name))\n .map((column) => {\n const property = visibleProperties.find(({ name }) => name === column.name);\n return new AXPEntityListViewColumnViewModel(property!, column);\n });\n };\n\n visibleColumnCount = () => {\n return this.columns().filter((c) => c.visible == true).length;\n };\n\n columns = signal<AXPEntityListViewColumnViewModel[]>([]);\n\n resetColumns() {\n this.applyViewColumns();\n }\n\n applyColumns() {\n //this.columns.set(this.clonedColumns())\n }\n\n applyViewColumns() {\n const cols = this.view().columns;\n const cloned = this.allAvailableColumns().map((c) => {\n const column = this.entityDef.columns?.find((cc) => cc.name == c.name);\n const prop = this.entityDef.properties.find((p) => p.name == c.name);\n const col = new AXPEntityListViewColumnViewModel(prop!, column!);\n col.visible = !cols.some((c) => c == col.name) && col.visible != false;\n return col;\n });\n this.columns.set(cloned);\n }\n\n //****************** Sort ******************//\n\n sortableFields = () => {\n const props = this.entityDef.properties.filter((c) => c.options?.sort?.enabled);\n return props.map((e) => {\n return {\n name: e.name,\n title: e.title,\n dir: 'asc',\n };\n });\n };\n\n sortableFieldsCount = () => {\n return this.entityDef.properties.filter((c) => c.options?.sort?.enabled).length ?? 0;\n };\n\n canSort = () => {\n return this.sortableFieldsCount() > 0;\n };\n\n canAddMoreSort = () => {\n return this.sortedCount() < this.sortableFieldsCount();\n };\n\n sortedCount = () => {\n return this.sortedFields().length;\n };\n\n sortedFields = signal<AXPEntityMasterListViewSortPropViewModel[]>([]);\n\n resetSorts() {\n this.applyViewSorts();\n }\n\n applySorts() {\n this.applyFilterAndSort();\n }\n\n addSort(): void {\n const prop = this.sortableFields().find((c) => !this.sortedFields().some((s) => s.name == c.name));\n if (prop) {\n this.sortedFields.set([...this.sortedFields(), ...[prop]]);\n }\n }\n\n removeSort(name: string): void {\n this.sortedFields.set(this.sortedFields().filter((c) => c.name != name));\n }\n\n applyViewSorts() {\n const fileds = this.view().sorts.map((c) => ({\n name: c.name,\n title: c.name,\n dir: c.dir ?? 'asc',\n }));\n this.sortedFields.set(fileds);\n }\n\n //****************** Views ******************//\n\n setView(viewName: string | null = null) {\n if (viewName != this.view().name) {\n this.view.set(this.views().find((c) => c.name == viewName) ?? this.views()[0]);\n this.applyViewSorts();\n this.applyViewColumns();\n this.applyFilterAndSort();\n }\n }\n\n views = computed(() => {\n const views = this.entityDef.interfaces?.master?.list?.views ?? [];\n return views.map((v) => {\n return new AXPEntityMasterListViewQueryViewModel(this.entityDef, this, v);\n });\n });\n\n view = signal<AXPEntityMasterListViewQueryViewModel>(this.views()[0]);\n\n //****************** Commands ******************//\n public async executeCommand(commandName: string, data: any = null) {\n const action = this.allActions().find(\n (c) =>\n c.name == commandName &&\n ((this.selectedItems().length ? c.scope == AXPEntityCommandScope.Selected : c.scope == AXPEntityCommandScope.Individual) ||\n c.scope == AXPEntityCommandScope.TypeLevel)\n );\n await this.workflow.execute(commandName, {\n entity: this.entityDef.source,\n data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data,\n });\n }\n //\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityListViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string): Promise<AXPEntityMasterListViewModel> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterListViewModel(this.injector, config);\n }\n}\n\nexport const AXPEntityListViewModelResolver: ResolveFn<Promise<AXPEntityMasterListViewModel>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityListViewModelFactory = inject(AXPEntityListViewModelFactory)\n): Promise<AXPEntityMasterListViewModel> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n //\n return service.create(moduleName, entityName);\n};\n","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n })\nexport class AXPLookupWidgetViewComponent extends AXPWidgetBase<any> {}","import { AXCommonModule, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDataTableModule, AXDataTableRowClick, AXDataTableRowDbClick } from '@acorex/components/data-table';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLookupWidgetSelectorViewModel } from './lookup-widget-selector.viewmodel';\n@Component({\n template: `\n <div class=\"ax-p-4 ax-flex ax-flex-col ax-gap-4 ax-overflow-hidden\">\n @if(vm.hasInlineFilters()) {\n <div class=\"ax-w-full\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate) + vm.inlineFiltersPlaceholders().join(', ')\"\n [value]=\"searchTerm\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"\n [axAutoFocus]=\"true\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n }\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-h-[50vh]\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowClick)=\"handleRowClick($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\n <!-- <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column> -->\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } }\n </ax-data-table>\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"ghost\" text=\"Close\" (onClick)=\"handleCloseClick()\"> </ax-button>\n <ax-button look=\"solid\" color=\"primary\" text=\"Select\" (onClick)=\"handleSelectClick()\" [disabled]=\"focusedRow == null\"> </ax-button>\n @if(!vm.canCreate()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'Create-New' | translate | async\" (onClick)=\"handleCreateNewClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXCommonModule,\n AXButtonModule,\n AXFormModule,\n AXDecoratorModule,\n AXDropdownButtonModule,\n AXDataTableModule,\n AXSearchBoxModule,\n AXPLayoutBuilderModule,\n AXTranslationModule,\n ],\n inputs: [],\n})\nexport class AXPLookupWidgetSelectorComponent extends AXBasePageComponent {\n protected vm: AXPLookupWidgetSelectorViewModel;\n protected searchTerm: string;\n protected focusedRow: any;\n\n // protected override ngOnInit(): void {\n // super.ngOnInit();\n\n // }\n\n protected ngAfterViewInit() {\n if (this.searchTerm) {\n this.vm.applyInlineFilter(this.searchTerm);\n } else {\n this.vm.applyFilterAndSort();\n }\n }\n\n protected handleRowDbClick(e: AXDataTableRowDbClick) {\n this.close({ items: [e.data] });\n }\n\n protected handleRowClick(e: AXDataTableRowClick) {\n this.focusedRow = e.data;\n }\n\n protected async handleSelectedRowsChange(rows: unknown[]) {\n //this.vm.selectedItems.set(rows);\n }\n\n handleChangeSearchValue(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.vm.applyInlineFilter(e.value);\n }\n }\n\n protected async handleCreateNewClick() {\n this.close();\n await this.vm.create();\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected handleSelectClick() {\n if (this.focusedRow) {\n this.close({ items: [this.focusedRow] });\n }\n }\n}\n","import { AXDataSource, AXDataSourceCallbackResult, AXDataSourceFilterOption } from '@acorex/components/common';\nimport { AXPEntityListViewColumnViewModel } from '../../entity.viewmodel';\nimport { computed, Injector } from '@angular/core';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\n\n\nexport class AXPLookupWidgetSelectorViewModel {\n private workflow = this.injector.get(AXPWorkflowService);\n\n constructor(private injector: Injector, private entityDef: AXPEntity, private parentFilters: AXDataSourceFilterOption | null = null) {\n\n }\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.entityDef.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.entityDef.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 10,\n key: 'id'\n });\n\n\n public canCreate = computed(() => {\n return this.entityDef.commands?.create?.execute != null;\n });\n\n public async create(): Promise<void> {\n await this.workflow.execute('create-entity', {\n entity: this.entityDef.source,\n });\n }\n\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n\n public columns = () => {\n const listColumns = this.entityDef.columns ?? [];\n const columns = listColumns?.map(c => c.name) ?? [];\n const props = this.entityDef.properties.filter(p => p.schema.hidden != true)\n const displayColumns = props.filter(p => columns.some(c => c == p.name));\n return displayColumns.map(p => {\n return new AXPEntityListViewColumnViewModel(p, listColumns?.find(c => c.name == p.name)!);\n })\n };\n\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: []\n };\n\n private advanceFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: []\n };\n\n applyInlineFilter(value: string, refresh: boolean = true) {\n const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);\n this.inlineFilters.filters = [];\n if (value) {\n props.forEach(p => {\n this.inlineFilters.filters?.push({\n field: p.name,\n operator: {\n type: 'contains'\n },\n value\n })\n })\n }\n if (refresh)\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n //this.dataSource.sort(...this.sortedFields().map(s => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n\n // Check if inlineFilters or parentFilters have any filters\n const hasInlineFilters = (this.inlineFilters?.filters?.length ?? 0) > 0;\n const hasParentFilters = (this.parentFilters?.filters?.length ?? 0) > 0;\n\n // Construct the filters array based on the presence of filters\n const filters: AXDataSourceFilterOption[] = [];\n if (hasInlineFilters) {\n filters.push(this.inlineFilters);\n }\n if (hasParentFilters && this.parentFilters) {\n filters.push(this.parentFilters);\n }\n\n // Apply the filters to the dataSource\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: filters\n });\n\n // Refresh the dataSource\n this.dataSource.refresh();\n }\n\n\n\n async find(value: string): Promise<AXDataSourceCallbackResult<any>> {\n this.applyInlineFilter(value.trim(), false);\n const func = this.entityDef.queries.list?.execute as Function;\n return await func({ filter: this.inlineFilters, take: 10 }) ?? [];\n }\n}","import { AXButtonModule } from '@acorex/components/button';\nimport { AXClickEvent, AXDataSourceFilterOption, AXFocusEvent, AXHtmlEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPEntity, AXPQueryFilter, AXPValidationRules } from '@acorex/platform/common';\nimport { AXPLayoutBuilderService, AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Injector, ViewChild, computed, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '../../entity.config';\nimport { AXPLookupWidgetSelectorComponent } from './lookup-widget-selector.component';\nimport { AXPLookupWidgetSelectorViewModel } from './lookup-widget-selector.viewmodel';\n\n@Component({\n template: `\n <ax-text-box\n [ngModel]=\"displayText()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [placeholder]=\"placeholder()\"\n (onKeyUp)=\"handleKeyDown($event)\"\n (onBlur)=\"handleOnBlur($event)\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-clear-button (click)=\"handleClearClick()\"></ax-clear-button>\n\n <ax-suffix>\n <ax-button color=\"ghost\" look=\"twotone\" [disabled]=\"isLoading()\" (onClick)=\"handleOnClick($event)\">\n @if(isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <ax-icon icon=\"far fa-search\"> </ax-icon>\n }\n </ax-button>\n </ax-suffix>\n </ax-text-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXValidationModule,\n AXFormModule,\n ],\n inputs: ['entity', 'conditions', 'expose'],\n})\nexport class AXPLookupWidgetEditComponent extends AXPWidgetBase<any> {\n protected textField = 'title';\n protected expose: string | undefined;\n protected entity: string;\n protected filter: AXDataSourceFilterOption | null;\n\n protected validationRules: AXPValidationRules = [];\n\n protected injector = inject(Injector);\n protected loader = inject(AXP_ENTITY_DEFINITION_LOADER);\n protected formatService = inject(AXFormatService);\n protected popupService = inject(AXPopupService);\n private readonly builderService = inject(AXPLayoutBuilderService);\n private readonly destroyRef = inject(DestroyRef);\n private translateService = inject(AXTranslationService);\n private entityDef: AXPEntity | null;\n\n protected conditions?: AXPQueryFilter[];\n\n protected displayText = signal('');\n protected selectedItem = signal<any | null>(null);\n protected searchTerm = signal<string | null>(null);\n\n @ViewChild(AXTextBoxComponent)\n textbox: AXTextBoxComponent;\n\n protected isLoading = signal(false);\n\n protected isOpen = signal(false);\n\n protected vm = signal<AXPLookupWidgetSelectorViewModel | null>(null);\n\n protected placeholder = computed(() => {\n return this.translateService.translateSync('widget.lookup.search') + this.vm()?.inlineFiltersPlaceholders().join(', ');\n });\n\n override async ngOnInit() {\n super.ngOnInit();\n //\n const [module, entity] = this.entity.split('.');\n this.entityDef = await this.loader.get(module, entity);\n //\n this.vm.set(new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef!, this.filter));\n //\n this.textField = this.entityDef?.formats.lookup ?? this.entityDef?.properties.find((c) => c.name != 'id')?.name ?? 'title';\n const value = this.getValue();\n if (typeof value == 'object') this.displayText.set(this.formatService.format(this.textField, 'string', value));\n else if (value != null) {\n await this.findByValue();\n }\n //\n this.builderService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async (c) => {\n if (c.path == this.path) {\n if (this.getValue()) await this.findByValue();\n }\n });\n }\n\n private async findByValue() {\n this.isLoading.set(true);\n const byKey = this.entityDef?.queries.byKey?.execute as Function;\n const item = await byKey(this.getValue());\n this.setItems(item);\n this.isLoading.set(false);\n }\n\n handleOnClick(e: AXClickEvent) {\n this.showSelector();\n }\n\n private showSelector() {\n this.isOpen.set(true);\n this.popupService\n .open(AXPLookupWidgetSelectorComponent, {\n title: `${this.entityDef?.formats.plural} Lookup`,\n size: (this.vm()?.columns().length ?? 0) > 3 ? 'lg' : 'md',\n data: {\n vm: new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef!, this.filter),\n searchTerm: this.searchTerm() == this.displayText() ? null : this.searchTerm(),\n },\n })\n .then((e: any) => {\n this.isOpen.set(false);\n this.textbox.focus();\n if (e.data?.items) {\n this.setItems(e.data?.items[0]);\n }\n });\n }\n\n protected handleValueChange(e: AXValueChangedEvent) {\n this.searchTerm.set(e.value);\n }\n\n protected handleOnBlur(e: AXFocusEvent) {\n const com = e.component as AXTextBoxComponent;\n const input = (com['input'] as ElementRef).nativeElement as HTMLInputElement;\n setTimeout(() => {\n if (this.selectedItem()) {\n input.value = this.displayText();\n } else {\n if (!this.isOpen()) {\n input.value = '';\n this.searchTerm.set(null);\n }\n }\n }, 100);\n }\n\n protected async handleKeyDown(e: AXHtmlEvent) {\n const keyEvent = e.nativeEvent as KeyboardEvent;\n const value = this.searchTerm()?.trim();\n if ((keyEvent.code == 'Enter' || keyEvent.code == 'NumpadEnter') && value) {\n this.isLoading.set(true);\n const result = await this.vm()?.find(value);\n if (result?.total == 1) {\n this.setItems(result.items[0]);\n } else {\n this.showSelector();\n }\n this.isLoading.set(false);\n }\n }\n\n private setItems(item: any) {\n this.searchTerm.set(null);\n this.displayText.set('');\n this.selectedItem.set(item);\n const text = this.formatService.format(this.textField, 'string', item);\n this.displayText.set(text);\n this.setValue(item.id);\n if (this.expose) {\n if (typeof this.expose == 'string') {\n this.builderService.setValue(this.expose, item);\n } else if (Array.isArray(this.expose)) {\n (this.expose as any[]).forEach((i) => {\n if (typeof i == 'string') {\n this.builderService.setValue(i, item);\n } else {\n const key = get(item, i.source);\n this.builderService.setValue(i.target, key);\n }\n });\n }\n }\n }\n\n protected handleClearClick() {\n this.clear();\n this.setValue(null);\n }\n\n public clear() {\n this.searchTerm.set('');\n this.displayText.set('');\n this.selectedItem.set(null);\n }\n}\n","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLookupWidgetFilterComponent extends AXPWidgetBase<any> {}","import { AXPColumnWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLookupWidgetColumnComponent extends AXPColumnWidgetBase<any> {}","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLookupWidgetPrintComponent extends AXPWidgetBase<any> {}","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLookupWidgetDesignerComponent extends AXPWidgetBase<any> {}","import { AXPWidgetConfig } from '@acorex/platform/layout/builder';\nexport const AXPLookupWidget: AXPWidgetConfig = {\n name: \"lookup\",\n components: {\n view: {\n component: () => import('./lookup-widget-view.component').then((c) => c.AXPLookupWidgetViewComponent),\n },\n edit: {\n component: () => import('./lookup-widget-edit.component').then((c) => c.AXPLookupWidgetEditComponent),\n },\n filter: {\n component: () => import('./lookup-widget-filter.component').then((c) => c.AXPLookupWidgetFilterComponent),\n },\n column: {\n component: () => import('./lookup-widget-column.component').then((c) => c.AXPLookupWidgetColumnComponent),\n },\n print: {\n component: () => import('./lookup-widget-print.component').then((c) => c.AXPLookupWidgetPrintComponent),\n },\n designer: {\n component: () => import('./lookup-widget-designer.component').then((c) => c.AXPLookupWidgetDesignerComponent),\n },\n }\n}","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityCreateViewModelFactory } from '../entity-master-create.viewmodel';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\nimport { AXP_ENTITY_CONFIG_TOKEN } from '../entity.config';\n\nexport const AXPEntityCreateEvent = createWorkFlowEvent<{ entity: string }>('[Entity] Created!');\n\n@Injectable()\nexport class AXPEntityCreatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private factory = inject(AXPEntityCreateViewModelFactory);\n private config = inject(AXP_ENTITY_CONFIG_TOKEN);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [module, entity] = context.getVariable<string>('entity').split('.');\n const data = context.getVariable<any>('data');\n const entityRef = await this.entityRegistery.resolve(module, entity);\n const com = await this.config.viewers.master.create();\n const result = await this.popupService.open(com, {\n title: this.translateService.translateSync('create-new') + ' ' + entityRef.formats.individual,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n vm: await this.factory.create(module, entity, data),\n entity,\n },\n });\n context.setOutput('result', false);\n if (result.data?.save) {\n context.setOutput('result', true);\n context.setVariable('data', result.data.item);\n }\n }\n}\n\nexport class AXPEntityCreateSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n // debugger\n this.dispatch(AXPEntityCreateEvent({ entity: context.getVariable<string>('entity') }));\n }\n}\n\nexport const AXPCreateEntityWorkflow: AXPWorkflow = {\n startStepId: 'show-popup',\n steps: {\n 'show-popup': {\n action: 'AXPEntityCreatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n 'show-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Created',\n content: 'New Record has been successfully created.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n 'dispatch-event': {\n action: 'AXPEntityCreateSubmittedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getVariable(\"redirect\") != false' }],\n nextStepId: 'show-entity',\n },\n ],\n },\n 'show-entity': {\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowDetailViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [module, entity] = context.getVariable('entity').split(\".\");\n const { id } = context.getVariable('data');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/m/${module}/e/${entity}/${id}/view`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\n\nexport const AXPShowDetailsViewWorkflow: AXPWorkflow = {\n startStepId: 'showDetailView',\n steps: {\n showDetailView: {\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n\n@Injectable()\nexport class AXPShowListViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n async execute(context?: any): Promise<void> {\n const [moduleName, entityName] = context.getVariable('entity').split(\".\");\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/m/${moduleName}/e/${entityName}/list`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\nexport const AXPShowListViewWorkflow: AXPWorkflow = {\n startStepId: 'showListView',\n steps: {\n showListView: {\n id: 'showListView',\n action: 'AXPShowListViewAction',\n },\n },\n};\n","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule, inject } from '@angular/core';\nimport { ROUTES, RouterModule, Routes } from '@angular/router';\nimport { AXPEntityListViewModelResolver } from './entity-master-list.viewmodel';\nimport { AXPEntityDetailViewModelResolver } from './entity-master-single.viewmodel';\nimport { AXP_ENTITY_CONFIG_TOKEN } from './entity.config';\nimport { AXPLookupWidget } from './widgets/lookup-widget';\nimport { AXPCreateEntityWorkflow, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction } from './workflows/create-entity.workflow';\nimport { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction } from './workflows/delete-entity.workflow';\nimport {\n AXPEntityModifyConfirmedAction,\n AXPEntityModifySectionPopupAction,\n AXPModifyEntitySectionWorkflow,\n} from './workflows/modify-section.workflow';\nimport { AXPShowDetailViewAction, AXPShowDetailsViewWorkflow } from './workflows/show-details.workflow';\nimport { AXPShowListViewAction, AXPShowListViewWorkflow } from './workflows/show-list.workflow';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: ':app/m',\n component: config.viewers.root(),\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: ':module',\n children: [\n // {\n // path: 'e/:entity/:id/view/:section',\n // resolve: { loader: AXPEntityDetailViewLoaderResolver },\n // component: AXPEntityDetailsViewComponent,\n // },\n\n {\n path: 'e/:entity/list',\n loadComponent: () => {\n return config.viewers.master.list();\n },\n resolve: {\n vm: AXPEntityListViewModelResolver,\n },\n },\n {\n path: 'e/:entity/:id/view',\n resolve: { vm: AXPEntityDetailViewModelResolver },\n loadComponent: () => {\n return config.viewers.master.single();\n },\n },\n {\n path: 'e/:entity/:id',\n redirectTo: 'e/:entity/:id/view',\n pathMatch: 'full',\n },\n {\n path: 'e/:entity',\n redirectTo: ':entity/list',\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n RouterModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCreatePopupAction,\n AXPEntityPerformDeleteAction,\n 'entity-perform-delete': AXPEntityPerformDeleteAction,\n AXPEntityModifySectionPopupAction,\n AXPEntityModifyConfirmedAction,\n AXPShowDetailViewAction,\n AXPEntityCreateSubmittedAction,\n AXPShowListViewAction,\n },\n workflows: {\n 'create-entity': AXPCreateEntityWorkflow,\n 'delete-entity': AXPDeleteEntityWorkflow,\n 'modify-entity-section': AXPModifyEntitySectionWorkflow,\n 'open-entity': AXPShowDetailsViewWorkflow,\n 'show-list-view': AXPShowListViewWorkflow,\n },\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [AXPLookupWidget],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPEntityModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i5","i6"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmBa,uBAAuB,GAAG,IAAI,cAAc,CAAmB,yBAAyB,EAAE;MAQ1F,4BAA4B,GAAG,IAAI,cAAc,CAA4B,8BAA8B;;MCpB3G,kCAAkC,CAAA;AAH/C,IAAA,WAAA,GAAA;;AAKY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;;AAGxC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAyDzD,KAAA;AAtDG;;;;;AAKG;AACH,IAAA,QAAQ,CAAC,MAAiB,EAAA;AACtB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAClC;AAED;;;;;;;;;AASG;AACH,IAAA,MAAM,OAAO,CAAC,UAAkB,EAAE,UAAkB,EAAA;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACzD,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,IAAI;AACA,gBAAA,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE;AACR,oBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBACzB;aACJ;YAAC,OAAO,KAAK,EAAE;gBAEZ,MAAM,KAAK,CAAC;aACf;YAED,IAAI,CAAC,MAAM,EAAE;AACT,gBAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAA,CAAE,CAAC,CAAC;aAClD;SACJ;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;AAED;;;;;;AAMG;IACK,eAAe,CAAC,UAAkB,EAAE,UAAkB,EAAA;AAC1D,QAAA,OAAO,CAAG,EAAA,UAAU,CAAI,CAAA,EAAA,UAAU,EAAE,CAAC;KACxC;8GA7DQ,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cAF/B,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAET,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCDY,gCAAgC,CAAA;IASzC,WAAY,CAAA,MAAiB,EAAE,MAAuB,EAAA;AAClD,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;AAC3B,QAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;KAC5B;AACJ,CAAA;MAEY,gCAAgC,CAAA;IAEzC,WAAoB,CAAA,QAA2B,EAAU,MAA4B,EAAA;QAAjE,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAmB;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;AAIrF,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjD,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;AAEhD,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAsB,MAAK;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAU,CAAC;YAC/C,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;;AAEjB,gBAAA,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE;aACX,CAAC;AAE7B,SAAC,CAAC,CAAA;KAfD;AAgBJ;;ACnCM,MAAM,qBAAqB,GAAG,mBAAmB,CACtD,kBAAkB,CACnB,CAAC;AAGI,MAAO,4BAA6B,SAAQ,iBAAiB,CAAA;AADnE,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AA4FxD,KAAA;IA1FC,MAAM,OAAO,CAAC,OAA2B,EAAA;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACnD,QAAA,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAM,MAAM,CAAC,CAAC;AAC9C,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,QAAA,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAC/C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;AACrC,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,IAAI,EAAE,CAAA,EAAA,EAAK,GAAG,CAAC,MAAM,CAAE,CAAA;AACvB,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,KAAK,EAAE,QAAQ;oBACf,OAAO,EAAE,MAAK;wBACZ,MAAM,CAAC,KAAK,EAAE,CAAC;qBAChB;AACF,iBAAA;AACF,aAAA;AACF,SAAA,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAmB,CAAA;YAC/D,MAAM,eAAe,GAAI,GAAa;AACnC,iBAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAI;AACb,gBAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;oBAC7B,UAAU,CAAC,MAAK;AACd,wBAAA,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,qBAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AACd,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,CAAC,KACL,CAAC,EAAE,IAAI,CACL,CAAC,KAAK,KAAI;AACR,gBAAA,YAAY,EAAE,CAAC;gBACf,MAAM,CAAC,eAAe,CAAC,CAAG,EAAA,YAAY,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;AACxD,gBAAA,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AAC3D,gBAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACxC,aAAC,EACD,CAAC,MAAM,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAC7C,CACF,CAAC;YAEJ,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnD,YAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;AAC7F,YAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YACxF,UAAU,CAAC,MAAK;gBACd,MAAM,CAAC,KAAK,EAAE,CAAC;aAChB,EAAE,GAAG,CAAC,CAAC;;YAGR,IAAI,kBAAkB,GAAG,CAAC,IAAI,cAAc,KAAK,CAAC,EAAE;;AAElD,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC5B,qBAAqB,EACrB,CAAA,EAAG,kBAAkB,CAAA,0BAAA,CAA4B,EACjD,SAAS,CACV,CAAC;;AAEF,gBAAA,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC1E;iBAAM,IAAI,kBAAkB,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE;;AAEvD,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC5B,4BAA4B,EAC5B,CAAG,EAAA,kBAAkB,2CAA2C,cAAc,CAAA,8BAAA,CAAgC,EAC9G,SAAS,CACV,CAAC;;AAEF,gBAAA,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;aAC1E;iBAAM,IAAI,kBAAkB,KAAK,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE;;AAEzD,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAC5B,iBAAiB,EACjB,CAAA,uBAAA,EAA0B,cAAc,CAAA,0BAAA,CAA4B,EACpE,QAAQ,CACT,CAAC;aACH;iBAAM;;AAEL,gBAAA,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,EAAE,oCAAoC,EAAE,MAAM,CAAC,CAAC;aACpG;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CACb,CAAA,4CAAA,EAA+C,MAAM,CAAC,KAAK,CAA4E,0EAAA,CAAA,CACxI,CAAC;SACH;KACF;8GA9FU,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA5B,4BAA4B,EAAA,CAAA,CAAA,EAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;AAmGJ,MAAM,uBAAuB,GAAgB;AAClD,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,KAAK,EAAE;AACL,QAAA,gBAAgB,EAAE;AAChB,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,OAAO,EAAE,CAA+C,6CAAA,CAAA;AACxD,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,UAAU,EAAE;AACV,gCAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,qCAAqC,EAAE;AACtE,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,MAAM,EAAE,uBAAuB;AAChC,SAAA;AACF,KAAA;CACF;;MCtIY,qCAAqC,CAAA;IAE9C,WAAoB,CAAA,MAAiB,EAAU,QAA2B,EAAA;QAAtD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAmB;QAI1E,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEhD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAK;AAC9B,YAAA,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;AACpD,SAAC,CAAC,CAAC;AAGH,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAU,MAAK;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,CAAA;AAC9E,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;AACzC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/G,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE,CAAW,CAAC;AAC7D,YAAA,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7C,YAAA,OAAO,MAA8B,CAAC;AAC1C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAgB,MAAK;AAChC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC;AACrC,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAU,CAAC;YACjC,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,MAAM;AACvC,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,gBAAA,OAAO,EAAE,KAAK,CACV,MAAM,CAAC,SAAS,EAAE,OAAO;;gBAEzB,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CACjD;aACa,CAAC;AACvB,SAAC,CAAC,CAAA;KAtCD;AAuCJ,CAAA;MAIY,8BAA8B,CAAA;AAKvC,IAAA,WAAA,CACY,QAAkB,EAClB,MAAiB,EACjB,UAAe,EACf,KAAe,EAAA;QAHf,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;QACf,IAAK,CAAA,KAAA,GAAL,KAAK,CAAU;AAPnB,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;QACpC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAWlD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;QAEtC,IAAO,CAAA,OAAA,GAAG,MAAM,CAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAEzD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAC5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,gBAAA,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;AAC7B,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAG;gBACjB,OAAO,IAAI,qCAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACxE,aAAC,CAAC,CAAA;AACN,SAAC,CAAC,CAAC;KAdF;AAgBM,IAAA,MAAM,IAAI,GAAA;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,IAAI;YACA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5C,IAAI,GAAG,EAAE;AACL,gBAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAmB,CAAC;gBACrC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aACrC;SACJ;gBACO;AACJ,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;KACJ;IAEM,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KAChD;AAEJ,CAAA;MAGY,qCAAqC,CAAA;AADlD,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAcvC,KAAA;IAZU,MAAM,MAAM,CAAC,UAAkB,EAAE,UAAkB,EAAE,EAAU,EAAE,KAAe,EAAA;AACnF,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAmB,CAAC;AACtD,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACxC,YAAA,OAAO,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACjF;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KAC1C;8GAhBQ,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qCAAqC,cADxB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBADjD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;AC7F3B,MAAM,oBAAoB,GAAG,mBAAmB,CACrD,mBAAmB,CACpB,CAAC;AAGI,MAAO,iCAAkC,SAAQ,iBAAiB,CAAA;AADxE,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAA;AACxC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAC;AAwBjE,KAAA;IAtBC,MAAM,OAAO,CAAC,OAA2B,EAAA;AACvC,QAAA,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,WAAW,CAAS,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClF,QAAA,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9D,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC7E,QAAA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AAE7E,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;YAC9C,KAAK,EAAE,KAAK,IAAI,CAAA,OAAA,EAAU,SAAS,CAAC,OAAO,CAAC,UAAU,CAAE,CAAA;YACxD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI;AAC1E,YAAA,IAAI,EAAE;gBACJ,EAAE;gBACF,UAAU;AACV,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE;AAC9B,YAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAClC,YAAA,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SAC5D;KACF;8GA5BU,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAjC,iCAAiC,EAAA,CAAA,CAAA,EAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;;AAiCL,MAAO,8BAA+B,SAAQ,iBAAiB,CAAA;IACnE,MAAM,OAAO,CAAC,OAA2B,EAAA;QACvC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAS,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;KAC7G;8GAJU,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA9B,8BAA8B,EAAA,CAAA,CAAA,EAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;;AASJ,MAAM,8BAA8B,GAAgB;AACzD,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,KAAK,EAAE;AACL,QAAA,WAAW,EAAE;AACX,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,MAAM,EAAE,mCAAmC;AAC3C,YAAA,SAAS,EAAE;AACT,gBAAA;oBACE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,qCAAqC,EAAE,CAAC;AACnF,oBAAA,UAAU,EAAE,cAAc;AAC3B,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,iBAAiB;AACxB,gBAAA,OAAO,EAAE,uCAAuC;AACjD,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,UAAU,EAAE,EAAE;AACd,oBAAA,UAAU,EAAE,iBAAiB;AAC9B,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,EAAE,EAAE,iBAAiB;AACrB,YAAA,MAAM,EAAE,gCAAgC;AACzC,SAAA;AACF,KAAA;CACF;;MC5EY,4BAA4B,CAAA;AAuBrC,IAAA,WAAA,CACY,QAAkB,EAClB,kBAAoC,EACpC,MAAwC,EAAA;QAFxC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAkB;QACpC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkC;AAvB5C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;QAC9C,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAClD,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAIzD,IAAU,CAAA,UAAA,GAAG,IAAI,YAAY,CAAC;AAC1B,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACX,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,OAAmB,CAAC;gBACpE,OAAO,IAAI,EAAE,CAAC;aACjB;AACD,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;AACR,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAmB,CAAC;AACpE,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;aAClB;AACD,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,GAAG,EAAE,IAAI;AAEZ,SAAA,CAAC,CAAA;AAsBK,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAQ,EAAE,CAAC,CAAC;AAElC,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAU,MAAK;YAC7C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;AAC1C,SAAC,CAAC,CAAC;;AAOI,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAK;YACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAM,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,MAAO,CAAC;AAC1I,SAAC,CAAC,CAAC;;AAGI,QAAA,IAAA,CAAA,yBAAyB,GAAG,QAAQ,CAAW,MAAK;;AAEvD,YAAA,OAAO,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAU,MAAK;YAC7C,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,SAAC,CAAC,CAAC;;AAIK,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAqC,MAAK;AACnE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;AAC1E,YAAA,OAAO,IAAI;AACN,iBAAA,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,YAAY,EAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3F,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAqC,MAAK;YACtE,OAAO,IAAI,CAAC,UAAU,EAAE;iBACnB,MAAM,CAAC,CAAC,IACL,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS;AACxB,iBACI,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrE,qBAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAC3E,CACJ,CAAC;AACV,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAqC,MAAK;YACxE,OAAO,IAAI,CAAC,UAAU,EAAE;iBACnB,MAAM,CAAC,CAAC,IACL,CAAC,CAAC,CAAC,QAAQ,IAAI,WAAW;AAC1B,iBACI,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrE,qBAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAC3E,CACJ,CAAC;AACV,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAqC,MAAK;YAClE,OAAO,IAAI,CAAC,UAAU,EAAE;AACnB,iBAAA,MAAM,CAAC,CAAC,KACJ,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAChD,CAAC;AACV,SAAC,CAAC,CAAC;;AAIK,QAAA,IAAA,CAAA,aAAa,GAA6B;AAC9C,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,EAAE;SACd,CAAC;;AA+DF,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACpB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACrB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAA;gBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAClD,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI;AACvB,qBAAC,aAAa,EAAE,MAAM,IAAI,CAAC,IAAI,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAClE,IAAI,EAAE,CAAA;gBACP,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,gBAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,IAAG;oBAC1B,OAAO,IAAI,gCAAgC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAE,CAAC,CAAC;AAC/G,iBAAC,CAAC,CAAA;aACL;AACD,YAAA,OAAO,EAAE,CAAC;AACd,SAAC,CAAC,CAAC;QAjKC,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;AAED,IAAA,MAAM,UAAU,GAAA;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC/D,QAAA,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,KAAK,CAAC,CAAA,sBAAA,EAAyB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAE,CAAA,CAAC,CAAA;SACzE;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAE7B;IAQM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC9B;AA+DD,IAAA,iBAAiB,CAAC,KAAa,EAAA;;;;;;;;;;;;;;QAc3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAED,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;;;;AAK9B,QAAA,MAAM,aAAa,GAA+B,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAG;YAC1F,OAAO;gBACH,KAAK,EAAE,CAAC,CAAC,IAAI;gBACb,QAAQ,EAAG,CAAC,CAAC,QAA4C;AACzD,gBAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;aACF,CAAC;SACjC,CAAC,IAAI,EAAE,CAAC;AACT,QAAA,MAAM,mBAAmB,GAA6B;AAClD,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,aAAa;SACzB,CAAC;;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;;QAExD,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC9C;AACI,aAAA,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SAC/C;AACI,aAAA,IAAI,MAAM,IAAI,MAAM,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AACnB,gBAAA,KAAK,EAAE,IAAW;AAClB,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,IAAW;AACrB,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC;AACrD,aAAA,CAAC,CAAC;SACN;;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC7B;;AAwBM,IAAA,MAAM,cAAc,CAAC,WAAmB,EAAE,OAAY,IAAI,EAAA;AAC7D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IACnC,CAAC,CAAC,IAAI,IAAI,WAAW;aAEjB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;AACxB,gBAAA,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ;AACzC,gBAAA,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,UAAU;gBAE/C,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,CAC7C,CACJ,CAAC;AACF,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AACrC,YAAA,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM;AACnC,YAAA,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI;AACtF,SAAA,CAAC,CAAA;KACL;AAEJ;;MC5MY,uCAAuC,CAAA;IAEhD,WAAoB,CAAA,MAAiB,EAAU,OAA6B,EAAA;QAAxD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;QAI5E,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;QAChE,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAK;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAA4B,MAAK;AACnD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AAClC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;AACzC,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;AAC9D,YAAA,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7C,YAAA,OAAO,MAA8B,CAAC;AAC1C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;YAClB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/C,MAAM,eAAe,GAAG,UAAU;iBAC7B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC5E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;AAE7B,YAAA,MAAM,cAAc,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAC3E,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CACjC,IAAI,EAAE,CAAC;YAER,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,IAC1B,IAAI,qCAAqC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CACrE,CAAC;AACN,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;YAC1B,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/C,MAAM,qBAAqB,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAEpG,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KACnE,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtF,CAAC;YAEF,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,IAC9B,IAAI,qCAAqC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CACrE,CAAC;AACN,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;YACrB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;AAC1C,SAAC,CAAC,CAAC;KAnDF;AAoDJ,CAAA;MAEY,qCAAqC,CAAA;AAE9C,IAAA,WAAA,CAAoB,MAAiB,EAAU,OAAgD,EAAU,YAAmC,EAAA;QAAxH,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyC;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAuB;QAIpI,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,CAAA;QACtF,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAGhD,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;AACzC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7G,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAW,CAAC;AAC3D,YAAA,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7C,YAAA,OAAO,MAA8B,CAAC;AAC1C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAgB,MAAK;AAChC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC;AACrC,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAU,CAAC;YACjC,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,gBAAA,OAAO,EAAE,KAAK,CACV,MAAM,CAAC,SAAS,EAAE,OAAO;;gBAEzB,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CACjD;aACa,CAAC;AACvB,SAAC,CAAC,CAAA;KA9BD;AA+BJ,CAAA;MAIY,8BAA8B,CAAA;AAYvC,IAAA,WAAA,CACY,QAAkB,EAClB,MAAiB,EACjB,UAAe,EAAA;QAFf,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAK;AAbV,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAE,CAAA;QAChE,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAClD,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAChD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE7D,QAAA,IAAA,CAAA,OAAO,GAAgC,IAAI,OAAO,EAAE,CAAC;QAkCrD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjD,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAqC,MAAK;AAChE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3I,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAqC,MAAK;AACtE,YAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAqC,MAAK;AACxE,YAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC;AACjE,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAA4C,MAAK;YACvE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAExF,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KACnE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxD,CAAC;AAEF,YAAA,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KAC/D,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,CAAC,CAC3D,IAAI,EAAE,CAAC;AAER,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,IACrB,IAAI,uCAAuC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CACvE,CAAC;AACN,SAAC,CAAC,CAAC;;AAII,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAK;AACjC,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACzG,IAAI,eAAe,GAAG,cAAc,CAAC;AACrC,YAAA,IAAI,cAAc;AAAE,gBAAA,eAAe,GAAG,CAAK,EAAA,EAAA,cAAc,CAAC,IAAI,IAAI,CAAC;YACnE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,eAAe,EACnE,QAAQ,EACR,IAAI,CAAC,OAAO,EAAE,CACjB,CAAC;AACN,SAAC,CAAC,CAAC;;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAgB,MAAK;AAC9C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAClF,QAAQ,EACR,IAAI,CAAC,OAAO,EAAE,CACjB,GAAG,IAAI,CAAC;AACb,SAAC,CAAC,CAAC;;AAGI,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAkB,MAAK;YAChD,OAAO;AACH,gBAAA;oBACI,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC;AACzD,oBAAA,IAAI,EAAE,qCAAqC;oBAC3C,GAAG,EAAE,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAA,CAAE,CAAC;AAC9C,iBAAA;AACD,gBAAA;AACI,oBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU;AACzE,oBAAA,GAAG,EAAE,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAA,CAAE,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,CAAA,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,CAAA,EAAE,MAAM,CAAC;AACtH,iBAAA;AACD,gBAAA;AACI,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACtB,iBAAA;aACJ,CAAA;AACL,SAAC,CAAC,CAAC;AAGI,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAiC,MAAK;AACnE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,IACzC,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CACzG,IAAI,EAAE,CAAA;AACX,SAAC,CAAC,CAAC;QApGC,IAAI,CAAC,QAAQ,CAAC,OAAO;AAChB,aAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;YACjB,IACI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7C,gBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAC/C;AACE,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;AACpC,oBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAChC,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CAAC,CAAC;QACP,IAAI,CAAC,QAAQ,CAAC,OAAO;AAChB,aAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,OAAO,KAAK,KAAI;YACvB,IACI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7C,gBAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAC/C;gBACE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC1C;AACL,SAAC,CAAC,CAAC;KACV;AA+EM,IAAA,MAAM,cAAc,CAAC,WAAmB,EAAE,OAAY,IAAI,EAAA;;QAE7D,QAAQ,WAAW;YACf,KAAK,uBAAuB,EAAE;AAC1B,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE;AAC3C,oBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7B,oBAAA,IAAI,EAAE;AACF,wBAAA,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;AACrB,wBAAA,UAAU,EAAG,IAAgD,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACnG,qBAAA;AACJ,iBAAA,CAAC,CAAC;gBACH,MAAM;aACT;AACD,YAAA;gBACI;AACI,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;AAC/D,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AAC/B,wBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7B,wBAAA,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,qBAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI;AAClF,qBAAA,CAAC,CAAA;iBACL;SACR;KACJ;;;IAGD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC7B;AACJ,CAAA;MAGY,+BAA+B,CAAA;AAD5C,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAcvC,KAAA;AAZU,IAAA,MAAM,MAAM,CAAC,UAAkB,EAAE,UAAkB,EAAE,EAAU,EAAA;AAClE,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAmB,CAAC;AACtD,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,YAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC1E;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;KAC1C;8GAhBQ,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;AAqB3B,MAAM,gCAAgC,GAAuD,CAChG,KAA6B,EAC7B,KAA0B,EAC1B,UAA2C,MAAM,CAAC,+BAA+B,CAAC,KACzC;AACzC,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;IAC1D,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC;;IAE9C,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;AACtD;;MCjSa,mCAAmC,CAAA;IAE5C,WAAoB,CAAA,MAAiB,EAAU,OAA6B,EAAA;QAAxD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;QAI5E,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;QAChE,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAK;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAA4B,MAAK;AACnD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAAA,CAAC;AACnC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;AACzC,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;AAC9D,YAAA,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7C,YAAA,OAAO,MAA8B,CAAC;AAC1C,SAAC,CAAC,CAAC;AAGH,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;YACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC/C,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;AACjE,YAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YAErE,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KACnE,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE;gBACzB,CAAC,MAAM,CAAC,MAAM;AACd,gBAAA,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAC5B,CAAC;AAEF,YAAA,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,IAAG;AACrC,gBAAA,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1E,gBAAA,OAAO,IAAI,mCAAmC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAW,CAAC,CAAC;AAC7F,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KApCF;AAqCJ,CAAA;MAEY,mCAAmC,CAAA;AAE5C,IAAA,WAAA,CAAoB,MAAiB,EAAU,OAA4C,EAAU,QAA2B,EAAU,UAAuC,EAAA;QAA7J,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqC;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAmB;QAAU,IAAU,CAAA,UAAA,GAAV,UAAU,CAA6B;QAIjL,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEhD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAK;AAC9B,YAAA,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;AACpD,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAU,MAAK;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,CAAA;AAC9E,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;AACzC,YAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAW,CAAC;AACjE,YAAA,GAAG,CAAC,MAAM,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC7C,YAAA,OAAO,MAA8B,CAAC;AAC1C,SAAC,CAAC,CAAC;AAEH,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAgB,MAAK;AAChC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAC;AACrC,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAU,CAAC;YACjC,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,MAAM;AACvC,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,gBAAA,OAAO,EAAE,KAAK,CACV,MAAM,CAAC,SAAS,EAAE,OAAO;;gBAEzB,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CACjD;aACa,CAAC;AACvB,SAAC,CAAC,CAAA;KApCD;AAqCJ,CAAA;MAGY,8BAA8B,CAAA;AAOvC,IAAA,WAAA,CACY,QAAkB,EAClB,MAAiB,EACjB,cAAmB,EAAE,EAAA;QAFrB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACjB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAU;AARzB,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;QAEpC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAyBjD,IAAO,CAAA,OAAA,GAAG,MAAM,CAAM,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAwC,MAAK;YACnE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAClD,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAE1F,YAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAClE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC1D,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,KACjE,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,CAAC,CAC1D,IAAI,EAAE,CAAC;AAER,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,mCAAmC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AACrG,SAAC,CAAC,CAAC;AAjCC,QAAA,IAAI,CAAC,WAAW;YACZ,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,UAAU;AACjB,aAAA,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;aAC1C,OAAO,CAAC,CAAC,IAAG;YACT,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE;AAC7C,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,YAAwB,CAAC;AAC/C,gBAAA,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aAC/C;iBACI;AACD,gBAAA,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACnD;AACL,SAAC,CAAC,CAAC;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KACjC;AAqBM,IAAA,MAAM,IAAI,GAAA;AACb,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAmB,CAAC;YAClE,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;SACvC;gBACO;AACJ,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;KACJ;AAEM,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE;AACzC,YAAA,OAAO,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7B,gBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;AAC9B,aAAA;AACJ,SAAA,CAAC,CAAC;KACN;AACJ,CAAA;MAGY,+BAA+B,CAAA;AAD5C,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAQvC,KAAA;IANU,MAAM,MAAM,CAAC,UAAkB,EAAE,UAAkB,EAAE,cAAmB,IAAI,EAAA;AAC/E,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;KACjF;8GAVQ,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MC9IrB,qCAAqC,CAAA;AAChD,IAAA,WAAA,CAAoB,MAAiB,EAAU,OAAqC,EAAU,IAAkB,EAAA;QAA5F,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAA8B;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAc;AAEhH,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KANkF;AAOrH,CAAA;MAEY,4BAA4B,CAAA;IAwBvC,WAAoB,CAAA,QAAkB,EAAU,MAAiB,EAAA;QAA7C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAvBhD,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAE,CAAC;QAC/D,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnD,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;QACzC,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE5D,QAAA,IAAA,CAAA,OAAO,GAAgC,IAAI,OAAO,EAAE,CAAC;QAE5D,IAAU,CAAA,UAAA,GAAG,IAAI,YAAY,CAAC;AAC5B,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAmB,CAAC;gBAC9D,OAAO,IAAI,EAAE,CAAC;aACf;AACD,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;gBACV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAmB,CAAC;AAC9D,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;aAChB;AACD,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,GAAG,EAAE,IAAI;AACV,SAAA,CAAC,CAAC;AAeI,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAQ,EAAE,CAAC,CAAC;AAElC,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAU,MAAK;YAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,SAAC,CAAC,CAAC;;AAOI,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAS,MAAK;AACnC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAO,CAAC;AAC/D,SAAC,CAAC,CAAC;;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAgB,MAAK;AAChD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC;AAC3C,SAAC,CAAC,CAAC;;AAGI,QAAA,IAAA,CAAA,yBAAyB,GAAG,QAAQ,CAAW,MAAK;AACzD,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AACzG,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAU,MAAK;YAC/C,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;;AAGI,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAkB,MAAK;YAClD,OAAO;AACL,gBAAA;oBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC;AACzD,oBAAA,IAAI,EAAE,qCAAqC;oBAC3C,GAAG,EAAE,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAA,CAAE,CAAC;AAC5C,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,oBAAA,GAAG,EAAE,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAA,CAAE,EAAE,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAE,CAAA,EAAE,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,CAAA,EAAE,MAAM,CAAC;AACpH,iBAAA;aACF,CAAC;AACJ,SAAC,CAAC,CAAC;;AAGK,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAqC,MAAK;AACrE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1F,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAqC,MAAK;AACxE,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAC7B,CAAC,CAAC,KACA,CAAC,CAAC,QAAQ,IAAI,SAAS;AACvB,iBAAC,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACpE,qBAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAC9E,CAAC;AACJ,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAqC,MAAK;AAC1E,YAAA,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAC7B,CAAC,CAAC,KACA,CAAC,CAAC,QAAQ,IAAI,WAAW;AACzB,iBAAC,CAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACpE,qBAAC,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAC9E,CAAC;AACJ,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAqC,MAAK;YACpE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;AACtF,SAAC,CAAC,CAAC;;AAIK,QAAA,IAAA,CAAA,aAAa,GAA6B;AAChD,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;AAEM,QAAA,IAAA,CAAA,cAAc,GAA6B;AACjD,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;;QAkDM,IAAmB,CAAA,mBAAA,GAAG,MAAyC;YACrE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AACpD,YAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7E,YAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;AAE5E,YAAA,OAAO,OAAO;AACX,iBAAA,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,iBAAA,GAAG,CAAC,CAAC,MAAM,KAAI;AACd,gBAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5E,gBAAA,OAAO,IAAI,gCAAgC,CAAC,QAAS,EAAE,MAAM,CAAC,CAAC;AACjE,aAAC,CAAC,CAAC;AACP,SAAC,CAAC;QAEF,IAAkB,CAAA,kBAAA,GAAG,MAAK;YACxB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;AAChE,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAqC,EAAE,CAAC,CAAC;;QAwBzD,IAAc,CAAA,cAAA,GAAG,MAAK;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChF,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;gBACrB,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;AACd,oBAAA,GAAG,EAAE,KAAK;iBACX,CAAC;AACJ,aAAC,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAmB,CAAA,mBAAA,GAAG,MAAK;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;AACvF,SAAC,CAAC;QAEF,IAAO,CAAA,OAAA,GAAG,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AACxC,SAAC,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAAK;YACpB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACzD,SAAC,CAAC;QAEF,IAAW,CAAA,WAAA,GAAG,MAAK;AACjB,YAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;AACpC,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAA6C,EAAE,CAAC,CAAC;AAyCtE,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACpB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;AACnE,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;gBACrB,OAAO,IAAI,qCAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5E,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,CAAA,IAAA,GAAG,MAAM,CAAwC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAvQpE,IAAI,CAAC,QAAQ,CAAC,OAAO;AAClB,aAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnC,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,aAAA,SAAS,CAAC,CAAC,KAAK,KAAI;;AAEnB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACjD,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;aAC1C;AACH,SAAC,CAAC,CAAC;KACN;IAQM,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC5B;AA+ED,IAAA,iBAAiB,CAAC,KAAa,EAAA;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAClB,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;oBAC/B,KAAK,EAAE,CAAC,CAAC,IAAI;AACb,oBAAA,QAAQ,EAAE;AACR,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;oBACD,KAAK;AACN,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;;AAE9B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAA6B,CAAA,CAAC,CAAC,CAAC;;AAEnH,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YAC/D,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;AACf,SAAA,CAAC,CAAC,CAAC;;QAEJ,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;AACzD,QAAA,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE;YACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5C;AAAM,aAAA,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC7C;AAAM,aAAA,IAAI,MAAM,IAAI,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AACrB,gBAAA,KAAK,EAAE,IAAW;AAClB,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,IAAW;gBACrB,OAAO,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC;AACnD,aAAA,CAAC,CAAC;SACJ;;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC3B;IAuBD,YAAY,GAAA;QACV,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,YAAY,GAAA;;KAEX;IAED,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC;AACjC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,GAAG,GAAG,IAAI,gCAAgC,CAAC,IAAK,EAAE,MAAO,CAAC,CAAC;YACjE,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC;AACvE,YAAA,OAAO,GAAG,CAAC;AACb,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAC1B;IAiCD,UAAU,GAAA;QACR,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,UAAU,GAAA;QACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,OAAO,GAAA;AACL,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnG,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC5D;KACF;AAED,IAAA,UAAU,CAAC,IAAY,EAAA;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;KAC1E;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YAC3C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,IAAI;AACb,YAAA,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK;AACpB,SAAA,CAAC,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B;;IAID,OAAO,CAAC,WAA0B,IAAI,EAAA;QACpC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;KACF;;AAYM,IAAA,MAAM,cAAc,CAAC,WAAmB,EAAE,OAAY,IAAI,EAAA;AAC/D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CACnC,CAAC,CAAC,KACA,CAAC,CAAC,IAAI,IAAI,WAAW;aACpB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,UAAU;gBACrH,CAAC,CAAC,KAAK,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAChD,CAAC;AACF,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE;AACvC,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC7B,YAAA,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI;AACpF,SAAA,CAAC,CAAC;KACJ;;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;AACF,CAAA;MAGY,6BAA6B,CAAA;AAD1C,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAQrC,KAAA;AANQ,IAAA,MAAM,MAAM,CAAC,UAAkB,EAAE,UAAkB,EAAA;AACxD,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAChE;8GAVU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cADhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;AAc3B,MAAM,8BAA8B,GAAqD,CAC9F,KAA6B,EAC7B,KAA0B,EAC1B,UAAyC,MAAM,CAAC,6BAA6B,CAAC,KACrC;AACzC,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;AAC5D,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;;IAE1D,OAAO,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChD;;ACjWM,MAAO,4BAA6B,SAAQ,aAAkB,CAAA;8GAAvD,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAN7B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,MAAM,EAAE,EAAE;AACV,iBAAA,CAAA;;;;;;;;ACkEI,MAAO,gCAAiC,SAAQ,mBAAmB,CAAA;;;;IAU7D,eAAe,GAAA;AACvB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5C;aAAM;AACL,YAAA,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;SAC9B;KACF;AAES,IAAA,gBAAgB,CAAC,CAAwB,EAAA;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjC;AAES,IAAA,cAAc,CAAC,CAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;KAC1B;IAES,MAAM,wBAAwB,CAAC,IAAe,EAAA;;KAEvD;AAED,IAAA,uBAAuB,CAAC,CAAsB,EAAA;AAC5C,QAAA,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACvB,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACpC;KACF;AAES,IAAA,MAAM,oBAAoB,GAAA;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;KACxB;IAES,gBAAgB,GAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAES,iBAAiB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC1C;KACF;8GAjDU,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EA7DjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAIC,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,2JACd,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,8BACtB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,sBAAsB,yNACtB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIV,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBA9D5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,cAAc;wBACd,YAAY;wBACZ,iBAAiB;wBACjB,sBAAsB;wBACtB,iBAAiB;wBACjB,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,MAAM,EAAE,EAAE;AACX,iBAAA,CAAA;;;MCpEY,gCAAgC,CAAA;AAG3C,IAAA,WAAA,CAAoB,QAAkB,EAAU,SAAoB,EAAU,gBAAiD,IAAI,EAAA;QAA/G,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QAAU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAwC;QAF3H,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAMzD,IAAU,CAAA,UAAA,GAAG,IAAI,YAAY,CAAC;AAC5B,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAmB,CAAC;gBAC9D,OAAO,IAAI,EAAE,CAAC;aACf;AACD,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;gBACV,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAmB,CAAC;AAC9D,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;aAChB;AACD,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,GAAG,EAAE,IAAI;AACV,SAAA,CAAC,CAAC;AAGI,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;AAC1D,SAAC,CAAC,CAAC;AAQI,QAAA,IAAA,CAAA,yBAAyB,GAAG,QAAQ,CAAW,MAAK;AACzD,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACrG,SAAC,CAAC,CAAC;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAU,MAAK;YAC/C,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC;QAGI,IAAO,CAAA,OAAA,GAAG,MAAK;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,YAAA,MAAM,OAAO,GAAG,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;YAC5E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,IAAG;gBAC5B,OAAO,IAAI,gCAAgC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAE,CAAC,CAAC;AAC5F,aAAC,CAAC,CAAA;AACJ,SAAC,CAAC;AAGM,QAAA,IAAA,CAAA,aAAa,GAA6B;AAChD,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;AAEM,QAAA,IAAA,CAAA,cAAc,GAA6B;AACjD,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,EAAE;SACZ,CAAC;KA1DD;AAoBM,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE;AAC3C,YAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AAC9B,SAAA,CAAC,CAAC;KACJ;AAoCD,IAAA,iBAAiB,CAAC,KAAa,EAAE,OAAA,GAAmB,IAAI,EAAA;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,EAAE,CAAC;QAChC,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAG;AAChB,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;oBAC/B,KAAK,EAAE,CAAC,CAAC,IAAI;AACb,oBAAA,QAAQ,EAAE;AACR,wBAAA,IAAI,EAAE,UAAU;AACjB,qBAAA;oBACD,KAAK;AACN,iBAAA,CAAC,CAAA;AACJ,aAAC,CAAC,CAAA;SACH;AACD,QAAA,IAAI,OAAO;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;;;;;AAM9B,QAAA,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,QAAA,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;;QAGxE,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,IAAI,gBAAgB,EAAE;AACpB,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;AACD,QAAA,IAAI,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE;AAC1C,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAClC;;AAGD,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AACrB,YAAA,KAAK,EAAE,IAAW;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,IAAW;AACrB,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC3B;IAID,MAAM,IAAI,CAAC,KAAa,EAAA;QACtB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAmB,CAAC;AAC9D,QAAA,OAAO,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;KACnE;AACF;;AClEK,MAAO,4BAA6B,SAAQ,aAAkB,CAAA;AAxCpE,IAAA,WAAA,GAAA;;QAyCY,IAAS,CAAA,SAAA,GAAG,OAAO,CAAC;QAKpB,IAAe,CAAA,eAAA,GAAuB,EAAE,CAAC;AAEzC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/B,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAK9C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAa,IAAI,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;AAKzC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAE1B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAEvB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAA0C,IAAI,CAAC,CAAC;AAE3D,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzH,SAAC,CAAC,CAAC;AA2HJ,KAAA;AAzHU,IAAA,MAAM,QAAQ,GAAA;QACrB,KAAK,CAAC,QAAQ,EAAE,CAAC;;AAEjB,QAAA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;QAEvD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,gCAAgC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;;AAE/F,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC;AAC3H,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,IAAI,QAAQ;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1G,aAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACtB,YAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;SAC1B;;QAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI;YAC5F,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAE,oBAAA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;aAC/C;AACH,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,WAAW,GAAA;AACvB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,OAAmB,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KAC3B;AAED,IAAA,aAAa,CAAC,CAAe,EAAA;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,YAAY;aACd,IAAI,CAAC,gCAAgC,EAAE;YACtC,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAS,OAAA,CAAA;YACjD,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;AAC1D,YAAA,IAAI,EAAE;AACJ,gBAAA,EAAE,EAAE,IAAI,gCAAgC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACrF,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/E,aAAA;SACF,CAAC;AACD,aAAA,IAAI,CAAC,CAAC,CAAM,KAAI;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;AACH,SAAC,CAAC,CAAC;KACN;AAES,IAAA,iBAAiB,CAAC,CAAsB,EAAA;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;KAC9B;AAES,IAAA,YAAY,CAAC,CAAe,EAAA;AACpC,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,SAA+B,CAAC;QAC9C,MAAM,KAAK,GAAI,GAAG,CAAC,OAAO,CAAgB,CAAC,aAAiC,CAAC;QAC7E,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACvB,gBAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;aAClC;iBAAM;AACL,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;AAClB,oBAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC3B;aACF;SACF,EAAE,GAAG,CAAC,CAAC;KACT;IAES,MAAM,aAAa,CAAC,CAAc,EAAA;AAC1C,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,WAA4B,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,aAAa,KAAK,KAAK,EAAE;AACzE,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,YAAA,IAAI,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE;gBACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC3B;KACF;AAEO,IAAA,QAAQ,CAAC,IAAS,EAAA;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;gBAClC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aACjD;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,CAAC,MAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACnC,oBAAA,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;wBACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACvC;yBAAM;wBACL,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;wBAChC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;qBAC7C;AACH,iBAAC,CAAC,CAAC;aACJ;SACF;KACF;IAES,gBAAgB,GAAA;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACrB;IAEM,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC7B;8GA5JU,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAuB5B,kBAAkB,EA9DnB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAIC,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EACX,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,8BACjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,cAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,+IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8BAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIH,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAxCxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBT,EAAA,CAAA;AACD,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,iBAAiB;wBACjB,eAAe;wBACf,cAAc;wBACd,iBAAiB;wBACjB,eAAe;wBACf,kBAAkB;wBAClB,YAAY;AACb,qBAAA;AACD,oBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC;AAC3C,iBAAA,CAAA;8BAyBC,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,kBAAkB,CAAA;;;;;;;;ACzEzB,MAAO,8BAA+B,SAAQ,aAAkB,CAAA;8GAAzD,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EAN/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAE,EAGF,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BAAE,WAAW,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGxB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;AACpC,oBAAA,MAAM,EAAE,EAAE;AACX,iBAAA,CAAA;;;;;;;;ACDK,MAAO,8BAA+B,SAAQ,mBAAwB,CAAA;8GAA/D,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAN/B,CAAc,YAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGd,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAc,YAAA,CAAA;AACxB,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,MAAM,EAAE,CAAC,UAAU,CAAC;AACrB,iBAAA,CAAA;;;;;;;;ACCK,MAAO,6BAA8B,SAAQ,aAAkB,CAAA;8GAAxD,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAN9B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,MAAM,EAAE,EAAE;AACX,iBAAA,CAAA;;;;;;;;ACCK,MAAO,gCAAiC,SAAQ,aAAkB,CAAA;8GAA3D,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANjC,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAGF,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAE,CAAA;AACZ,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,MAAM,EAAE,EAAE;AACX,iBAAA,CAAA;;;;;;;;ACRM,MAAM,eAAe,GAAoB;AAC9C,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,MAAM,0EAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AACtG,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,MAAM,0EAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,4BAA4B,CAAC;AACtG,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,SAAS,EAAE,MAAM,4EAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,8BAA8B,CAAC;AAC1G,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,SAAS,EAAE,MAAM,4EAA0C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,8BAA8B,CAAC;AAC1G,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,SAAS,EAAE,MAAM,2EAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,6BAA6B,CAAC;AACxG,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,SAAS,EAAE,MAAM,8EAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gCAAgC,CAAC;AAC9G,SAAA;AACF,KAAA;CACF;;ACdM,MAAM,oBAAoB,GAAG,mBAAmB,CAAqB,mBAAmB,CAAC,CAAC;AAG3F,MAAO,0BAA2B,SAAQ,iBAAiB,CAAA;AADjE,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAqBzD,KAAA;IAnBC,MAAM,OAAO,CAAC,OAA2B,EAAA;AACvC,QAAA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAS,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAM,MAAM,CAAC,CAAC;AAC9C,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrE,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;AAC/C,YAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU;YAC7F,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI;AAC1E,YAAA,IAAI,EAAE;AACJ,gBAAA,EAAE,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;gBACnD,MAAM;AACP,aAAA;AACF,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnC,QAAA,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;AACrB,YAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/C;KACF;8GA1BU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;AA8BL,MAAO,8BAA+B,SAAQ,iBAAiB,CAAA;IACnE,MAAM,OAAO,CAAC,OAA2B,EAAA;;AAEvC,QAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAS,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;KACxF;AACF,CAAA;AAEM,MAAM,uBAAuB,GAAgB;AAClD,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAE;AACZ,YAAA,MAAM,EAAE,4BAA4B;AACpC,YAAA,SAAS,EAAE;AACT,gBAAA;oBACE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,qCAAqC,EAAE,CAAC;AACnF,oBAAA,UAAU,EAAE,YAAY;AACzB,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,2CAA2C;AACrD,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,UAAU,EAAE,EAAE;AACd,oBAAA,UAAU,EAAE,gBAAgB;AAC7B,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,MAAM,EAAE,gCAAgC;AACxC,YAAA,SAAS,EAAE;AACT,gBAAA;oBACE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,0CAA0C,EAAE,CAAC;AACxF,oBAAA,UAAU,EAAE,aAAa;AAC1B,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,MAAM,EAAE,yBAAyB;AAClC,SAAA;AACF,KAAA;CACF;;ACjFK,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAD9D,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAWpD,KAAA;IATC,MAAM,OAAO,CAAC,OAA2B,EAAA;AACvC,QAAA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC3C,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,QAAQ,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,MAAM,MAAM,CAAA,GAAA,EAAM,MAAM,CAAA,CAAA,EAAI,EAAE,CAAO,KAAA,CAAA;SACzF,CAAC;AACF,QAAA,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAClC;8GAZU,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;AAiBJ,MAAM,0BAA0B,GAAgB;AACrD,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,KAAK,EAAE;AACL,QAAA,cAAc,EAAE;AACd,YAAA,MAAM,EAAE,yBAAyB;AAClC,SAAA;AACF,KAAA;CACF;;ACtBK,MAAO,qBAAsB,SAAQ,iBAAiB,CAAA;AAD5D,IAAA,WAAA,GAAA;;AAEU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AASpD,KAAA;IARC,MAAM,OAAO,CAAC,OAAa,EAAA;AACzB,QAAA,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1E,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,QAAQ,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAA,GAAA,EAAM,UAAU,CAAA,GAAA,EAAM,UAAU,CAAO,KAAA,CAAA;SAC3F,CAAC;AACF,QAAA,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAClC;8GAVU,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;AAcJ,MAAM,uBAAuB,GAAgB;AAClD,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAE;AACZ,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,MAAM,EAAE,uBAAuB;AAChC,SAAA;AACF,KAAA;CACF;;ACTD,SAAS,YAAY,GAAA;AACnB,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC/C,IAAI,MAAM,GAAW,EAAE,CAAC;AACxB,IAAA,MAAM,GAAG;AACP,QAAA;AACE,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YAChC,WAAW,EAAE,CAAC,YAAY,CAAC;AAC3B,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,QAAQ,EAAE;;;;;;AAOR,wBAAA;AACE,4BAAA,IAAI,EAAE,gBAAgB;4BACtB,aAAa,EAAE,MAAK;gCAClB,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;6BACrC;AACD,4BAAA,OAAO,EAAE;AACP,gCAAA,EAAE,EAAE,8BAA8B;AACnC,6BAAA;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,oBAAoB;AAC1B,4BAAA,OAAO,EAAE,EAAE,EAAE,EAAE,gCAAgC,EAAE;4BACjD,aAAa,EAAE,MAAK;gCAClB,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;6BACvC;AACF,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,eAAe;AACrB,4BAAA,UAAU,EAAE,oBAAoB;AAChC,4BAAA,SAAS,EAAE,MAAM;AAClB,yBAAA;AACD,wBAAA;AACE,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,UAAU,EAAE,cAAc;AAC1B,4BAAA,SAAS,EAAE,MAAM;AAClB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF,CAAC;AACF,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;MAsCY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAlCxB,YAAY,EAAAH,IAAA,CAAA,iBAAA,EAAAC,EAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,CAAA,EAAA;AAkCH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EARf,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,YAAY;AACzB,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAhCC,YAAY;YACZ,iBAAiB,CAAC,QAAQ,CAAC;AACzB,gBAAA,OAAO,EAAE;oBACP,0BAA0B;oBAC1B,4BAA4B;AAC5B,oBAAA,uBAAuB,EAAE,4BAA4B;oBACrD,iCAAiC;oBACjC,8BAA8B;oBAC9B,uBAAuB;oBACvB,8BAA8B;oBAC9B,qBAAqB;AACtB,iBAAA;AACD,gBAAA,SAAS,EAAE;AACT,oBAAA,eAAe,EAAE,uBAAuB;AACxC,oBAAA,eAAe,EAAE,uBAAuB;AACxC,oBAAA,uBAAuB,EAAE,8BAA8B;AACvD,oBAAA,aAAa,EAAE,0BAA0B;AACzC,oBAAA,gBAAgB,EAAE,uBAAuB;AAC1C,iBAAA;aACF,CAAC;YACF,sBAAsB,CAAC,QAAQ,CAAC;gBAC9B,OAAO,EAAE,CAAC,eAAe,CAAC;aAC3B,CAAC,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAYO,eAAe,EAAA,UAAA,EAAA,CAAA;kBApC3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB,CAAC,QAAQ,CAAC;AACzB,4BAAA,OAAO,EAAE;gCACP,0BAA0B;gCAC1B,4BAA4B;AAC5B,gCAAA,uBAAuB,EAAE,4BAA4B;gCACrD,iCAAiC;gCACjC,8BAA8B;gCAC9B,uBAAuB;gCACvB,8BAA8B;gCAC9B,qBAAqB;AACtB,6BAAA;AACD,4BAAA,SAAS,EAAE;AACT,gCAAA,eAAe,EAAE,uBAAuB;AACxC,gCAAA,eAAe,EAAE,uBAAuB;AACxC,gCAAA,uBAAuB,EAAE,8BAA8B;AACvD,gCAAA,aAAa,EAAE,0BAA0B;AACzC,gCAAA,gBAAgB,EAAE,uBAAuB;AAC1C,6BAAA;yBACF,CAAC;wBACF,sBAAsB,CAAC,QAAQ,CAAC;4BAC9B,OAAO,EAAE,CAAC,eAAe,CAAC;yBAC3B,CAAC;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,YAAY;AACzB,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;AC1GD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-platform-layout-entity.mjs","sources":["../../../../libs/platform/layout/entity/src/lib/entity.config.ts","../../../../libs/platform/layout/entity/src/lib/entity-registery.service.ts","../../../../libs/platform/layout/entity/src/lib/entity.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/workflows/delete-entity.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-update.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/workflows/modify-section.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity-detail-list.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-single.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-create.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/entity-master-list.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-view.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-selector.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-edit.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-filter.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-column.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-print.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget-designer.component.ts","../../../../libs/platform/layout/entity/src/lib/widgets/lookup-widget/lookup-widget.config.ts","../../../../libs/platform/layout/entity/src/lib/workflows/create-entity.workflow.ts","../../../../libs/platform/layout/entity/src/lib/workflows/show-details.workflow.ts","../../../../libs/platform/layout/entity/src/lib/workflows/show-list.workflow.ts","../../../../libs/platform/layout/entity/src/lib/entity.module.ts","../../../../libs/platform/layout/entity/src/acorex-platform-layout-entity.ts"],"sourcesContent":["import { AXPEntity } from \"@acorex/platform/common\";\nimport { InjectionToken, Type } from \"@angular/core\";\n\n\nexport interface AXPEntityConfigs {\n viewers: {\n root: () => Type<any>;\n detail: {\n list: () => Type<any> | Promise<Type<any>>;\n }\n master: {\n single: () => Type<any> | Promise<Type<any>>;\n create: () => Type<any> | Promise<Type<any>>;\n modify: () => Type<any> | Promise<Type<any>>;\n list: () => Type<any> | Promise<Type<any>>;\n }\n }\n}\n\nexport const AXP_ENTITY_CONFIG_TOKEN = new InjectionToken<AXPEntityConfigs>('AXP_ENTITY_CONFIG_TOKEN');\n\n\nexport interface AXPEntityDefinitionLoader {\n get(moduleName: string, entityName: string): Promise<AXPEntity | null>;\n}\n\n\nexport const AXP_ENTITY_DEFINITION_LOADER = new InjectionToken<AXPEntityDefinitionLoader>('AXP_ENTITY_DEFINITION_LOADER');","import { Injectable, inject } from \"@angular/core\";\nimport { AXP_ENTITY_DEFINITION_LOADER } from \"./entity.config\";\nimport { AXPEntity } from \"@acorex/platform/common\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPEntityDefinitionRegistryService {\n // Stores AXPEntityConfig objects, keyed by a combination of module and entity name.\n private entities = new Map<string, AXPEntity>();\n\n // Entity loader service for dynamically loading entity configurations.\n private loader = inject(AXP_ENTITY_DEFINITION_LOADER); // Assuming AXPEntityLoader is the correct type\n\n\n /**\n * Registers a new entity configuration. Entities are identified uniquely by a combination\n * of their module and name.\n * \n * @param config The configuration object of the entity to be registered.\n */\n register(config: AXPEntity): void {\n const key = this.createEntityKey(config.module, config.name);\n this.entities.set(key, config);\n }\n\n /**\n * Resolves an entity configuration based on module and entity name. If the configuration\n * is not already registered, attempts to load it dynamically. Throws an error if the\n * entity cannot be found or loaded.\n * \n * @param moduleName The module name of the entity.\n * @param entityName The name of the entity.\n * @returns A promise resolving to the entity configuration.\n * @throws Error if the entity configuration cannot be resolved.\n */\n async resolve(moduleName: string, entityName: string): Promise<AXPEntity> {\n const key = this.createEntityKey(moduleName, entityName);\n let config = this.entities.get(key) ?? null;\n\n if (!config) {\n try {\n config = await this.loader.get(moduleName, entityName);\n if (config) {\n this.register(config);\n }\n } catch (error) {\n\n throw error; // Rethrow to allow error handling by caller\n }\n\n if (!config) {\n throw new Error(`Invalid entity name: ${key}`);\n }\n }\n\n return config;\n }\n\n /**\n * Creates a unique key for an entity based on its module and name.\n * \n * @param moduleName The module name of the entity.\n * @param entityName The name of the entity.\n * @returns The unique key for the entity.\n */\n private createEntityKey(moduleName: string, entityName: string): string {\n return `${moduleName}.${entityName}`;\n }\n}\n","import { AXStyleColorType } from \"@acorex/components/common\";\nimport { AXPWidgetColumnNode } from \"@acorex/platform/layout/builder\";\nimport { computed } from \"@angular/core\";\nimport { AXPEntity, AXPEntityAction, AXPEntityCommandScope, AXPEntityProperty, AXPEntityTableColumn, resolveActionLook } from \"@acorex/platform/common\";\n\nexport class AXPEntityCommandTriggerViewModel {\n priority: 'primary' | 'secondary';\n color: AXStyleColorType;\n icon: string;\n title: string;\n name: string\n separated: boolean\n scope: AXPEntityCommandScope;\n\n constructor(entity: AXPEntity, action: AXPEntityAction) {\n this.name = action.command;\n const resolvedLook = resolveActionLook(action);\n this.priority = action.priority;\n this.title = action.title;\n this.separated = action.separated ?? false;\n this.color = action.color ?? resolvedLook.color;\n this.icon = action.icon ?? resolvedLook.icon\n this.scope = action.scope\n }\n}\n\nexport class AXPEntityListViewColumnViewModel {\n\n constructor(private property: AXPEntityProperty, private column: AXPEntityTableColumn) {\n\n }\n\n name = this.property.name;\n title = this.column.title ?? this.property.title;\n visible = this.column?.options?.visible ?? true;\n\n node = computed<AXPWidgetColumnNode>(() => {\n const widget = this.property.schema.interface!;\n return {\n path: this.name,\n type: widget.type,\n options: { ...widget?.options, ...this.column?.options }\n } as AXPWidgetColumnNode;\n\n })\n}\n\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowContext,\n createWorkFlowEvent,\n} from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\n\nexport const AXPEntityDeletedEvent = createWorkFlowEvent<{ entity: string; ids: string[] }>(\n '[Entity] Deleted'\n);\n\n@Injectable()\nexport class AXPEntityPerformDeleteAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const moduleEntity = context.getVariable('entity');\n const [moduleName, entityName] = moduleEntity.split(\".\");\n const data = context.getVariable<any>('data');\n const ids = Array.isArray(data) ? data.map(c => c.id) : [data.id];\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n let deletedCount = 0;\n context.setVariable('deleteSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: 'Deleting Record...',\n mode: 'determinate',\n status: 'Deleting...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if (entity.commands?.delete != null) {\n const deleteExec = entity.commands?.delete?.execute as Function\n const wrappedPromises = (ids as any[])\n .map((id, i) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(deleteExec(id));\n }, i * 200);\n });\n })\n .map((p) =>\n p?.then(\n (value) => {\n deletedCount++;\n dialog.setProgressText(`${deletedCount}/${ids.length}`);\n dialog.setProgressValue((deletedCount / ids.length) * 100);\n return { status: 'fulfilled', value };\n },\n (reason) => ({ status: 'rejected', reason })\n )\n );\n\n const results = await Promise.all(wrappedPromises);\n const successfulPromises = results.filter((result) => result?.status === 'fulfilled').length;\n const failedPromises = results.filter((result) => result?.status === 'rejected').length;\n setTimeout(() => {\n dialog.close();\n }, 300);\n\n // Handle different scenarios for alerts\n if (successfulPromises > 0 && failedPromises === 0) {\n // All items deleted successfully\n await this.dialogService.alert(\n 'Deletion Successful',\n `${successfulPromises} item(s) has been deleted.`,\n 'success'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));\n } else if (successfulPromises > 0 && failedPromises > 0) {\n // Some items deleted successfully, some failed\n await this.dialogService.alert(\n 'Partial Deletion Completed',\n `${successfulPromises} item(s) deleted successfully. However, ${failedPromises} item(s) could not be deleted.`,\n 'warning'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ entity: moduleEntity, ids: ids }));\n } else if (successfulPromises === 0 && failedPromises > 0) {\n // No items deleted, all failed\n await this.dialogService.alert(\n 'Deletion Failed',\n `No items were deleted. ${failedPromises} item(s) failed to delete.`,\n 'danger'\n );\n } else {\n // No items to delete (no successful or failed promises)\n await this.dialogService.alert('No Deletion Needed', 'No items were available to delete.', 'info');\n }\n } else {\n throw new Error(\n `The delete operation cannot be performed on ${entity.title}. This action might be restricted or not applicable for the selected item.`\n );\n }\n }\n}\n\n\nexport const AXPDeleteEntityWorkflow: AXPWorkflow = {\n startStepId: 'confirm-delete',\n steps: {\n \"confirm-delete\": {\n action: 'show-prompt-dialog',\n input: {\n title: 'Warning',\n message: `Are you sure want to delete selected item(s)?`,\n type: 'danger',\n },\n nextSteps: [\n {\n conditions: [\n {\n type: 'AND',\n conditions: [\n { type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' },\n ],\n },\n ],\n nextStepId: 'perform-delete',\n },\n ],\n },\n \"perform-delete\": {\n action: 'entity-perform-delete',\n },\n },\n};\n","import { cloneDeep, merge, set } from \"lodash-es\";\nimport { Injectable, Injector, computed, inject, signal } from \"@angular/core\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { AXPEntity, AXPEntityProperty, AXPGridLayoutOptions, AXPLayoutService } from \"@acorex/platform/common\";\n\n\nexport class AXPEntityMasterUpdateElementViewModel {\n\n constructor(private entity: AXPEntity, private property: AXPEntityProperty) {\n\n }\n\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n editable = computed<boolean>(() => {\n return !(this.property.schema.readonly ?? false)\n });\n\n\n isRequired = computed<boolean>(() => {\n return this.property.validations?.some(c => c.rule == 'required') || false\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const updateProp = this.entity.interfaces?.master?.update?.properties?.find(c => c.name == this.property.name);\n const source = cloneDeep(updateProp?.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: this.editable() ? 'edit' : 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n triggers: widget.triggers,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n { validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\n\nexport class AXPEntityMasterUpdateViewModel {\n\n private entityDef = cloneDeep(this.config)!;\n private workflow = this.injector.get(AXPWorkflowService);\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private entityData: any,\n private props: string[]\n ) {\n }\n\n\n public isInProgress = signal<boolean>(false);\n\n public context = signal<any>(cloneDeep(this.entityData));\n\n elements = computed(() => {\n const props = this.entityDef.properties.filter(c =>\n this.props.includes(c.name) &&\n c.schema.hidden != true);\n return props.map(e => {\n return new AXPEntityMasterUpdateElementViewModel(this.entityDef, e);\n })\n });\n\n public async save(): Promise<any> {\n this.isInProgress.set(true);\n try {\n const com = this.entityDef.commands?.update;\n if (com) {\n const exec = com.execute as Function;\n return await exec(this.context());\n }\n }\n finally {\n this.isInProgress.set(false);\n }\n }\n\n public reset() {\n this.context.set(cloneDeep(this.entityData));\n }\n\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityMasterUpdateViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, id: string, props: string[]): Promise<AXPEntityMasterUpdateViewModel> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.queries.byKey) {\n const func = config.queries.byKey.execute as Function;\n const data = await func(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterUpdateViewModel(this.injector, config, data, props);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n\n\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityMasterUpdateViewModelFactory } from '../entity-master-update.viewmodel';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\nimport { AXP_ENTITY_CONFIG_TOKEN } from '../entity.config';\n\nexport const AXPEntityModifyEvent = createWorkFlowEvent<{ entity: string; values: any }>(\n '[Entity] Modified'\n);\n\n@Injectable()\nexport class AXPEntityModifySectionPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private config = inject(AXP_ENTITY_CONFIG_TOKEN)\n private factory = inject(AXPEntityMasterUpdateViewModelFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [moduleName, entityName] = context.getVariable<string>('entity').split(\".\");\n const { properties, id, title } = context.getVariable('data');\n const entityRef = await this.entityRegistery.resolve(moduleName, entityName);\n const vm = await this.factory.create(moduleName, entityName, id, properties);\n\n const com = await this.config.viewers.master.modify();\n const popup = await this.popupService.open(com, {\n title: title ?? `Modify ${entityRef.formats.individual}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n vm,\n properties,\n entity: entityRef,\n },\n });\n context.setOutput('result', false);\n if (popup.data?.result == true) {\n context.setOutput('result', true);\n context.setVariable('data', cloneDeep(popup.data.context));\n }\n }\n}\n\n@Injectable()\nexport class AXPEntityModifyConfirmedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const updatedData = context.getVariable('data');\n this.dispatch(AXPEntityModifyEvent({ entity: context.getVariable<string>('entity'), values: updatedData }));\n }\n}\n\n\nexport const AXPModifyEntitySectionWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifySectionPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n },\n },\n};\n","import { Injector, computed, signal } from \"@angular/core\";\nimport { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from \"./entity.viewmodel\";\nimport { AXFormatService } from \"@acorex/core/format\";\nimport { AXDataSource, AXDataSourceFilterOption, AXDataSourceOperator } from \"@acorex/components/common\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { AXP_ENTITY_DEFINITION_LOADER } from \"./entity.config\";\nimport { AXPEntity, AXPEntityCommandScope, AXPRelatedEntity } from \"@acorex/platform/common\";\n\n\n\n\nexport class AXPEntityDetailListViewModel {\n\n\n private detailEntity = signal<AXPEntity | null>(null);\n private formatService = this.injector.get(AXFormatService)\n private workflow = this.injector.get(AXPWorkflowService);\n\n\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.detailEntity()?.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.detailEntity()?.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 5,\n key: 'id'\n\n })\n\n constructor(\n private injector: Injector,\n private detailEntityConfig: AXPRelatedEntity,\n private parent: { entity: AXPEntity, data: any },\n ) {\n this.initialize();\n }\n\n async initialize() {\n const loader = this.injector.get(AXP_ENTITY_DEFINITION_LOADER);\n const [moduleName, entityName] = this.detailEntityConfig.entity.split('.');\n const entity = await loader.get(moduleName, entityName)\n if (!entity) {\n throw Error(`Invalid enitity name: ${this.detailEntityConfig.entity}`)\n }\n this.detailEntity.set(entity);\n this.applyFilterAndSort();\n\n }\n\n public selectedItems = signal<any[]>([]);\n\n public hasSelectedItems = computed<boolean>(() => {\n return this.selectedItems().length > 0\n });\n\n public clearSelection(): void {\n this.selectedItems.set([]);\n }\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n return this.detailEntityConfig.title ?? this.detailEntity()?.interfaces?.detail?.list?.title! ?? this.detailEntity()?.formats.plural!;\n });\n\n //****************** Inline filter ******************//\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n //return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);\n return [];\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n\n //****************** Actions ******************//\n private allActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n const list = this.detailEntity()?.interfaces?.master?.list?.actions ?? [];\n return list\n .map((tr) => new AXPEntityCommandTriggerViewModel(this.detailEntity()!, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.priority == 'primary') &&\n (\n (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())\n )\n );\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.priority == 'secondary') &&\n (\n (a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems())\n )\n );\n });\n\n public rowActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions()\n .filter(a =>\n (a.scope == AXPEntityCommandScope.Individual)\n );\n });\n\n //****************** Filter ******************//\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: []\n };\n\n applyInlineFilter(value: string) {\n // const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);\n // this.inlineFilters.filters = [];\n // if (value) {\n // props.forEach(p => {\n // this.inlineFilters.filters?.push({\n // field: p.name,\n // operator: {\n // type: 'contains'\n // },\n // value\n // })\n // })\n // }\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n //this.dataSource.sort(...this.detailEntity.().map(s => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n\n const parentFilters: AXDataSourceFilterOption[] = this.detailEntityConfig.conditions?.map(c => {\n return {\n field: c.name,\n operator: (c.operator as unknown as AXDataSourceOperator),\n value: this.parent.data?.id\n } as AXDataSourceFilterOption;\n }) ?? [];\n const parentFilterWrapper: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: parentFilters\n };\n //\n const inline = this.inlineFilters.filters?.length ?? 0;\n const parent = parentFilterWrapper.filters?.length ?? 0;\n //\n if (inline) {\n this.dataSource.filter(this.inlineFilters);\n }\n else if (!inline && parent) {\n this.dataSource.filter(parentFilterWrapper);\n }\n else if (inline && parent) {\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [this.inlineFilters, parentFilterWrapper]\n });\n }\n //\n this.dataSource.refresh();\n }\n\n\n //****************** Columns ******************//\n\n columns = computed(() => {\n if (this.detailEntity()) {\n const detailColumns = this.detailEntityConfig.columns ?? []\n const columns = this.detailEntity()?.columns?.map(c => c.name) ?? [];\n const props = this.detailEntity()?.properties.filter(p =>\n p.schema.hidden != true &&\n (detailColumns?.length == 0 || detailColumns?.includes(p.name))\n ) ?? []\n const displayColumns = props.filter(p => columns.some(c => c == p.name));\n return displayColumns.map(p => {\n return new AXPEntityListViewColumnViewModel(p, this.detailEntity()?.columns?.find(c => c.name == p.name)!);\n })\n }\n return [];\n });\n\n\n\n //****************** Commands ******************//\n public async executeCommand(commandName: string, data: any = null) {\n const action = this.allActions().find(c =>\n c.name == commandName &&\n (\n (this.selectedItems().length ?\n c.scope == AXPEntityCommandScope.Selected :\n c.scope == AXPEntityCommandScope.Individual\n ) ||\n c.scope == AXPEntityCommandScope.TypeLevel\n )\n );\n await this.workflow.execute(commandName, {\n entity: this.detailEntity()?.source,\n data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data\n })\n }\n\n}\n\n\n","import { AXFormatService } from \"@acorex/core/format\";\nimport { cloneDeep, merge, set } from \"lodash-es\";\nimport { DestroyRef, Injectable, Injector, computed, inject, signal } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from \"@angular/router\";\nimport { AXPWorkflowService, ofType } from \"@acorex/platform/workflow\";\nimport { AXPSessionService } from \"@acorex/platform/auth\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPEntityCommandTriggerViewModel } from \"./entity.viewmodel\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPEntityDeletedEvent } from \"./workflows/delete-entity.workflow\";\nimport { AXPEntityModifyEvent } from \"./workflows/modify-section.workflow\";\nimport { AXPEntityDetailListViewModel } from \"./entity-detail-list.viewmodel\";\nimport { AXPBeardCrumb, AXPEntity, AXPEntityCommandScope, AXPEntityProperty, AXPEntityPropertyView, AXPEntitySectionView, AXPGridLayoutOptions, AXPLayoutService } from \"@acorex/platform/common\";\nimport { Subject, takeUntil } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\n\n\nexport class AXPEntityMasterSingleViewGroupViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntitySectionView) {\n }\n\n\n group = this.entity.groups?.find(c => c.id == this.section.id)!;\n name = signal(this.group.id);\n isLoading = signal(false);\n\n title = computed<string>(() => {\n return this.group.title ?? this.group.id;\n });\n\n description = computed<string | null | undefined>(() => {\n return this.group.description;\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.section.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n props = computed(() => {\n const { properties, interfaces } = this.entity;\n const groupProperties = properties\n .filter(({ groupId, schema }) => groupId === this.group.id && !schema.hidden)\n .map(({ name }) => name);\n\n const viewProperties = interfaces?.master?.single?.properties?.filter(({ name }) =>\n groupProperties.includes(name)\n ) ?? [];\n\n return viewProperties.map(prop =>\n new AXPEntityMasterSingleElementViewModel(this.entity, this, prop)\n );\n });\n\n editableProps = computed(() => {\n const { properties, interfaces } = this.entity;\n const editablePropertyNames = interfaces?.master?.update?.properties?.map(({ name }) => name) ?? [];\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId === this.group.id && !schema.hidden && editablePropertyNames.includes(name)\n );\n\n return filteredProperties.map(prop =>\n new AXPEntityMasterSingleElementViewModel(this.entity, this, prop)\n );\n });\n\n editable = computed(() => {\n return this.editableProps().length > 0\n });\n}\n\nexport class AXPEntityMasterSingleElementViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntityMasterSingleViewGroupViewModel, private propertyView: AXPEntityPropertyView) {\n\n }\n\n private property = this.entity.properties.find(c => c.name == this.propertyView.name)!\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const viewProp = this.entity.interfaces?.master?.single?.properties?.find(c => c.name == this.property.name);\n const source = cloneDeep(viewProp?.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n //{ validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\n\nexport class AXPEntityMasterSingleViewModel {\n\n private readonly entityDef = cloneDeep(this.config)!;\n private readonly _viewDef = cloneDeep(this.entityDef.interfaces?.master?.single)!\n private readonly session = this.injector.get(AXPSessionService);\n private readonly formatService = this.injector.get(AXFormatService)\n private readonly workflow = this.injector.get(AXPWorkflowService)\n private readonly destroyed = new Subject<void>();\n private translateService = this.injector.get(AXTranslationService);\n\n public events$: Subject<{ action: string }> = new Subject();\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private entityData: any,\n ) {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n if (\n event.payload.entity == this.entityDef.source &&\n event.payload.ids.includes(this.context().id)\n ) {\n this.workflow.execute('show-list-view', {\n entity: this.entityDef.source\n });\n }\n });\n this.workflow.events$\n .pipe(ofType(AXPEntityModifyEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe(async (event) => {\n if (\n event.payload.entity == this.entityDef.source &&\n event.payload.values.id === this.context().id\n ) {\n this.context.set(event.payload.values);\n }\n });\n }\n\n\n public context = signal<any>(cloneDeep(this.entityData));\n\n private actions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.entityDef.interfaces?.master?.single?.actions?.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.actions().filter(c => c.priority == 'primary');\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.actions().filter(c => c.priority == 'secondary');\n });\n\n public sections = computed<AXPEntityMasterSingleViewGroupViewModel[]>(() => {\n const { interfaces, properties } = this.entityDef;\n const viewProps = interfaces?.master?.single?.properties?.map(({ name }) => name) ?? [];\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId && !schema.hidden && viewProps.includes(name)\n );\n\n const groups = interfaces?.master?.single?.sections?.filter(({ id }) =>\n filteredProperties.some(({ groupId }) => groupId === id)\n ) ?? [];\n\n return groups.map(section =>\n new AXPEntityMasterSingleViewGroupViewModel(this.entityDef, section)\n );\n });\n\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n const suggestedProps = this.entityDef.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n return this.formatService.format(this._viewDef.title ?? suggestedFormat,\n 'string',\n this.context()\n );\n });\n //****************** Description ******************//\n public description = computed<string | null>(() => {\n return this._viewDef.description ? this.formatService.format(this._viewDef.description,\n 'string',\n this.context()\n ) : null;\n });\n\n //****************** Beardcrumbs ******************//\n public beardcrumbs = computed<AXPBeardCrumb[]>(() => {\n return [\n {\n title: this.translateService.translateSync('entity.home'),\n icon: \"fa-solid fa-home ax-text-xs ax-me-2\",\n url: [`/${this.session.application?.name}`]\n },\n {\n title: this.entityDef.formats.plural ?? this.entityDef.formats.individual,\n url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list']\n },\n {\n title: this.title(),\n }\n ]\n });\n\n\n public relatedEntities = computed<AXPEntityDetailListViewModel[]>(() => {\n return this.entityDef.relatedEntities?.map(re =>\n new AXPEntityDetailListViewModel(this.injector, re, { entity: this.entityDef, data: this.entityData })\n ) ?? []\n });\n\n\n public async executeCommand(commandName: string, data: any = null) {\n //TODO: syntact for workflow\n switch (commandName) {\n case 'modify-entity-section': {\n this.workflow.execute('modify-entity-section', {\n entity: this.entityDef.source,\n data: {\n id: this.context().id,\n properties: (data as AXPEntityMasterSingleViewGroupViewModel).editableProps().map(m => m.name()),\n },\n });\n break;\n }\n default:\n {\n const action = this.actions().find(c => c.name == commandName);\n this.workflow.execute(commandName, {\n entity: this.entityDef.source,\n data: action?.scope == AXPEntityCommandScope.Individual ? this.context() : null\n })\n }\n }\n }\n //\n //\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityDetailViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, id: string): Promise<AXPEntityMasterSingleViewModel> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.queries.byKey) {\n const func = config.queries.byKey.execute as Function;\n const data = await func(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterSingleViewModel(this.injector, config, data);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n\n\nexport const AXPEntityDetailViewModelResolver: ResolveFn<Promise<AXPEntityMasterSingleViewModel>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityDetailViewModelFactory = inject(AXPEntityDetailViewModelFactory)\n): Promise<AXPEntityMasterSingleViewModel> => {\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n const id = route.paramMap.get('id') as string;\n //\n return service.create(moduleName, entityName, id);\n};\n\n\n","import { Injectable, inject, Injector, computed, signal } from \"@angular/core\";\nimport { AXPEntityDefinitionRegistryService } from \"./entity-registery.service\";\nimport { AXPWorkflowService } from \"@acorex/platform/workflow\";\nimport { cloneDeep, merge, set } from \"lodash-es\";\nimport { AXPWidgetNode } from \"@acorex/platform/layout/builder\";\nimport { AXPEntity, AXPEntityPropertyGroup, AXPGridLayoutOptions, AXPEntityProperty, AXPLayoutService, AXPEntityPropertyCreateView, AXPEntitySectionView } from \"@acorex/platform/common\";\n\nexport class AXPEntityCreateViewSectionViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntitySectionView) {\n }\n\n\n group = this.entity.groups?.find(c => c.id == this.section.id)!;\n name = signal(this.group.id);\n\n title = computed<string>(() => {\n return this.group.title ?? this.group.id;\n });\n\n description = computed<string | null | undefined>(() => {\n return this.group.description;;\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.section.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n\n elements = computed(() => {\n const { interfaces, properties } = this.entity;\n const createProps = interfaces?.master?.create?.properties ?? [];\n const createPropNames = new Set(createProps.map(({ name }) => name));\n\n const filteredProperties = properties.filter(({ groupId, schema, name }) =>\n groupId === this.group.id &&\n !schema.hidden &&\n createPropNames.has(name)\n );\n\n return filteredProperties.map(property => {\n const createProp = createProps.find(({ name }) => name === property.name);\n return new AXPEntityCreateViewElementViewModel(this.entity, this, property, createProp!);\n });\n });\n}\n\nexport class AXPEntityCreateViewElementViewModel {\n\n constructor(private entity: AXPEntity, private section: AXPEntityCreateViewSectionViewModel, private property: AXPEntityProperty, private createProp: AXPEntityPropertyCreateView) {\n\n }\n\n name = signal(this.property.name);\n title = signal(this.property.title);\n description = signal(this.property.description);\n\n editable = computed<boolean>(() => {\n return !(this.property.schema.readonly ?? false)\n });\n\n isRequired = computed<boolean>(() => {\n return this.property.validations?.some(c => c.rule == 'required') || false\n });\n\n layout = computed<AXPGridLayoutOptions>(() => {\n const source = cloneDeep(this.createProp.layout ?? {}) as object;\n set(source, \"positions.default.colSpan\", 12);\n return source as AXPGridLayoutOptions;\n });\n\n node = computed<AXPWidgetNode>(() => {\n const schema = this.property.schema!;\n const widget = schema.interface!;\n return {\n type: widget.type,\n mode: this.editable() ? 'edit' : 'view',\n path: this.name(),\n children: widget.children,\n formula: widget.formula,\n triggers: widget.triggers,\n options: merge(\n schema.interface?.options,\n //this.property.options?.create?.widget,\n { validationRules: this.property.validations },\n )\n } as AXPWidgetNode;\n })\n}\n\n\nexport class AXPEntityMasterCreateViewModel {\n\n private entityDef = cloneDeep(this.config)!;\n\n private workflow = this.injector.get(AXPWorkflowService)\n\n\n constructor(\n private injector: Injector,\n private config: AXPEntity,\n private initialData: any = {},\n ) {\n\n if (!initialData)\n initialData = {};\n this.config.properties\n .filter(c => c.schema.defaultValue != null)\n .forEach(p => {\n if (typeof p.schema.defaultValue === 'function') {\n const func = p.schema.defaultValue as Function;\n set(initialData, p.name, func(initialData));\n }\n else {\n set(initialData, p.name, p.schema.defaultValue);\n }\n });\n this.context.set(initialData);\n }\n\n public context = signal<any>(this.initialData ?? {});\n\n public isInProgress = signal<boolean>(false);\n\n public sections = computed<AXPEntityCreateViewSectionViewModel[]>(() => {\n const { interfaces, properties } = this.entityDef;\n const createProps = interfaces?.master?.create?.properties?.map(({ name }) => name) ?? [];\n\n const visibleProperties = properties.filter(({ groupId, schema, name }) =>\n groupId && !schema.hidden && createProps.includes(name)\n );\n\n const sections = interfaces?.master?.create?.sections?.filter(({ id }) =>\n visibleProperties.some(({ groupId }) => groupId === id)\n ) ?? [];\n\n return sections.map(section => new AXPEntityCreateViewSectionViewModel(this.entityDef, section));\n });\n\n public async save(): Promise<any | void> {\n try {\n this.isInProgress.set(true);\n const exec = this.entityDef.commands?.create?.execute as Function;\n return await exec((this.context()));\n }\n finally {\n this.isInProgress.set(false);\n }\n }\n\n public async createNewOne() {\n await this.workflow.execute('create-entity', {\n payload: {\n module: this.entityDef.module,\n entity: this.entityDef.name,\n },\n });\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityCreateViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string, initialData: any = null): Promise<AXPEntityMasterCreateViewModel> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterCreateViewModel(this.injector, config, initialData);\n }\n}\n\n","import { AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption } from '@acorex/components/common';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPBeardCrumb, AXPEntity, AXPEntityCommandScope, AXPLayoutService, AXPQueryView } from '@acorex/platform/common';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { Injectable, Injector, computed, inject, signal } from '@angular/core';\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';\nimport { cloneDeep } from 'lodash-es';\nimport { Subject, takeUntil } from 'rxjs';\nimport { AXPEntityDefinitionRegistryService } from './entity-registery.service';\nimport { AXPEntityCommandTriggerViewModel, AXPEntityListViewColumnViewModel } from './entity.viewmodel';\nimport { AXPEntityDeletedEvent } from './workflows/delete-entity.workflow';\nimport { AXTranslationService } from '@acorex/core/translation';\n\nexport interface AXPEntityMasterListViewSortPropViewModel {\n name: string;\n title: string;\n dir: string;\n}\n\nexport class AXPEntityMasterListViewQueryViewModel {\n constructor(private entity: AXPEntity, private section: AXPEntityMasterListViewModel, private view: AXPQueryView) {}\n\n name = this.view.name;\n title = this.view.title;\n sorts = this.view.sorts;\n columns = this.view.columns;\n conditions = this.view.conditions;\n}\n\nexport class AXPEntityMasterListViewModel {\n private readonly entityDef = cloneDeep(this.config)!;\n private readonly _viewDef = cloneDeep(this.entityDef.interfaces?.master?.list)!;\n private readonly formatService = this.injector.get(AXFormatService);\n private readonly session = this.injector.get(AXPSessionService);\n private readonly workflow = this.injector.get(AXPWorkflowService);\n private readonly destroyed = new Subject<void>();\n private translateService = this.injector.get(AXTranslationService);\n\n public events$: Subject<{ action: string }> = new Subject();\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.entityDef.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.entityDef.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 10,\n key: 'id',\n });\n\n constructor(private injector: Injector, private config: AXPEntity) {\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent))\n .pipe(takeUntil(this.destroyed))\n .subscribe((event) => {\n\n if (event.payload.entity == this.entityDef.source) {\n this.selectedItems.set([]);\n this.events$.next({ action: 'refresh' });\n }\n });\n }\n\n public selectedItems = signal<any[]>([]);\n\n public hasSelectedItems = computed<boolean>(() => {\n return this.selectedItems().length > 0;\n });\n\n public clearSelection(): void {\n this.selectedItems.set([]);\n }\n\n //****************** Title ******************//\n public title = computed<string>(() => {\n return this._viewDef.title ?? this.entityDef.formats.plural!;\n });\n //****************** Description ******************//\n public description = computed<string | null>(() => {\n return this._viewDef.description ?? null;\n });\n\n //****************** Inline filter ******************//\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n return this.entityDef.properties.filter((p) => p.options?.filter?.inline?.enabled).map((c) => c.title);\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n //****************** Beardcrumbs ******************//\n public beardcrumbs = computed<AXPBeardCrumb[]>(() => {\n return [\n {\n title: this.translateService.translateSync('entity.home'),\n icon: 'fa-solid fa-home ax-text-xs ax-me-2',\n url: [`/${this.session.application?.name}`],\n },\n {\n title: this.title(),\n url: [`/${this.session.application?.name}`, 'm', `${this.entityDef.module}`, 'e', `${this.entityDef.name}`, 'list'],\n },\n ];\n });\n\n //****************** Actions ******************//\n private allActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n const list = this.entityDef.interfaces?.master?.list?.actions ?? [];\n return list.map((tr) => new AXPEntityCommandTriggerViewModel(this.entityDef, tr)) ?? [];\n });\n\n public primaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter(\n (a) =>\n a.priority == 'primary' &&\n ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems()))\n );\n });\n\n public secondaryActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter(\n (a) =>\n a.priority == 'secondary' &&\n ((a.scope == AXPEntityCommandScope.Selected && this.hasSelectedItems()) ||\n (a.scope == AXPEntityCommandScope.TypeLevel && !this.hasSelectedItems()))\n );\n });\n\n public rowActions = computed<AXPEntityCommandTriggerViewModel[]>(() => {\n return this.allActions().filter((a) => a.scope == AXPEntityCommandScope.Individual);\n });\n\n //****************** Filter ******************//\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: [],\n };\n\n private advanceFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [],\n };\n\n applyInlineFilter(value: string) {\n const props = this.entityDef.properties.filter((c) => c.options?.filter?.inline?.enabled);\n this.inlineFilters.filters = [];\n if (value) {\n props.forEach((p) => {\n this.inlineFilters.filters?.push({\n field: p.name,\n operator: {\n type: 'contains',\n },\n value,\n });\n });\n }\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n this.dataSource.sort(...this.sortedFields().map((s) => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n this.advanceFilters.filters = this.view().conditions.map((f) => ({\n field: f.name,\n operator: f.operator,\n value: f.value,\n }));\n //\n const inline = this.inlineFilters.filters?.length ?? 0;\n const advance = this.advanceFilters.filters?.length ?? 0;\n if (inline && !advance) {\n this.dataSource.filter(this.inlineFilters);\n } else if (!inline && advance) {\n this.dataSource.filter(this.advanceFilters);\n } else if (inline && advance) {\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [this.inlineFilters, this.advanceFilters],\n });\n }\n //\n this.dataSource.refresh();\n }\n\n //****************** Columns ******************//\n\n private allAvailableColumns = (): AXPEntityListViewColumnViewModel[] => {\n const { columns = [], properties } = this.entityDef;\n const visibleProperties = properties.filter(({ schema }) => !schema?.hidden);\n const visiblePropNames = new Set(visibleProperties.map(({ name }) => name));\n\n return columns\n .filter(({ name }) => visiblePropNames.has(name))\n .map((column) => {\n const property = visibleProperties.find(({ name }) => name === column.name);\n return new AXPEntityListViewColumnViewModel(property!, column);\n });\n };\n\n visibleColumnCount = () => {\n return this.columns().filter((c) => c.visible == true).length;\n };\n\n columns = signal<AXPEntityListViewColumnViewModel[]>([]);\n\n resetColumns() {\n this.applyViewColumns();\n }\n\n applyColumns() {\n //this.columns.set(this.clonedColumns())\n }\n\n applyViewColumns() {\n const cols = this.view().columns;\n const cloned = this.allAvailableColumns().map((c) => {\n const column = this.entityDef.columns?.find((cc) => cc.name == c.name);\n const prop = this.entityDef.properties.find((p) => p.name == c.name);\n const col = new AXPEntityListViewColumnViewModel(prop!, column!);\n col.visible = !cols.some((c) => c == col.name) && col.visible != false;\n return col;\n });\n this.columns.set(cloned);\n }\n\n //****************** Sort ******************//\n\n sortableFields = () => {\n const props = this.entityDef.properties.filter((c) => c.options?.sort?.enabled);\n return props.map((e) => {\n return {\n name: e.name,\n title: e.title,\n dir: 'asc',\n };\n });\n };\n\n sortableFieldsCount = () => {\n return this.entityDef.properties.filter((c) => c.options?.sort?.enabled).length ?? 0;\n };\n\n canSort = () => {\n return this.sortableFieldsCount() > 0;\n };\n\n canAddMoreSort = () => {\n return this.sortedCount() < this.sortableFieldsCount();\n };\n\n sortedCount = () => {\n return this.sortedFields().length;\n };\n\n sortedFields = signal<AXPEntityMasterListViewSortPropViewModel[]>([]);\n\n resetSorts() {\n this.applyViewSorts();\n }\n\n applySorts() {\n this.applyFilterAndSort();\n }\n\n addSort(): void {\n const prop = this.sortableFields().find((c) => !this.sortedFields().some((s) => s.name == c.name));\n if (prop) {\n this.sortedFields.set([...this.sortedFields(), ...[prop]]);\n }\n }\n\n removeSort(name: string): void {\n this.sortedFields.set(this.sortedFields().filter((c) => c.name != name));\n }\n\n applyViewSorts() {\n const fileds = this.view().sorts.map((c) => ({\n name: c.name,\n title: c.name,\n dir: c.dir ?? 'asc',\n }));\n this.sortedFields.set(fileds);\n }\n\n //****************** Views ******************//\n\n setView(viewName: string | null = null) {\n if (viewName != this.view().name) {\n this.view.set(this.views().find((c) => c.name == viewName) ?? this.views()[0]);\n this.applyViewSorts();\n this.applyViewColumns();\n this.applyFilterAndSort();\n }\n }\n\n views = computed(() => {\n const views = this.entityDef.interfaces?.master?.list?.views ?? [];\n return views.map((v) => {\n return new AXPEntityMasterListViewQueryViewModel(this.entityDef, this, v);\n });\n });\n\n view = signal<AXPEntityMasterListViewQueryViewModel>(this.views()[0]);\n\n //****************** Commands ******************//\n public async executeCommand(commandName: string, data: any = null) {\n const action = this.allActions().find(\n (c) =>\n c.name == commandName &&\n ((this.selectedItems().length ? c.scope == AXPEntityCommandScope.Selected : c.scope == AXPEntityCommandScope.Individual) ||\n c.scope == AXPEntityCommandScope.TypeLevel)\n );\n await this.workflow.execute(commandName, {\n entity: this.entityDef.source,\n data: action?.scope == AXPEntityCommandScope.Selected ? this.selectedItems() : data,\n });\n }\n //\n destroy() {\n this.destroyed.next();\n this.destroyed.complete();\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityListViewModelFactory {\n private entityService = inject(AXPEntityDefinitionRegistryService);\n private layout = inject(AXPLayoutService);\n private injector = inject(Injector);\n\n public async create(moduleName: string, entityName: string): Promise<AXPEntityMasterListViewModel> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(false);\n return new AXPEntityMasterListViewModel(this.injector, config);\n }\n}\n\nexport const AXPEntityListViewModelResolver: ResolveFn<Promise<AXPEntityMasterListViewModel>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityListViewModelFactory = inject(AXPEntityListViewModelFactory)\n): Promise<AXPEntityMasterListViewModel> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n //\n return service.create(moduleName, entityName);\n};\n","import { AXLoadingModule } from '@acorex/components/loading';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '../../entity.config';\n\n@Component({\n template: `\n <span>\n @if(loading()){\n <ax-loading></ax-loading>\n }@else{\n {{ displayText() }}\n }\n </span>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXLoadingModule],\n inputs: [],\n})\nexport class AXPLookupWidgetViewComponent extends AXPWidgetBase<any> {\n protected formatService = inject(AXFormatService);\n protected loader = inject(AXP_ENTITY_DEFINITION_LOADER);\n private entityDef: AXPEntity | null;\n\n protected displayText = signal('');\n protected loading = signal(false);\n protected selectedItem = signal<any | null>(null);\n\n protected textField = 'title';\n protected expose: string | undefined;\n protected entity: string;\n\n override async ngOnInit() {\n super.ngOnInit();\n\n const [module, entity] = this.entity.split('.');\n this.entityDef = await this.loader.get(module, entity);\n this.textField = this.entityDef?.formats.lookup ?? this.entityDef?.properties.find((c) => c.name != 'id')?.name ?? 'title';\n const value = this.getValue();\n if (typeof value == 'object' && !Array.isArray(value)) this.displayText.set(this.formatService.format(this.textField, 'string', value));\n else if (value != null) {\n this.setItem();\n }\n }\n\n async setItem() {\n this.loading.set(true);\n const byKey = this.entityDef?.queries.byKey?.execute as Function;\n const item = await byKey(this.getValue());\n const text = this.formatService.format(this.textField, 'string', item);\n this.loading.set(false);\n this.displayText.set(text);\n }\n}\n","import { AXCommonModule, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDataTableModule, AXDataTableRowClick, AXDataTableRowDbClick } from '@acorex/components/data-table';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPLookupWidgetSelectorViewModel } from './lookup-widget-selector.viewmodel';\n@Component({\n template: `\n <div class=\"ax-p-4 ax-flex ax-flex-col ax-gap-4 ax-overflow-hidden\">\n @if(vm.hasInlineFilters()) {\n <div class=\"ax-w-full\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate) + vm.inlineFiltersPlaceholders().join(', ')\"\n [value]=\"searchTerm\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"\n [axAutoFocus]=\"true\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n }\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-h-[50vh]\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\"\n (onRowClick)=\"handleRowClick($event)\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\n <!-- <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column> -->\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } }\n </ax-data-table>\n </div>\n <ax-footer>\n <ax-suffix>\n <ax-button look=\"solid\" color=\"ghost\" text=\"Close\" (onClick)=\"handleCloseClick()\"> </ax-button>\n <ax-button look=\"solid\" color=\"primary\" text=\"Select\" (onClick)=\"handleSelectClick()\" [disabled]=\"focusedRow == null\"> </ax-button>\n @if(!vm.canCreate()) {\n <ax-button look=\"solid\" color=\"primary\" [text]=\"'Create-New' | translate | async\" (onClick)=\"handleCreateNewClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"></ax-icon>\n </ax-prefix>\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXCommonModule,\n AXButtonModule,\n AXFormModule,\n AXDecoratorModule,\n AXDropdownButtonModule,\n AXDataTableModule,\n AXSearchBoxModule,\n AXPLayoutBuilderModule,\n AXTranslationModule,\n ],\n inputs: [],\n})\nexport class AXPLookupWidgetSelectorComponent extends AXBasePageComponent {\n protected vm: AXPLookupWidgetSelectorViewModel;\n protected searchTerm: string;\n protected focusedRow: any;\n\n // protected override ngOnInit(): void {\n // super.ngOnInit();\n\n // }\n\n protected ngAfterViewInit() {\n if (this.searchTerm) {\n this.vm.applyInlineFilter(this.searchTerm);\n } else {\n this.vm.applyFilterAndSort();\n }\n }\n\n protected handleRowDbClick(e: AXDataTableRowDbClick) {\n this.close({ items: [e.data] });\n }\n\n protected handleRowClick(e: AXDataTableRowClick) {\n this.focusedRow = e.data;\n }\n\n protected async handleSelectedRowsChange(rows: unknown[]) {\n //this.vm.selectedItems.set(rows);\n }\n\n handleChangeSearchValue(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.vm.applyInlineFilter(e.value);\n }\n }\n\n protected async handleCreateNewClick() {\n this.close();\n await this.vm.create();\n }\n\n protected handleCloseClick() {\n this.close();\n }\n\n protected handleSelectClick() {\n if (this.focusedRow) {\n this.close({ items: [this.focusedRow] });\n }\n }\n}\n","import { AXDataSource, AXDataSourceCallbackResult, AXDataSourceFilterOption } from '@acorex/components/common';\nimport { AXPEntityListViewColumnViewModel } from '../../entity.viewmodel';\nimport { computed, Injector } from '@angular/core';\nimport { AXPEntity } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\n\n\nexport class AXPLookupWidgetSelectorViewModel {\n private workflow = this.injector.get(AXPWorkflowService);\n\n constructor(private injector: Injector, private entityDef: AXPEntity, private parentFilters: AXDataSourceFilterOption | null = null) {\n\n }\n\n dataSource = new AXDataSource({\n byKey: (key) => {\n const func = this.entityDef.queries.byKey.execute as Function;\n return func();\n },\n load: (e) => {\n const func = this.entityDef.queries.list?.execute as Function;\n return func(e);\n },\n pageSize: 10,\n key: 'id'\n });\n\n\n public canCreate = computed(() => {\n return this.entityDef.commands?.create?.execute != null;\n });\n\n public async create(): Promise<void> {\n await this.workflow.execute('create-entity', {\n entity: this.entityDef.source,\n });\n }\n\n public inlineFiltersPlaceholders = computed<string[]>(() => {\n return this.entityDef.properties.filter(p => p.options?.filter?.inline?.enabled).map(c => c.title);\n });\n\n public hasInlineFilters = computed<boolean>(() => {\n return this.inlineFiltersPlaceholders().length > 0;\n });\n\n\n public columns = () => {\n const listColumns = this.entityDef.columns ?? [];\n const columns = listColumns?.map(c => c.name) ?? [];\n const props = this.entityDef.properties.filter(p => p.schema.hidden != true)\n const displayColumns = props.filter(p => columns.some(c => c == p.name));\n return displayColumns.map(p => {\n return new AXPEntityListViewColumnViewModel(p, listColumns?.find(c => c.name == p.name)!);\n })\n };\n\n\n private inlineFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'or',\n operator: null as any,\n filters: []\n };\n\n private advanceFilters: AXDataSourceFilterOption = {\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: []\n };\n\n applyInlineFilter(value: string, refresh: boolean = true) {\n const props = this.entityDef.properties.filter(c => c.options?.filter?.inline?.enabled);\n this.inlineFilters.filters = [];\n if (value) {\n props.forEach(p => {\n this.inlineFilters.filters?.push({\n field: p.name,\n operator: {\n type: 'contains'\n },\n value\n })\n })\n }\n if (refresh)\n this.applyFilterAndSort();\n }\n\n applyFilterAndSort() {\n this.dataSource.clearFilter();\n //\n //this.dataSource.sort(...this.sortedFields().map(s => ({ dir: s.dir, field: s.name } as AXDataSourceSortOption)));\n //\n\n // Check if inlineFilters or parentFilters have any filters\n const hasInlineFilters = (this.inlineFilters?.filters?.length ?? 0) > 0;\n const hasParentFilters = (this.parentFilters?.filters?.length ?? 0) > 0;\n\n // Construct the filters array based on the presence of filters\n const filters: AXDataSourceFilterOption[] = [];\n if (hasInlineFilters) {\n filters.push(this.inlineFilters);\n }\n if (hasParentFilters && this.parentFilters) {\n filters.push(this.parentFilters);\n }\n\n // Apply the filters to the dataSource\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: filters\n });\n\n // Refresh the dataSource\n this.dataSource.refresh();\n }\n\n\n\n async find(value: string): Promise<AXDataSourceCallbackResult<any>> {\n this.applyInlineFilter(value.trim(), false);\n const func = this.entityDef.queries.list?.execute as Function;\n return await func({ filter: this.inlineFilters, take: 10 }) ?? [];\n }\n}","import { AXButtonModule } from '@acorex/components/button';\nimport { AXClickEvent, AXDataSourceFilterOption, AXFocusEvent, AXHtmlEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxComponent, AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXPEntity, AXPQueryFilter } from '@acorex/platform/common';\nimport { AXPLayoutBuilderService, AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Injector, ViewChild, computed, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { get } from 'lodash-es';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '../../entity.config';\nimport { AXPLookupWidgetSelectorComponent } from './lookup-widget-selector.component';\nimport { AXPLookupWidgetSelectorViewModel } from './lookup-widget-selector.viewmodel';\nimport { AXPValidationRules } from '@acorex/platform/core';\n\n@Component({\n template: `\n <ax-text-box\n [ngModel]=\"displayText()\"\n (onValueChanged)=\"handleValueChange($event)\"\n [placeholder]=\"placeholder()\"\n (onKeyUp)=\"handleKeyDown($event)\"\n (onBlur)=\"handleOnBlur($event)\"\n >\n @for (validation of validationRules; track $index) {\n <ax-validation-rule [rule]=\"validation.rule\" [message]=\"validation.options?.message\" [options]=\"validation.options\"></ax-validation-rule>\n }\n <ax-clear-button (click)=\"handleClearClick()\"></ax-clear-button>\n\n <ax-suffix>\n <ax-button color=\"ghost\" look=\"twotone\" [disabled]=\"isLoading()\" (onClick)=\"handleOnClick($event)\">\n @if(isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <ax-icon icon=\"far fa-search\"> </ax-icon>\n }\n </ax-button>\n </ax-suffix>\n </ax-text-box>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXValidationModule,\n AXFormModule,\n ],\n inputs: ['entity', 'conditions', 'expose'],\n})\nexport class AXPLookupWidgetEditComponent extends AXPWidgetBase<any> {\n protected textField = 'title';\n protected expose: string | undefined;\n protected entity: string;\n protected filter: AXDataSourceFilterOption | null;\n\n protected validationRules: AXPValidationRules = [];\n\n protected injector = inject(Injector);\n protected loader = inject(AXP_ENTITY_DEFINITION_LOADER);\n protected formatService = inject(AXFormatService);\n protected popupService = inject(AXPopupService);\n private readonly builderService = inject(AXPLayoutBuilderService);\n private readonly destroyRef = inject(DestroyRef);\n private translateService = inject(AXTranslationService);\n private entityDef: AXPEntity | null;\n\n protected conditions?: AXPQueryFilter[];\n\n protected displayText = signal('');\n protected selectedItem = signal<any | null>(null);\n protected searchTerm = signal<string | null>(null);\n\n @ViewChild(AXTextBoxComponent)\n textbox: AXTextBoxComponent;\n\n protected isLoading = signal(false);\n\n protected isOpen = signal(false);\n\n protected vm = signal<AXPLookupWidgetSelectorViewModel | null>(null);\n\n protected placeholder = computed(() => {\n return this.translateService.translateSync('widget.lookup.search') + this.vm()?.inlineFiltersPlaceholders().join(', ');\n });\n\n override async ngOnInit() {\n super.ngOnInit();\n //\n const [module, entity] = this.entity.split('.');\n this.entityDef = await this.loader.get(module, entity);\n //\n this.vm.set(new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef!, this.filter));\n //\n this.textField = this.entityDef?.formats.lookup ?? this.entityDef?.properties.find((c) => c.name != 'id')?.name ?? 'title';\n const value = this.getValue();\n if (typeof value == 'object' && !Array.isArray(value)) this.displayText.set(this.formatService.format(this.textField, 'string', value));\n else if (value != null) {\n await this.findByValue();\n }\n //\n this.builderService.onChanged.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(async (c) => {\n if (c.path == this.path) {\n if (this.getValue()) await this.findByValue();\n }\n });\n }\n\n private async findByValue() {\n this.isLoading.set(true);\n const byKey = this.entityDef?.queries.byKey?.execute as Function;\n const item = await byKey(this.getValue());\n this.setItems(item);\n this.isLoading.set(false);\n }\n\n handleOnClick(e: AXClickEvent) {\n this.showSelector();\n }\n\n private showSelector() {\n this.isOpen.set(true);\n this.popupService\n .open(AXPLookupWidgetSelectorComponent, {\n title: `${this.entityDef?.formats.plural} Lookup`,\n size: (this.vm()?.columns().length ?? 0) > 3 ? 'lg' : 'md',\n data: {\n vm: new AXPLookupWidgetSelectorViewModel(this.injector, this.entityDef!, this.filter),\n searchTerm: this.searchTerm() == this.displayText() ? null : this.searchTerm(),\n },\n })\n .then((e: any) => {\n this.isOpen.set(false);\n this.textbox.focus();\n if (e.data?.items) {\n this.setItems(e.data?.items[0]);\n }\n });\n }\n\n protected handleValueChange(e: AXValueChangedEvent) {\n this.searchTerm.set(e.value);\n }\n\n protected handleOnBlur(e: AXFocusEvent) {\n const com = e.component as AXTextBoxComponent;\n const input = (com['input'] as ElementRef).nativeElement as HTMLInputElement;\n setTimeout(() => {\n if (this.selectedItem()) {\n input.value = this.displayText();\n } else {\n if (!this.isOpen()) {\n input.value = '';\n this.searchTerm.set(null);\n }\n }\n }, 100);\n }\n\n protected async handleKeyDown(e: AXHtmlEvent) {\n const keyEvent = e.nativeEvent as KeyboardEvent;\n const value = this.searchTerm()?.trim();\n if ((keyEvent.code == 'Enter' || keyEvent.code == 'NumpadEnter') && value) {\n this.isLoading.set(true);\n const result = await this.vm()?.find(value);\n if (result?.total == 1) {\n this.setItems(result.items[0]);\n } else {\n this.showSelector();\n }\n this.isLoading.set(false);\n }\n }\n\n private setItems(item: any) {\n this.searchTerm.set(null);\n this.displayText.set('');\n this.selectedItem.set(item);\n const text = this.formatService.format(this.textField, 'string', item);\n this.displayText.set(text);\n this.setValue(item.id);\n if (this.expose) {\n if (typeof this.expose == 'string') {\n this.builderService.setValue(this.expose, item);\n } else if (Array.isArray(this.expose)) {\n (this.expose as any[]).forEach((i) => {\n if (typeof i == 'string') {\n this.builderService.setValue(i, item);\n } else {\n const key = get(item, i.source);\n this.builderService.setValue(i.target, key);\n }\n });\n }\n }\n }\n\n protected handleClearClick() {\n this.clear();\n this.setValue(null);\n }\n\n public clear() {\n this.searchTerm.set('');\n this.displayText.set('');\n this.selectedItem.set(null);\n }\n}\n","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: []\n})\nexport class AXPLookupWidgetFilterComponent extends AXPWidgetBase<any> {}","import { AXPColumnWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n@Component({\n template: `{{rawValue}}`,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue']\n})\nexport class AXPLookupWidgetColumnComponent extends AXPColumnWidgetBase<any> {}","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLookupWidgetPrintComponent extends AXPWidgetBase<any> {}","import { AXPWidgetBase } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n@Component({\n template: ``,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: []\n})\nexport class AXPLookupWidgetDesignerComponent extends AXPWidgetBase<any> {}","import { AXPWidgetConfig } from '@acorex/platform/layout/builder';\nexport const AXPLookupWidget: AXPWidgetConfig = {\n name: \"lookup\",\n components: {\n view: {\n component: () => import('./lookup-widget-view.component').then((c) => c.AXPLookupWidgetViewComponent),\n },\n edit: {\n component: () => import('./lookup-widget-edit.component').then((c) => c.AXPLookupWidgetEditComponent),\n },\n filter: {\n component: () => import('./lookup-widget-filter.component').then((c) => c.AXPLookupWidgetFilterComponent),\n },\n column: {\n component: () => import('./lookup-widget-column.component').then((c) => c.AXPLookupWidgetColumnComponent),\n },\n print: {\n component: () => import('./lookup-widget-print.component').then((c) => c.AXPLookupWidgetPrintComponent),\n },\n designer: {\n component: () => import('./lookup-widget-designer.component').then((c) => c.AXPLookupWidgetDesignerComponent),\n },\n }\n}","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityCreateViewModelFactory } from '../entity-master-create.viewmodel';\nimport { AXPEntityDefinitionRegistryService } from '../entity-registery.service';\nimport { AXP_ENTITY_CONFIG_TOKEN } from '../entity.config';\n\nexport const AXPEntityCreateEvent = createWorkFlowEvent<{ entity: string }>('[Entity] Created!');\n\n@Injectable()\nexport class AXPEntityCreatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private factory = inject(AXPEntityCreateViewModelFactory);\n private config = inject(AXP_ENTITY_CONFIG_TOKEN);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [module, entity] = context.getVariable<string>('entity').split('.');\n const data = context.getVariable<any>('data');\n const entityRef = await this.entityRegistery.resolve(module, entity);\n const com = await this.config.viewers.master.create();\n const result = await this.popupService.open(com, {\n title: this.translateService.translateSync('create-new') + ' ' + entityRef.formats.individual,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n vm: await this.factory.create(module, entity, data),\n entity,\n },\n });\n context.setOutput('result', false);\n if (result.data?.save) {\n context.setOutput('result', true);\n context.setVariable('data', result.data.item);\n }\n }\n}\n\nexport class AXPEntityCreateSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n\n this.dispatch(AXPEntityCreateEvent({ entity: context.getVariable<string>('entity') }));\n }\n}\n\nexport const AXPCreateEntityWorkflow: AXPWorkflow = {\n startStepId: 'show-popup',\n steps: {\n 'show-popup': {\n action: 'AXPEntityCreatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n 'show-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Created',\n content: 'New Record has been successfully created.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n 'dispatch-event': {\n action: 'AXPEntityCreateSubmittedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getVariable(\"redirect\") != false' }],\n nextStepId: 'show-entity',\n },\n ],\n },\n 'show-entity': {\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowDetailViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const [module, entity] = context.getVariable('entity').split(\".\");\n const { id } = context.getVariable('data');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/m/${module}/e/${entity}/${id}/view`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\n\nexport const AXPShowDetailsViewWorkflow: AXPWorkflow = {\n startStepId: 'showDetailView',\n steps: {\n showDetailView: {\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n\n@Injectable()\nexport class AXPShowListViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n async execute(context?: any): Promise<void> {\n const [moduleName, entityName] = context.getVariable('entity').split(\".\");\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/m/${moduleName}/e/${entityName}/list`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\nexport const AXPShowListViewWorkflow: AXPWorkflow = {\n startStepId: 'showListView',\n steps: {\n showListView: {\n id: 'showListView',\n action: 'AXPShowListViewAction',\n },\n },\n};\n","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule, inject } from '@angular/core';\nimport { ROUTES, RouterModule, Routes } from '@angular/router';\nimport { AXPEntityListViewModelResolver } from './entity-master-list.viewmodel';\nimport { AXPEntityDetailViewModelResolver } from './entity-master-single.viewmodel';\nimport { AXP_ENTITY_CONFIG_TOKEN } from './entity.config';\nimport { AXPLookupWidget } from './widgets/lookup-widget';\nimport { AXPCreateEntityWorkflow, AXPEntityCreatePopupAction, AXPEntityCreateSubmittedAction } from './workflows/create-entity.workflow';\nimport { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction } from './workflows/delete-entity.workflow';\nimport {\n AXPEntityModifyConfirmedAction,\n AXPEntityModifySectionPopupAction,\n AXPModifyEntitySectionWorkflow,\n} from './workflows/modify-section.workflow';\nimport { AXPShowDetailViewAction, AXPShowDetailsViewWorkflow } from './workflows/show-details.workflow';\nimport { AXPShowListViewAction, AXPShowListViewWorkflow } from './workflows/show-list.workflow';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n let routes: Routes = [];\n routes = [\n {\n path: ':app/m',\n component: config.viewers.root(),\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: ':module',\n children: [\n // {\n // path: 'e/:entity/:id/view/:section',\n // resolve: { loader: AXPEntityDetailViewLoaderResolver },\n // component: AXPEntityDetailsViewComponent,\n // },\n\n {\n path: 'e/:entity/list',\n loadComponent: () => {\n return config.viewers.master.list();\n },\n resolve: {\n vm: AXPEntityListViewModelResolver,\n },\n },\n {\n path: 'e/:entity/:id/view',\n resolve: { vm: AXPEntityDetailViewModelResolver },\n loadComponent: () => {\n return config.viewers.master.single();\n },\n },\n {\n path: 'e/:entity/:id',\n redirectTo: 'e/:entity/:id/view',\n pathMatch: 'full',\n },\n {\n path: 'e/:entity',\n redirectTo: ':entity/list',\n pathMatch: 'full',\n },\n ],\n },\n ],\n },\n ];\n return routes;\n}\n\n@NgModule({\n imports: [\n RouterModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityCreatePopupAction,\n AXPEntityPerformDeleteAction,\n 'entity-perform-delete': AXPEntityPerformDeleteAction,\n AXPEntityModifySectionPopupAction,\n AXPEntityModifyConfirmedAction,\n AXPShowDetailViewAction,\n AXPEntityCreateSubmittedAction,\n AXPShowListViewAction,\n },\n workflows: {\n 'create-entity': AXPCreateEntityWorkflow,\n 'delete-entity': AXPDeleteEntityWorkflow,\n 'modify-entity-section': AXPModifyEntitySectionWorkflow,\n 'open-entity': AXPShowDetailsViewWorkflow,\n 'show-list-view': AXPShowListViewWorkflow,\n },\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [AXPLookupWidget],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXPEntityModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i5","i6"],"mappings":"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"}