@acorex/platform 18.0.12 → 18.0.14

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 (548) hide show
  1. package/common/lib/app/application.types.d.ts +3 -2
  2. package/common/lib/layout/sticky.directive.d.ts +1 -1
  3. package/common/lib/schema/widget/widget-renderer.d.ts +1 -0
  4. package/esm2022/common/lib/app/application.types.mjs +1 -1
  5. package/esm2022/common/lib/layout/sticky.directive.mjs +2 -2
  6. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +20 -16
  7. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +3 -3
  8. package/esm2022/layout/builder/lib/builder/builder.service.mjs +15 -12
  9. package/esm2022/layout/builder/lib/builder/index.mjs +7 -6
  10. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +34 -0
  11. package/esm2022/layout/builder/lib/builder/widget-groups.mjs +27 -0
  12. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +3 -3
  13. package/esm2022/layout/builder/lib/builder/widget.types.mjs +6 -5
  14. package/esm2022/layout/designer/index.mjs +3 -3
  15. package/esm2022/layout/designer/lib/board/board.component.mjs +5 -40
  16. package/esm2022/layout/designer/lib/command.mjs +185 -0
  17. package/esm2022/layout/designer/lib/designer/designer.component.mjs +55 -5
  18. package/esm2022/layout/designer/lib/designer.service.mjs +139 -96
  19. package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +1 -1
  20. package/esm2022/layout/designer/lib/{buttons → helpers}/add-widget-button/add-widget-button.component.mjs +7 -7
  21. package/esm2022/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.mjs +82 -0
  22. package/esm2022/layout/designer/lib/history/history.component.mjs +11 -4
  23. package/esm2022/layout/designer/lib/outline/outline.component.mjs +16 -15
  24. package/esm2022/layout/designer/lib/pages/pages.component.mjs +28 -0
  25. package/esm2022/layout/designer/lib/preview/preview.component.mjs +20 -0
  26. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +5 -2
  27. package/esm2022/layout/designer/lib/widget-designer-renderer.component.mjs +16 -8
  28. package/esm2022/layout/designer/lib/widget-picker/widget-picker.component.mjs +80 -6
  29. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +6 -4
  30. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +17 -7
  31. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +1 -1
  32. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +10 -5
  33. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +1 -2
  34. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +2 -2
  35. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +1 -1
  36. package/esm2022/widgets/lib/properties/editors.props.mjs +81 -45
  37. package/esm2022/widgets/lib/properties/layout.props.mjs +165 -0
  38. package/esm2022/widgets/lib/properties/table-column.props.mjs +3 -2
  39. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +52 -0
  40. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +27 -0
  41. package/esm2022/widgets/lib/widgets/actions/button/index.mjs +3 -0
  42. package/esm2022/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-column.component.mjs +1 -1
  43. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-edit.component.mjs +122 -0
  44. package/esm2022/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-filter.component.mjs +1 -1
  45. package/esm2022/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-print.component.mjs +1 -1
  46. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-view.component.mjs +215 -0
  47. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.config.mjs +51 -0
  48. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.service.mjs +3 -0
  49. package/esm2022/widgets/lib/widgets/advance/file/index.mjs +8 -0
  50. package/esm2022/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-column.component.mjs +1 -1
  51. package/esm2022/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-edit.component.mjs +1 -1
  52. package/esm2022/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-filter.component.mjs +1 -1
  53. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-print.component.mjs +19 -0
  54. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-types.mjs +2 -0
  55. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-view.component.mjs +160 -0
  56. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget.config.mjs +29 -0
  57. package/esm2022/widgets/lib/widgets/advance/gallery/index.mjs +7 -0
  58. package/esm2022/widgets/lib/widgets/advance/map/index.mjs +7 -0
  59. package/esm2022/widgets/lib/widgets/{editors/link-widget/link-widget-print.component.mjs → advance/map/map-box-widget-column.component.mjs} +5 -5
  60. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +171 -0
  61. package/esm2022/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-filter.component.mjs +1 -1
  62. package/esm2022/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-print.component.mjs +1 -1
  63. package/esm2022/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-view.component.mjs +3 -3
  64. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +31 -0
  65. package/esm2022/widgets/lib/widgets/advance/qrcode/index.mjs +3 -0
  66. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +51 -0
  67. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +62 -0
  68. package/esm2022/widgets/lib/widgets/advance/signature/index.mjs +7 -0
  69. package/esm2022/widgets/lib/widgets/{editors/select-box-widget/select-box-widget-print.component.mjs → advance/signature/signature-pad-widget-column.component.mjs} +5 -5
  70. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-edit.component.mjs +142 -0
  71. package/esm2022/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-filter.component.mjs +1 -1
  72. package/esm2022/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-print.component.mjs +1 -1
  73. package/esm2022/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-view.component.mjs +1 -1
  74. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget.config.mjs +31 -0
  75. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +9 -12
  76. package/esm2022/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-column.component.mjs +1 -1
  77. package/esm2022/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-edit.component.mjs +1 -1
  78. package/esm2022/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-filter.component.mjs +1 -1
  79. package/esm2022/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-print.component.mjs +1 -1
  80. package/esm2022/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-view.component.mjs +1 -1
  81. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget.config.mjs +31 -0
  82. package/esm2022/widgets/lib/widgets/editors/color/index.mjs +7 -0
  83. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-column.component.mjs +36 -0
  84. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +297 -0
  85. package/esm2022/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-filter.component.mjs +1 -1
  86. package/esm2022/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-print.component.mjs +1 -1
  87. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-view.component.mjs +122 -0
  88. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +81 -0
  89. package/esm2022/widgets/lib/widgets/editors/contact/contact.type.mjs +2 -0
  90. package/esm2022/widgets/lib/widgets/editors/contact/index.mjs +7 -0
  91. package/esm2022/widgets/lib/widgets/editors/{contact-widget → contact}/popup-component.mjs +1 -1
  92. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +44 -0
  93. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +133 -0
  94. package/esm2022/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-filter.component.mjs +1 -1
  95. package/esm2022/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-print.component.mjs +1 -1
  96. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-view.component.mjs +54 -0
  97. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +40 -0
  98. package/esm2022/widgets/lib/widgets/editors/date-time/index.mjs +7 -0
  99. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-column.component.mjs +66 -0
  100. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-edit.component.mjs +249 -0
  101. package/esm2022/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-filter.component.mjs +1 -1
  102. package/esm2022/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-print.component.mjs +1 -1
  103. package/esm2022/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-view.component.mjs +1 -1
  104. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget.config.mjs +39 -0
  105. package/esm2022/widgets/lib/widgets/editors/email/index.mjs +7 -0
  106. package/esm2022/widgets/lib/widgets/editors/large-text/index.mjs +7 -0
  107. package/esm2022/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-column.component.mjs +1 -1
  108. package/esm2022/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-edit.component.mjs +1 -1
  109. package/esm2022/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-filter.component.mjs +1 -1
  110. package/esm2022/widgets/lib/widgets/editors/{map-box-widget/map-box-widget-column.component.mjs → large-text/large-text-widget-print.component.mjs} +5 -5
  111. package/esm2022/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-view.component.mjs +1 -1
  112. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +39 -0
  113. package/esm2022/widgets/lib/widgets/editors/link/index.mjs +7 -0
  114. package/esm2022/widgets/lib/widgets/editors/{link-widget → link}/link-widget-column.component.mjs +1 -1
  115. package/esm2022/widgets/lib/widgets/editors/link/link-widget-edit.component.mjs +391 -0
  116. package/esm2022/widgets/lib/widgets/editors/link/link-widget-filter.component.mjs +20 -0
  117. package/esm2022/widgets/lib/widgets/editors/link/link-widget-print.component.mjs +19 -0
  118. package/esm2022/widgets/lib/widgets/editors/{link-widget → link}/link-widget-view.component.mjs +1 -1
  119. package/esm2022/widgets/lib/widgets/editors/link/link-widget.config.mjs +29 -0
  120. package/esm2022/widgets/lib/widgets/editors/number/index.mjs +7 -0
  121. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-column.component.mjs +38 -0
  122. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +157 -0
  123. package/esm2022/widgets/lib/widgets/{layout/repeater-widget/repeater-widget-edit.component.mjs → editors/number/number-box-widget-filter.component.mjs} +5 -5
  124. package/esm2022/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-print.component.mjs +1 -1
  125. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-view.component.mjs +56 -0
  126. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +39 -0
  127. package/esm2022/widgets/lib/widgets/editors/password/index.mjs +7 -0
  128. package/esm2022/widgets/lib/widgets/editors/{phone-box-widget/phone-box-widget-print.component.mjs → password/password-box-widget-column.component.mjs} +5 -5
  129. package/esm2022/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-edit.component.mjs +1 -1
  130. package/esm2022/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-filter.component.mjs +1 -1
  131. package/esm2022/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-print.component.mjs +1 -1
  132. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-view.component.mjs +76 -0
  133. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget.config.mjs +38 -0
  134. package/esm2022/widgets/lib/widgets/editors/phone/index.mjs +7 -0
  135. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-column.component.mjs +66 -0
  136. package/esm2022/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-edit.component.mjs +1 -1
  137. package/esm2022/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-filter.component.mjs +1 -1
  138. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-print.component.mjs +19 -0
  139. package/esm2022/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-view.component.mjs +1 -1
  140. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget.config.mjs +32 -0
  141. package/esm2022/widgets/lib/widgets/editors/rich-text/index.mjs +7 -0
  142. package/esm2022/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-popup.component.mjs +1 -1
  143. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-column.component.mjs +46 -0
  144. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +67 -0
  145. package/esm2022/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-filter.component.mjs +1 -1
  146. package/esm2022/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-print.component.mjs +1 -1
  147. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-view.component.mjs +45 -0
  148. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +39 -0
  149. package/esm2022/widgets/lib/widgets/editors/select/index.mjs +7 -0
  150. package/esm2022/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-column.component.mjs +1 -1
  151. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +85 -0
  152. package/esm2022/widgets/lib/widgets/editors/{gallery-widget/gallery-widget-print.component.mjs → select/select-box-widget-filter.component.mjs} +5 -5
  153. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-print.component.mjs +19 -0
  154. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +60 -0
  155. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +38 -0
  156. package/esm2022/widgets/lib/widgets/editors/selection-list/index.mjs +7 -0
  157. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-column.component.mjs +41 -0
  158. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +72 -0
  159. package/esm2022/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-filter.component.mjs +1 -1
  160. package/esm2022/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-print.component.mjs +1 -1
  161. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +44 -0
  162. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +29 -0
  163. package/esm2022/widgets/lib/widgets/editors/text/index.mjs +7 -0
  164. package/esm2022/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-column.component.mjs +1 -1
  165. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-edit.component.mjs +121 -0
  166. package/esm2022/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-filter.component.mjs +1 -1
  167. package/esm2022/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-print.component.mjs +1 -1
  168. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-view.component.mjs +47 -0
  169. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +41 -0
  170. package/esm2022/widgets/lib/widgets/editors/toggle/index.mjs +7 -0
  171. package/esm2022/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-column.component.mjs +1 -1
  172. package/esm2022/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-edit.component.mjs +1 -1
  173. package/esm2022/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-filter.component.mjs +1 -1
  174. package/esm2022/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-print.component.mjs +1 -1
  175. package/esm2022/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-view.component.mjs +1 -1
  176. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget.config.mjs +40 -0
  177. package/esm2022/widgets/lib/widgets/index.mjs +23 -22
  178. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +65 -0
  179. package/esm2022/widgets/lib/widgets/layout/{block-widget → block}/block-widget-view.component.mjs +1 -1
  180. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +26 -0
  181. package/esm2022/widgets/lib/widgets/layout/block/index.mjs +4 -0
  182. package/esm2022/widgets/lib/widgets/layout/document/document-widget.config.mjs +13 -0
  183. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.mjs +56 -0
  184. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.mjs +41 -0
  185. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +25 -0
  186. package/esm2022/widgets/lib/widgets/layout/form-field/index.mjs +4 -0
  187. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +95 -0
  188. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-print.component.mjs +19 -0
  189. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-view.component.mjs +18 -0
  190. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +26 -0
  191. package/esm2022/widgets/lib/widgets/layout/grid/index.mjs +5 -0
  192. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +97 -0
  193. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-print.component.mjs +19 -0
  194. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.mjs +18 -0
  195. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +34 -0
  196. package/esm2022/widgets/lib/widgets/layout/grid-item/index.mjs +5 -0
  197. package/esm2022/widgets/lib/widgets/layout/page/index.mjs +3 -0
  198. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +65 -0
  199. package/esm2022/widgets/lib/widgets/layout/{page-widget → page}/page-widget-view.component.mjs +1 -1
  200. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +27 -0
  201. package/esm2022/widgets/lib/widgets/layout/repeater/index.mjs +6 -0
  202. package/esm2022/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-designer.component.mjs +1 -1
  203. package/esm2022/widgets/lib/widgets/{editors/link-widget/link-widget-filter.component.mjs → layout/repeater/repeater-widget-edit.component.mjs} +5 -5
  204. package/esm2022/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-print.component.mjs +1 -1
  205. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-view.component.mjs +52 -0
  206. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +24 -0
  207. package/esm2022/widgets/lib/widgets/layout/text-block/index.mjs +3 -0
  208. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget-view.component.mjs +29 -0
  209. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +42 -0
  210. package/esm2022/widgets/lib/widgets.module.mjs +20 -3
  211. package/fesm2022/{acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs → acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs} +3 -3
  212. package/fesm2022/acorex-platform-common-text-widget-column.component-ytX4OqZX.mjs.map +1 -0
  213. package/fesm2022/acorex-platform-common.mjs +21 -17
  214. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  215. package/fesm2022/acorex-platform-layout-builder.mjs +164 -129
  216. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  217. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs +23 -0
  218. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs.map +1 -0
  219. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs +100 -0
  220. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map +1 -0
  221. package/fesm2022/acorex-platform-layout-designer.mjs +501 -278
  222. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  223. package/fesm2022/acorex-platform-layout-entity.mjs +5 -4
  224. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  225. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs → acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs} +17 -7
  226. package/fesm2022/acorex-platform-layouts-entity-create-view.component-C2pYReAo.mjs.map +1 -0
  227. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-C9L8cyBm.mjs → acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs} +10 -5
  228. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-Bt4MLEou.mjs.map +1 -0
  229. package/fesm2022/acorex-platform-layouts.mjs +4 -4
  230. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  231. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs → acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs} +1 -2
  232. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs.map +1 -0
  233. package/fesm2022/acorex-platform-themes-default.mjs +4 -4
  234. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  235. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DlfG4EP1.mjs.map +1 -1
  236. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map +1 -1
  237. package/fesm2022/acorex-platform-widgets.mjs +4186 -3318
  238. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  239. package/layout/builder/lib/builder/builder.service.d.ts +1 -1
  240. package/layout/builder/lib/builder/index.d.ts +6 -5
  241. package/layout/builder/lib/builder/widget-catalog.d.ts +3 -0
  242. package/layout/builder/lib/builder/widget-groups.d.ts +6 -0
  243. package/layout/builder/lib/builder/widget-registery.service.d.ts +1 -1
  244. package/layout/builder/lib/builder/widget.types.d.ts +49 -9
  245. package/layout/designer/index.d.ts +2 -2
  246. package/layout/designer/lib/board/board.component.d.ts +0 -1
  247. package/layout/designer/lib/command.d.ts +70 -0
  248. package/layout/designer/lib/designer/designer.component.d.ts +3 -0
  249. package/layout/designer/lib/designer.service.d.ts +21 -10
  250. package/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.d.ts +19 -0
  251. package/layout/designer/lib/outline/outline.component.d.ts +1 -0
  252. package/layout/designer/lib/pages/pages.component.d.ts +7 -0
  253. package/layout/designer/lib/preview/preview.component.d.ts +8 -0
  254. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +1 -0
  255. package/layout/designer/lib/widget-designer-renderer.component.d.ts +1 -0
  256. package/layout/designer/lib/widget-picker/widget-picker.component.d.ts +22 -4
  257. package/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.d.ts +5 -0
  258. package/package.json +14 -13
  259. package/widgets/lib/properties/editors.props.d.ts +4 -1
  260. package/widgets/lib/properties/layout.props.d.ts +9 -0
  261. package/widgets/lib/widgets/actions/button/button-widget.config.d.ts +7 -0
  262. package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget.config.d.ts +5 -0
  263. package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget.config.d.ts +5 -0
  264. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +37 -0
  265. package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget.config.d.ts +5 -0
  266. package/widgets/lib/widgets/advance/qrcode/index.d.ts +2 -0
  267. package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +12 -0
  268. package/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.d.ts +7 -0
  269. package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget.config.d.ts +5 -0
  270. package/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.d.ts +5 -0
  271. package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget.config.d.ts +5 -0
  272. package/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-edit.component.d.ts +1 -1
  273. package/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-view.component.d.ts +1 -1
  274. package/widgets/lib/widgets/editors/contact/contact-widget.config.d.ts +7 -0
  275. package/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.d.ts +7 -0
  276. package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget.config.d.ts +5 -0
  277. package/widgets/lib/widgets/editors/large-text/large-text-widget.config.d.ts +7 -0
  278. package/widgets/lib/widgets/editors/link/link-widget.config.d.ts +7 -0
  279. package/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-edit.component.d.ts +2 -0
  280. package/widgets/lib/widgets/editors/number/number-box-widget.config.d.ts +7 -0
  281. package/widgets/lib/widgets/editors/password/password-box-widget.config.d.ts +7 -0
  282. package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget.config.d.ts +5 -0
  283. package/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.d.ts +7 -0
  284. package/widgets/lib/widgets/editors/select/select-box-widget.config.d.ts +7 -0
  285. package/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.d.ts +7 -0
  286. package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget.config.d.ts +5 -0
  287. package/widgets/lib/widgets/editors/toggle/toggle-widget.config.d.ts +7 -0
  288. package/widgets/lib/widgets/index.d.ts +21 -21
  289. package/widgets/lib/widgets/layout/block/block-widget.config.d.ts +7 -0
  290. package/widgets/lib/widgets/layout/document/document-widget.config.d.ts +7 -0
  291. package/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.d.ts +7 -0
  292. package/widgets/lib/widgets/layout/form-field/form-field-widget-view.component.d.ts +7 -0
  293. package/widgets/lib/widgets/layout/form-field/form-field-widget.config.d.ts +7 -0
  294. package/widgets/lib/widgets/layout/form-field/index.d.ts +3 -0
  295. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +16 -0
  296. package/widgets/lib/widgets/layout/grid/grid-widget-print.component.d.ts +6 -0
  297. package/widgets/lib/widgets/layout/grid/grid-widget-view.component.d.ts +6 -0
  298. package/widgets/lib/widgets/layout/grid/grid-widget.config.d.ts +7 -0
  299. package/widgets/lib/widgets/layout/grid/index.d.ts +4 -0
  300. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +15 -0
  301. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-print.component.d.ts +6 -0
  302. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-view.component.d.ts +6 -0
  303. package/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.d.ts +7 -0
  304. package/widgets/lib/widgets/layout/grid-item/index.d.ts +4 -0
  305. package/widgets/lib/widgets/layout/page/page-widget.config.d.ts +7 -0
  306. package/widgets/lib/widgets/layout/repeater/repeater-widget.config.d.ts +7 -0
  307. package/widgets/lib/widgets/layout/text-block/text-block-widget.config.d.ts +7 -0
  308. package/esm2022/layout/builder/lib/builder/layout.types.mjs +0 -30
  309. package/esm2022/layout/designer/lib/designer.module.mjs +0 -16
  310. package/esm2022/layout/designer/lib/history-manager.service.mjs +0 -117
  311. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget-view.component.mjs +0 -52
  312. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget.config.mjs +0 -25
  313. package/esm2022/widgets/lib/widgets/actions/button-widget/index.mjs +0 -3
  314. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget.config.mjs +0 -34
  315. package/esm2022/widgets/lib/widgets/editors/color-box-widget/index.mjs +0 -7
  316. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.mjs +0 -36
  317. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.mjs +0 -297
  318. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.mjs +0 -122
  319. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget.config.mjs +0 -78
  320. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact.type.mjs +0 -2
  321. package/esm2022/widgets/lib/widgets/editors/contact-widget/index.mjs +0 -7
  322. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +0 -44
  323. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +0 -133
  324. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +0 -54
  325. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.mjs +0 -38
  326. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/index.mjs +0 -7
  327. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.mjs +0 -66
  328. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.mjs +0 -249
  329. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget.config.mjs +0 -36
  330. package/esm2022/widgets/lib/widgets/editors/email-box-widget/index.mjs +0 -7
  331. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.mjs +0 -122
  332. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.mjs +0 -215
  333. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.config.mjs +0 -48
  334. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.mjs +0 -3
  335. package/esm2022/widgets/lib/widgets/editors/file-box-widget/index.mjs +0 -8
  336. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-types.mjs +0 -2
  337. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.mjs +0 -160
  338. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget.config.mjs +0 -26
  339. package/esm2022/widgets/lib/widgets/editors/gallery-widget/index.mjs +0 -7
  340. package/esm2022/widgets/lib/widgets/editors/large-text-widget/index.mjs +0 -7
  341. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.mjs +0 -19
  342. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.mjs +0 -37
  343. package/esm2022/widgets/lib/widgets/editors/link-widget/index.mjs +0 -7
  344. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.mjs +0 -391
  345. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget.config.mjs +0 -26
  346. package/esm2022/widgets/lib/widgets/editors/map-box-widget/index.mjs +0 -7
  347. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.mjs +0 -96
  348. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget.config.mjs +0 -28
  349. package/esm2022/widgets/lib/widgets/editors/number-box-widget/index.mjs +0 -7
  350. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.mjs +0 -38
  351. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.mjs +0 -151
  352. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.mjs +0 -20
  353. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.mjs +0 -56
  354. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.mjs +0 -37
  355. package/esm2022/widgets/lib/widgets/editors/password-box-widget/index.mjs +0 -7
  356. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.mjs +0 -19
  357. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.mjs +0 -76
  358. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.mjs +0 -35
  359. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/index.mjs +0 -7
  360. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.mjs +0 -66
  361. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget.config.mjs +0 -29
  362. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/index.mjs +0 -7
  363. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.mjs +0 -46
  364. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-edit.component.mjs +0 -67
  365. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.mjs +0 -45
  366. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.mjs +0 -37
  367. package/esm2022/widgets/lib/widgets/editors/select-box-widget/index.mjs +0 -7
  368. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-edit.component.mjs +0 -85
  369. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.mjs +0 -19
  370. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.mjs +0 -60
  371. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.mjs +0 -35
  372. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/index.mjs +0 -7
  373. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.mjs +0 -41
  374. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-edit.component.mjs +0 -72
  375. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.mjs +0 -44
  376. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.mjs +0 -26
  377. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/index.mjs +0 -7
  378. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +0 -19
  379. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +0 -142
  380. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget.config.mjs +0 -34
  381. package/esm2022/widgets/lib/widgets/editors/text-box-widget/index.mjs +0 -7
  382. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.mjs +0 -119
  383. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.mjs +0 -47
  384. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget.config.mjs +0 -39
  385. package/esm2022/widgets/lib/widgets/editors/toggle-widget/index.mjs +0 -7
  386. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.mjs +0 -37
  387. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget-designer.component.mjs +0 -65
  388. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.config.mjs +0 -27
  389. package/esm2022/widgets/lib/widgets/layout/block-widget/index.mjs +0 -4
  390. package/esm2022/widgets/lib/widgets/layout/page-widget/index.mjs +0 -3
  391. package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget-designer.component.mjs +0 -65
  392. package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget.config.mjs +0 -28
  393. package/esm2022/widgets/lib/widgets/layout/repeater-widget/index.mjs +0 -6
  394. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.mjs +0 -52
  395. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.mjs +0 -21
  396. package/esm2022/widgets/lib/widgets/layout/text-block-widget/index.mjs +0 -3
  397. package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget-view.component.mjs +0 -29
  398. package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.mjs +0 -39
  399. package/fesm2022/acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs.map +0 -1
  400. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs +0 -26
  401. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs.map +0 -1
  402. package/fesm2022/acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs.map +0 -1
  403. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C9L8cyBm.mjs.map +0 -1
  404. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs.map +0 -1
  405. package/layout/builder/lib/builder/layout.types.d.ts +0 -1
  406. package/layout/designer/lib/designer.module.d.ts +0 -6
  407. package/layout/designer/lib/history-manager.service.d.ts +0 -31
  408. package/widgets/lib/widgets/actions/button-widget/button-widget.config.d.ts +0 -2
  409. package/widgets/lib/widgets/editors/contact-widget/contact-widget.config.d.ts +0 -2
  410. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.d.ts +0 -2
  411. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.d.ts +0 -2
  412. package/widgets/lib/widgets/editors/link-widget/link-widget.config.d.ts +0 -2
  413. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.d.ts +0 -15
  414. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.d.ts +0 -2
  415. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.d.ts +0 -2
  416. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.d.ts +0 -2
  417. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.d.ts +0 -2
  418. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.d.ts +0 -2
  419. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.d.ts +0 -2
  420. package/widgets/lib/widgets/layout/block-widget/block-widget.config.d.ts +0 -2
  421. package/widgets/lib/widgets/layout/page-widget/page-widget.config.d.ts +0 -2
  422. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.d.ts +0 -2
  423. package/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.d.ts +0 -2
  424. /package/layout/designer/lib/{buttons → helpers}/add-widget-button/add-widget-button.component.d.ts +0 -0
  425. /package/widgets/lib/widgets/actions/{button-widget → button}/button-widget-view.component.d.ts +0 -0
  426. /package/widgets/lib/widgets/actions/{button-widget → button}/index.d.ts +0 -0
  427. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-column.component.d.ts +0 -0
  428. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-edit.component.d.ts +0 -0
  429. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-filter.component.d.ts +0 -0
  430. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-print.component.d.ts +0 -0
  431. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget-view.component.d.ts +0 -0
  432. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/file-box-widget.service.d.ts +0 -0
  433. /package/widgets/lib/widgets/{editors/file-box-widget → advance/file}/index.d.ts +0 -0
  434. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-column.component.d.ts +0 -0
  435. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-edit.component.d.ts +0 -0
  436. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-filter.component.d.ts +0 -0
  437. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-print.component.d.ts +0 -0
  438. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-types.d.ts +0 -0
  439. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/gallery-widget-view.component.d.ts +0 -0
  440. /package/widgets/lib/widgets/{editors/gallery-widget → advance/gallery}/index.d.ts +0 -0
  441. /package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/index.d.ts +0 -0
  442. /package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-column.component.d.ts +0 -0
  443. /package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-filter.component.d.ts +0 -0
  444. /package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-print.component.d.ts +0 -0
  445. /package/widgets/lib/widgets/{editors/map-box-widget → advance/map}/map-box-widget-view.component.d.ts +0 -0
  446. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/index.d.ts +0 -0
  447. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-column.component.d.ts +0 -0
  448. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-edit.component.d.ts +0 -0
  449. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-filter.component.d.ts +0 -0
  450. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-print.component.d.ts +0 -0
  451. /package/widgets/lib/widgets/{editors/signature-pad-widget → advance/signature}/signature-pad-widget-view.component.d.ts +0 -0
  452. /package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-column.component.d.ts +0 -0
  453. /package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-edit.component.d.ts +0 -0
  454. /package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-filter.component.d.ts +0 -0
  455. /package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-print.component.d.ts +0 -0
  456. /package/widgets/lib/widgets/editors/{color-box-widget → color}/color-box-widget-view.component.d.ts +0 -0
  457. /package/widgets/lib/widgets/editors/{color-box-widget → color}/index.d.ts +0 -0
  458. /package/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-column.component.d.ts +0 -0
  459. /package/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-filter.component.d.ts +0 -0
  460. /package/widgets/lib/widgets/editors/{contact-widget → contact}/contact-widget-print.component.d.ts +0 -0
  461. /package/widgets/lib/widgets/editors/{contact-widget → contact}/contact.type.d.ts +0 -0
  462. /package/widgets/lib/widgets/editors/{contact-widget → contact}/index.d.ts +0 -0
  463. /package/widgets/lib/widgets/editors/{contact-widget → contact}/popup-component.d.ts +0 -0
  464. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-column.component.d.ts +0 -0
  465. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-edit.component.d.ts +0 -0
  466. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-filter.component.d.ts +0 -0
  467. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-print.component.d.ts +0 -0
  468. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/date-time-box-widget-view.component.d.ts +0 -0
  469. /package/widgets/lib/widgets/editors/{date-time-box-widget → date-time}/index.d.ts +0 -0
  470. /package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-column.component.d.ts +0 -0
  471. /package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-edit.component.d.ts +0 -0
  472. /package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-filter.component.d.ts +0 -0
  473. /package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-print.component.d.ts +0 -0
  474. /package/widgets/lib/widgets/editors/{email-box-widget → email}/email-box-widget-view.component.d.ts +0 -0
  475. /package/widgets/lib/widgets/editors/{email-box-widget → email}/index.d.ts +0 -0
  476. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/index.d.ts +0 -0
  477. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-column.component.d.ts +0 -0
  478. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-edit.component.d.ts +0 -0
  479. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-filter.component.d.ts +0 -0
  480. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-print.component.d.ts +0 -0
  481. /package/widgets/lib/widgets/editors/{large-text-widget → large-text}/large-text-widget-view.component.d.ts +0 -0
  482. /package/widgets/lib/widgets/editors/{link-widget → link}/index.d.ts +0 -0
  483. /package/widgets/lib/widgets/editors/{link-widget → link}/link-widget-column.component.d.ts +0 -0
  484. /package/widgets/lib/widgets/editors/{link-widget → link}/link-widget-edit.component.d.ts +0 -0
  485. /package/widgets/lib/widgets/editors/{link-widget → link}/link-widget-filter.component.d.ts +0 -0
  486. /package/widgets/lib/widgets/editors/{link-widget → link}/link-widget-print.component.d.ts +0 -0
  487. /package/widgets/lib/widgets/editors/{link-widget → link}/link-widget-view.component.d.ts +0 -0
  488. /package/widgets/lib/widgets/editors/{number-box-widget → number}/index.d.ts +0 -0
  489. /package/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-column.component.d.ts +0 -0
  490. /package/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-filter.component.d.ts +0 -0
  491. /package/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-print.component.d.ts +0 -0
  492. /package/widgets/lib/widgets/editors/{number-box-widget → number}/number-box-widget-view.component.d.ts +0 -0
  493. /package/widgets/lib/widgets/editors/{password-box-widget → password}/index.d.ts +0 -0
  494. /package/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-column.component.d.ts +0 -0
  495. /package/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-edit.component.d.ts +0 -0
  496. /package/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-filter.component.d.ts +0 -0
  497. /package/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-print.component.d.ts +0 -0
  498. /package/widgets/lib/widgets/editors/{password-box-widget → password}/password-box-widget-view.component.d.ts +0 -0
  499. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/index.d.ts +0 -0
  500. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-column.component.d.ts +0 -0
  501. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-edit.component.d.ts +0 -0
  502. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-filter.component.d.ts +0 -0
  503. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-print.component.d.ts +0 -0
  504. /package/widgets/lib/widgets/editors/{phone-box-widget → phone}/phone-box-widget-view.component.d.ts +0 -0
  505. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/index.d.ts +0 -0
  506. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-popup.component.d.ts +0 -0
  507. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-column.component.d.ts +0 -0
  508. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-edit.component.d.ts +0 -0
  509. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-filter.component.d.ts +0 -0
  510. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-print.component.d.ts +0 -0
  511. /package/widgets/lib/widgets/editors/{rich-text-widget → rich-text}/rich-text-widget-view.component.d.ts +0 -0
  512. /package/widgets/lib/widgets/editors/{select-box-widget → select}/index.d.ts +0 -0
  513. /package/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-column.component.d.ts +0 -0
  514. /package/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-edit.component.d.ts +0 -0
  515. /package/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-filter.component.d.ts +0 -0
  516. /package/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-print.component.d.ts +0 -0
  517. /package/widgets/lib/widgets/editors/{select-box-widget → select}/select-box-widget-view.component.d.ts +0 -0
  518. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/index.d.ts +0 -0
  519. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-column.component.d.ts +0 -0
  520. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-edit.component.d.ts +0 -0
  521. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-filter.component.d.ts +0 -0
  522. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-print.component.d.ts +0 -0
  523. /package/widgets/lib/widgets/editors/{selection-list-widget → selection-list}/selection-list-widget-view.component.d.ts +0 -0
  524. /package/widgets/lib/widgets/editors/{text-box-widget → text}/index.d.ts +0 -0
  525. /package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-column.component.d.ts +0 -0
  526. /package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-edit.component.d.ts +0 -0
  527. /package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-filter.component.d.ts +0 -0
  528. /package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-print.component.d.ts +0 -0
  529. /package/widgets/lib/widgets/editors/{text-box-widget → text}/text-box-widget-view.component.d.ts +0 -0
  530. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/index.d.ts +0 -0
  531. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-column.component.d.ts +0 -0
  532. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-edit.component.d.ts +0 -0
  533. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-filter.component.d.ts +0 -0
  534. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-print.component.d.ts +0 -0
  535. /package/widgets/lib/widgets/editors/{toggle-widget → toggle}/toggle-widget-view.component.d.ts +0 -0
  536. /package/widgets/lib/widgets/layout/{block-widget → block}/block-widget-designer.component.d.ts +0 -0
  537. /package/widgets/lib/widgets/layout/{block-widget → block}/block-widget-view.component.d.ts +0 -0
  538. /package/widgets/lib/widgets/layout/{block-widget → block}/index.d.ts +0 -0
  539. /package/widgets/lib/widgets/layout/{page-widget → page}/index.d.ts +0 -0
  540. /package/widgets/lib/widgets/layout/{page-widget → page}/page-widget-designer.component.d.ts +0 -0
  541. /package/widgets/lib/widgets/layout/{page-widget → page}/page-widget-view.component.d.ts +0 -0
  542. /package/widgets/lib/widgets/layout/{repeater-widget → repeater}/index.d.ts +0 -0
  543. /package/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-designer.component.d.ts +0 -0
  544. /package/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-edit.component.d.ts +0 -0
  545. /package/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-print.component.d.ts +0 -0
  546. /package/widgets/lib/widgets/layout/{repeater-widget → repeater}/repeater-widget-view.component.d.ts +0 -0
  547. /package/widgets/lib/widgets/layout/{text-block-widget → text-block}/index.d.ts +0 -0
  548. /package/widgets/lib/widgets/layout/{text-block-widget → text-block}/text-block-widget-view.component.d.ts +0 -0
