@acorex/platform 18.0.0 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1162) hide show
  1. package/README.md +7 -7
  2. package/auth/README.md +3 -3
  3. package/auth/lib/auth.strategy.d.ts +6 -3
  4. package/common/README.md +3 -3
  5. package/common/index.d.ts +5 -3
  6. package/common/lib/app/application.types.d.ts +234 -0
  7. package/common/lib/app/index.d.ts +2 -0
  8. package/common/lib/common.module.d.ts +6 -4
  9. package/common/lib/configs/app.config.d.ts +1 -1
  10. package/common/lib/layout/beardcrumb.type.d.ts +6 -0
  11. package/common/lib/layout/grid-layout/grid-layout.directive.d.ts +15 -0
  12. package/common/lib/layout/grid-layout/grid-layout.types.d.ts +19 -0
  13. package/common/lib/layout/grid-layout/index.d.ts +2 -0
  14. package/common/lib/layout/index.d.ts +9 -0
  15. package/common/lib/layout/logo/index.d.ts +2 -0
  16. package/common/lib/layout/sticky.directive.d.ts +25 -0
  17. package/common/lib/layout/theme/components/slots/index.d.ts +3 -0
  18. package/common/lib/layout/theme/components/slots/navbar-slot.component.d.ts +10 -0
  19. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +5 -0
  20. package/common/lib/schema/entity/entity.class.d.ts +155 -0
  21. package/common/lib/schema/index.d.ts +8 -0
  22. package/common/lib/schema/schema.types.d.ts +15 -0
  23. package/common/lib/schema/widget/index.d.ts +5 -0
  24. package/common/lib/schema/widget/widget-base.d.ts +45 -0
  25. package/common/lib/schema/widget/widget-token.d.ts +16 -0
  26. package/common/lib/schema/widgets/avatar/avatar-widget-edit.component.d.ts +16 -0
  27. package/common/lib/schema/widgets/avatar/avatar-widget-view.component.d.ts +13 -0
  28. package/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
  29. package/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
  30. package/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
  31. package/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +18 -0
  32. package/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.d.ts +12 -0
  33. package/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.d.ts +12 -0
  34. package/common/lib/schema/widgets/common-widgets.module.d.ts +32 -0
  35. package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
  36. package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +26 -0
  37. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
  38. package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
  39. package/common/lib/schema/widgets/email/email-widget-column.component.d.ts +16 -0
  40. package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +28 -0
  41. package/common/lib/schema/widgets/email/email-widget-view.component.d.ts +16 -0
  42. package/common/lib/schema/widgets/file/file-widget-column.component.d.ts +8 -0
  43. package/common/lib/schema/widgets/file/file-widget-edit.component.d.ts +17 -0
  44. package/common/lib/schema/widgets/file/file-widget-filter.component.d.ts +6 -0
  45. package/common/lib/schema/widgets/file/file-widget-view.component.d.ts +17 -0
  46. package/common/lib/schema/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
  47. package/common/lib/schema/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
  48. package/common/lib/schema/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
  49. package/common/lib/schema/widgets/lookup/lookup-widget-column.component.d.ts +17 -0
  50. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
  51. package/common/lib/schema/widgets/lookup/lookup-widget-filter.component.d.ts +17 -0
  52. package/common/lib/schema/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
  53. package/common/lib/schema/widgets/map/map-widget-edit.component.d.ts +15 -0
  54. package/common/lib/schema/widgets/map/map-widget-view.component.d.ts +17 -0
  55. package/common/lib/schema/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
  56. package/common/lib/schema/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
  57. package/common/lib/schema/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
  58. package/common/lib/schema/widgets/number/number-widget-edit.component.d.ts +7 -0
  59. package/common/lib/schema/widgets/number/number-widget-view.component.d.ts +8 -0
  60. package/common/lib/schema/widgets/password/password-widget-column.component.d.ts +14 -0
  61. package/common/lib/schema/widgets/password/password-widget-edit.component.d.ts +6 -0
  62. package/common/lib/schema/widgets/password/password-widget-view.component.d.ts +18 -0
  63. package/common/lib/schema/widgets/phone/phone-widget-column.component.d.ts +15 -0
  64. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +29 -0
  65. package/common/lib/schema/widgets/phone/phone-widget-view.component.d.ts +18 -0
  66. package/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
  67. package/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
  68. package/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
  69. package/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
  70. package/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.d.ts +12 -0
  71. package/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
  72. package/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
  73. package/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
  74. package/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
  75. package/common/lib/schema/widgets/text/largetext-widget-edit.component.d.ts +6 -0
  76. package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +12 -0
  77. package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +23 -0
  78. package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +11 -0
  79. package/common/lib/schema/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
  80. package/common/lib/schema/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
  81. package/common/lib/schema/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
  82. package/common/lib/store/common.actions.d.ts +1 -0
  83. package/common/lib/utils/data-generator.d.ts +12 -0
  84. package/common/lib/utils/index.d.ts +1 -1
  85. package/common/lib/utils/router-util.service.d.ts +1 -1
  86. package/common/lib/workflows/common.workflow.d.ts +38 -0
  87. package/common/lib/workflows/error-handler.d.ts +8 -0
  88. package/esm2022/auth/index.mjs +1 -1
  89. package/esm2022/auth/lib/application/application.loader.mjs +1 -1
  90. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  91. package/esm2022/auth/lib/auth-registry.service.mjs +1 -1
  92. package/esm2022/auth/lib/auth.guard.mjs +1 -1
  93. package/esm2022/auth/lib/auth.module.mjs +1 -1
  94. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  95. package/esm2022/auth/lib/errors.types.mjs +1 -1
  96. package/esm2022/auth/lib/feature/feature.directive.mjs +1 -1
  97. package/esm2022/auth/lib/feature/feature.guard.mjs +1 -1
  98. package/esm2022/auth/lib/feature/feature.loader.mjs +1 -1
  99. package/esm2022/auth/lib/feature/feature.types.mjs +1 -1
  100. package/esm2022/auth/lib/feature/index.mjs +1 -1
  101. package/esm2022/auth/lib/permission/index.mjs +1 -1
  102. package/esm2022/auth/lib/permission/permission.directive.mjs +1 -1
  103. package/esm2022/auth/lib/permission/permission.guard.mjs +1 -1
  104. package/esm2022/auth/lib/permission/permission.loader.mjs +1 -1
  105. package/esm2022/auth/lib/permission/permission.types.mjs +1 -1
  106. package/esm2022/auth/lib/session.service.mjs +4 -2
  107. package/esm2022/auth/lib/session.types.mjs +1 -1
  108. package/esm2022/auth/lib/tenant/tenant.loader.mjs +1 -1
  109. package/esm2022/auth/lib/tenant/tenant.types.mjs +1 -1
  110. package/esm2022/auth/lib/user/user.types.mjs +1 -1
  111. package/esm2022/common/index.mjs +6 -4
  112. package/esm2022/common/lib/app/application.types.mjs +39 -0
  113. package/esm2022/common/lib/app/index.mjs +3 -0
  114. package/esm2022/common/lib/app/operators.mjs +50 -0
  115. package/esm2022/common/lib/common.module.mjs +20 -44
  116. package/esm2022/common/lib/configs/app.config.mjs +2 -2
  117. package/esm2022/common/lib/configs/config.types.mjs +3 -0
  118. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  119. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +1 -1
  120. package/esm2022/common/lib/errors/error-handler.types.mjs +1 -1
  121. package/esm2022/common/lib/errors/global-error-handler.mjs +1 -1
  122. package/esm2022/common/lib/errors/index.mjs +1 -1
  123. package/esm2022/common/lib/layout/beardcrumb.type.mjs +2 -0
  124. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +56 -0
  125. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +28 -0
  126. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +24 -0
  127. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +72 -0
  128. package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +2 -0
  129. package/esm2022/common/lib/layout/component-slot/index.mjs +6 -0
  130. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +61 -0
  131. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +2 -0
  132. package/esm2022/common/lib/layout/grid-layout/index.mjs +3 -0
  133. package/esm2022/common/lib/layout/index.mjs +10 -0
  134. package/esm2022/common/lib/layout/layout.service.mjs +79 -0
  135. package/esm2022/common/lib/layout/logo/index.mjs +3 -0
  136. package/esm2022/common/lib/layout/logo/logo.component.mjs +38 -0
  137. package/esm2022/common/lib/layout/logo/logo.types.mjs +21 -0
  138. package/esm2022/common/lib/layout/menu/index.mjs +3 -0
  139. package/esm2022/common/lib/layout/menu/menu.loader.mjs +39 -0
  140. package/esm2022/common/lib/layout/menu/menu.types.mjs +2 -0
  141. package/esm2022/common/lib/layout/sticky.directive.mjs +78 -0
  142. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +20 -0
  143. package/esm2022/common/lib/layout/theme/components/slots/index.mjs +4 -0
  144. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +36 -0
  145. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +48 -0
  146. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +12 -0
  147. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +29 -0
  148. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +60 -0
  149. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +8 -0
  150. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +16 -0
  151. package/esm2022/common/lib/layout/theme/store/index.mjs +6 -0
  152. package/esm2022/common/lib/schema/component-loader.mjs +2 -0
  153. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +70 -0
  154. package/esm2022/common/lib/schema/entity/entity.class.mjs +32 -0
  155. package/esm2022/common/lib/schema/entity/entity.loader.mjs +13 -0
  156. package/esm2022/common/lib/schema/entity/index.mjs +4 -0
  157. package/esm2022/common/lib/schema/formats.mjs +2 -0
  158. package/esm2022/common/lib/schema/index.mjs +9 -0
  159. package/esm2022/common/lib/schema/schema-registery.service.mjs +33 -0
  160. package/esm2022/common/lib/schema/schema.module.mjs +23 -0
  161. package/esm2022/common/lib/schema/schema.types.mjs +2 -0
  162. package/esm2022/common/lib/schema/widget/index.mjs +6 -0
  163. package/esm2022/common/lib/schema/widget/widget-base.mjs +113 -0
  164. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +118 -0
  165. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +133 -0
  166. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +144 -0
  167. package/esm2022/common/lib/schema/widget/widget-token.mjs +3 -0
  168. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +160 -0
  169. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +63 -0
  170. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
  171. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
  172. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
  173. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
  174. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
  175. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
  176. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +505 -0
  177. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
  178. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +178 -0
  179. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +213 -0
  180. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
  181. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +73 -0
  182. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +249 -0
  183. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +108 -0
  184. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +27 -0
  185. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +200 -0
  186. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +27 -0
  187. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +153 -0
  188. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
  189. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
  190. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-types.mjs +2 -0
  191. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +173 -0
  192. package/esm2022/common/lib/schema/widgets/index.mjs +2 -0
  193. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +43 -0
  194. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
  195. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +115 -0
  196. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +54 -0
  197. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +91 -0
  198. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +63 -0
  199. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +71 -0
  200. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
  201. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +132 -0
  202. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +46 -0
  203. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +30 -0
  204. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +174 -0
  205. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +67 -0
  206. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +41 -0
  207. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +109 -0
  208. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +91 -0
  209. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +245 -0
  210. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +123 -0
  211. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +61 -0
  212. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
  213. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
  214. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +45 -0
  215. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
  216. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
  217. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
  218. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
  219. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
  220. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +37 -0
  221. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +46 -0
  222. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +162 -0
  223. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +66 -0
  224. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +57 -0
  225. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
  226. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +49 -0
  227. package/esm2022/common/lib/settings/index.mjs +1 -1
  228. package/esm2022/common/lib/settings/settings.loader.mjs +1 -1
  229. package/esm2022/common/lib/settings/settings.service.mjs +1 -1
  230. package/esm2022/common/lib/settings/settings.types.mjs +1 -1
  231. package/esm2022/common/lib/store/common.actions.mjs +2 -1
  232. package/esm2022/common/lib/store/common.effects.mjs +1 -1
  233. package/esm2022/common/lib/store/index.mjs +1 -1
  234. package/esm2022/common/lib/utils/clipboard-service.mjs +1 -1
  235. package/esm2022/common/lib/utils/data-generator.mjs +47 -0
  236. package/esm2022/common/lib/utils/index.mjs +2 -2
  237. package/esm2022/common/lib/utils/router-util.service.mjs +1 -1
  238. package/esm2022/common/lib/workflows/common.workflow.mjs +68 -0
  239. package/esm2022/common/lib/workflows/error-handler.mjs +24 -0
  240. package/esm2022/common/lib/workflows/index.mjs +3 -0
  241. package/esm2022/index.mjs +1 -1
  242. package/esm2022/layout/builder/acorex-platform-layout-builder.mjs +5 -0
  243. package/esm2022/layout/builder/index.mjs +2 -0
  244. package/esm2022/layout/builder/lib/builder/builder.module.mjs +67 -0
  245. package/esm2022/layout/builder/lib/builder/builder.service.mjs +81 -0
  246. package/esm2022/layout/builder/lib/builder/index.mjs +9 -0
  247. package/esm2022/layout/builder/lib/builder/layout.types.mjs +2 -0
  248. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +110 -0
  249. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +55 -0
  250. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +33 -0
  251. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +293 -0
  252. package/esm2022/layout/builder/lib/builder/widget.types.mjs +74 -0
  253. package/esm2022/layout/entity/acorex-platform-layout-entity.mjs +5 -0
  254. package/esm2022/layout/entity/index.mjs +2 -0
  255. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +154 -0
  256. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +128 -0
  257. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +278 -0
  258. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +230 -0
  259. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +101 -0
  260. package/esm2022/layout/entity/lib/entity-registery.service.mjs +69 -0
  261. package/esm2022/layout/entity/lib/entity.config.mjs +4 -0
  262. package/esm2022/layout/entity/lib/entity.module.mjs +134 -0
  263. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +32 -0
  264. package/esm2022/layout/entity/lib/index.mjs +9 -0
  265. package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +8 -0
  266. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +19 -0
  267. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +19 -0
  268. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +127 -0
  269. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +20 -0
  270. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +19 -0
  271. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +105 -0
  272. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +85 -0
  273. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +19 -0
  274. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +24 -0
  275. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +93 -0
  276. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +123 -0
  277. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +104 -0
  278. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +36 -0
  279. package/esm2022/layouts/index.mjs +1 -3
  280. package/esm2022/layouts/lib/admin/admin.module.mjs +9 -17
  281. package/esm2022/layouts/lib/admin/admin.routes.mjs +7 -8
  282. package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +1 -1
  283. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +6 -6
  284. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -2
  285. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -2
  286. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -11
  287. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +1 -1
  288. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +5 -5
  289. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +1 -1
  290. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
  291. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +6 -9
  292. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +19 -19
  293. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +6 -8
  294. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +6 -7
  295. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +1 -1
  296. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +3 -3
  297. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +2 -3
  298. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +5 -5
  299. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -2
  300. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +5 -6
  301. package/esm2022/layouts/lib/admin/entity-layout/index.mjs +1 -1
  302. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +2 -2
  303. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
  304. package/esm2022/layouts/lib/admin/entity-layout/workflows/index.mjs +4 -1
  305. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +2 -2
  306. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +85 -0
  307. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +27 -1
  308. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +26 -1
  309. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +41 -1
  310. package/esm2022/layouts/lib/admin/entity.resolver.mjs +1 -1
  311. package/esm2022/layouts/lib/admin/index.mjs +1 -3
  312. package/esm2022/layouts/lib/layout.module.mjs +9 -14
  313. package/esm2022/mocks/index.mjs +1 -1
  314. package/esm2022/mocks/lib/mocks.module.mjs +1 -1
  315. package/esm2022/mocks/lib/services/mocker.service.mjs +1 -1
  316. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +1 -1
  317. package/esm2022/native/index.mjs +1 -1
  318. package/esm2022/native/lib/native.service.mjs +1 -1
  319. package/esm2022/widgets/index.mjs +1 -1
  320. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-column.component.mjs +45 -0
  321. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +10 -10
  322. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +54 -0
  323. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +10 -4
  324. package/esm2022/widgets/lib/editors/checkbox/index.mjs +1 -1
  325. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +32 -7
  326. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +2 -2
  327. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +54 -54
  328. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +2 -2
  329. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +2 -2
  330. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +18 -18
  331. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +1 -1
  332. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +1 -1
  333. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +54 -7
  334. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +2 -2
  335. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +173 -141
  336. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +2 -2
  337. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +2 -2
  338. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +70 -70
  339. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +1 -1
  340. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +1 -1
  341. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +2 -2
  342. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +2 -2
  343. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +112 -112
  344. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +2 -2
  345. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +2 -2
  346. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +64 -64
  347. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +1 -1
  348. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +1 -1
  349. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +2 -2
  350. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +2 -2
  351. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +108 -108
  352. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +2 -2
  353. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +2 -2
  354. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +1 -1
  355. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +98 -98
  356. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +1 -1
  357. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +1 -1
  358. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +1 -1
  359. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-column.component.mjs +2 -2
  360. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +2 -2
  361. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.mjs +6 -6
  362. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +2 -2
  363. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +2 -2
  364. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-view.component.mjs +6 -6
  365. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +1 -1
  366. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +1 -1
  367. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +26 -7
  368. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +2 -2
  369. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +68 -68
  370. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +2 -2
  371. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +2 -2
  372. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +33 -19
  373. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +4 -1
  374. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +1 -1
  375. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-column.component.mjs +2 -2
  376. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +2 -2
  377. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.mjs +10 -10
  378. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +2 -2
  379. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +2 -2
  380. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +46 -46
  381. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +1 -1
  382. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +1 -1
  383. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +54 -7
  384. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +2 -2
  385. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +162 -134
  386. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +2 -2
  387. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +2 -2
  388. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +70 -70
  389. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +1 -1
  390. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +1 -1
  391. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +2 -2
  392. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +2 -2
  393. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +10 -10
  394. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +2 -2
  395. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +2 -2
  396. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +10 -10
  397. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +1 -1
  398. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +1 -1
  399. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +5 -5
  400. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +2 -2
  401. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.mjs +26 -26
  402. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.mjs +2 -2
  403. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +2 -2
  404. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +24 -18
  405. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +1 -1
  406. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +1 -1
  407. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +30 -8
  408. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +2 -2
  409. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.mjs +32 -32
  410. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +2 -2
  411. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +2 -2
  412. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +29 -8
  413. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +1 -1
  414. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +1 -1
  415. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +2 -2
  416. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +2 -2
  417. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +56 -56
  418. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +2 -2
  419. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +2 -2
  420. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +18 -18
  421. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +1 -1
  422. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +1 -1
  423. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +7 -6
  424. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +2 -2
  425. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +62 -62
  426. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +2 -2
  427. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +2 -2
  428. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +18 -18
  429. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +2 -1
  430. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +8 -0
  431. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-column.component.mjs +47 -0
  432. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +19 -0
  433. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.mjs +27 -0
  434. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
  435. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
  436. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-view.component.mjs +47 -0
  437. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +24 -0
  438. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +14 -14
  439. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +1 -1
  440. package/esm2022/widgets/lib/layout/block-widget/index.mjs +1 -1
  441. package/esm2022/widgets/lib/widgets.module.mjs +6 -3
  442. package/esm2022/workflow/index.mjs +1 -1
  443. package/esm2022/workflow/lib/errors.types.mjs +1 -1
  444. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +1 -1
  445. package/esm2022/workflow/lib/workflow-registery.service.mjs +1 -1
  446. package/esm2022/workflow/lib/workflow.module.mjs +1 -1
  447. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  448. package/esm2022/workflow/lib/workflow.types.mjs +1 -1
  449. package/fesm2022/acorex-platform-auth.mjs +3 -1
  450. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  451. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs +178 -0
  452. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs.map +1 -0
  453. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs +85 -0
  454. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs.map +1 -0
  455. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs +169 -0
  456. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs.map +1 -0
  457. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs +177 -0
  458. package/fesm2022/acorex-platform-common-change-password.component-NvrMMq9e.mjs.map +1 -0
  459. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs +76 -0
  460. package/fesm2022/acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs.map +1 -0
  461. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs +46 -0
  462. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs.map +1 -0
  463. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs +70 -0
  464. package/fesm2022/acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs.map +1 -0
  465. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs +66 -0
  466. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs.map +1 -0
  467. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs +198 -0
  468. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs.map +1 -0
  469. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs +233 -0
  470. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs.map +1 -0
  471. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs +93 -0
  472. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs.map +1 -0
  473. package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs +97 -0
  474. package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs.map +1 -0
  475. package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs +269 -0
  476. package/fesm2022/acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs.map +1 -0
  477. package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs +130 -0
  478. package/fesm2022/acorex-platform-common-email-widget-view.component-B6puyycL.mjs.map +1 -0
  479. package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs +49 -0
  480. package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs.map +1 -0
  481. package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs +221 -0
  482. package/fesm2022/acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs.map +1 -0
  483. package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs +51 -0
  484. package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs.map +1 -0
  485. package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs +174 -0
  486. package/fesm2022/acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs.map +1 -0
  487. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs +209 -0
  488. package/fesm2022/acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs.map +1 -0
  489. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs +50 -0
  490. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs.map +1 -0
  491. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs +193 -0
  492. package/fesm2022/acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs.map +1 -0
  493. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs +60 -0
  494. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs.map +1 -0
  495. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs +66 -0
  496. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs.map +1 -0
  497. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs +96 -0
  498. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs.map +1 -0
  499. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs +135 -0
  500. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs.map +1 -0
  501. package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs +77 -0
  502. package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs.map +1 -0
  503. package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs +114 -0
  504. package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs.map +1 -0
  505. package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs +86 -0
  506. package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs.map +1 -0
  507. package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs +95 -0
  508. package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs.map +1 -0
  509. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs +157 -0
  510. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs.map +1 -0
  511. package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs +154 -0
  512. package/fesm2022/acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs.map +1 -0
  513. package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs +68 -0
  514. package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs.map +1 -0
  515. package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs +157 -0
  516. package/fesm2022/acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs.map +1 -0
  517. package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs +54 -0
  518. package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs.map +1 -0
  519. package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs +89 -0
  520. package/fesm2022/acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs.map +1 -0
  521. package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs +64 -0
  522. package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs.map +1 -0
  523. package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs +128 -0
  524. package/fesm2022/acorex-platform-common-password-widget-view.component-CKaQItON.mjs.map +1 -0
  525. package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs +115 -0
  526. package/fesm2022/acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs.map +1 -0
  527. package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs +265 -0
  528. package/fesm2022/acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs.map +1 -0
  529. package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs +145 -0
  530. package/fesm2022/acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs.map +1 -0
  531. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs +85 -0
  532. package/fesm2022/acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs.map +1 -0
  533. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs +89 -0
  534. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs.map +1 -0
  535. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs +58 -0
  536. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs.map +1 -0
  537. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs +69 -0
  538. package/fesm2022/acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs.map +1 -0
  539. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs +76 -0
  540. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs.map +1 -0
  541. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs +65 -0
  542. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs.map +1 -0
  543. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs +69 -0
  544. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs.map +1 -0
  545. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs +148 -0
  546. package/fesm2022/acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs.map +1 -0
  547. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs +63 -0
  548. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs.map +1 -0
  549. package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs +147 -0
  550. package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs.map +1 -0
  551. package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs +70 -0
  552. package/fesm2022/acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs.map +1 -0
  553. package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs +183 -0
  554. package/fesm2022/acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs.map +1 -0
  555. package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs +90 -0
  556. package/fesm2022/acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs.map +1 -0
  557. package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs +80 -0
  558. package/fesm2022/acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs.map +1 -0
  559. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs +46 -0
  560. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs.map +1 -0
  561. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs +72 -0
  562. package/fesm2022/acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs.map +1 -0
  563. package/fesm2022/acorex-platform-common.mjs +2056 -246
  564. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  565. package/fesm2022/acorex-platform-layout-builder.mjs +687 -0
  566. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -0
  567. package/fesm2022/acorex-platform-layout-entity.mjs +1848 -0
  568. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -0
  569. package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs +107 -0
  570. package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs.map +1 -0
  571. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs +88 -0
  572. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-D1h1xORH.mjs.map +1 -0
  573. package/fesm2022/acorex-platform-layouts.mjs +1058 -2553
  574. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  575. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  576. package/fesm2022/acorex-platform-native.mjs.map +1 -1
  577. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs +48 -0
  578. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-Cx6WLV3_.mjs.map +1 -0
  579. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs +57 -0
  580. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-C_68pr-9.mjs.map +1 -0
  581. package/fesm2022/acorex-platform-widgets.mjs +1755 -1293
  582. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  583. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  584. package/fesm2022/acorex-platform.mjs.map +1 -1
  585. package/layout/builder/README.md +4 -0
  586. package/layout/builder/index.d.ts +1 -0
  587. package/layout/builder/lib/builder/builder.module.d.ts +23 -0
  588. package/layout/builder/lib/builder/builder.service.d.ts +27 -0
  589. package/layout/builder/lib/builder/index.d.ts +8 -0
  590. package/layout/builder/lib/builder/layout.types.d.ts +30 -0
  591. package/layout/builder/lib/builder/widget-column-renderer.d.ts +31 -0
  592. package/layout/builder/lib/builder/widget-container.component.d.ts +15 -0
  593. package/layout/builder/lib/builder/widget-renderer.component.d.ts +43 -0
  594. package/layout/builder/lib/builder/widget.types.d.ts +74 -0
  595. package/layout/entity/README.md +4 -0
  596. package/layout/entity/index.d.ts +1 -0
  597. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +32 -0
  598. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +49 -0
  599. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +82 -0
  600. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +62 -0
  601. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +39 -0
  602. package/layout/entity/lib/entity-registery.service.d.ts +34 -0
  603. package/layout/entity/lib/entity.config.d.ts +21 -0
  604. package/layout/entity/lib/entity.module.d.ts +9 -0
  605. package/layout/entity/lib/entity.viewmodel.d.ts +22 -0
  606. package/layout/entity/lib/index.d.ts +8 -0
  607. package/layout/entity/lib/widgets/lookup-widget/index.d.ts +7 -0
  608. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +6 -0
  609. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.d.ts +6 -0
  610. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +27 -0
  611. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +6 -0
  612. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +6 -0
  613. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +13 -0
  614. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +15 -0
  615. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +6 -0
  616. package/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.d.ts +2 -0
  617. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +29 -0
  618. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +26 -0
  619. package/layout/entity/lib/workflows/modify-section.workflow.d.ts +34 -0
  620. package/layout/entity/lib/workflows/show-details.workflow.d.ts +10 -0
  621. package/layouts/README.md +3 -3
  622. package/layouts/index.d.ts +0 -2
  623. package/layouts/lib/admin/admin.module.d.ts +3 -6
  624. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +1 -1
  625. package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +3 -3
  626. package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +3 -3
  627. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +1 -1
  628. package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +2 -3
  629. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +1 -1
  630. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +4 -6
  631. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +1 -1
  632. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +3 -4
  633. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +6 -6
  634. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +5 -6
  635. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +3 -4
  636. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +1 -1
  637. package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +3 -3
  638. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +2 -2
  639. package/layouts/lib/admin/entity-layout/workflows/index.d.ts +3 -0
  640. package/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.d.ts +12 -0
  641. package/layouts/lib/admin/entity-layout/workflows/show-details.workflow.d.ts +9 -1
  642. package/layouts/lib/admin/entity-layout/workflows/show-list.workflow.d.ts +9 -1
  643. package/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.d.ts +11 -1
  644. package/layouts/lib/admin/index.d.ts +0 -2
  645. package/layouts/lib/layout.module.d.ts +4 -4
  646. package/mocks/README.md +3 -3
  647. package/package.json +13 -19
  648. package/widgets/README.md +3 -3
  649. package/widgets/lib/editors/checkbox/checkbox-widget-column.component.d.ts +9 -0
  650. package/widgets/lib/editors/checkbox/checkbox-widget-edit.component.d.ts +1 -1
  651. package/widgets/lib/editors/checkbox/checkbox-widget-view.component.d.ts +9 -0
  652. package/widgets/lib/editors/checkbox/checkbox-widget.config.d.ts +1 -1
  653. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +11 -3
  654. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +1 -1
  655. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +1 -1
  656. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +1 -1
  657. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +1 -1
  658. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +1 -1
  659. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.d.ts +1 -1
  660. package/widgets/lib/editors/email-box-widget/email-box-widget-column.component.d.ts +13 -3
  661. package/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.d.ts +1 -1
  662. package/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.d.ts +7 -1
  663. package/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.d.ts +1 -1
  664. package/widgets/lib/editors/email-box-widget/email-box-widget-print.component.d.ts +1 -1
  665. package/widgets/lib/editors/email-box-widget/email-box-widget-view.component.d.ts +1 -1
  666. package/widgets/lib/editors/email-box-widget/email-box-widget.config.d.ts +1 -1
  667. package/widgets/lib/editors/file-box-widget/file-box-widget-column.component.d.ts +1 -1
  668. package/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.d.ts +1 -1
  669. package/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.d.ts +1 -1
  670. package/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.d.ts +1 -1
  671. package/widgets/lib/editors/file-box-widget/file-box-widget-print.component.d.ts +1 -1
  672. package/widgets/lib/editors/file-box-widget/file-box-widget-view.component.d.ts +1 -1
  673. package/widgets/lib/editors/file-box-widget/file-box-widget.config.d.ts +1 -1
  674. package/widgets/lib/editors/gallery-widget/gallery-widget-column.component.d.ts +1 -1
  675. package/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.d.ts +1 -1
  676. package/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.d.ts +1 -1
  677. package/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.d.ts +1 -1
  678. package/widgets/lib/editors/gallery-widget/gallery-widget-print.component.d.ts +1 -1
  679. package/widgets/lib/editors/gallery-widget/gallery-widget-view.component.d.ts +1 -1
  680. package/widgets/lib/editors/gallery-widget/gallery-widget.config.d.ts +1 -1
  681. package/widgets/lib/editors/map-box-widget/map-box-widget-column.component.d.ts +1 -1
  682. package/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.d.ts +1 -1
  683. package/widgets/lib/editors/map-box-widget/map-box-widget-edit.component.d.ts +1 -1
  684. package/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.d.ts +1 -1
  685. package/widgets/lib/editors/map-box-widget/map-box-widget-print.component.d.ts +1 -1
  686. package/widgets/lib/editors/map-box-widget/map-box-widget-view.component.d.ts +1 -1
  687. package/widgets/lib/editors/map-box-widget/map-box-widget.config.d.ts +1 -1
  688. package/widgets/lib/editors/number-box-widget/number-box-widget-column.component.d.ts +5 -3
  689. package/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.d.ts +1 -1
  690. package/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.d.ts +2 -2
  691. package/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.d.ts +1 -1
  692. package/widgets/lib/editors/number-box-widget/number-box-widget-print.component.d.ts +1 -1
  693. package/widgets/lib/editors/number-box-widget/number-box-widget-view.component.d.ts +8 -2
  694. package/widgets/lib/editors/number-box-widget/number-box-widget.config.d.ts +1 -1
  695. package/widgets/lib/editors/password-box-widget/password-box-widget-column.component.d.ts +1 -1
  696. package/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.d.ts +1 -1
  697. package/widgets/lib/editors/password-box-widget/password-box-widget-edit.component.d.ts +1 -1
  698. package/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.d.ts +1 -1
  699. package/widgets/lib/editors/password-box-widget/password-box-widget-print.component.d.ts +1 -1
  700. package/widgets/lib/editors/password-box-widget/password-box-widget-view.component.d.ts +1 -1
  701. package/widgets/lib/editors/password-box-widget/password-box-widget.config.d.ts +1 -1
  702. package/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.d.ts +13 -3
  703. package/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +1 -1
  704. package/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +6 -1
  705. package/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +1 -1
  706. package/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.d.ts +1 -1
  707. package/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.d.ts +1 -1
  708. package/widgets/lib/editors/phone-box-widget/phone-box-widget.config.d.ts +1 -1
  709. package/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.d.ts +1 -1
  710. package/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +1 -1
  711. package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +1 -1
  712. package/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +1 -1
  713. package/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.d.ts +1 -1
  714. package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +1 -1
  715. package/widgets/lib/editors/rich-text-widget/rich-text-widget.config.d.ts +1 -1
  716. package/widgets/lib/editors/select-box-widget/select-box-widget-column.component.d.ts +3 -3
  717. package/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.d.ts +1 -1
  718. package/widgets/lib/editors/select-box-widget/select-box-widget-edit.component.d.ts +1 -1
  719. package/widgets/lib/editors/select-box-widget/select-box-widget-filter.component.d.ts +1 -1
  720. package/widgets/lib/editors/select-box-widget/select-box-widget-print.component.d.ts +1 -1
  721. package/widgets/lib/editors/select-box-widget/select-box-widget-view.component.d.ts +1 -1
  722. package/widgets/lib/editors/select-box-widget/select-box-widget.config.d.ts +1 -1
  723. package/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.d.ts +11 -3
  724. package/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +1 -1
  725. package/widgets/lib/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +1 -1
  726. package/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +1 -1
  727. package/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.d.ts +1 -1
  728. package/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.d.ts +7 -2
  729. package/widgets/lib/editors/selection-list-widget/selection-list-widget.config.d.ts +1 -1
  730. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +1 -1
  731. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +1 -1
  732. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +1 -1
  733. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +1 -1
  734. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +1 -1
  735. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
  736. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.d.ts +1 -1
  737. package/widgets/lib/editors/text-box-widget/text-box-widget-column.component.d.ts +3 -3
  738. package/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.d.ts +1 -1
  739. package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +2 -2
  740. package/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.d.ts +1 -1
  741. package/widgets/lib/editors/text-box-widget/text-box-widget-print.component.d.ts +1 -1
  742. package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +1 -1
  743. package/widgets/lib/editors/text-box-widget/text-box-widget.config.d.ts +1 -1
  744. package/widgets/lib/editors/toggle-widget/index.d.ts +7 -0
  745. package/widgets/lib/editors/toggle-widget/toggle-widget-column.component.d.ts +9 -0
  746. package/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.d.ts +6 -0
  747. package/widgets/lib/editors/toggle-widget/toggle-widget-edit.component.d.ts +7 -0
  748. package/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.d.ts +6 -0
  749. package/widgets/lib/editors/toggle-widget/toggle-widget-print.component.d.ts +6 -0
  750. package/widgets/lib/editors/toggle-widget/toggle-widget-view.component.d.ts +9 -0
  751. package/widgets/lib/editors/toggle-widget/toggle-widget.config.d.ts +2 -0
  752. package/widgets/lib/layout/block-widget/block-widget.component.d.ts +2 -2
  753. package/widgets/lib/layout/block-widget/block-widget.config.d.ts +1 -1
  754. package/widgets/lib/widgets.module.d.ts +1 -1
  755. package/workflow/README.md +3 -3
  756. package/workflow/lib/workflow.types.d.ts +2 -2
  757. package/common/lib/shared/state-persistence/index.d.ts +0 -3
  758. package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +0 -1
  759. package/common/lib/shared/state-persistence/state-persistence.module.d.ts +0 -8
  760. package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +0 -3
  761. package/common/lib/utils/sticky.directive.d.ts +0 -24
  762. package/core/README.md +0 -4
  763. package/core/index.d.ts +0 -4
  764. package/core/lib/app/application.types.d.ts +0 -144
  765. package/core/lib/core.module.d.ts +0 -6
  766. package/esm2022/common/lib/menu/index.mjs +0 -3
  767. package/esm2022/common/lib/menu/menu.loader.mjs +0 -39
  768. package/esm2022/common/lib/menu/menu.types.mjs +0 -2
  769. package/esm2022/common/lib/shared/logo.types.mjs +0 -21
  770. package/esm2022/common/lib/shared/state-persistence/index.mjs +0 -4
  771. package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +0 -3
  772. package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +0 -36
  773. package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +0 -30
  774. package/esm2022/common/lib/utils/sticky.directive.mjs +0 -74
  775. package/esm2022/core/acorex-platform-core.mjs +0 -5
  776. package/esm2022/core/index.mjs +0 -5
  777. package/esm2022/core/lib/app/application.types.mjs +0 -19
  778. package/esm2022/core/lib/app/operators.mjs +0 -50
  779. package/esm2022/core/lib/configs/config.types.mjs +0 -3
  780. package/esm2022/core/lib/core.module.mjs +0 -16
  781. package/esm2022/layout/acorex-platform-layout.mjs +0 -5
  782. package/esm2022/layout/index.mjs +0 -3
  783. package/esm2022/layout/lib/builder/builder.module.mjs +0 -66
  784. package/esm2022/layout/lib/builder/context.service.mjs +0 -64
  785. package/esm2022/layout/lib/builder/index.mjs +0 -8
  786. package/esm2022/layout/lib/builder/widget-column-renderer.mjs +0 -75
  787. package/esm2022/layout/lib/builder/widget-container.mjs +0 -45
  788. package/esm2022/layout/lib/builder/widget-registery.service.mjs +0 -33
  789. package/esm2022/layout/lib/builder/widget-renderer.mjs +0 -279
  790. package/esm2022/layout/lib/builder/widget.types.mjs +0 -49
  791. package/esm2022/layout/lib/component-slot/component-slot-loader.service.mjs +0 -56
  792. package/esm2022/layout/lib/component-slot/component-slot-registery.service.mjs +0 -28
  793. package/esm2022/layout/lib/component-slot/component-slot.directive.mjs +0 -24
  794. package/esm2022/layout/lib/component-slot/component-slot.module.mjs +0 -72
  795. package/esm2022/layout/lib/component-slot/component-slot.types.mjs +0 -2
  796. package/esm2022/layout/lib/component-slot/index.mjs +0 -6
  797. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +0 -58
  798. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +0 -50
  799. package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +0 -57
  800. package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +0 -4
  801. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +0 -74
  802. package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +0 -92
  803. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +0 -14
  804. package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +0 -29
  805. package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +0 -5
  806. package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +0 -12
  807. package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +0 -29
  808. package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +0 -60
  809. package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +0 -8
  810. package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +0 -16
  811. package/esm2022/layouts/lib/admin/store/index.mjs +0 -6
  812. package/esm2022/layouts/lib/layout.routes.mjs +0 -15
  813. package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +0 -64
  814. package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +0 -2
  815. package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +0 -28
  816. package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +0 -22
  817. package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +0 -16
  818. package/esm2022/layouts/lib/shared/components/index.mjs +0 -10
  819. package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +0 -38
  820. package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +0 -20
  821. package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +0 -36
  822. package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +0 -48
  823. package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +0 -70
  824. package/esm2022/layouts/lib/shared/entity/entity.class.mjs +0 -32
  825. package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +0 -13
  826. package/esm2022/layouts/lib/shared/entity/index.mjs +0 -4
  827. package/esm2022/layouts/lib/shared/index.mjs +0 -5
  828. package/esm2022/layouts/lib/shared/services/index.mjs +0 -2
  829. package/esm2022/layouts/lib/shared/services/layout.service.mjs +0 -79
  830. package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +0 -147
  831. package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +0 -24
  832. package/esm2022/layouts/lib/shared/workflows/index.mjs +0 -3
  833. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.mjs +0 -73
  834. package/esm2022/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.mjs +0 -99
  835. package/esm2022/layouts/lib/themes/default/index.mjs +0 -3
  836. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +0 -160
  837. package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +0 -61
  838. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +0 -53
  839. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +0 -22
  840. package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +0 -47
  841. package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +0 -147
  842. package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +0 -135
  843. package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +0 -125
  844. package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +0 -504
  845. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +0 -44
  846. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +0 -178
  847. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +0 -214
  848. package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +0 -71
  849. package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +0 -73
  850. package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +0 -249
  851. package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +0 -108
  852. package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +0 -27
  853. package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +0 -200
  854. package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +0 -27
  855. package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +0 -153
  856. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +0 -189
  857. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +0 -27
  858. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +0 -2
  859. package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +0 -173
  860. package/esm2022/layouts/lib/widgets/index.mjs +0 -2
  861. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +0 -43
  862. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +0 -74
  863. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +0 -115
  864. package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +0 -54
  865. package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +0 -91
  866. package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +0 -63
  867. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +0 -71
  868. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +0 -136
  869. package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +0 -132
  870. package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +0 -46
  871. package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +0 -30
  872. package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +0 -175
  873. package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +0 -67
  874. package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +0 -41
  875. package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +0 -109
  876. package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +0 -91
  877. package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +0 -231
  878. package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +0 -123
  879. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +0 -61
  880. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +0 -67
  881. package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +0 -34
  882. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +0 -43
  883. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +0 -53
  884. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +0 -41
  885. package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +0 -45
  886. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +0 -128
  887. package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +0 -41
  888. package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +0 -37
  889. package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +0 -46
  890. package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +0 -162
  891. package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +0 -66
  892. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +0 -57
  893. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +0 -25
  894. package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +0 -49
  895. package/esm2022/schema/acorex-platform-schema.mjs +0 -5
  896. package/esm2022/schema/index.mjs +0 -14
  897. package/esm2022/schema/lib/component-loader.mjs +0 -2
  898. package/esm2022/schema/lib/formats.mjs +0 -2
  899. package/esm2022/schema/lib/operators.mjs +0 -50
  900. package/esm2022/schema/lib/schema-registery.service.mjs +0 -33
  901. package/esm2022/schema/lib/schema.module.mjs +0 -23
  902. package/esm2022/schema/lib/schema.types.mjs +0 -2
  903. package/esm2022/schema/lib/widget/widget-base.mjs +0 -113
  904. package/esm2022/schema/lib/widget/widget-column-renderer.mjs +0 -118
  905. package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +0 -133
  906. package/esm2022/schema/lib/widget/widget-renderer.mjs +0 -144
  907. package/esm2022/schema/lib/widget/widget-token.mjs +0 -3
  908. package/fesm2022/acorex-platform-core.mjs +0 -94
  909. package/fesm2022/acorex-platform-core.mjs.map +0 -1
  910. package/fesm2022/acorex-platform-layout.mjs +0 -756
  911. package/fesm2022/acorex-platform-layout.mjs.map +0 -1
  912. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs +0 -162
  913. package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-a_eCmVu5.mjs.map +0 -1
  914. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs +0 -64
  915. package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-wwI7L0Kc.mjs.map +0 -1
  916. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs +0 -150
  917. package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-CHW4rgxA.mjs.map +0 -1
  918. package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs +0 -178
  919. package/fesm2022/acorex-platform-layouts-change-password.component-vUZy2W_B.mjs.map +0 -1
  920. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs +0 -56
  921. package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-BNEtAS7g.mjs.map +0 -1
  922. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs +0 -25
  923. package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-Cqn_QBcv.mjs.map +0 -1
  924. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs +0 -50
  925. package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-DQLggJ9x.mjs.map +0 -1
  926. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs +0 -47
  927. package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-D0eNN66F.mjs.map +0 -1
  928. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs +0 -181
  929. package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-BLqAWdRX.mjs.map +0 -1
  930. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs +0 -217
  931. package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-tvc-cTos.mjs.map +0 -1
  932. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs +0 -74
  933. package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-CjChqiJw.mjs.map +0 -1
  934. package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs +0 -76
  935. package/fesm2022/acorex-platform-layouts-email-widget-column.component-CUnxKERe.mjs.map +0 -1
  936. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs +0 -252
  937. package/fesm2022/acorex-platform-layouts-email-widget-edit.component-DqnNien2.mjs.map +0 -1
  938. package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs +0 -111
  939. package/fesm2022/acorex-platform-layouts-email-widget-view.component-BZsLYW2w.mjs.map +0 -1
  940. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs +0 -108
  941. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C3TUCnB2.mjs.map +0 -1
  942. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs +0 -89
  943. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-BnSfJlc5.mjs.map +0 -1
  944. package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs +0 -30
  945. package/fesm2022/acorex-platform-layouts-file-widget-column.component-f54Z9E5C.mjs.map +0 -1
  946. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs +0 -203
  947. package/fesm2022/acorex-platform-layouts-file-widget-edit.component-CW9ESi46.mjs.map +0 -1
  948. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs +0 -30
  949. package/fesm2022/acorex-platform-layouts-file-widget-filter.component-K3mC1xLX.mjs.map +0 -1
  950. package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs +0 -156
  951. package/fesm2022/acorex-platform-layouts-file-widget-view.component-DVlbi33v.mjs.map +0 -1
  952. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs +0 -192
  953. package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-BUlkUU5u.mjs.map +0 -1
  954. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs +0 -30
  955. package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-BYFQSXOV.mjs.map +0 -1
  956. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs +0 -176
  957. package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-BqVO3rDH.mjs.map +0 -1
  958. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs +0 -40
  959. package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-CmH9daul.mjs.map +0 -1
  960. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs +0 -46
  961. package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-C4Bb5AYW.mjs.map +0 -1
  962. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs +0 -120
  963. package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-B2Qyoi4Q.mjs.map +0 -1
  964. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs +0 -158
  965. package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-JJzSun3D.mjs.map +0 -1
  966. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs +0 -57
  967. package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-Bmp_zVcQ.mjs.map +0 -1
  968. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs +0 -94
  969. package/fesm2022/acorex-platform-layouts-map-widget-edit.component-EWlgQnx5.mjs.map +0 -1
  970. package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs +0 -66
  971. package/fesm2022/acorex-platform-layouts-map-widget-view.component-cB5Mq7G7.mjs.map +0 -1
  972. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs +0 -74
  973. package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-DWgWrdmz.mjs.map +0 -1
  974. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs +0 -139
  975. package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-C7VOe49a.mjs.map +0 -1
  976. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs +0 -135
  977. package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-uciMJWYn.mjs.map +0 -1
  978. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs +0 -49
  979. package/fesm2022/acorex-platform-layouts-number-widget-edit.component-CXTwKvM4.mjs.map +0 -1
  980. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs +0 -138
  981. package/fesm2022/acorex-platform-layouts-number-widget-filter.component-ARH7BdkE.mjs.map +0 -1
  982. package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs +0 -33
  983. package/fesm2022/acorex-platform-layouts-number-widget-view.component-B0duuEhX.mjs.map +0 -1
  984. package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs +0 -70
  985. package/fesm2022/acorex-platform-layouts-password-widget-column.component-Cav_zCe4.mjs.map +0 -1
  986. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs +0 -44
  987. package/fesm2022/acorex-platform-layouts-password-widget-edit.component-Dm2E5zA_.mjs.map +0 -1
  988. package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs +0 -112
  989. package/fesm2022/acorex-platform-layouts-password-widget-view.component-BaipF6fT.mjs.map +0 -1
  990. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs +0 -94
  991. package/fesm2022/acorex-platform-layouts-phone-widget-column.component-BtZ5Qke0.mjs.map +0 -1
  992. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs +0 -234
  993. package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-BugCYS-l.mjs.map +0 -1
  994. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs +0 -126
  995. package/fesm2022/acorex-platform-layouts-phone-widget-view.component-C7EN8qDk.mjs.map +0 -1
  996. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs +0 -64
  997. package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-B99s2Zhi.mjs.map +0 -1
  998. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs +0 -70
  999. package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-Di1P6EQV.mjs.map +0 -1
  1000. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs +0 -37
  1001. package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component-B_QG0YJc.mjs.map +0 -1
  1002. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs +0 -46
  1003. package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-Cx9QqR9f.mjs.map +0 -1
  1004. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs +0 -56
  1005. package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-DU-U-Af-.mjs.map +0 -1
  1006. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs +0 -44
  1007. package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-B8y8heXR.mjs.map +0 -1
  1008. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs +0 -48
  1009. package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-BDupWZy-.mjs.map +0 -1
  1010. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs +0 -131
  1011. package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-bEDsl8mg.mjs.map +0 -1
  1012. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs +0 -44
  1013. package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-DB903O2F.mjs.map +0 -1
  1014. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs +0 -128
  1015. package/fesm2022/acorex-platform-layouts-string-widget-filter.component-D3ZxVk6S.mjs.map +0 -1
  1016. package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs +0 -49
  1017. package/fesm2022/acorex-platform-layouts-text-widget-column.component-D8WDAbQB.mjs.map +0 -1
  1018. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs +0 -165
  1019. package/fesm2022/acorex-platform-layouts-text-widget-edit.component-BrDbNXgJ.mjs.map +0 -1
  1020. package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs +0 -69
  1021. package/fesm2022/acorex-platform-layouts-text-widget-view.component-XHN41M3T.mjs.map +0 -1
  1022. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs +0 -60
  1023. package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-BjIyTuZj.mjs.map +0 -1
  1024. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs +0 -28
  1025. package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-BKbBile6.mjs.map +0 -1
  1026. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs +0 -52
  1027. package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-CyjhQSiV.mjs.map +0 -1
  1028. package/fesm2022/acorex-platform-schema.mjs +0 -594
  1029. package/fesm2022/acorex-platform-schema.mjs.map +0 -1
  1030. package/layout/README.md +0 -4
  1031. package/layout/index.d.ts +0 -2
  1032. package/layout/lib/builder/builder.module.d.ts +0 -23
  1033. package/layout/lib/builder/context.service.d.ts +0 -17
  1034. package/layout/lib/builder/index.d.ts +0 -7
  1035. package/layout/lib/builder/widget-column-renderer.d.ts +0 -30
  1036. package/layout/lib/builder/widget-container.d.ts +0 -13
  1037. package/layout/lib/builder/widget-renderer.d.ts +0 -41
  1038. package/layout/lib/builder/widget.types.d.ts +0 -55
  1039. package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +0 -22
  1040. package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +0 -21
  1041. package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +0 -17
  1042. package/layouts/lib/admin/admin-child-layout/index.d.ts +0 -3
  1043. package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +0 -30
  1044. package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +0 -25
  1045. package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +0 -5
  1046. package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +0 -10
  1047. package/layouts/lib/admin/admin-root-layout/index.d.ts +0 -4
  1048. package/layouts/lib/admin/store/admin-layout.selectors.d.ts +0 -5
  1049. package/layouts/lib/layout.routes.d.ts +0 -2
  1050. package/layouts/lib/shared/components/content-view/content-view.page.d.ts +0 -23
  1051. package/layouts/lib/shared/components/content-view/content-view.type.d.ts +0 -16
  1052. package/layouts/lib/shared/components/error-401/error-401.component.d.ts +0 -10
  1053. package/layouts/lib/shared/components/error-404/error-404.component.d.ts +0 -8
  1054. package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +0 -9
  1055. package/layouts/lib/shared/components/index.d.ts +0 -9
  1056. package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +0 -10
  1057. package/layouts/lib/shared/entity/entity.class.d.ts +0 -153
  1058. package/layouts/lib/shared/index.d.ts +0 -4
  1059. package/layouts/lib/shared/services/index.d.ts +0 -1
  1060. package/layouts/lib/shared/workflows/common.workflow.d.ts +0 -61
  1061. package/layouts/lib/shared/workflows/error-handler.d.ts +0 -8
  1062. package/layouts/lib/themes/default/entity-layouts/entity-details-view/entity-details-view.component.d.ts +0 -11
  1063. package/layouts/lib/themes/default/entity-layouts/entity-details.viewmodel.d.ts +0 -34
  1064. package/layouts/lib/themes/default/index.d.ts +0 -2
  1065. package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +0 -16
  1066. package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +0 -13
  1067. package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +0 -11
  1068. package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +0 -6
  1069. package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +0 -11
  1070. package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +0 -17
  1071. package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +0 -11
  1072. package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +0 -11
  1073. package/layouts/lib/widgets/common-widgets.module.d.ts +0 -32
  1074. package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +0 -11
  1075. package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -26
  1076. package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +0 -16
  1077. package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +0 -11
  1078. package/layouts/lib/widgets/email/email-widget-column.component.d.ts +0 -16
  1079. package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +0 -28
  1080. package/layouts/lib/widgets/email/email-widget-view.component.d.ts +0 -16
  1081. package/layouts/lib/widgets/file/file-widget-column.component.d.ts +0 -8
  1082. package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +0 -17
  1083. package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +0 -6
  1084. package/layouts/lib/widgets/file/file-widget-view.component.d.ts +0 -17
  1085. package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +0 -15
  1086. package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +0 -6
  1087. package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +0 -16
  1088. package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +0 -16
  1089. package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +0 -15
  1090. package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +0 -16
  1091. package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +0 -17
  1092. package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +0 -15
  1093. package/layouts/lib/widgets/map/map-widget-view.component.d.ts +0 -17
  1094. package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +0 -15
  1095. package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +0 -14
  1096. package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +0 -17
  1097. package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +0 -7
  1098. package/layouts/lib/widgets/number/number-widget-view.component.d.ts +0 -8
  1099. package/layouts/lib/widgets/password/password-widget-column.component.d.ts +0 -14
  1100. package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +0 -6
  1101. package/layouts/lib/widgets/password/password-widget-view.component.d.ts +0 -18
  1102. package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +0 -15
  1103. package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +0 -29
  1104. package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +0 -18
  1105. package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +0 -11
  1106. package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +0 -33
  1107. package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +0 -10
  1108. package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +0 -16
  1109. package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +0 -12
  1110. package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +0 -9
  1111. package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +0 -15
  1112. package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +0 -19
  1113. package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +0 -8
  1114. package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +0 -6
  1115. package/layouts/lib/widgets/text/text-widget-column.component.d.ts +0 -12
  1116. package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +0 -23
  1117. package/layouts/lib/widgets/text/text-widget-view.component.d.ts +0 -11
  1118. package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +0 -11
  1119. package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +0 -6
  1120. package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +0 -11
  1121. package/schema/README.md +0 -3
  1122. package/schema/index.d.ts +0 -11
  1123. package/schema/lib/operators.d.ts +0 -22
  1124. package/schema/lib/schema.types.d.ts +0 -16
  1125. package/schema/lib/widget/widget-base.d.ts +0 -45
  1126. package/schema/lib/widget/widget-token.d.ts +0 -16
  1127. /package/{core → common}/lib/app/operators.d.ts +0 -0
  1128. /package/{core → common}/lib/configs/config.types.d.ts +0 -0
  1129. /package/{layout/lib → common/lib/layout}/component-slot/component-slot-loader.service.d.ts +0 -0
  1130. /package/{layout/lib → common/lib/layout}/component-slot/component-slot-registery.service.d.ts +0 -0
  1131. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.directive.d.ts +0 -0
  1132. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.module.d.ts +0 -0
  1133. /package/{layout/lib → common/lib/layout}/component-slot/component-slot.types.d.ts +0 -0
  1134. /package/{layout/lib → common/lib/layout}/component-slot/index.d.ts +0 -0
  1135. /package/{layouts/lib/shared/services → common/lib/layout}/layout.service.d.ts +0 -0
  1136. /package/{layouts/lib/shared/components → common/lib/layout}/logo/logo.component.d.ts +0 -0
  1137. /package/common/lib/{shared → layout/logo}/logo.types.d.ts +0 -0
  1138. /package/common/lib/{menu → layout/menu}/index.d.ts +0 -0
  1139. /package/common/lib/{menu → layout/menu}/menu.loader.d.ts +0 -0
  1140. /package/common/lib/{menu → layout/menu}/menu.types.d.ts +0 -0
  1141. /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/footer-text-slot.component.d.ts +0 -0
  1142. /package/{layouts/lib/shared → common/lib/layout/theme}/components/slots/theme-slot.component.d.ts +0 -0
  1143. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.actions.d.ts +0 -0
  1144. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.effects.d.ts +0 -0
  1145. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.reducers.d.ts +0 -0
  1146. /package/{layouts/lib/admin → common/lib/layout/theme}/store/admin-layout.state.d.ts +0 -0
  1147. /package/{layouts/lib/admin → common/lib/layout/theme}/store/index.d.ts +0 -0
  1148. /package/{schema/lib → common/lib/schema}/component-loader.d.ts +0 -0
  1149. /package/{layouts/lib/shared → common/lib/schema}/entity/entity-registery.service.d.ts +0 -0
  1150. /package/{layouts/lib/shared → common/lib/schema}/entity/entity.loader.d.ts +0 -0
  1151. /package/{layouts/lib/shared → common/lib/schema}/entity/index.d.ts +0 -0
  1152. /package/{schema/lib → common/lib/schema}/formats.d.ts +0 -0
  1153. /package/{schema/lib → common/lib/schema}/schema-registery.service.d.ts +0 -0
  1154. /package/{schema/lib → common/lib/schema}/schema.module.d.ts +0 -0
  1155. /package/{schema/lib → common/lib/schema}/widget/widget-column-renderer.d.ts +0 -0
  1156. /package/{schema/lib → common/lib/schema}/widget/widget-filter-renderer.d.ts +0 -0
  1157. /package/{schema/lib → common/lib/schema}/widget/widget-renderer.d.ts +0 -0
  1158. /package/{layouts/lib → common/lib/schema}/widgets/gallery/gallery-widget-types.d.ts +0 -0
  1159. /package/{layouts/lib → common/lib/schema}/widgets/index.d.ts +0 -0
  1160. /package/{layouts/lib → common/lib/schema}/widgets/password/change-password.component.d.ts +0 -0
  1161. /package/{layouts/lib/shared → common/lib}/workflows/index.d.ts +0 -0
  1162. /package/layout/{lib → builder/lib}/builder/widget-registery.service.d.ts +0 -0