@@ -7,7 +7,7 @@ import { AXMenuModule } from '@acorex/components/menu';
7
7
  import { AXTabsModule } from '@acorex/components/tabs';
8
8
  import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
9
9
  import { CommonModule } from '@angular/common';
10
- import { Component, computed, inject, ViewEncapsulation } from '@angular/core';
10
+ import { Component, computed, HostListener, inject, ViewChild, ViewEncapsulation } from '@angular/core';
11
11
  import { get } from 'lodash-es';
12
12
  import { AXPDesignerBoardComponent } from '../board/board.component';
13
13
  import { AXPDesignerBreadcrumbsComponent } from '../breadcrumbs/breadcrumbs.component';
@@ -16,6 +16,7 @@ import { AXPDesignerHeaderMenuComponent } from '../header-menu/header-menu.compo
16
16
  import { AXPDesignerOutlineComponent } from '../outline/outline.component';
17
17
  import { AXPWidgetPropertyViewerComponent } from '../property-viewer/widget-property-viewer.component';
18
18
  import { AXPDesignerHistoryComponent } from '../history/history.component';
19
+ import { AXPDesignerPagesComponent } from '../pages/pages.component';
19
20
  import * as i0 from "@angular/core";
20
21
  import * as i1 from "@angular/common";
21
22
  import * as i2 from "@acorex/components/button";
@@ -27,9 +28,51 @@ export class AXPLayoutDesignerComponent {
27
28
  constructor() {
28
29
  this.service = inject(AXPDesignerService);
29
30
  this.nodeConfig = computed(() => this.service.selectedNode() ? get(this.service.selectedNode(), '__meta__.config') : null);
31
+ this.service.onUpdate.subscribe((e) => {
32
+ this.propertyViewer.update(e.values);
33
+ });
34
+ }
35
+ handleKeyboardEvent(event) {
36
+ if (event.ctrlKey && event.target == document.body) {
37
+ switch (event.key.toLowerCase()) { // Convert the key to lowercase to ensure case insensitivity
38
+ case 'z':
39
+ event.preventDefault(); // Prevent the browser's default undo action
40
+ this.service.undo();
41
+ break;
42
+ case 'y':
43
+ event.preventDefault(); // Prevent the browser's default redo action
44
+ this.service.redo();
45
+ break;
46
+ case 'c':
47
+ if (this.service.canCutCopy()) {
48
+ event.preventDefault(); // Prevent the browser's default copy action
49
+ this.service.copy();
50
+ }
51
+ break;
52
+ case 'd':
53
+ if (this.service.canCutCopy()) {
54
+ event.preventDefault(); // Prevent the browser's default copy action
55
+ this.service.clone();
56
+ }
57
+ break;
58
+ case 'x':
59
+ if (this.service.canCutCopy()) {
60
+ debugger;
61
+ event.preventDefault(); // Prevent the browser's default cut action
62
+ this.service.cut();
63
+ }
64
+ break;
65
+ case 'v':
66
+ if (this.service.canPaste()) {
67
+ event.preventDefault(); // Prevent the browser's default paste action
68
+ this.service.paste();
69
+ }
70
+ break;
71
+ }
72
+ }
30
73
  }
31
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", providers: [AXPDesignerService], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative child:ax-h-full ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-plus ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button>\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-b ax-flex ax-flex-grow ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <div class=\"ax-h-full \">\n <ax-drawer-container class=\"ax-w-full ax-h-full\">\n <ax-drawer #bd location=\"start\" mode=\"push\">\n <ax-content>\n <div class=\"ax-min-w-80 ax-h-full ax-overflow-auto ax-border-e\"></div>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light\">\n <axp-designer-board class=\"ax-h-full ax-bg-on-surface ax-flex ax-justify-center\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n </div>\n <!-- Footer -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{position:relative;display:block;cursor:pointer;padding:.25rem}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:rgba(var(--ax-color-primary-500),1);position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:1px;outline-offset:1px;outline-color:rgba(var(--ax-color-primary-500),1)}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:10;height:100%;width:100%;background:rgba(202,123,123,.39)}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i5.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "selectionChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPLayoutDesignerComponent, isStandalone: true, selector: "axp-layout-designer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, providers: [AXPDesignerService], viewQueries: [{ propertyName: "propertyViewer", first: true, predicate: AXPWidgetPropertyViewerComponent, descendants: true, static: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative child:ax-h-full ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-b ax-flex ax-flex-grow ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <div class=\"ax-h-full \">\n <ax-drawer-container class=\"ax-w-full ax-h-full\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n Datasources\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light\">\n <axp-designer-board class=\"ax-h-full ax-bg-on-surface ax-flex ax-justify-center\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n </div>\n <!-- Footer -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{position:relative;display:block;cursor:pointer}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover:not(.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected){outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:10;height:100%;width:100%}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}.axp-designer-board .axp-empty-space{background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}.axp-designer-board .grid-stack-item-content{color:#2c3e50;text-align:center;background-color:#18bc9c}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXPDesignerBoardComponent, selector: "axp-designer-board" }, { kind: "component", type: AXPWidgetPropertyViewerComponent, selector: "axp-widget-property-viewer", inputs: ["widget"], outputs: ["onChanged"] }, { kind: "component", type: AXPDesignerBreadcrumbsComponent, selector: "axp-designer-breadcrumbs" }, { kind: "component", type: AXPDesignerOutlineComponent, selector: "axp-designer-outline" }, { kind: "component", type: AXPDesignerHeaderMenuComponent, selector: "axp-designer-header-menu" }, { kind: "component", type: AXPDesignerHistoryComponent, selector: "axp-designer-history" }, { kind: "component", type: AXPDesignerPagesComponent, selector: "axp-designer-pages" }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i3.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i3.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "component", type: i5.AXButtonGroupComponent, selector: "ax-button-group", inputs: ["disabled", "color", "look", "selection"], outputs: ["onBlur", "onFocus", "lookChange", "colorChange", "disabledChange", "selectionChange"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i6.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }], encapsulation: i0.ViewEncapsulation.None }); }
33
76
  }