@@ -2,7 +2,7 @@ import { AXDialogService } from '@acorex/components/dialog';
2
2
  import { AXBasePageComponent } from '@acorex/components/page';
3
3
  import { AXToastService } from '@acorex/components/toast';
4
4
  import { AXUnsubscriber } from '@acorex/core/utils';
5
- import { AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/schema';
5
+ import { AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/common';
6
6
  import { moveItemInArray } from '@angular/cdk/drag-drop';
7
7
  import { ChangeDetectionStrategy, Component, Input, computed, inject, signal, } from '@angular/core';
8
8
  import { cloneDeep } from 'lodash-es';
@@ -22,7 +22,7 @@ import * as i12 from "@acorex/components/label";
22
22
  import * as i13 from "@acorex/components/selection-list";
23
23
  import * as i14 from "@acorex/components/dropdown-button";
24
24
  import * as i15 from "@angular/cdk/drag-drop";
25
- import * as i16 from "@acorex/platform/schema";
25
+ import * as i16 from "@acorex/platform/common";
26
26
  export class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {
27
27
  constructor() {
28
28
  super(...arguments);
@@ -181,7 +181,7 @@ export class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {
181
181
  {
182
182
  provide: AXUnsubscriber,
183
183
  },
184
- ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item text=\"Columns\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\n cdkDropList\n (cdkDropListDropped)=\"drop('columns', $event)\"\n >\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [(ngModel)]=\"item.visible\"\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to filter</span\n >\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button\n (onClick)=\"addCondition(); conditionsPopover.close()\"\n class=\"ax-sm\"\n text=\"Confirm\"\n color=\"primary\"\n >\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to sort</span\n >\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\n </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'asc'\"\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\n ></ax-icon>\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'desc'\"\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\n ></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\n color=\"primary\"\n (onClick)=\"handleApplyClick()\"\n ></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
184
+ ], usesInheritance: true, ngImport: i0, template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\r\n <div class=\"ax-flex ax-items-center\">\r\n @if (showNameInput() && mode==='create') {\r\n <div class=\"ax-w-60\">\r\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\r\n @if(showNameInput()){\r\n <ax-suffix>\r\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\r\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n }\r\n </ax-text-box>\r\n </div>\r\n }@else {\r\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\r\n } @if (mode===\"create\") {\r\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\r\n @if(!showNameInput() ){\r\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\r\n }\r\n </ax-button>\r\n }\r\n </div>\r\n <ax-close-button></ax-close-button>\r\n</ax-header>\r\n<div class=\"ax-p-4\">\r\n <ax-tabs [content]=\"contents\" look=\"with-line\">\r\n <ax-tab-item text=\"Columns\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('columns', $event)\"\r\n >\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\r\n <ng-container *ngFor=\"let item of columns()\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [(ngModel)]=\"item.visible\"\r\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Conditions\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!conditions().length\"\r\n >\r\n @if(!conditions().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to filter</span\r\n >\r\n </div>\r\n } @else {\r\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\r\n @for(item of conditions(); track item.name ){\r\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\r\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\r\n @if(getOperatorTitle(item.name,item.operator)){\r\n <ax-badge\r\n class=\"ax-text-xs\"\r\n color=\"primary\"\r\n [look]=\"'twotone'\"\r\n [text]=\"getOperatorTitle(item.name, item.operator)\"\r\n ></ax-badge>\r\n }\r\n </div>\r\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <div class=\"ax-w-full\">\r\n <axp-widget-filter-renderer\r\n [schema]=\"getSchema(item.name)\"\r\n [prop]=\"loader.getProp(item.name)\"\r\n [(value)]=\"item.value\"\r\n [(operator)]=\"item.operator\"\r\n >\r\n </axp-widget-filter-renderer>\r\n </div>\r\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(conditions().length){\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\r\n </div>\r\n }\r\n <ax-popover\r\n #conditionsPopover\r\n [target]=\"addField\"\r\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\r\n [offsetY]=\"8\"\r\n [openOn]=\"'toggle'\"\r\n [closeOn]=\"'clickOut'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"resetSelectedFieldNames()\"\r\n >\r\n <div\r\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\r\n >\r\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\r\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\r\n </div>\r\n <div class=\"ax-max-h-48 ax-overflow-auto\">\r\n <ax-selection-list\r\n [valueField]=\"'name'\"\r\n [textField]=\"'title'\"\r\n [(ngModel)]=\"selectedConditionNames\"\r\n [direction]=\"'vertical'\"\r\n [items]=\"props()\"\r\n [multiple]=\"true\"\r\n ></ax-selection-list>\r\n </div>\r\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\r\n <ax-button\r\n (onClick)=\"addCondition(); conditionsPopover.close()\"\r\n class=\"ax-sm\"\r\n text=\"Confirm\"\r\n color=\"primary\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n </ax-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Sorting\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!sorts().length\"\r\n >\r\n @if(!sorts().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to sort</span\r\n >\r\n </div>\r\n }@else {\r\n <div\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('sorts', $event)\"\r\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\r\n >\r\n <ng-container *ngFor=\"let item of sorts()\">\r\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\r\n </ax-select-box>\r\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'asc'\"\r\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'desc'\"\r\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n </ax-button>\r\n\r\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(sorts().length){\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"blank\"\r\n class=\"ax-sm\"\r\n ></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"outline\"\r\n class=\"ax-md ax-w-56\"\r\n ></ax-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n </ax-tabs>\r\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\r\n</div>\r\n<ax-footer class=\"!ax-justify-end\">\r\n @if (mode===\"edit\") {\r\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\r\n <ax-button-item-list>\r\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\r\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\r\n ></ax-button-item>\r\n </ax-button-item-list>\r\n </ax-dropdown-button>\r\n } @else {\r\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\r\n }\r\n <ax-button\r\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\r\n color=\"primary\"\r\n (onClick)=\"handleApplyClick()\"\r\n ></ax-button>\r\n</ax-footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "component", type: i6.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "component", type: i8.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "component", type: i9.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i9.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i9.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "component", type: i10.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i11.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "component", type: i12.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "component", type: i13.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: i14.AXDropdownButtonComponent, selector: "ax-dropdown-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "type", "mode"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "directive", type: i15.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i15.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i15.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i16.AXPWidgetFilterRendererComponent, selector: "axp-widget-filter-renderer", inputs: ["value", "operator", "prop", "schema"], outputs: ["valueChange", "operatorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
185
  }
186
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPEntityCreateCustomViewComponent, decorators: [{
187
187
  type: Component,
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
189
189
  {
190
190
  provide: AXUnsubscriber,
191
191
  },
192
- ], template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item text=\"Columns\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\n cdkDropList\n (cdkDropListDropped)=\"drop('columns', $event)\"\n >\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [(ngModel)]=\"item.visible\"\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to filter</span\n >\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\n >\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button\n (onClick)=\"addCondition(); conditionsPopover.close()\"\n class=\"ax-sm\"\n text=\"Confirm\"\n color=\"primary\"\n >\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\n >Please select field(s) that you want to sort</span\n >\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\n </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'asc'\"\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\n ></ax-icon>\n <ax-icon\n [class.ax-text-primary]=\"item.dir == 'desc'\"\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\n ></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n text=\"Add field\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\n color=\"primary\"\n (onClick)=\"handleApplyClick()\"\n ></ax-button>\n</ax-footer>\n" }]
192
+ ], template: "<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\r\n <div class=\"ax-flex ax-items-center\">\r\n @if (showNameInput() && mode==='create') {\r\n <div class=\"ax-w-60\">\r\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\r\n @if(showNameInput()){\r\n <ax-suffix>\r\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\r\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\r\n </ax-button>\r\n </ax-suffix>\r\n }\r\n </ax-text-box>\r\n </div>\r\n }@else {\r\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\r\n } @if (mode===\"create\") {\r\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\r\n @if(!showNameInput() ){\r\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\r\n }\r\n </ax-button>\r\n }\r\n </div>\r\n <ax-close-button></ax-close-button>\r\n</ax-header>\r\n<div class=\"ax-p-4\">\r\n <ax-tabs [content]=\"contents\" look=\"with-line\">\r\n <ax-tab-item text=\"Columns\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('columns', $event)\"\r\n >\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\r\n <ng-container *ngFor=\"let item of columns()\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [(ngModel)]=\"item.visible\"\r\n (onValueChanged)=\"updateColumnItem($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Conditions\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!conditions().length\"\r\n >\r\n @if(!conditions().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to filter</span\r\n >\r\n </div>\r\n } @else {\r\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\r\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\r\n @for(item of conditions(); track item.name ){\r\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\r\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\r\n @if(getOperatorTitle(item.name,item.operator)){\r\n <ax-badge\r\n class=\"ax-text-xs\"\r\n color=\"primary\"\r\n [look]=\"'twotone'\"\r\n [text]=\"getOperatorTitle(item.name, item.operator)\"\r\n ></ax-badge>\r\n }\r\n </div>\r\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <div class=\"ax-w-full\">\r\n <axp-widget-filter-renderer\r\n [schema]=\"getSchema(item.name)\"\r\n [prop]=\"loader.getProp(item.name)\"\r\n [(value)]=\"item.value\"\r\n [(operator)]=\"item.operator\"\r\n >\r\n </axp-widget-filter-renderer>\r\n </div>\r\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(conditions().length){\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"blank\" class=\"ax-sm\"></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button color=\"primary\" text=\"Add field\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\r\n </div>\r\n }\r\n <ax-popover\r\n #conditionsPopover\r\n [target]=\"addField\"\r\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\r\n [offsetY]=\"8\"\r\n [openOn]=\"'toggle'\"\r\n [closeOn]=\"'clickOut'\"\r\n [adaptivityEnabled]=\"true\"\r\n (onOpened)=\"resetSelectedFieldNames()\"\r\n >\r\n <div\r\n class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\"\r\n >\r\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\r\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\r\n </div>\r\n <div class=\"ax-max-h-48 ax-overflow-auto\">\r\n <ax-selection-list\r\n [valueField]=\"'name'\"\r\n [textField]=\"'title'\"\r\n [(ngModel)]=\"selectedConditionNames\"\r\n [direction]=\"'vertical'\"\r\n [items]=\"props()\"\r\n [multiple]=\"true\"\r\n ></ax-selection-list>\r\n </div>\r\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\r\n <ax-button\r\n (onClick)=\"addCondition(); conditionsPopover.close()\"\r\n class=\"ax-sm\"\r\n text=\"Confirm\"\r\n color=\"primary\"\r\n >\r\n </ax-button>\r\n </div>\r\n </div>\r\n </ax-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n <ax-tab-item text=\"Sorting\">\r\n <ax-suffix>\r\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\r\n </ax-suffix>\r\n <ax-content>\r\n <div\r\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\r\n [class.ax-justify-center]=\"!sorts().length\"\r\n >\r\n @if(!sorts().length){\r\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\r\n <ax-image src=\"assets/documents.svg\"></ax-image>\r\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Sorts Selected</p>\r\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\"\r\n >Please select field(s) that you want to sort</span\r\n >\r\n </div>\r\n }@else {\r\n <div\r\n cdkDropList\r\n (cdkDropListDropped)=\"drop('sorts', $event)\"\r\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\r\n >\r\n <ng-container *ngFor=\"let item of sorts()\">\r\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\r\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\">\r\n </ax-select-box>\r\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'asc'\"\r\n class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n <ax-icon\r\n [class.ax-text-primary]=\"item.dir == 'desc'\"\r\n class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"\r\n ></ax-icon>\r\n </ax-button>\r\n\r\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\r\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\r\n </ax-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"ax-flex ax-gap-2\">\r\n <div class=\"ax-w-full\" #addField>\r\n @if(sorts().length){\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"blank\"\r\n class=\"ax-sm\"\r\n ></ax-button>\r\n }@else {\r\n <div class=\"ax-flex ax-justify-center ax-w-full\">\r\n <ax-button\r\n (onClick)=\"addSortItem()\"\r\n color=\"primary\"\r\n text=\"Add field\"\r\n look=\"outline\"\r\n class=\"ax-md ax-w-56\"\r\n ></ax-button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </ax-content>\r\n </ax-tab-item>\r\n </ax-tabs>\r\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\r\n</div>\r\n<ax-footer class=\"!ax-justify-end\">\r\n @if (mode===\"edit\") {\r\n <ax-dropdown-button text=\"Discard\" (onClick)=\"handleDiscardClick()\">\r\n <ax-button-item-list>\r\n <ax-button-item text=\"Reset\" (onClick)=\"handleResetClick()\">\r\n <ax-prefix>\r\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\r\n </ax-prefix>\r\n </ax-button-item>\r\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\r\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\r\n ></ax-button-item>\r\n </ax-button-item-list>\r\n </ax-dropdown-button>\r\n } @else {\r\n <ax-button text=\"Cancel\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\r\n }\r\n <ax-button\r\n [text]=\"mode === 'create' ? 'Save' : 'Save Changes'\"\r\n color=\"primary\"\r\n (onClick)=\"handleApplyClick()\"\r\n ></ax-button>\r\n</ax-footer>\r\n" }]
193
193
  }], propDecorators: { loader: [{
194
194
  type: Input
195
195
  }], mode: [{
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
197
197
  }], selectedView: [{
198
198
  type: Input
199
199
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWN1c3RvbS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvZW50aXR5LWN1c3RvbS12aWV3L2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQXFCLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9GLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0J0QyxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsbUJBQW1CO0lBVDNFOztRQVVVLG1CQUFjLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbEQsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUduQyxTQUFJLEdBQXNCLFFBQVEsQ0FBQztRQUNuQyxpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV0QixrQkFBYSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsVUFBSyxHQUF3QyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFeEQsWUFBTyxHQUF1RCxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekUsbUJBQWMsR0FBK0MsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNuRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3hDLENBQUM7UUFDUSxlQUFVLEdBQW1ELE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RSxVQUFLLEdBQThDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU5RCwyQkFBc0IsR0FBYSxFQUFFLENBQUM7UUFDdEMsY0FBUyxHQUFhLEVBQUUsQ0FBQztLQXlKcEM7SUF2Sm9CLFFBQVE7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsZ0JBQWdCLENBQUMsS0FBMEIsRUFBRSxPQUFlO1FBQzFELElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUMvQixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3ZGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELCtDQUErQztJQUMvQyxjQUFjLENBQUMsSUFBNkI7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUM5QixTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2pILENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBNkIsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUE2QjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsb0RBQW9EO0lBQzFDLFNBQVMsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFUyxZQUFZLENBQUMsSUFBWTtRQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxhQUFhLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRVMsa0JBQWtCLENBQUMsSUFBWTtRQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDMUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQztJQUNwRixDQUFDO0lBRVMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxPQUFlO1FBQzVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNuRixDQUFDO0lBQ1MsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNTLFlBQVk7UUFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFDO2dCQUNQLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSTthQUNuQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFpQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFrQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ3RDLElBQUksQ0FBQyxJQUF3QyxFQUFFLEtBQTZCO1FBQ3BGLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDL0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO29CQUN6QixlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNsRSxPQUFPLE9BQU8sQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO29CQUM5QixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUM7b0JBQ3hCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtvQkFDeEMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDO29CQUNsQyxlQUFlLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNyRSxPQUFPLFVBQVUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSO2dCQUNFLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBYTtRQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLElBQUksQ0FBQyxZQUFZO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDcEQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7U0FDcEIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxlQUFlO2dCQUN0QixPQUFPLEVBQUUsaUdBQWlHO2dCQUMxRyxLQUFLLEVBQUUsUUFBNEI7Z0JBQ25DLFFBQVEsRUFBRSxlQUE2QjtnQkFDdkMsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGFBQWE7YUFDZixPQUFPLENBQUMsU0FBUyxFQUFFLHdDQUF3QyxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTdLVSxrQ0FBa0M7a0dBQWxDLGtDQUFrQyxpSEFObEM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsY0FBYzthQUN4QjtTQUNGLGlEQ2pDSCw0cVdBbVFBOzsyRkRoT2Esa0NBQWtDO2tCQVQ5QyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGNBQWM7eUJBQ3hCO3FCQUNGOzhCQVFRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTG9jYXRpb24sIEFYU3R5bGVDb2xvclR5cGUsIEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUEZpbHRlck9wZXJhdG9yLCBBWFBTY2hlbWFSZWdpc3RyeVNlcnZpY2UsIEVRX09QRVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3NjaGVtYSc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgU2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnLFxuICBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdFNvcnRDb25maWcsXG4gIEFYUEVudGl0eVByb3BlcnR5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgQVhQTGlzdFZpZXdMb2FkZXIgfSBmcm9tICcuLi8uLi9saXN0LXZpZXcuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhVbnN1YnNjcmliZXIsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcml2YXRlIHNjaGVtYVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgdG9hc3RTZXJ2aWNlID0gaW5qZWN0KEFYVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgc3Vic2NyaWJlciA9IGluamVjdChBWFVuc3Vic2NyaWJlcik7XG5cbiAgQElucHV0KCkgbG9hZGVyITogQVhQTGlzdFZpZXdMb2FkZXI7XG4gIEBJbnB1dCgpIG1vZGU6ICdlZGl0JyB8ICdjcmVhdGUnID0gJ2NyZWF0ZSc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkVmlldzogYW55ID0ge307XG5cbiAgcHJvdGVjdGVkIHNob3dOYW1lSW5wdXQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJvdGVjdGVkIHByb3BzOiBXcml0YWJsZVNpZ25hbDxBWFBFbnRpdHlQcm9wZXJ0eVtdPiA9IHNpZ25hbChbXSk7XG5cbiAgcHJvdGVjdGVkIGNvbHVtbnM6IFdyaXRhYmxlU2lnbmFsPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+ID0gc2lnbmFsKFtdKTtcbiAgcHJvdGVjdGVkIHZpc2libGVDb2x1bW5zOiBTaWduYWw8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY29sdW1ucygpLmZpbHRlcigoYykgPT4gYy52aXNpYmxlKVxuICApO1xuICBwcm90ZWN0ZWQgY29uZGl0aW9uczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPiA9IHNpZ25hbChbXSk7XG4gIHByb3RlY3RlZCBzb3J0czogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4gPSBzaWduYWwoW10pO1xuXG4gIHByb3RlY3RlZCBzZWxlY3RlZENvbmRpdGlvbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgdmlld05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BzLnNldChjbG9uZURlZXAodGhpcy5sb2FkZXIuZW50aXR5LnByb3BlcnRpZXMpKTtcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XG4gICAgdGhpcy5jb25kaXRpb25zLnNldChjbG9uZURlZXAodGhpcy5zZWxlY3RlZFZpZXcuY29uZGl0aW9ucykpO1xuICAgIHRoaXMuc29ydHMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5zb3J0cykpO1xuICAgIHRoaXMubG9hZGVyLnZpZXdzJC5waXBlKHRoaXMuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKHZpZXdzKSA9PiB7XG4gICAgICB0aGlzLnZpZXdOYW1lcyA9IHZpZXdzLm1hcCgodikgPT4gdi5uYW1lKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgdXBkYXRlQ29sdW1uSXRlbShldmVudDogQVhWYWx1ZUNoYW5nZWRFdmVudCwgY29sTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKGV2ZW50LmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKChwcmV2Q29scykgPT5cbiAgICAgICAgcHJldkNvbHMubWFwKChjb2wpID0+IChjb2wubmFtZSA9PT0gY29sTmFtZSA/IHsgLi4uY29sLCB2aXNpYmxlOiBldmVudC52YWx1ZSB9IDogY29sKSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU29ydHMgKioqKioqKioqKioqKioqKioqLy9cbiAgdXBkYXRlU29ydEl0ZW0oaXRlbTogQVhQRW50aXR5TGlzdFNvcnRDb25maWcpIHtcbiAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PlxuICAgICAgcHJldlNvcnRzLm1hcCgoc29ydCkgPT4gKHNvcnQubmFtZSA9PT0gaXRlbS5uYW1lID8geyAuLi5zb3J0LCBkaXI6IHNvcnQuZGlyID09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYycgfSA6IHNvcnQpKVxuICAgICk7XG4gIH1cbiAgYWRkU29ydEl0ZW0oKSB7XG4gICAgY29uc3Qgc29ydE5hbWVzID0gdGhpcy5zb3J0cygpLm1hcCgocCkgPT4gcC5uYW1lKTtcbiAgICBjb25zb2xlLmxvZyh0aGlzLnByb3BzKCksIHNvcnROYW1lcyk7XG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiAhc29ydE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpPy5uYW1lIHx8IHRoaXMucHJvcHMoKVswXS5uYW1lO1xuICAgIHRoaXMuc29ydHMudXBkYXRlKChwcmV2U29ydHMpID0+IFsuLi5wcmV2U29ydHMsIHsgbmFtZSwgZGlyOiAnYXNjJyB9IGFzIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnXSk7XG4gIH1cblxuICByZW1vdmVTb3J0SXRlbShpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZykge1xuICAgIHRoaXMuc29ydHMudXBkYXRlKChwcmV2U29ydHMpID0+IHByZXZTb3J0cy5maWx0ZXIoKHNvcnQpID0+IGl0ZW0ubmFtZSAhPSBzb3J0Lm5hbWUpKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbmRpdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHJvdGVjdGVkIGdldFNjaGVtYShuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcygpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKT8uc2NoZW1hID8/ICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wZXJhdG9ycyhuYW1lOiBzdHJpbmcpOiBBWFBGaWx0ZXJPcGVyYXRvcltdIHtcbiAgICBjb25zdCBzY2hlbWFOYW1lID0gdGhpcy5wcm9wcygpLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKT8uc2NoZW1hID8/ICcnO1xuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9ycyA/PyBbXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3BlcmF0b3IobmFtZTogc3RyaW5nKTogQVhQRmlsdGVyT3BlcmF0b3Ige1xuICAgIGNvbnN0IHNjaGVtYU5hbWUgPSB0aGlzLnByb3BzKCkuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpPy5zY2hlbWEgPz8gJyc7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hUmVnaXN0cnkucmVzb2x2ZShzY2hlbWFOYW1lKT8uZmlsdGVyT3B0aW9ucz8uZGVmYXVsdCA/PyBFUV9PUEVSO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wZXJhdG9yVGl0bGUoc2NoZW1hTmFtZTogc3RyaW5nLCBvcHJOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9ycyhzY2hlbWFOYW1lKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gb3ByTmFtZSk/LnRpdGxlIHx8ICcnO1xuICB9XG4gIHByb3RlY3RlZCByZXNldFNlbGVjdGVkRmllbGROYW1lcygpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uTmFtZXMgPSB0aGlzLmNvbmRpdGlvbnMoKS5tYXAoKGMpID0+IGMubmFtZSk7XG4gIH1cbiAgcHJvdGVjdGVkIGFkZENvbmRpdGlvbigpIHtcbiAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbk5hbWVzLm1hcCgoYykgPT4ge1xuICAgICAgY29uc3Qgb3ByID0gdGhpcy5nZXREZWZhdWx0T3BlcmF0b3IoYyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiBjLFxuICAgICAgICBvcGVyYXRvcjogb3ByLm5hbWUsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY29uZGl0aW9ucyBhcyBhbnkpO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGl0ZW06IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcpIHtcbiAgICB0aGlzLmNvbmRpdGlvbnMudXBkYXRlKChwcmV2Q29uZGl0aW9ucykgPT4gcHJldkNvbmRpdGlvbnMuZmlsdGVyKChjb24pID0+IGNvbi5uYW1lICE9IGl0ZW0ubmFtZSkpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29tbW9uICoqKioqKioqKioqKioqKioqKi8vXG4gIHByb3RlY3RlZCBkcm9wKHR5cGU6ICdjb2x1bW5zJyB8ICdjb25kaXRpb25zJyB8ICdzb3J0cycsIGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdjb2x1bW5zJzpcbiAgICAgICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgocHJldkNvbHMpID0+IHtcbiAgICAgICAgICBjb25zdCBjb2x1bW5zID0gcHJldkNvbHM7XG4gICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NvcnRzJzpcbiAgICAgICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT4ge1xuICAgICAgICAgIGNvbnN0IHNvcnRzID0gcHJldlNvcnRzO1xuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShzb3J0cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICByZXR1cm4gc29ydHM7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NvbmRpdGlvbnMnOlxuICAgICAgICB0aGlzLmNvbmRpdGlvbnMudXBkYXRlKChwcmV2Q29uZGl0aW9ucykgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcmV2Q29uZGl0aW9ucztcbiAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkoY29uZGl0aW9ucywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucztcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVmlld05hbWVUb2dnbGUoKSB7XG4gICAgdGhpcy5zaG93TmFtZUlucHV0LnVwZGF0ZSgocHJldikgPT4gIXByZXYpO1xuICB9XG5cbiAgZ2VuZXJhdGVWaWV3TmFtZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRpdGxlLnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgaGFuZGxlQXBwbHlDbGljaygpIHtcbiAgICBjb25zdCB1cGRhdGVkVmlldyA9IHtcbiAgICAgIC4uLnRoaXMuc2VsZWN0ZWRWaWV3LFxuICAgICAgbmFtZTogdGhpcy5nZW5lcmF0ZVZpZXdOYW1lKHRoaXMuc2VsZWN0ZWRWaWV3LnRpdGxlKSxcbiAgICAgIGNvbmRpdGlvbnM6IHRoaXMuY29uZGl0aW9ucygpLFxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zKCksXG4gICAgICBzb3J0czogdGhpcy5zb3J0cygpLFxuICAgIH07XG4gICAgaWYgKHRoaXMudmlld05hbWVzLmluY2x1ZGVzKHVwZGF0ZWRWaWV3Lm5hbWUpICYmIHRoaXMubW9kZSA9PSAnY3JlYXRlJykge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIHRpdGxlOiAnSW52YWxpZCBUaXRsZScsXG4gICAgICAgIGNvbnRlbnQ6ICdUaGUgdGl0bGUgeW91IGhhdmUgY2hvc2VuIGFscmVhZHkgZXhpc3RzLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IHRpdGxlIGZvciB5b3VyIGN1c3RvbSB2aWV3LicsXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLFxuICAgICAgICBsb2NhdGlvbjogJ2JvdHRvbS1jZW50ZXInIGFzIEFYTG9jYXRpb24sXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCB1cGRhdGVkVmlldyB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVSZXNldENsaWNrKCkge1xuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbmRpdGlvbnMpKTtcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XG4gICAgdGhpcy5zb3J0cy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LnNvcnRzKSk7XG4gIH1cbiAgaGFuZGxlRGlzY2FyZENsaWNrKCkge1xuICAgIHRoaXMuY2xvc2UoeyBzYXZlOiBmYWxzZSB9KTtcbiAgfVxuICBoYW5kbGVDYW5jZWxDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKHsgc2F2ZTogZmFsc2UgfSk7XG4gIH1cbiAgaGFuZGxlRGVsZXRlQ2xpY2soKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAuY29uZmlybSgnV2FybmluZycsICdBcmUgeW91IHN1cmUgd2FudCB0byBkZWxldGUgdGhpcyB2aWV3PycsICdkYW5nZXInLCAnaG9yaXpvbnRhbCcpXG4gICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5yZXN1bHQpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKHsgZGVsZXRlOiB0cnVlLCB2aWV3TmFtZTogdGhpcy5zZWxlY3RlZFZpZXcubmFtZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxheC1oZWFkZXIgY2xhc3M9XCJheC1wLTQgYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtYm9yZGVyLWJcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgQGlmIChzaG93TmFtZUlucHV0KCkgJiYgbW9kZT09PSdjcmVhdGUnKSB7XG4gICAgPGRpdiBjbGFzcz1cImF4LXctNjBcIj5cbiAgICAgIDxheC10ZXh0LWJveCBjbGFzcz1cImF4LXNtXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZpZXcudGl0bGVcIj5cbiAgICAgICAgQGlmKHNob3dOYW1lSW5wdXQoKSl7XG4gICAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgICAgPGF4LWJ1dHRvbiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgbG9vaz1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29kaWxkIGZhcyBmYS1jaGVjayBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPC9heC1zdWZmaXg+XG4gICAgICAgIH1cbiAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgPC9kaXY+XG4gICAgfUBlbHNlIHtcbiAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbGcgYXgtZm9udC1zZW1pYm9sZFwiPnt7IHNlbGVjdGVkVmlldy50aXRsZSB9fTwvc3Bhbj5cbiAgICB9IEBpZiAobW9kZT09PVwiY3JlYXRlXCIpIHtcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgteHNcIiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgY29sb3I9XCJkZWZhdWx0XCI+XG4gICAgICBAaWYoIXNob3dOYW1lSW5wdXQoKSApe1xuICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1yZWd1bGFyIGZhLXBlbiBheC10ZXh0LXNtIGF4LXRleHQtbmV1dHJhbC02MDBcIj4gPC9heC1pY29uPlxuICAgICAgfVxuICAgIDwvYXgtYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG4gIDxheC1jbG9zZS1idXR0b24+PC9heC1jbG9zZS1idXR0b24+XG48L2F4LWhlYWRlcj5cbjxkaXYgY2xhc3M9XCJheC1wLTRcIj5cbiAgPGF4LXRhYnMgW2NvbnRlbnRdPVwiY29udGVudHNcIiBsb29rPVwid2l0aC1saW5lXCI+XG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb2x1bW5zXCI+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYmFkZ2UgW3RleHRdPVwidmlzaWJsZUNvbHVtbnMoKS5sZW5ndGgudG9TdHJpbmcoKVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2F4LWJhZGdlPlxuICAgICAgPC9heC1zdWZmaXg+XG4gICAgICA8YXgtY29udGVudD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1wLTQgYXgtc2VsZWN0LW5vbmUgYXgtaC1bNDAwcHhdXCJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgnY29sdW1ucycsICRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW92ZXJmbG93LWF1dG8gYXgtcGUtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5zKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtcHktMSBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1iZXR3ZWVuXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmVcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbWVkaXVtIGF4LXRleHQtc21cIj57eyBpdGVtLnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxheC1zd2l0Y2hcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cInVwZGF0ZUNvbHVtbkl0ZW0oJGV2ZW50LCBpdGVtLm5hbWUpXCJcbiAgICAgICAgICAgICAgICA+PC9heC1zd2l0Y2g+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdGFiLWl0ZW0+XG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb25kaXRpb25zXCI+XG4gICAgICA8YXgtc3VmZml4PlxuICAgICAgICA8YXgtYmFkZ2UgW3RleHRdPVwiY29uZGl0aW9ucygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWp1c3RpZnktc3RhcnQgYXgtZ2FwLTQgYXgtcHktNCBheC1zZWxlY3Qtbm9uZSBheC1oLVs0MDBweF1cIlxuICAgICAgICAgIFtjbGFzcy5heC1qdXN0aWZ5LWNlbnRlcl09XCIhY29uZGl0aW9ucygpLmxlbmd0aFwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYoIWNvbmRpdGlvbnMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPGF4LWltYWdlIHNyYz1cImFzc2V0cy9kb2N1bWVudHMuc3ZnXCI+PC9heC1pbWFnZT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIEZpbHRlcnMgU2VsZWN0ZWQ8L3A+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC00MDAgYXgtdGV4dC1zbSBtZDpheC10ZXh0LW1kXCJcbiAgICAgICAgICAgICAgPlBsZWFzZSBzZWxlY3QgZmllbGQocykgdGhhdCB5b3Ugd2FudCB0byBmaWx0ZXI8L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc29ydGVkLWxpc3QgYXgtcHgtNCBheC1weS0xIGF4LW92ZXJmbG93LWF1dG9cIj5cbiAgICAgICAgICAgIDxkaXYgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdjb25kaXRpb25zJywgJGV2ZW50KVwiIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgICBAZm9yKGl0ZW0gb2YgY29uZGl0aW9ucygpOyB0cmFjayBpdGVtLm5hbWUgKXtcbiAgICAgICAgICAgICAgPGRpdiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zb3J0ZWQtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tcy00IGF4LWZsZXggYXgtaXRlbXMtc3RhcnQgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57eyBsb2FkZXIuZ2V0UHJvcChpdGVtLm5hbWUpPy50aXRsZSB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICBAaWYoZ2V0T3BlcmF0b3JUaXRsZShpdGVtLm5hbWUsaXRlbS5vcGVyYXRvcikpe1xuICAgICAgICAgICAgICAgICAgPGF4LWJhZGdlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb29rXT1cIid0d290b25lJ1wiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImdldE9wZXJhdG9yVGl0bGUoaXRlbS5uYW1lLCBpdGVtLm9wZXJhdG9yKVwiXG4gICAgICAgICAgICAgICAgICA+PC9heC1iYWRnZT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1ncm91cCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCIgY2RrRHJhZ0hhbmRsZT48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LWZpbHRlci1yZW5kZXJlclxuICAgICAgICAgICAgICAgICAgICAgIFtzY2hlbWFdPVwiZ2V0U2NoZW1hKGl0ZW0ubmFtZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwcm9wXT1cImxvYWRlci5nZXRQcm9wKGl0ZW0ubmFtZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFsob3BlcmF0b3IpXT1cIml0ZW0ub3BlcmF0b3JcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvYXhwLXdpZGdldC1maWx0ZXItcmVuZGVyZXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImF4LXNtXCIgKG9uQ2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XG4gICAgICAgICAgICAgIEBpZihjb25kaXRpb25zKCkubGVuZ3RoKXtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiQWRkIGZpZWxkXCIgbG9vaz1cImJsYW5rXCIgY2xhc3M9XCJheC1zbVwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIHRleHQ9XCJBZGQgZmllbGRcIiBsb29rPVwib3V0bGluZVwiIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8YXgtcG9wb3ZlclxuICAgICAgICAgICAgICAgICNjb25kaXRpb25zUG9wb3ZlclxuICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwiYWRkRmllbGRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiY29uZGl0aW9ucygpLmxlbmd0aCA/ICdib3R0b20tc3RhcnQnIDogJ2JvdHRvbSdcIlxuICAgICAgICAgICAgICAgIFtvZmZzZXRZXT1cIjhcIlxuICAgICAgICAgICAgICAgIFtvcGVuT25dPVwiJ3RvZ2dsZSdcIlxuICAgICAgICAgICAgICAgIFtjbG9zZU9uXT1cIidjbGlja091dCdcIlxuICAgICAgICAgICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAob25PcGVuZWQpPVwicmVzZXRTZWxlY3RlZEZpZWxkTmFtZXMoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyIGF4LWJvcmRlci1kZWZhdWx0IGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LW1kIGF4LXctZnVsbCBheC1taW4tdy1bMjUwcHhdXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWItWzFweF0gYXgtcGItMiBheC1tYi0yIGF4LXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtdGl0bGUgY2xhc3M9XCJheC1mb250LWJvbGRcIj5GaWVsZHM8L2F4LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWF4LWgtNDggYXgtb3ZlcmZsb3ctYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCInbmFtZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZENvbmRpdGlvbk5hbWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlyZWN0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2F4LXNlbGVjdGlvbi1saXN0PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWVuZCBheC1ib3JkZXItdC1bMXB4XSBheC1wLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZENvbmRpdGlvbigpOyBjb25kaXRpb25zUG9wb3Zlci5jbG9zZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwiQ29uZmlybVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2F4LXBvcG92ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgPC9heC10YWItaXRlbT5cbiAgICA8YXgtdGFiLWl0ZW0gdGV4dD1cIlNvcnRpbmdcIj5cbiAgICAgIDxheC1zdWZmaXg+XG4gICAgICAgIDxheC1iYWRnZSBbdGV4dF09XCJzb3J0cygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LXAtNCBheC1mbGV4LWNvbCBheC1qdXN0aWZ5LXN0YXJ0IGF4LWdhcC00IGF4LXNlbGVjdC1ub25lIGF4LW92ZXJmbG93LWF1dG8gYXgtaC1bNDAwcHhdXCJcbiAgICAgICAgICBbY2xhc3MuYXgtanVzdGlmeS1jZW50ZXJdPVwiIXNvcnRzKCkubGVuZ3RoXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZighc29ydHMoKS5sZW5ndGgpe1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPGF4LWltYWdlIHNyYz1cImFzc2V0cy9kb2N1bWVudHMuc3ZnXCI+PC9heC1pbWFnZT5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIFNvcnRzIFNlbGVjdGVkPC9wPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNDAwIGF4LXRleHQtc20gbWQ6YXgtdGV4dC1tZFwiXG4gICAgICAgICAgICAgID5QbGVhc2Ugc2VsZWN0IGZpZWxkKHMpIHRoYXQgeW91IHdhbnQgdG8gc29ydDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgnc29ydHMnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC13LWZ1bGwgYXgtc29ydGVkLWxpc3QgYXgtcHktMSBheC1vdmVyZmxvdy1hdXRvXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNvcnRzKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTIgYXgtaXRlbXMtY2VudGVyXCIgY2RrRHJhZyBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc29ydGVkLWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94IFtkYXRhU291cmNlXT1cInByb3BzKClcIiB2YWx1ZUZpZWxkPVwibmFtZVwiIHRleHRGaWVsZD1cInRpdGxlXCIgWyhuZ01vZGVsKV09XCJpdGVtLm5hbWVcIj5cbiAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBbY29sb3JdPVwiJ2RlZmF1bHQnXCIgY2xhc3M9XCJheC1zbVwiIChjbGljayk9XCJ1cGRhdGVTb3J0SXRlbShpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb25cbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXRleHQtcHJpbWFyeV09XCJpdGVtLmRpciA9PSAnYXNjJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtbG9uZyBheC10ZXh0LW5ldXRyYWwtNDAwXCJcbiAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvblxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cIml0ZW0uZGlyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctZG93bi1sb25nIGF4LXRleHQtbmV1dHJhbC00MDBcIlxuICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwicmVtb3ZlU29ydEl0ZW0oaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuIGF4LXRleHQtZGFuZ2VyLTUwMFwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctZnVsbFwiICNhZGRGaWVsZD5cbiAgICAgICAgICAgICAgQGlmKHNvcnRzKCkubGVuZ3RoKXtcbiAgICAgICAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZFNvcnRJdGVtKClcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkFkZCBmaWVsZFwiXG4gICAgICAgICAgICAgICAgbG9vaz1cImJsYW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZGRTb3J0SXRlbSgpXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICB0ZXh0PVwiQWRkIGZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIGxvb2s9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiXG4gICAgICAgICAgICAgICAgPjwvYXgtYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtdGFiLWl0ZW0+XG4gIDwvYXgtdGFicz5cbiAgPG5nLXRlbXBsYXRlIFtheFRhYkNvbnRlbnRdICNjb250ZW50cz1cImF4VGFiQ29udGVudFwiPiA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48YXgtZm9vdGVyIGNsYXNzPVwiIWF4LWp1c3RpZnktZW5kXCI+XG4gIEBpZiAobW9kZT09PVwiZWRpdFwiKSB7XG4gIDxheC1kcm9wZG93bi1idXR0b24gdGV4dD1cIkRpc2NhcmRcIiAob25DbGljayk9XCJoYW5kbGVEaXNjYXJkQ2xpY2soKVwiPlxuICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJSZXNldFwiIChvbkNsaWNrKT1cImhhbmRsZVJlc2V0Q2xpY2soKVwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1yb3RhdGUtbGVmdCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgIDxheC1idXR0b24taXRlbSBjbGFzcz1cImF4LXRleHQtZGFuZ2VyXCIgdGV4dD1cIkRlbGV0ZVwiIChvbkNsaWNrKT1cImhhbmRsZURlbGV0ZUNsaWNrKClcIj5cbiAgICAgICAgPGF4LXByZWZpeD4gPGF4LWljb24gaWNvbj1cImZhcyBmYS10cmFzaCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+IDwvYXgtcHJlZml4XG4gICAgICA+PC9heC1idXR0b24taXRlbT5cbiAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gIDwvYXgtZHJvcGRvd24tYnV0dG9uPlxuICB9IEBlbHNlIHtcbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiQ2FuY2VsXCIgbG9vaz1cIm91dGxpbmVcIiAob25DbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9heC1idXR0b24+XG4gIH1cbiAgPGF4LWJ1dHRvblxuICAgIFt0ZXh0XT1cIm1vZGUgPT09ICdjcmVhdGUnID8gJ1NhdmUnIDogJ1NhdmUgQ2hhbmdlcydcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgKG9uQ2xpY2spPVwiaGFuZGxlQXBwbHlDbGljaygpXCJcbiAgPjwvYXgtYnV0dG9uPlxuPC9heC1mb290ZXI+XG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWN1c3RvbS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvZW50aXR5LWN1c3RvbS12aWV3L2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQXVJLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pOLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYXRDLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxtQkFBbUI7SUFUM0U7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QUNwRixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN0tVLGtDQUFrQztrR0FBbEMsa0NBQWtDLGlIQU5sQztZQUNUO2dCQUNFLE9BQU8sRUFBRSxjQUFjO2FBQ3hCO1NBQ0YsaURDNUJILGtyWEFtUUE7OzJGRHJPYSxrQ0FBa0M7a0JBVDlDLFNBQVM7c0NBRVMsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsY0FBYzt5QkFDeEI7cUJBQ0Y7OEJBUVEsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xyXG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XHJcbmltcG9ydCB7IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcsIEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnLCBBWFBFbnRpdHlMaXN0U29ydENvbmZpZywgQVhQRW50aXR5UHJvcGVydHlDb25maWcsIEFYUEZpbHRlck9wZXJhdG9yLCBBWFBTY2hlbWFSZWdpc3RyeVNlcnZpY2UsIEVRX09QRVIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgU2lnbmFsLFxyXG4gIFdyaXRhYmxlU2lnbmFsLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGluamVjdCxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XHJcblxyXG5pbXBvcnQgeyBBWFBMaXN0Vmlld0xvYWRlciB9IGZyb20gJy4uLy4uL2xpc3Qtdmlldy5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VudGl0eS1jdXN0b20tdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFYVW5zdWJzY3JpYmVyLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xyXG4gIHByaXZhdGUgc2NoZW1hUmVnaXN0cnkgPSBpbmplY3QoQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlKTtcclxuICBwcml2YXRlIHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcclxuXHJcbiAgQElucHV0KCkgbG9hZGVyITogQVhQTGlzdFZpZXdMb2FkZXI7XHJcbiAgQElucHV0KCkgbW9kZTogJ2VkaXQnIHwgJ2NyZWF0ZScgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBzZWxlY3RlZFZpZXc6IGFueSA9IHt9O1xyXG5cclxuICBwcm90ZWN0ZWQgc2hvd05hbWVJbnB1dDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByb3RlY3RlZCBwcm9wczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5UHJvcGVydHlDb25maWdbXT4gPSBzaWduYWwoW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgY29sdW1uczogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBzaWduYWwoW10pO1xyXG4gIHByb3RlY3RlZCB2aXNpYmxlQ29sdW1uczogU2lnbmFsPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+ID0gY29tcHV0ZWQoKCkgPT5cclxuICAgIHRoaXMuY29sdW1ucygpLmZpbHRlcigoYykgPT4gYy52aXNpYmxlKVxyXG4gICk7XHJcbiAgcHJvdGVjdGVkIGNvbmRpdGlvbnM6IFdyaXRhYmxlU2lnbmFsPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT4gPSBzaWduYWwoW10pO1xyXG4gIHByb3RlY3RlZCBzb3J0czogV3JpdGFibGVTaWduYWw8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4gPSBzaWduYWwoW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRDb25kaXRpb25OYW1lczogc3RyaW5nW10gPSBbXTtcclxuICBwcm90ZWN0ZWQgdmlld05hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BzLnNldChjbG9uZURlZXAodGhpcy5sb2FkZXIuZW50aXR5LnByb3BlcnRpZXMpKTtcclxuICAgIHRoaXMuY29sdW1ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbHVtbnMpKTtcclxuICAgIHRoaXMuY29uZGl0aW9ucy5zZXQoY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRWaWV3LmNvbmRpdGlvbnMpKTtcclxuICAgIHRoaXMuc29ydHMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5zb3J0cykpO1xyXG4gICAgdGhpcy5sb2FkZXIudmlld3MkLnBpcGUodGhpcy5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgodmlld3MpID0+IHtcclxuICAgICAgdGhpcy52aWV3TmFtZXMgPSB2aWV3cy5tYXAoKHYpID0+IHYubmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cclxuICB1cGRhdGVDb2x1bW5JdGVtKGV2ZW50OiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBjb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmIChldmVudC5pc1VzZXJJbnRlcmFjdGlvbikge1xyXG4gICAgICB0aGlzLmNvbHVtbnMudXBkYXRlKChwcmV2Q29scykgPT5cclxuICAgICAgICBwcmV2Q29scy5tYXAoKGNvbCkgPT4gKGNvbC5uYW1lID09PSBjb2xOYW1lID8geyAuLi5jb2wsIHZpc2libGU6IGV2ZW50LnZhbHVlIH0gOiBjb2wpKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8qKioqKioqKioqKioqKioqKiogU29ydHMgKioqKioqKioqKioqKioqKioqLy9cclxuICB1cGRhdGVTb3J0SXRlbShpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZykge1xyXG4gICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT5cclxuICAgICAgcHJldlNvcnRzLm1hcCgoc29ydCkgPT4gKHNvcnQubmFtZSA9PT0gaXRlbS5uYW1lID8geyAuLi5zb3J0LCBkaXI6IHNvcnQuZGlyID09ICdhc2MnID8gJ2Rlc2MnIDogJ2FzYycgfSA6IHNvcnQpKVxyXG4gICAgKTtcclxuICB9XHJcbiAgYWRkU29ydEl0ZW0oKSB7XHJcbiAgICBjb25zdCBzb3J0TmFtZXMgPSB0aGlzLnNvcnRzKCkubWFwKChwKSA9PiBwLm5hbWUpO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5wcm9wcygpLCBzb3J0TmFtZXMpO1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiAhc29ydE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpPy5uYW1lIHx8IHRoaXMucHJvcHMoKVswXS5uYW1lO1xyXG4gICAgdGhpcy5zb3J0cy51cGRhdGUoKHByZXZTb3J0cykgPT4gWy4uLnByZXZTb3J0cywgeyBuYW1lLCBkaXI6ICdhc2MnIH0gYXMgQVhQRW50aXR5TGlzdFNvcnRDb25maWddKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZVNvcnRJdGVtKGl0ZW06IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnKSB7XHJcbiAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PiBwcmV2U29ydHMuZmlsdGVyKChzb3J0KSA9PiBpdGVtLm5hbWUgIT0gc29ydC5uYW1lKSk7XHJcbiAgfVxyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKiBDb25kaXRpb25zICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgcHJvdGVjdGVkIGdldFNjaGVtYShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnByb3BzKCkuZmluZCgoYykgPT4gYy5uYW1lID09IG5hbWUpPy5zY2hlbWEgPz8gJyc7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0T3BlcmF0b3JzKG5hbWU6IHN0cmluZyk6IEFYUEZpbHRlck9wZXJhdG9yW10ge1xyXG4gICAgY29uc3Qgc2NoZW1hTmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk/LnNjaGVtYSA/PyAnJztcclxuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9ycyA/PyBbXTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3BlcmF0b3IobmFtZTogc3RyaW5nKTogQVhQRmlsdGVyT3BlcmF0b3Ige1xyXG4gICAgY29uc3Qgc2NoZW1hTmFtZSA9IHRoaXMucHJvcHMoKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk/LnNjaGVtYSA/PyAnJztcclxuICAgIHJldHVybiB0aGlzLnNjaGVtYVJlZ2lzdHJ5LnJlc29sdmUoc2NoZW1hTmFtZSk/LmZpbHRlck9wdGlvbnM/LmRlZmF1bHQgPz8gRVFfT1BFUjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRPcGVyYXRvclRpdGxlKHNjaGVtYU5hbWU6IHN0cmluZywgb3ByTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldE9wZXJhdG9ycyhzY2hlbWFOYW1lKS5maW5kKChjKSA9PiBjLm5hbWUgPT0gb3ByTmFtZSk/LnRpdGxlIHx8ICcnO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgcmVzZXRTZWxlY3RlZEZpZWxkTmFtZXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29uZGl0aW9uTmFtZXMgPSB0aGlzLmNvbmRpdGlvbnMoKS5tYXAoKGMpID0+IGMubmFtZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBhZGRDb25kaXRpb24oKSB7XHJcbiAgICBjb25zdCBjb25kaXRpb25zID0gdGhpcy5zZWxlY3RlZENvbmRpdGlvbk5hbWVzLm1hcCgoYykgPT4ge1xyXG4gICAgICBjb25zdCBvcHIgPSB0aGlzLmdldERlZmF1bHRPcGVyYXRvcihjKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBjLFxyXG4gICAgICAgIG9wZXJhdG9yOiBvcHIubmFtZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb25kaXRpb25zLnNldChjb25kaXRpb25zIGFzIGFueSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDb25kaXRpb24oaXRlbTogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5jb25kaXRpb25zLnVwZGF0ZSgocHJldkNvbmRpdGlvbnMpID0+IHByZXZDb25kaXRpb25zLmZpbHRlcigoY29uKSA9PiBjb24ubmFtZSAhPSBpdGVtLm5hbWUpKTtcclxuICB9XHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbW1vbiAqKioqKioqKioqKioqKioqKiovL1xyXG4gIHByb3RlY3RlZCBkcm9wKHR5cGU6ICdjb2x1bW5zJyB8ICdjb25kaXRpb25zJyB8ICdzb3J0cycsIGV2ZW50OiBDZGtEcmFnRHJvcDx1bmtub3duW10+KSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnY29sdW1ucyc6XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgocHJldkNvbHMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBwcmV2Q29scztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShjb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbHVtbnM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3NvcnRzJzpcclxuICAgICAgICB0aGlzLnNvcnRzLnVwZGF0ZSgocHJldlNvcnRzKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzb3J0cyA9IHByZXZTb3J0cztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShzb3J0cywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgICAgIHJldHVybiBzb3J0cztcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY29uZGl0aW9ucyc6XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25zLnVwZGF0ZSgocHJldkNvbmRpdGlvbnMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcmV2Q29uZGl0aW9ucztcclxuICAgICAgICAgIG1vdmVJdGVtSW5BcnJheShjb25kaXRpb25zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpIHtcclxuICAgIHRoaXMuc2hvd05hbWVJbnB1dC51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVmlld05hbWUodGl0bGU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRpdGxlLnJlcGxhY2UoL1xccysvZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQXBwbHlDbGljaygpIHtcclxuICAgIGNvbnN0IHVwZGF0ZWRWaWV3ID0ge1xyXG4gICAgICAuLi50aGlzLnNlbGVjdGVkVmlldyxcclxuICAgICAgbmFtZTogdGhpcy5nZW5lcmF0ZVZpZXdOYW1lKHRoaXMuc2VsZWN0ZWRWaWV3LnRpdGxlKSxcclxuICAgICAgY29uZGl0aW9uczogdGhpcy5jb25kaXRpb25zKCksXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucygpLFxyXG4gICAgICBzb3J0czogdGhpcy5zb3J0cygpLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZpZXdOYW1lcy5pbmNsdWRlcyh1cGRhdGVkVmlldy5uYW1lKSAmJiB0aGlzLm1vZGUgPT0gJ2NyZWF0ZScpIHtcclxuICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgICAgdGl0bGU6ICdJbnZhbGlkIFRpdGxlJyxcclxuICAgICAgICBjb250ZW50OiAnVGhlIHRpdGxlIHlvdSBoYXZlIGNob3NlbiBhbHJlYWR5IGV4aXN0cy4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCB0aXRsZSBmb3IgeW91ciBjdXN0b20gdmlldy4nLFxyXG4gICAgICAgIGNvbG9yOiAnZGFuZ2VyJyBhcyBBWFN0eWxlQ29sb3JUeXBlLFxyXG4gICAgICAgIGxvY2F0aW9uOiAnYm90dG9tLWNlbnRlcicgYXMgQVhMb2NhdGlvbixcclxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoeyBzYXZlOiB0cnVlLCB1cGRhdGVkVmlldyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2V0Q2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbmRpdGlvbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb25kaXRpb25zKSk7XHJcbiAgICB0aGlzLmNvbHVtbnMuc2V0KGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkVmlldy5jb2x1bW5zKSk7XHJcbiAgICB0aGlzLnNvcnRzLnNldChjbG9uZURlZXAodGhpcy5zZWxlY3RlZFZpZXcuc29ydHMpKTtcclxuICB9XHJcbiAgaGFuZGxlRGlzY2FyZENsaWNrKCkge1xyXG4gICAgdGhpcy5jbG9zZSh7IHNhdmU6IGZhbHNlIH0pO1xyXG4gIH1cclxuICBoYW5kbGVDYW5jZWxDbGljaygpIHtcclxuICAgIHRoaXMuY2xvc2UoeyBzYXZlOiBmYWxzZSB9KTtcclxuICB9XHJcbiAgaGFuZGxlRGVsZXRlQ2xpY2soKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcclxuICAgICAgLmNvbmZpcm0oJ1dhcm5pbmcnLCAnQXJlIHlvdSBzdXJlIHdhbnQgdG8gZGVsZXRlIHRoaXMgdmlldz8nLCAnZGFuZ2VyJywgJ2hvcml6b250YWwnKVxyXG4gICAgICAudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLnJlc3VsdCkge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZSh7IGRlbGV0ZTogdHJ1ZSwgdmlld05hbWU6IHRoaXMuc2VsZWN0ZWRWaWV3Lm5hbWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGF4LWhlYWRlciBjbGFzcz1cImF4LXAtNCBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1ib3JkZXItYlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgQGlmIChzaG93TmFtZUlucHV0KCkgJiYgbW9kZT09PSdjcmVhdGUnKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtdy02MFwiPlxyXG4gICAgICA8YXgtdGV4dC1ib3ggY2xhc3M9XCJheC1zbVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRWaWV3LnRpdGxlXCI+XHJcbiAgICAgICAgQGlmKHNob3dOYW1lSW5wdXQoKSl7XHJcbiAgICAgICAgPGF4LXN1ZmZpeD5cclxuICAgICAgICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwiY2hhbmdlVmlld05hbWVUb2dnbGUoKVwiIGxvb2s9XCJkZWZhdWx0XCI+XHJcbiAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29kaWxkIGZhcyBmYS1jaGVjayBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cclxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvYXgtc3VmZml4PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9heC10ZXh0LWJveD5cclxuICAgIDwvZGl2PlxyXG4gICAgfUBlbHNlIHtcclxuICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkXCI+e3sgc2VsZWN0ZWRWaWV3LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgfSBAaWYgKG1vZGU9PT1cImNyZWF0ZVwiKSB7XHJcbiAgICA8YXgtYnV0dG9uIGNsYXNzPVwiYXgteHNcIiAob25DbGljayk9XCJjaGFuZ2VWaWV3TmFtZVRvZ2dsZSgpXCIgY29sb3I9XCJkZWZhdWx0XCI+XHJcbiAgICAgIEBpZighc2hvd05hbWVJbnB1dCgpICl7XHJcbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtcmVndWxhciBmYS1wZW4gYXgtdGV4dC1zbSBheC10ZXh0LW5ldXRyYWwtNjAwXCI+IDwvYXgtaWNvbj5cclxuICAgICAgfVxyXG4gICAgPC9heC1idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgPGF4LWNsb3NlLWJ1dHRvbj48L2F4LWNsb3NlLWJ1dHRvbj5cclxuPC9heC1oZWFkZXI+XHJcbjxkaXYgY2xhc3M9XCJheC1wLTRcIj5cclxuICA8YXgtdGFicyBbY29udGVudF09XCJjb250ZW50c1wiIGxvb2s9XCJ3aXRoLWxpbmVcIj5cclxuICAgIDxheC10YWItaXRlbSB0ZXh0PVwiQ29sdW1uc1wiPlxyXG4gICAgICA8YXgtc3VmZml4PlxyXG4gICAgICAgIDxheC1iYWRnZSBbdGV4dF09XCJ2aXNpYmxlQ29sdW1ucygpLmxlbmd0aC50b1N0cmluZygpXCIgY29sb3I9XCJwcmltYXJ5XCI+IDwvYXgtYmFkZ2U+XHJcbiAgICAgIDwvYXgtc3VmZml4PlxyXG4gICAgICA8YXgtY29udGVudD5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtcC00IGF4LXNlbGVjdC1ub25lIGF4LWgtWzQwMHB4XVwiXHJcbiAgICAgICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdjb2x1bW5zJywgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW92ZXJmbG93LWF1dG8gYXgtcGUtMlwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbnMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIiBjZGtEcmFnSGFuZGxlPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGF4LXN3aXRjaFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnZpc2libGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidXBkYXRlQ29sdW1uSXRlbSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXgtc3dpdGNoPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJDb25kaXRpb25zXCI+XHJcbiAgICAgIDxheC1zdWZmaXg+XHJcbiAgICAgICAgPGF4LWJhZGdlIFt0ZXh0XT1cImNvbmRpdGlvbnMoKS5sZW5ndGgudG9TdHJpbmcoKVwiIGNvbG9yPVwicHJpbWFyeVwiPiA8L2F4LWJhZGdlPlxyXG4gICAgICA8L2F4LXN1ZmZpeD5cclxuICAgICAgPGF4LWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWp1c3RpZnktc3RhcnQgYXgtZ2FwLTQgYXgtcHktNCBheC1zZWxlY3Qtbm9uZSBheC1oLVs0MDBweF1cIlxyXG4gICAgICAgICAgW2NsYXNzLmF4LWp1c3RpZnktY2VudGVyXT1cIiFjb25kaXRpb25zKCkubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYoIWNvbmRpdGlvbnMoKS5sZW5ndGgpe1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxheC1pbWFnZSBzcmM9XCJhc3NldHMvZG9jdW1lbnRzLnN2Z1wiPjwvYXgtaW1hZ2U+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtbXQtNiBheC1tYi0xIGF4LWZvbnQtYm9sZFwiPk5vIEZpbHRlcnMgU2VsZWN0ZWQ8L3A+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1uZXV0cmFsLTQwMCBheC10ZXh0LXNtIG1kOmF4LXRleHQtbWRcIlxyXG4gICAgICAgICAgICAgID5QbGVhc2Ugc2VsZWN0IGZpZWxkKHMpIHRoYXQgeW91IHdhbnQgdG8gZmlsdGVyPC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtc29ydGVkLWxpc3QgYXgtcHgtNCBheC1weS0xIGF4LW92ZXJmbG93LWF1dG9cIj5cclxuICAgICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJ2NvbmRpdGlvbnMnLCAkZXZlbnQpXCIgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgQGZvcihpdGVtIG9mIGNvbmRpdGlvbnMoKTsgdHJhY2sgaXRlbS5uYW1lICl7XHJcbiAgICAgICAgICAgICAgPGRpdiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zb3J0ZWQtbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1zLTQgYXgtZmxleCBheC1pdGVtcy1zdGFydCBheC1nYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+e3sgbG9hZGVyLmdldFByb3AoaXRlbS5uYW1lKT8udGl0bGUgfX08L2F4LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICBAaWYoZ2V0T3BlcmF0b3JUaXRsZShpdGVtLm5hbWUsaXRlbS5vcGVyYXRvcikpe1xyXG4gICAgICAgICAgICAgICAgICA8YXgtYmFkZ2VcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXRleHQteHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xvb2tdPVwiJ3R3b3RvbmUnXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJnZXRPcGVyYXRvclRpdGxlKGl0ZW0ubmFtZSwgaXRlbS5vcGVyYXRvcilcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9heC1iYWRnZT5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1ncm91cCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1ncmlwLWRvdHMtdmVydGljYWwgYXgtY3Vyc29yLW1vdmVcIiBjZGtEcmFnSGFuZGxlPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LWZpbHRlci1yZW5kZXJlclxyXG4gICAgICAgICAgICAgICAgICAgICAgW3NjaGVtYV09XCJnZXRTY2hlbWEoaXRlbS5uYW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcHJvcF09XCJsb2FkZXIuZ2V0UHJvcChpdGVtLm5hbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcGVyYXRvcildPVwiaXRlbS5vcGVyYXRvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYXhwLXdpZGdldC1maWx0ZXItcmVuZGVyZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJheC1zbVwiIChvbkNsaWNrKT1cInJlbW92ZUNvbmRpdGlvbihpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XHJcbiAgICAgICAgICAgICAgQGlmKGNvbmRpdGlvbnMoKS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgIDxheC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdGV4dD1cIkFkZCBmaWVsZFwiIGxvb2s9XCJibGFua1wiIGNsYXNzPVwiYXgtc21cIj48L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICB9QGVsc2Uge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWp1c3RpZnktY2VudGVyIGF4LXctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0PVwiQWRkIGZpZWxkXCIgbG9vaz1cIm91dGxpbmVcIiBjbGFzcz1cImF4LW1kIGF4LXctNTZcIj48L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPGF4LXBvcG92ZXJcclxuICAgICAgICAgICAgICAgICNjb25kaXRpb25zUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgW3RhcmdldF09XCJhZGRGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cImNvbmRpdGlvbnMoKS5sZW5ndGggPyAnYm90dG9tLXN0YXJ0JyA6ICdib3R0b20nXCJcclxuICAgICAgICAgICAgICAgIFtvZmZzZXRZXT1cIjhcIlxyXG4gICAgICAgICAgICAgICAgW29wZW5Pbl09XCIndG9nZ2xlJ1wiXHJcbiAgICAgICAgICAgICAgICBbY2xvc2VPbl09XCInY2xpY2tPdXQnXCJcclxuICAgICAgICAgICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIChvbk9wZW5lZCk9XCJyZXNldFNlbGVjdGVkRmllbGROYW1lcygpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1ib3JkZXIgYXgtYm9yZGVyLWRlZmF1bHQgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctbWQgYXgtdy1mdWxsIGF4LW1pbi13LVsyNTBweF1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWItWzFweF0gYXgtcGItMiBheC1tYi0yIGF4LXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC10aXRsZSBjbGFzcz1cImF4LWZvbnQtYm9sZFwiPkZpZWxkczwvYXgtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWF4LWgtNDggYXgtb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1zZWxlY3Rpb24tbGlzdFxyXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ25hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ29uZGl0aW9uTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2RpcmVjdGlvbl09XCIndmVydGljYWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wcygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9heC1zZWxlY3Rpb24tbGlzdD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWp1c3RpZnktZW5kIGF4LWJvcmRlci10LVsxcHhdIGF4LXAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFkZENvbmRpdGlvbigpOyBjb25kaXRpb25zUG9wb3Zlci5jbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dD1cIkNvbmZpcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9heC1wb3BvdmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gICAgPGF4LXRhYi1pdGVtIHRleHQ9XCJTb3J0aW5nXCI+XHJcbiAgICAgIDxheC1zdWZmaXg+XHJcbiAgICAgICAgPGF4LWJhZGdlIFt0ZXh0XT1cInNvcnRzKCkubGVuZ3RoLnRvU3RyaW5nKClcIiBjb2xvcj1cInByaW1hcnlcIj4gPC9heC1iYWRnZT5cclxuICAgICAgPC9heC1zdWZmaXg+XHJcbiAgICAgIDxheC1jb250ZW50PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiYXgtZmxleCBheC1wLTQgYXgtZmxleC1jb2wgYXgtanVzdGlmeS1zdGFydCBheC1nYXAtNCBheC1zZWxlY3Qtbm9uZSBheC1vdmVyZmxvdy1hdXRvIGF4LWgtWzQwMHB4XVwiXHJcbiAgICAgICAgICBbY2xhc3MuYXgtanVzdGlmeS1jZW50ZXJdPVwiIXNvcnRzKCkubGVuZ3RoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBAaWYoIXNvcnRzKCkubGVuZ3RoKXtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8YXgtaW1hZ2Ugc3JjPVwiYXNzZXRzL2RvY3VtZW50cy5zdmdcIj48L2F4LWltYWdlPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LW10LTYgYXgtbWItMSBheC1mb250LWJvbGRcIj5ObyBTb3J0cyBTZWxlY3RlZDwvcD5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNDAwIGF4LXRleHQtc20gbWQ6YXgtdGV4dC1tZFwiXHJcbiAgICAgICAgICAgICAgPlBsZWFzZSBzZWxlY3QgZmllbGQocykgdGhhdCB5b3Ugd2FudCB0byBzb3J0PC9zcGFuXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCdzb3J0cycsICRldmVudClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LXB5LTEgYXgtb3ZlcmZsb3ctYXV0b1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc29ydHMoKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yIGF4LWl0ZW1zLWNlbnRlclwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZVwiIGNka0RyYWdIYW5kbGU+PC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggW2RhdGFTb3VyY2VdPVwicHJvcHMoKVwiIHZhbHVlRmllbGQ9XCJuYW1lXCIgdGV4dEZpZWxkPVwidGl0bGVcIiBbKG5nTW9kZWwpXT1cIml0ZW0ubmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBbY29sb3JdPVwiJ2RlZmF1bHQnXCIgY2xhc3M9XCJheC1zbVwiIChjbGljayk9XCJ1cGRhdGVTb3J0SXRlbShpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXgtaWNvblxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC10ZXh0LXByaW1hcnldPVwiaXRlbS5kaXIgPT0gJ2FzYydcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctdXAtbG9uZyBheC10ZXh0LW5ldXRyYWwtNDAwXCJcclxuICAgICAgICAgICAgICAgICAgPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGF4LWljb25cclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtdGV4dC1wcmltYXJ5XT1cIml0ZW0uZGlyID09ICdkZXNjJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy1kb3duLWxvbmcgYXgtdGV4dC1uZXV0cmFsLTQwMFwiXHJcbiAgICAgICAgICAgICAgICAgID48L2F4LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cInJlbW92ZVNvcnRJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdHJhc2gtY2FuIGF4LXRleHQtZGFuZ2VyLTUwMFwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC13LWZ1bGxcIiAjYWRkRmllbGQ+XHJcbiAgICAgICAgICAgICAgQGlmKHNvcnRzKCkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICA8YXgtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZGRTb3J0SXRlbSgpXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiQWRkIGZpZWxkXCJcclxuICAgICAgICAgICAgICAgIGxvb2s9XCJibGFua1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgICAgICA+PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC13LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiYWRkU29ydEl0ZW0oKVwiXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgIHRleHQ9XCJBZGQgZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICBsb29rPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtbWQgYXgtdy01NlwiXHJcbiAgICAgICAgICAgICAgICA+PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2F4LWNvbnRlbnQ+XHJcbiAgICA8L2F4LXRhYi1pdGVtPlxyXG4gIDwvYXgtdGFicz5cclxuICA8bmctdGVtcGxhdGUgW2F4VGFiQ29udGVudF0gI2NvbnRlbnRzPVwiYXhUYWJDb250ZW50XCI+IDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG48YXgtZm9vdGVyIGNsYXNzPVwiIWF4LWp1c3RpZnktZW5kXCI+XHJcbiAgQGlmIChtb2RlPT09XCJlZGl0XCIpIHtcclxuICA8YXgtZHJvcGRvd24tYnV0dG9uIHRleHQ9XCJEaXNjYXJkXCIgKG9uQ2xpY2spPVwiaGFuZGxlRGlzY2FyZENsaWNrKClcIj5cclxuICAgIDxheC1idXR0b24taXRlbS1saXN0PlxyXG4gICAgICA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlJlc2V0XCIgKG9uQ2xpY2spPVwiaGFuZGxlUmVzZXRDbGljaygpXCI+XHJcbiAgICAgICAgPGF4LXByZWZpeD5cclxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS1yb3RhdGUtbGVmdCBmYS1mbGlwLWhvcml6b250YWxcIj48L2F4LWljb24+XHJcbiAgICAgICAgPC9heC1wcmVmaXg+XHJcbiAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICAgIDxheC1idXR0b24taXRlbSBjbGFzcz1cImF4LXRleHQtZGFuZ2VyXCIgdGV4dD1cIkRlbGV0ZVwiIChvbkNsaWNrKT1cImhhbmRsZURlbGV0ZUNsaWNrKClcIj5cclxuICAgICAgICA8YXgtcHJlZml4PiA8YXgtaWNvbiBpY29uPVwiZmFzIGZhLXRyYXNoIGZhLWZsaXAtaG9yaXpvbnRhbFwiPjwvYXgtaWNvbj4gPC9heC1wcmVmaXhcclxuICAgICAgPjwvYXgtYnV0dG9uLWl0ZW0+XHJcbiAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XHJcbiAgPC9heC1kcm9wZG93bi1idXR0b24+XHJcbiAgfSBAZWxzZSB7XHJcbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiQ2FuY2VsXCIgbG9vaz1cIm91dGxpbmVcIiAob25DbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9heC1idXR0b24+XHJcbiAgfVxyXG4gIDxheC1idXR0b25cclxuICAgIFt0ZXh0XT1cIm1vZGUgPT09ICdjcmVhdGUnID8gJ1NhdmUnIDogJ1NhdmUgQ2hhbmdlcydcIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgIChvbkNsaWNrKT1cImhhbmRsZUFwcGx5Q2xpY2soKVwiXHJcbiAgPjwvYXgtYnV0dG9uPlxyXG48L2F4LWZvb3Rlcj5cclxuIl19
@@ -3,4 +3,4 @@ export * from './list-view-option-columns/list-view-option-columns.component';
3
3
  export * from './list-view-option-conditions/list-view-option-conditions.component';
4
4
  export * from './list-view-option-conditions/list-view-option-filter-operator.component';
5
5
  export * from './list-view-option-sorting/list-view-option-sorting.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1saXN0LXZpZXcvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLWNvbmRpdGlvbnMvbGlzdC12aWV3LW9wdGlvbi1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy9saXN0LXZpZXctb3B0aW9uLWZpbHRlci1vcGVyYXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLXNvcnRpbmcvbGlzdC12aWV3LW9wdGlvbi1zb3J0aW5nLmNvbXBvbmVudCc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dHMvc3JjL2xpYi9hZG1pbi9lbnRpdHktbGF5b3V0L2VudGl0eS1saXN0LXZpZXcvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC12aWV3LW9wdGlvbi1jb25kaXRpb25zL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tY29uZGl0aW9ucy9saXN0LXZpZXctb3B0aW9uLWZpbHRlci1vcGVyYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3Qtdmlldy1vcHRpb24tc29ydGluZy9saXN0LXZpZXctb3B0aW9uLXNvcnRpbmcuY29tcG9uZW50JztcclxuIl19
@@ -2,7 +2,7 @@ import { moveItemInArray } from '@angular/cdk/drag-drop';
2
2
  import { Component, EventEmitter, Input, Output, inject } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { first, of } from 'rxjs';
5
- import { isSmallScreen } from '../../../../store';
5
+ import { isSmallScreen } from '@acorex/platform/common';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
8
  import * as i2 from "@angular/forms";
@@ -43,14 +43,14 @@ export class AXPListViewOptionsColumnsComponent {
43
43
  this.onClosed.emit();
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPListViewOptionsColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"item.visible\"\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: { loader: "loader" }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<ax-header class=\"ax-flex ax-items-center\">\r\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\r\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\r\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\r\n </ax-button>\r\n</ax-header>\r\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\r\n <ng-container *ngFor=\"let item of columns$ | async\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [ngModel]=\"item.visible\"\r\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\r\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\r\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\r\n</ax-footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i5.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPListViewOptionsColumnsComponent, decorators: [{
49
49
  type: Component,
50
- args: [{ selector: 'axp-list-view-option-columns', template: "<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"item.visible\"\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\n ></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n" }]
50
+ args: [{ selector: 'axp-list-view-option-columns', template: "<ax-header class=\"ax-flex ax-items-center\">\r\n <h2 class=\"ax-text-xl ax-font-bold\">Columns</h2>\r\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\r\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\r\n </ax-button>\r\n</ax-header>\r\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\r\n <ng-container *ngFor=\"let item of columns$ | async\">\r\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\r\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\r\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\r\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\r\n </div>\r\n <ax-switch\r\n class=\"ax-sm\"\r\n [ngModel]=\"item.visible\"\r\n (onValueChanged)=\"handleVisibilityChange($event, item.name)\"\r\n ></ax-switch>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\r\n <ax-button text=\"Apply\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\r\n <ax-button text=\"Reset\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\r\n</ax-footer>\r\n" }]
51
51
  }], propDecorators: { loader: [{
52
52
  type: Input
53
53
  }], onClosed: [{
54
54
  type: Output
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQWMsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQXVCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7OztBQU92RSxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBS1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEtBQTBCLENBQUEsQ0FBQyxDQUFDO1FBSXpDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBbUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR3JFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBK0I1QztJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBK0IsRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRVMsSUFBSSxDQUFDLEtBQTZCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEQsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0F2Q1Usa0NBQWtDO2tHQUFsQyxrQ0FBa0MscUlDYi9DLHk2Q0EyQkE7OzJGRGRhLGtDQUFrQztrQkFKOUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBT2pDLE1BQU07c0JBRFosS0FBSztnQkFNQyxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlyc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBBWFBBZG1pbkxheW91dFN0YXRlLCBpc1NtYWxsU2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUnO1xuaW1wb3J0IHsgQVhQTGlzdFZpZXdMb2FkZXIgfSBmcm9tICcuLi8uLi9saXN0LXZpZXcuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWxpc3Qtdmlldy1vcHRpb24tY29sdW1ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBMaXN0Vmlld09wdGlvbnNDb2x1bW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxvYWRlciE6IEFYUExpc3RWaWV3TG9hZGVyO1xuICBwcm90ZWN0ZWQgaXNTTSA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzU21hbGxTY3JlZW4oKSk7XG4gIHByb3RlY3RlZCBjb2x1bW5zJDogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdPiA9IG9mKFtdKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucyQgPSB0aGlzLmxvYWRlci5kaXNwbGF5Q29sdW1ucyQ7XG4gIH1cblxuICBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8Ym9vbGVhbj4sIG5hbWU6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmxvYWRlci5zZXRDb2x1bW5WaXNpYmlsaXR5KG5hbWUsIGUudmFsdWUhKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8dW5rbm93bltdPikge1xuICAgIHRoaXMuY29sdW1ucyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGNvbHVtbnMpID0+IHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShjb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlKCkge1xuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xuICB9XG4gIHByb3RlY3RlZCBoYW5kbGVSZXNldENsaWNrKCkge1xuICAgIHRoaXMubG9hZGVyLnJlc2V0Q29sdW1ucygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFwcGx5Q2xpY2soKSB7XG4gICAgdGhpcy5jb2x1bW5zJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5sb2FkZXIudXBkYXRlQ29sdW1ucyhkYXRhKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xvc2VkLmVtaXQoKTtcbiAgfVxufVxuIiwiPGF4LWhlYWRlciBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gIDxoMiBjbGFzcz1cImF4LXRleHQteGwgYXgtZm9udC1ib2xkXCI+Q29sdW1uczwvaDI+XG4gIDxheC1idXR0b24gKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2UoKVwiIFtsb29rXT1cIidibGFuaydcIj5cbiAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWNsb3NlIGF4LXRleHQtbmV1dHJhbC00MDAgYXgtdGV4dC14bFwiPiA8L2F4LWljb24+XG4gIDwvYXgtYnV0dG9uPlxuPC9heC1oZWFkZXI+XG48ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtNCBheC1wLTQgYXgtc2VsZWN0LW5vbmVcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMyBheC13LWZ1bGwgYXgtc29ydGVkLWxpc3QgYXgtbWF4LWgtW2NhbGMoMTAwdmgtMjgwcHgpXSBheC1vdmVyZmxvdy1hdXRvXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5zJCB8IGFzeW5jXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1weS0xIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWJldHdlZW5cIiBjZGtEcmFnIGNka0RyYWdCb3VuZGFyeT1cIi5heC1zb3J0ZWQtbGlzdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCI+PC9heC1pY29uPlxuICAgICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1zbVwiPnt7IGl0ZW0udGl0bGUgfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXgtc3dpdGNoXG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiaXRlbS52aXNpYmxlXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxuICAgICAgICA+PC9heC1zd2l0Y2g+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxheC1mb290ZXIgY2xhc3M9XCIhYXgtanVzdGlmeS1zdGFydCBheC1hYnNvbHV0ZSBheC1ib3R0b20tMCBheC13LWZ1bGxcIj5cbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiQXBwbHlcIiBjb2xvcj1cInByaW1hcnlcIiAob25DbGljayk9XCJoYW5kbGVBcHBseUNsaWNrKClcIj48L2F4LWJ1dHRvbj5cbiAgPGF4LWJ1dHRvbiB0ZXh0PVwiUmVzZXRcIiBjb2xvcj1cImdob3N0XCIgKG9uQ2xpY2spPVwiaGFuZGxlUmVzZXRDbGljaygpXCI+PC9heC1idXR0b24+XG48L2F4LWZvb3Rlcj5cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9jb21wb25lbnRzL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXRzL3NyYy9saWIvYWRtaW4vZW50aXR5LWxheW91dC9lbnRpdHktbGlzdC12aWV3L2NvbXBvbmVudHMvbGlzdC12aWV3LW9wdGlvbi1jb2x1bW5zL2xpc3Qtdmlldy1vcHRpb24tY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQWMsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQXlELGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQU0vRyxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBS1UsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEtBQTBCLENBQUEsQ0FBQyxDQUFDO1FBSXpDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLGFBQVEsR0FBbUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBR3JFLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBK0I1QztJQTdCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsQ0FBK0IsRUFBRSxJQUFZO1FBQ2xFLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQU0sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRVMsSUFBSSxDQUFDLEtBQTZCO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEQsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxXQUFXO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNTLGdCQUFnQjtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0F2Q1Usa0NBQWtDO2tHQUFsQyxrQ0FBa0MscUlDWi9DLCs5Q0EyQkE7OzJGRGZhLGtDQUFrQztrQkFKOUMsU0FBUzsrQkFDRSw4QkFBOEI7OEJBT2pDLE1BQU07c0JBRFosS0FBSztnQkFNQyxRQUFRO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaXJzdCwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhQTGlzdFZpZXdMb2FkZXIgfSBmcm9tICcuLi8uLi9saXN0LXZpZXcuY29uZmlnJztcclxuaW1wb3J0IHsgQVhQQWRtaW5MYXlvdXRTdGF0ZSwgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsIGlzU21hbGxTY3JlZW4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4cC1saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXZpZXctb3B0aW9uLWNvbHVtbnMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdPcHRpb25zQ29sdW1uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZTxBWFBBZG1pbkxheW91dFN0YXRlPik7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxvYWRlciE6IEFYUExpc3RWaWV3TG9hZGVyO1xyXG4gIHByb3RlY3RlZCBpc1NNID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNTbWFsbFNjcmVlbigpKTtcclxuICBwcm90ZWN0ZWQgY29sdW1ucyQ6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4gPSBvZihbXSk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbHVtbnMkID0gdGhpcy5sb2FkZXIuZGlzcGxheUNvbHVtbnMkO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PGJvb2xlYW4+LCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XHJcbiAgICAgIHRoaXMubG9hZGVyLnNldENvbHVtblZpc2liaWxpdHkobmFtZSwgZS52YWx1ZSEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHVua25vd25bXT4pIHtcclxuICAgIHRoaXMuY29sdW1ucyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGNvbHVtbnMpID0+IHtcclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KGNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBoYW5kbGVDbG9zZSgpIHtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgaGFuZGxlUmVzZXRDbGljaygpIHtcclxuICAgIHRoaXMubG9hZGVyLnJlc2V0Q29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUFwcGx5Q2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbHVtbnMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGVyLnVwZGF0ZUNvbHVtbnMoZGF0YSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub25DbG9zZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iLCI8YXgtaGVhZGVyIGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cclxuICA8aDIgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZFwiPkNvbHVtbnM8L2gyPlxyXG4gIDxheC1idXR0b24gKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2UoKVwiIFtsb29rXT1cIidibGFuaydcIj5cclxuICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtY2xvc2UgYXgtdGV4dC1uZXV0cmFsLTQwMCBheC10ZXh0LXhsXCI+IDwvYXgtaWNvbj5cclxuICA8L2F4LWJ1dHRvbj5cclxuPC9heC1oZWFkZXI+XHJcbjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGF4LXAtNCBheC1zZWxlY3Qtbm9uZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtdy1mdWxsIGF4LXNvcnRlZC1saXN0IGF4LW1heC1oLVtjYWxjKDEwMHZoLTI4MHB4KV0gYXgtb3ZlcmZsb3ctYXV0b1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5zJCB8IGFzeW5jXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXB5LTEgYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlblwiIGNka0RyYWcgY2RrRHJhZ0JvdW5kYXJ5PVwiLmF4LXNvcnRlZC1saXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCIgY2RrRHJhZ0hhbmRsZT5cclxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpcC1kb3RzLXZlcnRpY2FsIGF4LWN1cnNvci1tb3ZlXCI+PC9heC1pY29uPlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJheC1mb250LW1lZGl1bSBheC10ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXgtc3dpdGNoXHJcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmlzaWJsZVwiXHJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgkZXZlbnQsIGl0ZW0ubmFtZSlcIlxyXG4gICAgICAgID48L2F4LXN3aXRjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1mb290ZXIgY2xhc3M9XCIhYXgtanVzdGlmeS1zdGFydCBheC1hYnNvbHV0ZSBheC1ib3R0b20tMCBheC13LWZ1bGxcIj5cclxuICA8YXgtYnV0dG9uIHRleHQ9XCJBcHBseVwiIGNvbG9yPVwicHJpbWFyeVwiIChvbkNsaWNrKT1cImhhbmRsZUFwcGx5Q2xpY2soKVwiPjwvYXgtYnV0dG9uPlxyXG4gIDxheC1idXR0b24gdGV4dD1cIlJlc2V0XCIgY29sb3I9XCJnaG9zdFwiIChvbkNsaWNrKT1cImhhbmRsZVJlc2V0Q2xpY2soKVwiPjwvYXgtYnV0dG9uPlxyXG48L2F4LWZvb3Rlcj5cclxuIl19