34
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPLayoutDesignerComponent, decorators: [{
35
78
  type: Component,
@@ -42,6 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
42
85
  AXPDesignerOutlineComponent,
43
86
  AXPDesignerHeaderMenuComponent,
44
87
  AXPDesignerHistoryComponent,
88
+ AXPDesignerPagesComponent,
45
89
  AXTabsModule,
46
90
  AXButtonModule,
47
91
  AXDrawerModule,
@@ -49,6 +93,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
49
93
  AXMenuModule,
50
94
  AXButtonGroupModule,
51
95
  AXDropdownModule,
52
- ], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative child:ax-h-full ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-plus ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button>\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-b ax-flex ax-flex-grow ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <div class=\"ax-h-full \">\n <ax-drawer-container class=\"ax-w-full ax-h-full\">\n <ax-drawer #bd location=\"start\" mode=\"push\">\n <ax-content>\n <div class=\"ax-min-w-80 ax-h-full ax-overflow-auto ax-border-e\"></div>\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light\">\n <axp-designer-board class=\"ax-h-full ax-bg-on-surface ax-flex ax-justify-center\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n </div>\n <!-- Footer -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{position:relative;display:block;cursor:pointer;padding:.25rem}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:rgba(var(--ax-color-primary-500),1);position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover{outline-style:dashed;outline-width:1px;outline-offset:1px;outline-color:rgba(var(--ax-color-primary-500),1)}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:10;height:100%;width:100%;background:rgba(202,123,123,.39)}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}\n"] }]
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFlLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQTJCM0UsTUFBTSxPQUFPLDBCQUEwQjtJQXpCdkM7UUEyQlksWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXJDLGVBQVUsR0FBRyxRQUFRLENBQXlCLEdBQUcsRUFBRSxDQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxpQkFBaUIsQ0FBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNySCxDQUFDO0tBRUg7OEdBUlksMEJBQTBCO2tHQUExQiwwQkFBMEIsa0VBRjFCLENBQUMsa0JBQWtCLENBQUMsMEJDMUNqQyxrdExBbUhzQixxK0JEekZsQixZQUFZLDRIQUNaLHNCQUFzQiwrQkFDdEIseUJBQXlCLCtEQUN6QixnQ0FBZ0MsbUhBQ2hDLCtCQUErQixxRUFDL0IsMkJBQTJCLGlFQUMzQiw4QkFBOEIscUVBQzlCLDJCQUEyQixnRUFDM0IsWUFBWSw4QkFDWixjQUFjLDh2QkFDZCxjQUFjLDhUQUNkLGlCQUFpQix1VkFDakIsWUFBWSw4QkFDWixtQkFBbUIseVFBQ25CLGdCQUFnQjs7MkZBSVAsMEJBQTBCO2tCQXpCdEMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLGdDQUFnQzt3QkFDaEMsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLDhCQUE4Qjt3QkFDOUIsMkJBQTJCO3dCQUMzQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7cUJBQ2pCLGFBQ1UsQ0FBQyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbkdyb3VwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYTWVudU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9tZW51JztcbmltcG9ydCB7IEFYVGFic01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUsIEFYUFdpZGdldENvbmZpZyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJCb2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyU2VydmljZSB9IGZyb20gJy4uL2Rlc2lnbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyT3V0bGluZUNvbXBvbmVudCB9IGZyb20gJy4uL291dGxpbmUvb3V0bGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9wZXJ0eS12aWV3ZXIvd2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vaGlzdG9yeS9oaXN0b3J5LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1sYXlvdXQtZGVzaWduZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVzaWduZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZXNpZ25lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgQVhQRGVzaWduZXJCb2FyZENvbXBvbmVudCxcbiAgICBBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVyT3V0bGluZUNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckhlYWRlck1lbnVDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50LFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERyYXdlck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWE1lbnVNb2R1bGUsXG4gICAgQVhCdXR0b25Hcm91cE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICBdLFxuICBwcm92aWRlcnM6IFtBWFBEZXNpZ25lclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBMYXlvdXREZXNpZ25lckNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHNlcnZpY2UgPSBpbmplY3QoQVhQRGVzaWduZXJTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgbm9kZUNvbmZpZyA9IGNvbXB1dGVkPEFYUFdpZGdldENvbmZpZyB8IG51bGw+KCgpID0+XG4gICAgdGhpcy5zZXJ2aWNlLnNlbGVjdGVkTm9kZSgpID8gKGdldCh0aGlzLnNlcnZpY2Uuc2VsZWN0ZWROb2RlKCksICdfX21ldGFfXy5jb25maWcnKSBhcyBhbnkgYXMgQVhQV2lkZ2V0Q29uZmlnKSA6IG51bGxcbiAgKTtcblxufVxuIiwiPGF4LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJheC1oLWZ1bGwgYXgtdy1mdWxsIGF4LWZsZXggYXgtcmVsYXRpdmUgY2hpbGQ6YXgtaC1mdWxsIGF4LW92ZXJmbG93LWhpZGRlbiBheC1kYXJrXCI+XG4gIDxheC1jb250ZW50IGNsYXNzPVwiYXgtY29udGVudHNcIj5cbiAgICA8IS0tIFRvb2xiYXIgU2lkZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLXctMTAgYXgtYmctc3VyZmFjZSBheC1ib3JkZXItZSBheC14cyBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1taW4tdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2xvZ29zL2xvZ28ucG5nXCIgY2xhc3M9XCJheC13LTZcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcHktMVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXB1enpsZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wbHVzIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWRhdGFiYXNlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiAob25DbGljayk9XCJvdXRsaW5lLnRvZ2dsZSgpXCIgdGl0bGU9XCJPdXRsaW5lXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1saXN0LXRyZWUgYXgtdGV4dC1zbVwiPiA8L2F4LWljb24+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiIChvbkNsaWNrKT1cImhpc3RvcnkudG9nZ2xlKClcIiB0aXRsZT1cIkhpc3RvcnlcIj5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWNsb2NrLXJvdGF0ZS1sZWZ0IGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiB0aXRsZT1cIlRpbWVsaW5lXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1kaWFncmFtLXNhbmtleSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIE1haW4gU2lkZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtY29sLXNwYW4tMTAgYXgtZmxleCBheC1mbGV4LWNvbCBheC1mbGV4LTFcIj5cbiAgICAgIDwhLS0gSGVhZGVyIFRvb2xiYXIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLWgtMTAgYXgtYmctc3VyZmFjZSBheC1ib3JkZXItYiAgYXgtZmxleCBheC1mbGV4LWdyb3cgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXB4LTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXRleHQtd2hpdGVcIj5cbiAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhlYWRlci1tZW51PjwvYXhwLWRlc2lnbmVyLWhlYWRlci1tZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTIgYXgteHMgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1ncm91cCBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiBbc2VsZWN0aW9uXT1cIidzaW5nbGUnXCI+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gW3NlbGVjdGVkXT1cInNlcnZpY2Uuc2l6ZSgpID09ICd4bCdcIiBbZGF0YV09XCIneGwnXCIgKG9uQ2xpY2spPVwic2VydmljZS5zaXplLnNldCgneGwnKVwiPlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWRlc2t0b3BcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAnbGcnXCIgW2RhdGFdPVwiJ2xnJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ2xnJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS10YWJsZXRcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAnc20nXCIgW2RhdGFdPVwiJ3NtJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ3NtJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1tb2JpbGVcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgIDwvYXgtYnV0dG9uLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTIgYXgteHMgYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGF4LWJ1dHRvbiB0ZXh0PVwiRGVzaWduXCIgbG9vaz1cIm91dGxpbmVcIiBjbGFzcz1cImF4LXhzXCI+XG4gICAgICAgICAgICA8YXgtc3VmZml4PlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWNoZXZyb24tZG93blwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgIDwvYXgtc3VmZml4PlxuICAgICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gdGV4dD1cIlByaW50XCIgbmFtZT1cInByaW50XCI+IDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJWaWV3XCIgbmFtZT1cInZpZXdcIj4gPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgPC9heC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICA8YXgtYnV0dG9uIGNvbG9yPVwic3VjY2Vzc1wiIGxvb2s9XCJvdXRsaW5lXCIgdGV4dD1cIlByZXZpZXdcIiBjbGFzcz1cImF4LXhzXCI+XG4gICAgICAgICAgICA8YXgtc3VmZml4PlxuICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBsYXlcIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gQm9hcmQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtaC1mdWxsIFwiPlxuICAgICAgICA8YXgtZHJhd2VyLWNvbnRhaW5lciBjbGFzcz1cImF4LXctZnVsbCBheC1oLWZ1bGxcIj5cbiAgICAgICAgICA8YXgtZHJhd2VyICNiZCBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLXctODAgYXgtaC1mdWxsIGF4LW92ZXJmbG93LWF1dG8gYXgtYm9yZGVyLWVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIE91dGxpbmUgUG5hZWwgLS0+XG4gICAgICAgICAgPGF4LWRyYXdlciAjb3V0bGluZSBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8YXhwLWRlc2lnbmVyLW91dGxpbmU+PC9heHAtZGVzaWduZXItb3V0bGluZT5cbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIEhpc3RvcnkgUG5hZWwgLS0+XG4gICAgICAgICAgPGF4LWRyYXdlciAjaGlzdG9yeSBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhpc3Rvcnk+PC9heHAtZGVzaWduZXItaGlzdG9yeT5cbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIENvbnRlbnQgb2YgYm9hcmQgLS0+XG4gICAgICAgICAgPGF4LWNvbnRlbnQgY2xhc3M9XCJheC1saWdodFwiPlxuICAgICAgICAgICAgPGF4cC1kZXNpZ25lci1ib2FyZCBjbGFzcz1cImF4LWgtZnVsbCBheC1iZy1vbi1zdXJmYWNlIGF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXJcIj4gPC9heHAtZGVzaWduZXItYm9hcmQ+XG4gICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICA8L2F4LWRyYXdlci1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1pbi1oLTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLXQgIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxheHAtZGVzaWduZXItYnJlYWRjcnVtYnMgY2xhc3M9XCJheC1ib3JkZXItZGVmYXVsdCBheC1ib3JkZXItdCBheC1wLTIgYXgtZm9udC1ub3JtYWxcIj5cbiAgICAgICAgPC9heHAtZGVzaWduZXItYnJlYWRjcnVtYnM+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9heC1jb250ZW50PlxuICA8IS0tIFByb3BlcnR5IFNpZGUgLS0+XG4gIDxheC1kcmF3ZXIgY2xhc3M9XCJheC13LTgwIGF4LWJvcmRlci1zXCIgbG9jYXRpb249XCJlbmRcIiBtb2RlPVwicHVzaFwiIFtjb2xsYXBzZWRdPVwiZmFsc2VcIiAjcGQ+XG4gICAgPGF4LWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LXJvdyBheC13LWZ1bGwgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXRleHQtd2hpdGUgYXgtcHktMiBheC1weC00IGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIm5vZGVDb25maWcoKT8uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBub2RlQ29uZmlnKCk/LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGF4cC13aWRnZXQtcHJvcGVydHktdmlld2VyIFt3aWRnZXRdPVwic2VydmljZS5zZWxlY3RlZE5vZGUoKSFcIlxuICAgICAgICAob25DaGFuZ2VkKT1cInNlcnZpY2UudXBkYXRlKHsgdmFsdWVzOiAkZXZlbnQudmFsdWVzLCBtb2RlOiAkZXZlbnQubW9kZSB9KVwiIGNsYXNzPVwiYXgtdy0xLzRcIj5cbiAgICAgIDwvYXhwLXdpZGdldC1wcm9wZXJ0eS12aWV3ZXI+XG4gICAgPC9heC1jb250ZW50PlxuICA8L2F4LWRyYXdlcj5cbjwvYXgtZHJhd2VyLWNvbnRhaW5lcj4iXX0=
96
+ ], providers: [AXPDesignerService], template: "<ax-drawer-container class=\"ax-h-full ax-w-full ax-flex ax-relative child:ax-h-full ax-overflow-hidden ax-dark\">\n <ax-content class=\"ax-contents\">\n <!-- Toolbar Side -->\n <div class=\"ax-min-w-10 ax-bg-surface ax-border-e ax-xs ax-flex ax-flex-col ax-items-center \">\n <div class=\"ax-min-w-10 ax-h-10 ax-flex ax-items-center ax-justify-center ax-border-b\">\n <img src=\"assets/logos/logo.png\" class=\"ax-w-6\" />\n </div>\n <div class=\"ax-py-1\"></div>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <!-- <ax-button color=\"ghost\" look=\"twotone\">\n <ax-icon class=\"fa-solid fa-puzzle ax-text-sm\"> </ax-icon>\n </ax-button> -->\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"pages.toggle()\" title=\"Pages\">\n <ax-icon class=\"fa-solid fa-page ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"datasources.toggle()\" title=\"Data Sources\">\n <ax-icon class=\"fa-solid fa-database ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"outline.toggle()\" title=\"Outline\">\n <ax-icon class=\"fa-solid fa-list-tree ax-text-sm\"> </ax-icon>\n </ax-button>\n <ax-button color=\"ghost\" look=\"twotone\" (onClick)=\"history.toggle()\" title=\"History\">\n <ax-icon class=\"fa-solid fa-clock-rotate-left ax-text-sm\"> </ax-icon>\n </ax-button>\n <!-- <ax-button color=\"ghost\" look=\"twotone\" title=\"Timeline\">\n <ax-icon class=\"fa-solid fa-diagram-sankey ax-text-sm\"> </ax-icon>\n </ax-button> -->\n </div>\n </div>\n <!-- Main Side -->\n <div class=\"ax-col-span-10 ax-flex ax-flex-col ax-flex-1\">\n <!-- Header Toolbar -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-b ax-flex ax-flex-grow ax-justify-between ax-px-2\">\n <div class=\"ax-flex ax-items-center ax-justify-center ax-text-white\">\n <axp-designer-header-menu></axp-designer-header-menu>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button-group color=\"ghost\" look=\"twotone\" [selection]=\"'single'\">\n <ax-button-item [selected]=\"service.size() == 'xl'\" [data]=\"'xl'\" (onClick)=\"service.size.set('xl')\">\n <ax-icon class=\"fa-light fa-desktop\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'lg'\" [data]=\"'lg'\" (onClick)=\"service.size.set('lg')\">\n <ax-icon class=\"fa-light fa-tablet\"></ax-icon>\n </ax-button-item>\n <ax-button-item [selected]=\"service.size() == 'sm'\" [data]=\"'sm'\" (onClick)=\"service.size.set('sm')\">\n <ax-icon class=\"fa-light fa-mobile\"></ax-icon>\n </ax-button-item>\n </ax-button-group>\n </div>\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-xs ax-items-center\">\n <ax-button text=\"Design\" look=\"outline\" class=\"ax-xs\">\n <ax-suffix>\n <ax-icon class=\"fa-light fa-chevron-down\"></ax-icon>\n </ax-suffix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <ax-button-item text=\"Print\" name=\"print\"> </ax-button-item>\n <ax-button-item text=\"View\" name=\"view\"> </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <ax-button color=\"success\" look=\"outline\" text=\"Preview\" class=\"ax-xs\" (onClick)=\"service.openPreview()\">\n <ax-suffix>\n <ax-icon class=\"fa-solid fa-play\"></ax-icon>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n <!-- Board -->\n <div class=\"ax-h-full \">\n <ax-drawer-container class=\"ax-w-full ax-h-full\">\n <!-- Pages -->\n <ax-drawer #pages location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-pages></axp-designer-pages>\n </ax-content>\n </ax-drawer>\n <!-- Datasources -->\n <ax-drawer #datasources location=\"start\" mode=\"push\">\n <ax-content>\n Datasources\n </ax-content>\n </ax-drawer>\n <!-- Outline Pnael -->\n <ax-drawer #outline location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-outline></axp-designer-outline>\n </ax-content>\n </ax-drawer>\n <!-- History Pnael -->\n <ax-drawer #history location=\"start\" mode=\"push\">\n <ax-content>\n <axp-designer-history></axp-designer-history>\n </ax-content>\n </ax-drawer>\n <!-- Content of board -->\n <ax-content class=\"ax-light\">\n <axp-designer-board class=\"ax-h-full ax-bg-on-surface ax-flex ax-justify-center\"> </axp-designer-board>\n </ax-content>\n </ax-drawer-container>\n </div>\n <!-- Footer -->\n <div class=\"ax-min-h-10 ax-bg-surface ax-border-t ax-flex ax-items-center\">\n <axp-designer-breadcrumbs class=\"ax-border-default ax-border-t ax-p-2 ax-font-normal\">\n </axp-designer-breadcrumbs>\n </div>\n </div>\n </ax-content>\n <!-- Property Side -->\n <ax-drawer class=\"ax-w-80 ax-border-s\" location=\"end\" mode=\"push\" [collapsed]=\"false\" #pd>\n <ax-content>\n <div class=\"ax-flex ax-flex-row ax-w-full ax-justify-between ax-text-white ax-py-2 ax-px-4 ax-border-b\">\n <div class=\"ax-flex ax-flex-row ax-gap-2 ax-items-center\">\n <i [ngClass]=\"nodeConfig()?.icon\"></i>\n <span class=\"ax-font-semibold\">{{ nodeConfig()?.title }}</span>\n </div>\n </div>\n <axp-widget-property-viewer [widget]=\"service.selectedNode()!\"\n (onChanged)=\"service.update({ values: $event.values, mode: $event.mode })\" class=\"ax-w-1/4\">\n </axp-widget-property-viewer>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".axp-designer-board{display:block;height:100%;width:100%;overflow:auto;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-surface),var(--tw-bg-opacity));padding:.75rem}.axp-designer-board.axp-state-design .axp-widget-host{position:relative;display:block;cursor:pointer}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-selected{outline-style:solid;outline-width:2px;outline-offset:1px;outline-color:#60a5fa;position:relative}.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover:not(.axp-designer-board.axp-state-design .axp-widget-host.axp-state-hover.axp-state-selected){outline-style:solid;outline-width:1px;outline-offset:1px;outline-color:#60a5fa}.axp-designer-board.axp-state-design .axp-widget-host .axp-widget-overlay{position:absolute;left:0;top:0;right:0;bottom:0;z-index:10;height:100%;width:100%}@keyframes moveLight{0%{background-position:0% 50%}to{background-position:100% 50%}}.axp-designer-board .axp-empty-space{background-color:rgba(var(--ax-color-primary-300),10%);background-image:linear-gradient(135deg,rgba(var(--ax-color-primary-300),50%) 10%,transparent 0,transparent 50%,rgba(var(--ax-color-primary-300),50%) 0,rgba(var(--ax-color-primary-300),50%) 60%,transparent 0,transparent);background-size:7.5px 7.5px}.axp-designer-board .grid-stack-item-content{color:#2c3e50;text-align:center;background-color:#18bc9c}\n"] }]
97
+ }], ctorParameters: () => [], propDecorators: { propertyViewer: [{
98
+ type: ViewChild,
99
+ args: [AXPWidgetPropertyViewerComponent, { static: true }]
100
+ }], handleKeyboardEvent: [{
101
+ type: HostListener,
102
+ args: ['document:keydown', ['$event']]
103
+ }] } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZGVzaWduZXIvc3JjL2xpYi9kZXNpZ25lci9kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9kZXNpZ25lci9zcmMvbGliL2Rlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFlLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBNEJyRSxNQUFNLE9BQU8sMEJBQTBCO0lBWXJDO1FBVlUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBS3JDLGVBQVUsR0FBRyxRQUFRLENBQXlCLEdBQUcsRUFBRSxDQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxpQkFBaUIsQ0FBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNySCxDQUFDO1FBSUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdPLG1CQUFtQixDQUFDLEtBQW9CO1FBQzlDLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVuRCxRQUFRLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLDREQUE0RDtnQkFDN0YsS0FBSyxHQUFHO29CQUNOLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFFLDRDQUE0QztvQkFDckUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDcEIsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUUsNENBQTRDO29CQUNyRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNwQixNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQzt3QkFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUUsNENBQTRDO3dCQUNyRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN0QixDQUFDO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxHQUFHO29CQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO3dCQUM5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBRSw0Q0FBNEM7d0JBQ3JFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7d0JBQzlCLFFBQVEsQ0FBQTt3QkFDUixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBRSwyQ0FBMkM7d0JBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ3JCLENBQUM7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFFLDZDQUE2Qzt3QkFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDdkIsQ0FBQztvQkFDRCxNQUFNO1lBQ1YsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQTFEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiw4SUFGMUIsQ0FBQyxrQkFBa0IsQ0FBQywwRUFNcEIsZ0NBQWdDLDhEQ2xEN0MsMGpNQTBIc0IscTVDRC9GbEIsWUFBWSw0SEFDWixzQkFBc0IsK0JBQ3RCLHlCQUF5QiwrREFDekIsZ0NBQWdDLG1IQUNoQywrQkFBK0IscUVBQy9CLDJCQUEyQixpRUFDM0IsOEJBQThCLHFFQUM5QiwyQkFBMkIsaUVBQzNCLHlCQUF5Qiw4REFDekIsWUFBWSw4QkFDWixjQUFjLDh2QkFDZCxjQUFjLDZVQUNkLGlCQUFpQix1VkFDakIsWUFBWSw4QkFDWixtQkFBbUIseVFBQ25CLGdCQUFnQjs7MkZBSVAsMEJBQTBCO2tCQTFCdEMsU0FBUzsrQkFDRSxxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLGdDQUFnQzt3QkFDaEMsK0JBQStCO3dCQUMvQiwyQkFBMkI7d0JBQzNCLDhCQUE4Qjt3QkFDOUIsMkJBQTJCO3dCQUMzQix5QkFBeUI7d0JBQ3pCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakIsYUFDVSxDQUFDLGtCQUFrQixDQUFDO3dEQU92QixjQUFjO3NCQURyQixTQUFTO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFlckQsbUJBQW1CO3NCQUQxQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uR3JvdXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhNZW51TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21lbnUnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSwgQVhQV2lkZ2V0Q29uZmlnIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJCb2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lckJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyU2VydmljZSB9IGZyb20gJy4uL2Rlc2lnbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIZWFkZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vaGVhZGVyLW1lbnUvaGVhZGVyLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEFYUERlc2lnbmVyT3V0bGluZUNvbXBvbmVudCB9IGZyb20gJy4uL291dGxpbmUvb3V0bGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wcm9wZXJ0eS12aWV3ZXIvd2lkZ2V0LXByb3BlcnR5LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQRGVzaWduZXJIaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vaGlzdG9yeS9oaXN0b3J5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWFBEZXNpZ25lclBhZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnZXMvcGFnZXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWxheW91dC1kZXNpZ25lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXNpZ25lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSxcbiAgICBBWFBEZXNpZ25lckJvYXJkQ29tcG9uZW50LFxuICAgIEFYUFdpZGdldFByb3BlcnR5Vmlld2VyQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVyQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJPdXRsaW5lQ29tcG9uZW50LFxuICAgIEFYUERlc2lnbmVySGVhZGVyTWVudUNvbXBvbmVudCxcbiAgICBBWFBEZXNpZ25lckhpc3RvcnlDb21wb25lbnQsXG4gICAgQVhQRGVzaWduZXJQYWdlc0NvbXBvbmVudCxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhNZW51TW9kdWxlLFxuICAgIEFYQnV0dG9uR3JvdXBNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbQVhQRGVzaWduZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0RGVzaWduZXJDb21wb25lbnQge1xuXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYUERlc2lnbmVyU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZChBWFBXaWRnZXRQcm9wZXJ0eVZpZXdlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwcm9wZXJ0eVZpZXdlcjogQVhQV2lkZ2V0UHJvcGVydHlWaWV3ZXJDb21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIG5vZGVDb25maWcgPSBjb21wdXRlZDxBWFBXaWRnZXRDb25maWcgfCBudWxsPigoKSA9PlxuICAgIHRoaXMuc2VydmljZS5zZWxlY3RlZE5vZGUoKSA/IChnZXQodGhpcy5zZXJ2aWNlLnNlbGVjdGVkTm9kZSgpLCAnX19tZXRhX18uY29uZmlnJykgYXMgYW55IGFzIEFYUFdpZGdldENvbmZpZykgOiBudWxsXG4gICk7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlcnZpY2Uub25VcGRhdGUuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLnByb3BlcnR5Vmlld2VyLnVwZGF0ZShlLnZhbHVlcyk7XG4gICAgfSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC50YXJnZXQgPT0gZG9jdW1lbnQuYm9keSkge1xuXG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB7IC8vIENvbnZlcnQgdGhlIGtleSB0byBsb3dlcmNhc2UgdG8gZW5zdXJlIGNhc2UgaW5zZW5zaXRpdml0eVxuICAgICAgICBjYXNlICd6JzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAgLy8gUHJldmVudCB0aGUgYnJvd3NlcidzIGRlZmF1bHQgdW5kbyBhY3Rpb25cbiAgICAgICAgICB0aGlzLnNlcnZpY2UudW5kbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd5JzpcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAgLy8gUHJldmVudCB0aGUgYnJvd3NlcidzIGRlZmF1bHQgcmVkbyBhY3Rpb25cbiAgICAgICAgICB0aGlzLnNlcnZpY2UucmVkbygpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjJzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhbkN1dENvcHkoKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgIC8vIFByZXZlbnQgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGNvcHkgYWN0aW9uXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY29weSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZCc6XG4gICAgICAgICAgaWYgKHRoaXMuc2VydmljZS5jYW5DdXRDb3B5KCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBjb3B5IGFjdGlvblxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd4JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhbkN1dENvcHkoKSkge1xuICAgICAgICAgICAgZGVidWdnZXJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBjdXQgYWN0aW9uXG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuY3V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd2JzpcbiAgICAgICAgICBpZiAodGhpcy5zZXJ2aWNlLmNhblBhc3RlKCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBQcmV2ZW50IHRoZSBicm93c2VyJ3MgZGVmYXVsdCBwYXN0ZSBhY3Rpb25cbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5wYXN0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPGF4LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJheC1oLWZ1bGwgYXgtdy1mdWxsIGF4LWZsZXggYXgtcmVsYXRpdmUgY2hpbGQ6YXgtaC1mdWxsIGF4LW92ZXJmbG93LWhpZGRlbiBheC1kYXJrXCI+XG4gIDxheC1jb250ZW50IGNsYXNzPVwiYXgtY29udGVudHNcIj5cbiAgICA8IS0tIFRvb2xiYXIgU2lkZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtbWluLXctMTAgYXgtYmctc3VyZmFjZSBheC1ib3JkZXItZSBheC14cyBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1taW4tdy0xMCBheC1oLTEwIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2xvZ29zL2xvZ28ucG5nXCIgY2xhc3M9XCJheC13LTZcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtcHktMVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTJcIj5cbiAgICAgICAgPCEtLSA8YXgtYnV0dG9uIGNvbG9yPVwiZ2hvc3RcIiBsb29rPVwidHdvdG9uZVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcHV6emxlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj4gLS0+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwicGFnZXMudG9nZ2xlKClcIiB0aXRsZT1cIlBhZ2VzXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wYWdlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiAob25DbGljayk9XCJkYXRhc291cmNlcy50b2dnbGUoKVwiIHRpdGxlPVwiRGF0YSBTb3VyY2VzXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1kYXRhYmFzZSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDxheC1idXR0b24gY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgKG9uQ2xpY2spPVwib3V0bGluZS50b2dnbGUoKVwiIHRpdGxlPVwiT3V0bGluZVwiPlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtbGlzdC10cmVlIGF4LXRleHQtc21cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiAob25DbGljayk9XCJoaXN0b3J5LnRvZ2dsZSgpXCIgdGl0bGU9XCJIaXN0b3J5XCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1jbG9jay1yb3RhdGUtbGVmdCBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDwhLS0gPGF4LWJ1dHRvbiBjb2xvcj1cImdob3N0XCIgbG9vaz1cInR3b3RvbmVcIiB0aXRsZT1cIlRpbWVsaW5lXCI+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1kaWFncmFtLXNhbmtleSBheC10ZXh0LXNtXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBNYWluIFNpZGUgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbC1zcGFuLTEwIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZmxleC0xXCI+XG4gICAgICA8IS0tIEhlYWRlciBUb29sYmFyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1pbi1oLTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLWIgIGF4LWZsZXggYXgtZmxleC1ncm93IGF4LWp1c3RpZnktYmV0d2VlbiBheC1weC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC10ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgPGF4cC1kZXNpZ25lci1oZWFkZXItbWVudT48L2F4cC1kZXNpZ25lci1oZWFkZXItbWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LXhzIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxheC1idXR0b24tZ3JvdXAgY29sb3I9XCJnaG9zdFwiIGxvb2s9XCJ0d290b25lXCIgW3NlbGVjdGlvbl09XCInc2luZ2xlJ1wiPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIFtzZWxlY3RlZF09XCJzZXJ2aWNlLnNpemUoKSA9PSAneGwnXCIgW2RhdGFdPVwiJ3hsJ1wiIChvbkNsaWNrKT1cInNlcnZpY2Uuc2l6ZS5zZXQoJ3hsJylcIj5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1kZXNrdG9wXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbc2VsZWN0ZWRdPVwic2VydmljZS5zaXplKCkgPT0gJ2xnJ1wiIFtkYXRhXT1cIidsZydcIiAob25DbGljayk9XCJzZXJ2aWNlLnNpemUuc2V0KCdsZycpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGFibGV0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbSBbc2VsZWN0ZWRdPVwic2VydmljZS5zaXplKCkgPT0gJ3NtJ1wiIFtkYXRhXT1cIidzbSdcIiAob25DbGljayk9XCJzZXJ2aWNlLnNpemUuc2V0KCdzbScpXCI+XG4gICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtbGlnaHQgZmEtbW9iaWxlXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LXhzIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxheC1idXR0b24gdGV4dD1cIkRlc2lnblwiIGxvb2s9XCJvdXRsaW5lXCIgY2xhc3M9XCJheC14c1wiPlxuICAgICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1saWdodCBmYS1jaGV2cm9uLWRvd25cIj48L2F4LWljb24+XG4gICAgICAgICAgICA8L2F4LXN1ZmZpeD5cbiAgICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtIHRleHQ9XCJQcmludFwiIG5hbWU9XCJwcmludFwiPiA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbSB0ZXh0PVwiVmlld1wiIG5hbWU9XCJ2aWV3XCI+IDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgPGF4LWJ1dHRvbiBjb2xvcj1cInN1Y2Nlc3NcIiBsb29rPVwib3V0bGluZVwiIHRleHQ9XCJQcmV2aWV3XCIgY2xhc3M9XCJheC14c1wiIChvbkNsaWNrKT1cInNlcnZpY2Uub3BlblByZXZpZXcoKVwiPlxuICAgICAgICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1wbGF5XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgPC9heC1zdWZmaXg+XG4gICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEJvYXJkIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWgtZnVsbCBcIj5cbiAgICAgICAgPGF4LWRyYXdlci1jb250YWluZXIgY2xhc3M9XCJheC13LWZ1bGwgYXgtaC1mdWxsXCI+XG4gICAgICAgICAgPCEtLSBQYWdlcyAtLT5cbiAgICAgICAgICA8YXgtZHJhd2VyICNwYWdlcyBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8YXhwLWRlc2lnbmVyLXBhZ2VzPjwvYXhwLWRlc2lnbmVyLXBhZ2VzPlxuICAgICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICAgIDwvYXgtZHJhd2VyPlxuICAgICAgICAgIDwhLS0gRGF0YXNvdXJjZXMgLS0+XG4gICAgICAgICAgPGF4LWRyYXdlciAjZGF0YXNvdXJjZXMgbG9jYXRpb249XCJzdGFydFwiIG1vZGU9XCJwdXNoXCI+XG4gICAgICAgICAgICA8YXgtY29udGVudD5cbiAgICAgICAgICAgICAgRGF0YXNvdXJjZXNcbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIE91dGxpbmUgUG5hZWwgLS0+XG4gICAgICAgICAgPGF4LWRyYXdlciAjb3V0bGluZSBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8YXhwLWRlc2lnbmVyLW91dGxpbmU+PC9heHAtZGVzaWduZXItb3V0bGluZT5cbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIEhpc3RvcnkgUG5hZWwgLS0+XG4gICAgICAgICAgPGF4LWRyYXdlciAjaGlzdG9yeSBsb2NhdGlvbj1cInN0YXJ0XCIgbW9kZT1cInB1c2hcIj5cbiAgICAgICAgICAgIDxheC1jb250ZW50PlxuICAgICAgICAgICAgICA8YXhwLWRlc2lnbmVyLWhpc3Rvcnk+PC9heHAtZGVzaWduZXItaGlzdG9yeT5cbiAgICAgICAgICAgIDwvYXgtY29udGVudD5cbiAgICAgICAgICA8L2F4LWRyYXdlcj5cbiAgICAgICAgICA8IS0tIENvbnRlbnQgb2YgYm9hcmQgLS0+XG4gICAgICAgICAgPGF4LWNvbnRlbnQgY2xhc3M9XCJheC1saWdodFwiPlxuICAgICAgICAgICAgPGF4cC1kZXNpZ25lci1ib2FyZCBjbGFzcz1cImF4LWgtZnVsbCBheC1iZy1vbi1zdXJmYWNlIGF4LWZsZXggYXgtanVzdGlmeS1jZW50ZXJcIj4gPC9heHAtZGVzaWduZXItYm9hcmQ+XG4gICAgICAgICAgPC9heC1jb250ZW50PlxuICAgICAgICA8L2F4LWRyYXdlci1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LW1pbi1oLTEwIGF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyLXQgIGF4LWZsZXggYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxheHAtZGVzaWduZXItYnJlYWRjcnVtYnMgY2xhc3M9XCJheC1ib3JkZXItZGVmYXVsdCBheC1ib3JkZXItdCBheC1wLTIgYXgtZm9udC1ub3JtYWxcIj5cbiAgICAgICAgPC9heHAtZGVzaWduZXItYnJlYWRjcnVtYnM+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9heC1jb250ZW50PlxuICA8IS0tIFByb3BlcnR5IFNpZGUgLS0+XG4gIDxheC1kcmF3ZXIgY2xhc3M9XCJheC13LTgwIGF4LWJvcmRlci1zXCIgbG9jYXRpb249XCJlbmRcIiBtb2RlPVwicHVzaFwiIFtjb2xsYXBzZWRdPVwiZmFsc2VcIiAjcGQ+XG4gICAgPGF4LWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LXJvdyBheC13LWZ1bGwgYXgtanVzdGlmeS1iZXR3ZWVuIGF4LXRleHQtd2hpdGUgYXgtcHktMiBheC1weC00IGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtcm93IGF4LWdhcC0yIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cIm5vZGVDb25maWcoKT8uaWNvblwiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGRcIj57eyBub2RlQ29uZmlnKCk/LnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGF4cC13aWRnZXQtcHJvcGVydHktdmlld2VyIFt3aWRnZXRdPVwic2VydmljZS5zZWxlY3RlZE5vZGUoKSFcIlxuICAgICAgICAob25DaGFuZ2VkKT1cInNlcnZpY2UudXBkYXRlKHsgdmFsdWVzOiAkZXZlbnQudmFsdWVzLCBtb2RlOiAkZXZlbnQubW9kZSB9KVwiIGNsYXNzPVwiYXgtdy0xLzRcIj5cbiAgICAgIDwvYXhwLXdpZGdldC1wcm9wZXJ0eS12aWV3ZXI+XG4gICAgPC9heC1jb250ZW50PlxuICA8L2F4LWRyYXdlcj5cbjwvYXgtZHJhd2VyLWNvbnRhaW5lcj4iXX0=