@acorex/components 5.2.1 → 5.2.53

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 (867) hide show
  1. package/README.md +2 -23
  2. package/esm2020/lib/accordion/accordion.component.mjs +44 -0
  3. package/esm2020/lib/accordion/accordion.module.mjs +20 -0
  4. package/esm2020/lib/base/base-page.class.mjs +94 -0
  5. package/esm2020/lib/base/components.class.mjs +17 -0
  6. package/esm2020/lib/base/element.class.mjs +294 -0
  7. package/esm2020/lib/base/events.class.mjs +6 -53
  8. package/esm2020/lib/button/button.component.mjs +58 -50
  9. package/esm2020/lib/button/button.module.mjs +11 -23
  10. package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +413 -0
  11. package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +22 -0
  12. package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +54 -0
  13. package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +18 -0
  14. package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +213 -0
  15. package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +68 -0
  16. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +132 -0
  17. package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +37 -0
  18. package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +47 -0
  19. package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +95 -0
  20. package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +204 -0
  21. package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +99 -0
  22. package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +77 -0
  23. package/esm2020/lib/checkbox/checkbox.component.mjs +88 -31
  24. package/esm2020/lib/checkbox/checkbox.module.mjs +7 -8
  25. package/esm2020/lib/color-picker/color-box/color-box.component.mjs +422 -0
  26. package/esm2020/lib/color-picker/color-picker.component.mjs +82 -0
  27. package/esm2020/lib/color-picker/color-picker.module.mjs +24 -0
  28. package/esm2020/lib/context-menu/context-menu.component.mjs +65 -0
  29. package/esm2020/lib/context-menu/context-menu.directive.mjs +135 -0
  30. package/esm2020/lib/context-menu/context-menu.module.mjs +20 -0
  31. package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +138 -0
  32. package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +117 -0
  33. package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +74 -0
  34. package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +117 -0
  35. package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +258 -0
  36. package/esm2020/lib/data-filter/filter.class.mjs +44 -0
  37. package/esm2020/lib/data-filter/filter.module.mjs +90 -0
  38. package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +166 -0
  39. package/esm2020/lib/data-list/core/data-list.component.mjs +40 -0
  40. package/esm2020/lib/data-list/list/list.component.mjs +124 -0
  41. package/esm2020/lib/data-list/list/list.module.mjs +22 -0
  42. package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +85 -0
  43. package/esm2020/lib/data-source/datasource.component.mjs +47 -0
  44. package/esm2020/lib/data-source/datasource.module.mjs +18 -0
  45. package/esm2020/lib/data-source/read-param.mjs +5 -0
  46. package/esm2020/lib/date-picker/date-picker.component.mjs +705 -0
  47. package/esm2020/lib/date-picker/date-picker.module.mjs +25 -0
  48. package/esm2020/lib/dialog/dialog.component.mjs +17 -33
  49. package/esm2020/lib/dialog/dialog.module.mjs +10 -15
  50. package/esm2020/lib/dialog/dialog.service.mjs +129 -123
  51. package/esm2020/lib/drawer/content.component.mjs +18 -0
  52. package/esm2020/lib/drawer/drawer-container.component.mjs +25 -72
  53. package/esm2020/lib/drawer/drawer.component.mjs +100 -130
  54. package/esm2020/lib/drawer/drawer.module.mjs +7 -7
  55. package/esm2020/lib/dropdown/dropdown.component.mjs +177 -0
  56. package/esm2020/lib/dropdown/dropdown.module.mjs +17 -15
  57. package/esm2020/lib/fieldset/fieldset.component.mjs +59 -0
  58. package/esm2020/lib/fieldset/fieldset.module.mjs +19 -0
  59. package/esm2020/lib/form-group/form-group.component.mjs +34 -0
  60. package/esm2020/lib/form-group/form-group.module.mjs +21 -0
  61. package/esm2020/lib/label/label.component.mjs +13 -19
  62. package/esm2020/lib/label/label.module.mjs +5 -5
  63. package/esm2020/lib/loading/loading-indicator.component.mjs +17 -0
  64. package/esm2020/lib/loading/loading-panel.component.mjs +44 -0
  65. package/esm2020/lib/loading/loading.module.mjs +12 -26
  66. package/esm2020/lib/loading/loading.service.mjs +14 -123
  67. package/esm2020/lib/menu/menu-item.component.mjs +47 -0
  68. package/esm2020/lib/menu/menu.component.mjs +71 -69
  69. package/esm2020/lib/menu/menu.module.mjs +12 -30
  70. package/esm2020/lib/menu/menu2.component.mjs +96 -0
  71. package/esm2020/lib/number-box/number-box.component.mjs +586 -185
  72. package/esm2020/lib/number-box/number-box.module.mjs +10 -27
  73. package/esm2020/lib/page/content.component.mjs +32 -0
  74. package/esm2020/lib/page/footer.component.mjs +19 -0
  75. package/esm2020/lib/page/page.component.mjs +44 -49
  76. package/esm2020/lib/page/page.module.mjs +13 -10
  77. package/esm2020/lib/panel-box/panel-box.component.mjs +88 -0
  78. package/esm2020/lib/panel-box/panel-box.module.mjs +19 -0
  79. package/esm2020/lib/password-box/password-box.component.mjs +22 -50
  80. package/esm2020/lib/password-box/password-box.module.mjs +9 -21
  81. package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +48 -0
  82. package/esm2020/lib/popover/overlay.service.mjs +87 -0
  83. package/esm2020/lib/popover/popover.component.mjs +83 -218
  84. package/esm2020/lib/popover/popover.module.mjs +5 -5
  85. package/esm2020/lib/popup/popup.component.mjs +112 -88
  86. package/esm2020/lib/popup/popup.module.mjs +14 -14
  87. package/esm2020/lib/popup/popup.service.mjs +20 -22
  88. package/esm2020/lib/progress-bar/progress-bar.component.mjs +12 -27
  89. package/esm2020/lib/progress-bar/progress-bar.module.mjs +6 -6
  90. package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +61 -0
  91. package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +22 -0
  92. package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +38 -0
  93. package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +24 -0
  94. package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +115 -0
  95. package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +32 -0
  96. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +211 -0
  97. package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +78 -0
  98. package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +51 -0
  99. package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +24 -0
  100. package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +63 -0
  101. package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +24 -0
  102. package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +140 -0
  103. package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +61 -0
  104. package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +72 -0
  105. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +78 -0
  106. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +25 -0
  107. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +69 -0
  108. package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +22 -0
  109. package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +29 -0
  110. package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +25 -0
  111. package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +32 -0
  112. package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +24 -0
  113. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +32 -0
  114. package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +24 -0
  115. package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +43 -0
  116. package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +24 -0
  117. package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +152 -0
  118. package/esm2020/lib/property-editor/property-editor.class.mjs +101 -0
  119. package/esm2020/lib/property-editor/property-editor.module.mjs +196 -0
  120. package/esm2020/lib/query-builder/query-builder-group.component.mjs +124 -0
  121. package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +171 -0
  122. package/esm2020/lib/query-builder/query-builder-rule.component.mjs +357 -0
  123. package/esm2020/lib/query-builder/query-builder.class.mjs +20 -0
  124. package/esm2020/lib/query-builder/query-builder.component.mjs +82 -0
  125. package/esm2020/lib/query-builder/query-builder.module.mjs +59 -0
  126. package/esm2020/lib/query-builder/query-builder.service.mjs +191 -0
  127. package/esm2020/lib/search-bar/search-bar.component.mjs +235 -0
  128. package/esm2020/lib/search-bar/search-bar.module.mjs +28 -0
  129. package/esm2020/lib/searchbox/searchbox.component.mjs +79 -0
  130. package/esm2020/lib/searchbox/searchbox.module.mjs +24 -0
  131. package/esm2020/lib/selectbox/selectbox.component.mjs +886 -261
  132. package/esm2020/lib/selectbox/selectbox.module.mjs +33 -58
  133. package/esm2020/lib/selectbox/selectbox2.component.mjs +574 -0
  134. package/esm2020/lib/selection-list/selection-list.component.mjs +91 -40
  135. package/esm2020/lib/selection-list/selection-list.module.mjs +7 -10
  136. package/esm2020/lib/switch/switch.component.mjs +41 -23
  137. package/esm2020/lib/switch/switch.module.mjs +6 -7
  138. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +71 -0
  139. package/esm2020/lib/tab-page/tab-page-host.component.mjs +116 -0
  140. package/esm2020/lib/tab-page/tab-page.module.mjs +21 -0
  141. package/esm2020/lib/tab-page/tab-page.service.mjs +156 -0
  142. package/esm2020/lib/tab-strip/tab-strip.component.mjs +36 -0
  143. package/esm2020/lib/tab-strip/tab-strip.module.mjs +19 -0
  144. package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +24 -0
  145. package/esm2020/lib/tab-view/tab-view.component.mjs +105 -0
  146. package/esm2020/lib/tab-view/tab-view.module.mjs +21 -0
  147. package/esm2020/lib/tab-view/tab.component.mjs +30 -0
  148. package/esm2020/lib/textarea/textarea.component.mjs +19 -18
  149. package/esm2020/lib/textarea/textarea.module.mjs +13 -18
  150. package/esm2020/lib/textbox/textbox.component.mjs +35 -23
  151. package/esm2020/lib/textbox/textbox.module.mjs +15 -34
  152. package/esm2020/lib/time-picker/time-picker.component.mjs +943 -0
  153. package/esm2020/lib/time-picker/time-picker.module.mjs +22 -0
  154. package/esm2020/lib/toast/toast-message/toast-message.component.mjs +74 -0
  155. package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +13 -0
  156. package/esm2020/lib/toast/toast.module.mjs +12 -13
  157. package/esm2020/lib/toast/toast.service.mjs +27 -97
  158. package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +78 -0
  159. package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +57 -0
  160. package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +54 -0
  161. package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +47 -0
  162. package/esm2020/lib/toolbar/toolbar-item.mjs +6 -0
  163. package/esm2020/lib/toolbar/toolbar.component.mjs +13 -0
  164. package/esm2020/lib/toolbar/toolbar.module.mjs +40 -0
  165. package/esm2020/lib/tooltip/tooltip.directive.mjs +84 -70
  166. package/esm2020/lib/tooltip/tooltip.module.mjs +8 -12
  167. package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +646 -0
  168. package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +35 -0
  169. package/esm2020/lib/tree-view/tree-view.component.mjs +726 -0
  170. package/esm2020/lib/tree-view/tree-view.module.mjs +22 -0
  171. package/esm2020/lib/upload-file/upload-file.component.mjs +170 -0
  172. package/esm2020/lib/upload-file/upload-file.events.mjs +2 -0
  173. package/esm2020/lib/upload-file/upload-file.module.mjs +24 -0
  174. package/esm2020/lib/validation/validation-form.component.mjs +65 -0
  175. package/esm2020/lib/validation/validation-rule.widget.mjs +25 -27
  176. package/esm2020/lib/validation/validation.class.mjs +1 -1
  177. package/esm2020/lib/validation/validation.component.mjs +89 -0
  178. package/esm2020/lib/validation/validation.module.mjs +12 -10
  179. package/esm2020/public-api.mjs +158 -51
  180. package/fesm2015/acorex-components.mjs +14664 -7127
  181. package/fesm2015/acorex-components.mjs.map +1 -1
  182. package/fesm2020/acorex-components.mjs +14623 -7115
  183. package/fesm2020/acorex-components.mjs.map +1 -1
  184. package/lib/accordion/accordion.component.d.ts +13 -0
  185. package/lib/accordion/accordion.module.d.ts +9 -0
  186. package/lib/base/base-page.class.d.ts +46 -0
  187. package/lib/base/components.class.d.ts +10 -0
  188. package/lib/base/element.class.d.ts +106 -0
  189. package/lib/base/events.class.d.ts +8 -75
  190. package/lib/button/button.component.d.ts +18 -18
  191. package/lib/button/button.module.d.ts +2 -6
  192. package/lib/calendar/calendar-box/calendar-box.component.d.ts +81 -0
  193. package/lib/calendar/calendar-box/calendar-box.module.d.ts +11 -0
  194. package/lib/calendar/scheduler/scheduler-views.property.d.ts +19 -0
  195. package/lib/calendar/scheduler/scheduler.class.d.ts +36 -0
  196. package/lib/calendar/scheduler/scheduler.component.d.ts +39 -0
  197. package/lib/calendar/scheduler/scheduler.module.d.ts +21 -0
  198. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +25 -0
  199. package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +14 -0
  200. package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +16 -0
  201. package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +26 -0
  202. package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +37 -0
  203. package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +28 -0
  204. package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +24 -0
  205. package/lib/checkbox/checkbox.component.d.ts +27 -8
  206. package/lib/checkbox/checkbox.module.d.ts +1 -2
  207. package/lib/color-picker/color-box/color-box.component.d.ts +25 -0
  208. package/lib/color-picker/color-picker.component.d.ts +30 -0
  209. package/lib/color-picker/color-picker.module.d.ts +13 -0
  210. package/lib/context-menu/context-menu.component.d.ts +22 -0
  211. package/lib/context-menu/context-menu.directive.d.ts +38 -0
  212. package/lib/context-menu/context-menu.module.d.ts +9 -0
  213. package/lib/data-filter/columns/filter-column-date.component.d.ts +22 -0
  214. package/lib/data-filter/columns/filter-column-number.component.d.ts +15 -0
  215. package/lib/data-filter/columns/filter-column-selection.component.d.ts +18 -0
  216. package/lib/data-filter/columns/filter-column-string.component.d.ts +15 -0
  217. package/lib/data-filter/filter-panel/filter-panel.component.d.ts +45 -0
  218. package/lib/data-filter/filter.class.d.ts +40 -0
  219. package/lib/data-filter/filter.module.d.ts +24 -0
  220. package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +25 -0
  221. package/lib/data-list/core/data-list.component.d.ts +15 -0
  222. package/lib/data-list/list/list.component.d.ts +40 -0
  223. package/lib/data-list/list/list.module.d.ts +11 -0
  224. package/lib/data-list/list/toolbar-list-view.component.d.ts +17 -0
  225. package/lib/data-source/datasource.component.d.ts +16 -0
  226. package/lib/data-source/datasource.module.d.ts +7 -0
  227. package/lib/data-source/read-param.d.ts +40 -0
  228. package/lib/date-picker/date-picker.component.d.ts +81 -0
  229. package/lib/date-picker/date-picker.module.d.ts +14 -0
  230. package/lib/dialog/dialog.component.d.ts +10 -11
  231. package/lib/dialog/dialog.module.d.ts +3 -6
  232. package/lib/dialog/dialog.service.d.ts +31 -31
  233. package/lib/{decorators → drawer}/content.component.d.ts +1 -2
  234. package/lib/drawer/drawer-container.component.d.ts +7 -10
  235. package/lib/drawer/drawer.component.d.ts +22 -21
  236. package/lib/drawer/drawer.module.d.ts +2 -2
  237. package/lib/dropdown/dropdown.component.d.ts +38 -0
  238. package/lib/dropdown/dropdown.module.d.ts +7 -7
  239. package/lib/fieldset/fieldset.component.d.ts +11 -0
  240. package/lib/fieldset/fieldset.module.d.ts +8 -0
  241. package/lib/form-group/form-group.component.d.ts +14 -0
  242. package/lib/form-group/form-group.module.d.ts +8 -0
  243. package/lib/label/label.component.d.ts +6 -9
  244. package/lib/loading/loading-indicator.component.d.ts +9 -0
  245. package/lib/loading/loading-panel.component.d.ts +13 -0
  246. package/lib/loading/loading.module.d.ts +5 -8
  247. package/lib/loading/loading.service.d.ts +4 -39
  248. package/lib/menu/menu-item.component.d.ts +18 -0
  249. package/lib/menu/menu.component.d.ts +30 -34
  250. package/lib/menu/menu.module.d.ts +5 -6
  251. package/lib/menu/menu2.component.d.ts +21 -0
  252. package/lib/number-box/number-box.component.d.ts +49 -72
  253. package/lib/number-box/number-box.module.d.ts +3 -6
  254. package/lib/page/content.component.d.ts +8 -0
  255. package/lib/page/{page-footer.component.d.ts → footer.component.d.ts} +1 -3
  256. package/lib/page/page.component.d.ts +9 -7
  257. package/lib/page/page.module.d.ts +6 -3
  258. package/lib/panel-box/panel-box.component.d.ts +19 -0
  259. package/lib/panel-box/panel-box.module.d.ts +8 -0
  260. package/lib/password-box/password-box.component.d.ts +8 -19
  261. package/lib/password-box/password-box.module.d.ts +3 -5
  262. package/lib/{base → popover}/custom-cdk-overlay.service.d.ts +0 -0
  263. package/lib/{base → popover}/overlay.service.d.ts +2 -3
  264. package/lib/popover/popover.component.d.ts +23 -42
  265. package/lib/popup/popup.component.d.ts +26 -32
  266. package/lib/popup/popup.module.d.ts +3 -2
  267. package/lib/popup/popup.service.d.ts +9 -25
  268. package/lib/progress-bar/progress-bar.component.d.ts +4 -15
  269. package/lib/property-editor/editors/check-editor/check-editor.d.ts +19 -0
  270. package/lib/property-editor/editors/check-editor/check.module.d.ts +11 -0
  271. package/lib/property-editor/editors/color-editor/color.editor.d.ts +13 -0
  272. package/lib/property-editor/editors/color-editor/color.module.d.ts +12 -0
  273. package/lib/property-editor/editors/column-editor/column.editor.d.ts +34 -0
  274. package/lib/property-editor/editors/column-editor/column.module.d.ts +20 -0
  275. package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +44 -0
  276. package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +19 -0
  277. package/lib/property-editor/editors/date-editor/date.editor.d.ts +28 -0
  278. package/lib/property-editor/editors/date-editor/date.module.d.ts +12 -0
  279. package/lib/property-editor/editors/number-editor/number.editor.d.ts +20 -0
  280. package/lib/property-editor/editors/number-editor/number.module.d.ts +12 -0
  281. package/lib/property-editor/editors/range-editor/range.editor.d.ts +29 -0
  282. package/lib/property-editor/editors/range-editor/range.module.d.ts +18 -0
  283. package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +29 -0
  284. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +29 -0
  285. package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +14 -0
  286. package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +25 -0
  287. package/lib/property-editor/editors/selection-editor/selection.module.d.ts +11 -0
  288. package/lib/property-editor/editors/switch-editor/number.editor.d.ts +11 -0
  289. package/lib/property-editor/editors/switch-editor/number.module.d.ts +13 -0
  290. package/lib/property-editor/editors/text-editor/text.editor.d.ts +18 -0
  291. package/lib/property-editor/editors/text-editor/text.module.d.ts +12 -0
  292. package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +17 -0
  293. package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +12 -0
  294. package/lib/property-editor/editors/time-editor/time.editor.d.ts +17 -0
  295. package/lib/property-editor/editors/time-editor/time.module.d.ts +12 -0
  296. package/lib/property-editor/property-editor-renderer.directive.d.ts +30 -0
  297. package/lib/property-editor/property-editor.class.d.ts +92 -0
  298. package/lib/property-editor/property-editor.module.d.ts +21 -0
  299. package/lib/query-builder/query-builder-group.component.d.ts +33 -0
  300. package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +35 -0
  301. package/lib/query-builder/query-builder-rule.component.d.ts +45 -0
  302. package/lib/query-builder/query-builder.class.d.ts +45 -0
  303. package/lib/query-builder/query-builder.component.d.ts +27 -0
  304. package/lib/query-builder/query-builder.module.d.ts +22 -0
  305. package/lib/query-builder/query-builder.service.d.ts +18 -0
  306. package/lib/search-bar/search-bar.component.d.ts +50 -0
  307. package/lib/search-bar/search-bar.module.d.ts +17 -0
  308. package/lib/searchbox/searchbox.component.d.ts +22 -0
  309. package/lib/searchbox/searchbox.module.d.ts +13 -0
  310. package/lib/selectbox/selectbox.component.d.ts +112 -70
  311. package/lib/selectbox/selectbox.module.d.ts +9 -14
  312. package/lib/selectbox/selectbox2.component.d.ts +103 -0
  313. package/lib/selection-list/selection-list.component.d.ts +27 -18
  314. package/lib/selection-list/selection-list.module.d.ts +1 -4
  315. package/lib/switch/switch.component.d.ts +17 -9
  316. package/lib/switch/switch.module.d.ts +1 -2
  317. package/lib/tab-page/tab-page-Renderer.component.d.ts +16 -0
  318. package/lib/tab-page/tab-page-host.component.d.ts +25 -0
  319. package/lib/tab-page/tab-page.module.d.ts +10 -0
  320. package/lib/tab-page/tab-page.service.d.ts +30 -0
  321. package/lib/tab-strip/tab-strip.component.d.ts +28 -0
  322. package/lib/tab-strip/tab-strip.module.d.ts +8 -0
  323. package/lib/tab-view/dynamic-tabs.directive.d.ts +16 -0
  324. package/lib/tab-view/tab-view.component.d.ts +26 -0
  325. package/lib/tab-view/tab-view.module.d.ts +10 -0
  326. package/lib/tab-view/tab.component.d.ts +12 -0
  327. package/lib/textarea/textarea.component.d.ts +8 -8
  328. package/lib/textarea/textarea.module.d.ts +4 -5
  329. package/lib/textbox/textbox.component.d.ts +12 -12
  330. package/lib/textbox/textbox.module.d.ts +4 -6
  331. package/lib/time-picker/time-picker.component.d.ts +52 -0
  332. package/lib/time-picker/time-picker.module.d.ts +11 -0
  333. package/lib/toast/toast-message/toast-message.component.d.ts +18 -0
  334. package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +8 -0
  335. package/lib/toast/toast.module.d.ts +4 -4
  336. package/lib/toast/toast.service.d.ts +13 -13
  337. package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +12 -0
  338. package/lib/toolbar/menu/toolbar-menu.component.d.ts +24 -0
  339. package/lib/toolbar/search/toolbar-search.component.d.ts +16 -0
  340. package/lib/toolbar/title/toolbar-title.component.d.ts +9 -0
  341. package/lib/toolbar/toolbar-item.d.ts +3 -0
  342. package/lib/toolbar/toolbar.component.d.ts +8 -0
  343. package/lib/toolbar/toolbar.module.d.ts +14 -0
  344. package/lib/tooltip/tooltip.directive.d.ts +16 -13
  345. package/lib/tooltip/tooltip.module.d.ts +3 -5
  346. package/lib/tree-side-menu/tree-side-menu.component.d.ts +111 -0
  347. package/lib/tree-side-menu/tree-side-menu.module.d.ts +11 -0
  348. package/lib/tree-view/tree-view.component.d.ts +117 -0
  349. package/lib/tree-view/tree-view.module.d.ts +11 -0
  350. package/lib/upload-file/upload-file.component.d.ts +38 -0
  351. package/lib/upload-file/upload-file.events.d.ts +10 -0
  352. package/lib/upload-file/upload-file.module.d.ts +13 -0
  353. package/lib/validation/validation-form.component.d.ts +19 -0
  354. package/lib/validation/validation-rule.widget.d.ts +8 -10
  355. package/lib/validation/validation.class.d.ts +1 -2
  356. package/lib/validation/validation.component.d.ts +25 -0
  357. package/lib/validation/validation.module.d.ts +5 -3
  358. package/package.json +6 -8
  359. package/public-api.d.ts +155 -49
  360. package/acorex-components.d.ts.map +0 -1
  361. package/esm2020/lib/action-sheet/action-sheet-item.component.mjs +0 -37
  362. package/esm2020/lib/action-sheet/action-sheet.component.mjs +0 -87
  363. package/esm2020/lib/action-sheet/action-sheet.module.mjs +0 -22
  364. package/esm2020/lib/action-sheet/index.mjs +0 -4
  365. package/esm2020/lib/alert/alert-button.component.mjs +0 -51
  366. package/esm2020/lib/alert/alert-content.component.mjs +0 -21
  367. package/esm2020/lib/alert/alert-footer.component.mjs +0 -27
  368. package/esm2020/lib/alert/alert-suffix.component.mjs +0 -27
  369. package/esm2020/lib/alert/alert-title.component.mjs +0 -23
  370. package/esm2020/lib/alert/alert.component.mjs +0 -123
  371. package/esm2020/lib/alert/alert.module.mjs +0 -44
  372. package/esm2020/lib/alert/index.mjs +0 -8
  373. package/esm2020/lib/avatar/avatar-group.component.mjs +0 -17
  374. package/esm2020/lib/avatar/avatar.component.mjs +0 -42
  375. package/esm2020/lib/avatar/avatar.module.mjs +0 -22
  376. package/esm2020/lib/avatar/index.mjs +0 -4
  377. package/esm2020/lib/badge/badge.component.mjs +0 -28
  378. package/esm2020/lib/badge/badge.module.mjs +0 -21
  379. package/esm2020/lib/badge/index.mjs +0 -3
  380. package/esm2020/lib/base/common.module.mjs +0 -19
  381. package/esm2020/lib/base/custom-cdk-overlay.service.mjs +0 -47
  382. package/esm2020/lib/base/drawing.class.mjs +0 -11
  383. package/esm2020/lib/base/index.mjs +0 -9
  384. package/esm2020/lib/base/infinite-scroll.directive.mjs +0 -63
  385. package/esm2020/lib/base/mixin/base-components.class.mjs +0 -100
  386. package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +0 -135
  387. package/esm2020/lib/base/mixin/button-mixin.class.mjs +0 -91
  388. package/esm2020/lib/base/mixin/clickable-mixin.class.mjs +0 -24
  389. package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +0 -48
  390. package/esm2020/lib/base/mixin/constratctor.mjs +0 -2
  391. package/esm2020/lib/base/mixin/datalist-component.class.mjs +0 -148
  392. package/esm2020/lib/base/mixin/datalist.class.mjs +0 -3
  393. package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +0 -99
  394. package/esm2020/lib/base/mixin/index.mjs +0 -3
  395. package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +0 -84
  396. package/esm2020/lib/base/mixin/loading-mixin.class.mjs +0 -18
  397. package/esm2020/lib/base/mixin/mixin.class.mjs +0 -27
  398. package/esm2020/lib/base/mixin/selection-component.class.mjs +0 -181
  399. package/esm2020/lib/base/mixin/sizable-mixin.class.mjs +0 -18
  400. package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +0 -34
  401. package/esm2020/lib/base/mixin/value-mixin.class.mjs +0 -209
  402. package/esm2020/lib/base/overlay.service.mjs +0 -91
  403. package/esm2020/lib/base/responsive.directive.mjs +0 -34
  404. package/esm2020/lib/base/styles.class.mjs +0 -4
  405. package/esm2020/lib/breadcrumbs/breadcrumbs-item.class.mjs +0 -2
  406. package/esm2020/lib/breadcrumbs/breadcrumbs-item.component.mjs +0 -20
  407. package/esm2020/lib/breadcrumbs/breadcrumbs.component.mjs +0 -18
  408. package/esm2020/lib/breadcrumbs/breadcrumbs.module.mjs +0 -20
  409. package/esm2020/lib/breadcrumbs/index.mjs +0 -5
  410. package/esm2020/lib/button/button-group.component.mjs +0 -124
  411. package/esm2020/lib/button/button-item.class.mjs +0 -2
  412. package/esm2020/lib/button/button-item.component.mjs +0 -80
  413. package/esm2020/lib/button/index.mjs +0 -6
  414. package/esm2020/lib/calendar/calendar.class.mjs +0 -126
  415. package/esm2020/lib/calendar/calendar.component.mjs +0 -279
  416. package/esm2020/lib/calendar/calendar.module.mjs +0 -27
  417. package/esm2020/lib/calendar/index.mjs +0 -4
  418. package/esm2020/lib/calendar/inline-calendar.component.mjs +0 -39
  419. package/esm2020/lib/carousel/carousel-arrows.component.mjs +0 -56
  420. package/esm2020/lib/carousel/carousel-item.component.mjs +0 -21
  421. package/esm2020/lib/carousel/carousel-pager.component.mjs +0 -74
  422. package/esm2020/lib/carousel/carousel-splidejs.class.mjs +0 -91
  423. package/esm2020/lib/carousel/carousel.class.mjs +0 -10
  424. package/esm2020/lib/carousel/carousel.component.mjs +0 -438
  425. package/esm2020/lib/carousel/carousel.module.mjs +0 -24
  426. package/esm2020/lib/carousel/index.mjs +0 -7
  427. package/esm2020/lib/checkbox/index.mjs +0 -3
  428. package/esm2020/lib/collapse/collapse-group.component.mjs +0 -50
  429. package/esm2020/lib/collapse/collapse.component.mjs +0 -42
  430. package/esm2020/lib/collapse/collapse.module.mjs +0 -20
  431. package/esm2020/lib/collapse/index.mjs +0 -4
  432. package/esm2020/lib/datalist/datalist.component.mjs +0 -75
  433. package/esm2020/lib/datalist/datalist.module.mjs +0 -24
  434. package/esm2020/lib/datalist/index.mjs +0 -3
  435. package/esm2020/lib/datepicker/datepicker.component.mjs +0 -185
  436. package/esm2020/lib/datepicker/datepicker.module.mjs +0 -47
  437. package/esm2020/lib/datepicker/index.mjs +0 -3
  438. package/esm2020/lib/decorators/addon.component.mjs +0 -20
  439. package/esm2020/lib/decorators/content.component.mjs +0 -26
  440. package/esm2020/lib/decorators/decorators.module.mjs +0 -25
  441. package/esm2020/lib/decorators/header.component.mjs +0 -26
  442. package/esm2020/lib/decorators/index.mjs +0 -8
  443. package/esm2020/lib/decorators/prefix.component.mjs +0 -26
  444. package/esm2020/lib/decorators/suffix.component.mjs +0 -26
  445. package/esm2020/lib/dialog/dialog.class.mjs +0 -2
  446. package/esm2020/lib/dialog/index.mjs +0 -5
  447. package/esm2020/lib/drawer/drawer-content.component.mjs +0 -27
  448. package/esm2020/lib/drawer/index.mjs +0 -5
  449. package/esm2020/lib/dropdown/dropdown-panel.component.mjs +0 -80
  450. package/esm2020/lib/dropdown/index.mjs +0 -3
  451. package/esm2020/lib/form/form-field.component.mjs +0 -20
  452. package/esm2020/lib/form/form-field.module.mjs +0 -21
  453. package/esm2020/lib/form/form-hint.component.mjs +0 -20
  454. package/esm2020/lib/form/form.component.mjs +0 -59
  455. package/esm2020/lib/form/index.mjs +0 -5
  456. package/esm2020/lib/icon/icon.component.mjs +0 -28
  457. package/esm2020/lib/icon/icon.module.mjs +0 -21
  458. package/esm2020/lib/icon/index.mjs +0 -3
  459. package/esm2020/lib/input-mask/index.mjs +0 -3
  460. package/esm2020/lib/input-mask/input-mask.component.mjs +0 -56
  461. package/esm2020/lib/input-mask/input-mask.module.mjs +0 -24
  462. package/esm2020/lib/label/index.mjs +0 -3
  463. package/esm2020/lib/loading/index.mjs +0 -6
  464. package/esm2020/lib/loading/loading-spinner.component.mjs +0 -35
  465. package/esm2020/lib/loading/loading.component.mjs +0 -62
  466. package/esm2020/lib/loading/loading.directive.mjs +0 -67
  467. package/esm2020/lib/menu/index.mjs +0 -3
  468. package/esm2020/lib/number-box/index.mjs +0 -3
  469. package/esm2020/lib/page/base-page.class.mjs +0 -86
  470. package/esm2020/lib/page/index.mjs +0 -6
  471. package/esm2020/lib/page/page-footer.component.mjs +0 -28
  472. package/esm2020/lib/page/page-header.component.mjs +0 -28
  473. package/esm2020/lib/password-box/index.mjs +0 -3
  474. package/esm2020/lib/picker/index.mjs +0 -3
  475. package/esm2020/lib/picker/picker.component.mjs +0 -45
  476. package/esm2020/lib/picker/picker.module.mjs +0 -20
  477. package/esm2020/lib/popover/index.mjs +0 -3
  478. package/esm2020/lib/popup/index.mjs +0 -4
  479. package/esm2020/lib/progress-bar/index.mjs +0 -3
  480. package/esm2020/lib/radio/index.mjs +0 -3
  481. package/esm2020/lib/radio/radio.component.mjs +0 -34
  482. package/esm2020/lib/radio/radio.module.mjs +0 -22
  483. package/esm2020/lib/range-slider/index.mjs +0 -3
  484. package/esm2020/lib/range-slider/range-slider.component.mjs +0 -16
  485. package/esm2020/lib/range-slider/range-slider.module.mjs +0 -21
  486. package/esm2020/lib/rating/index.mjs +0 -3
  487. package/esm2020/lib/rating/rating.component.mjs +0 -41
  488. package/esm2020/lib/rating/rating.component.module.mjs +0 -19
  489. package/esm2020/lib/result/index.mjs +0 -3
  490. package/esm2020/lib/result/result.component.mjs +0 -23
  491. package/esm2020/lib/result/result.module.mjs +0 -19
  492. package/esm2020/lib/selectbox/index.mjs +0 -3
  493. package/esm2020/lib/selection-list/index.mjs +0 -3
  494. package/esm2020/lib/switch/index.mjs +0 -3
  495. package/esm2020/lib/tabs/index.mjs +0 -6
  496. package/esm2020/lib/tabs/tab-content.directive.mjs +0 -29
  497. package/esm2020/lib/tabs/tab-item.component.mjs +0 -121
  498. package/esm2020/lib/tabs/tabs.class.mjs +0 -4
  499. package/esm2020/lib/tabs/tabs.component.mjs +0 -95
  500. package/esm2020/lib/tabs/tabs.module.mjs +0 -25
  501. package/esm2020/lib/textarea/index.mjs +0 -3
  502. package/esm2020/lib/textbox/index.mjs +0 -3
  503. package/esm2020/lib/time-box/index.mjs +0 -3
  504. package/esm2020/lib/time-box/time-box.component.mjs +0 -262
  505. package/esm2020/lib/time-box/time-box.module.mjs +0 -32
  506. package/esm2020/lib/toast/index.mjs +0 -5
  507. package/esm2020/lib/toast/toast.class.mjs +0 -2
  508. package/esm2020/lib/toast/toast.component.mjs +0 -52
  509. package/esm2020/lib/tooltip/index.mjs +0 -4
  510. package/esm2020/lib/tooltip/tooltip.component.mjs +0 -38
  511. package/esm2020/lib/treeview/index.mjs +0 -3
  512. package/esm2020/lib/treeview/tree-view.component.mjs +0 -108
  513. package/esm2020/lib/treeview/tree-view.module.mjs +0 -20
  514. package/esm2020/lib/validation/index.mjs +0 -3
  515. package/lib/action-sheet/action-sheet-item.component.d.ts +0 -15
  516. package/lib/action-sheet/action-sheet-item.component.d.ts.map +0 -1
  517. package/lib/action-sheet/action-sheet.component.d.ts +0 -19
  518. package/lib/action-sheet/action-sheet.component.d.ts.map +0 -1
  519. package/lib/action-sheet/action-sheet.module.d.ts +0 -11
  520. package/lib/action-sheet/action-sheet.module.d.ts.map +0 -1
  521. package/lib/action-sheet/index.d.ts +0 -3
  522. package/lib/action-sheet/index.d.ts.map +0 -1
  523. package/lib/alert/alert-button.component.d.ts +0 -13
  524. package/lib/alert/alert-button.component.d.ts.map +0 -1
  525. package/lib/alert/alert-content.component.d.ts +0 -5
  526. package/lib/alert/alert-content.component.d.ts.map +0 -1
  527. package/lib/alert/alert-footer.component.d.ts +0 -5
  528. package/lib/alert/alert-footer.component.d.ts.map +0 -1
  529. package/lib/alert/alert-suffix.component.d.ts +0 -5
  530. package/lib/alert/alert-suffix.component.d.ts.map +0 -1
  531. package/lib/alert/alert-title.component.d.ts +0 -5
  532. package/lib/alert/alert-title.component.d.ts.map +0 -1
  533. package/lib/alert/alert.component.d.ts +0 -75
  534. package/lib/alert/alert.component.d.ts.map +0 -1
  535. package/lib/alert/alert.module.d.ts +0 -14
  536. package/lib/alert/alert.module.d.ts.map +0 -1
  537. package/lib/alert/index.d.ts +0 -7
  538. package/lib/alert/index.d.ts.map +0 -1
  539. package/lib/avatar/avatar-group.component.d.ts +0 -8
  540. package/lib/avatar/avatar-group.component.d.ts.map +0 -1
  541. package/lib/avatar/avatar.component.d.ts +0 -22
  542. package/lib/avatar/avatar.component.d.ts.map +0 -1
  543. package/lib/avatar/avatar.module.d.ts +0 -9
  544. package/lib/avatar/avatar.module.d.ts.map +0 -1
  545. package/lib/avatar/index.d.ts +0 -3
  546. package/lib/avatar/index.d.ts.map +0 -1
  547. package/lib/badge/badge.component.d.ts +0 -41
  548. package/lib/badge/badge.component.d.ts.map +0 -1
  549. package/lib/badge/badge.module.d.ts +0 -8
  550. package/lib/badge/badge.module.d.ts.map +0 -1
  551. package/lib/badge/index.d.ts +0 -2
  552. package/lib/badge/index.d.ts.map +0 -1
  553. package/lib/base/common.module.d.ts +0 -8
  554. package/lib/base/common.module.d.ts.map +0 -1
  555. package/lib/base/custom-cdk-overlay.service.d.ts.map +0 -1
  556. package/lib/base/drawing.class.d.ts +0 -9
  557. package/lib/base/drawing.class.d.ts.map +0 -1
  558. package/lib/base/events.class.d.ts.map +0 -1
  559. package/lib/base/index.d.ts +0 -8
  560. package/lib/base/index.d.ts.map +0 -1
  561. package/lib/base/infinite-scroll.directive.d.ts +0 -25
  562. package/lib/base/infinite-scroll.directive.d.ts.map +0 -1
  563. package/lib/base/mixin/base-components.class.d.ts +0 -85
  564. package/lib/base/mixin/base-components.class.d.ts.map +0 -1
  565. package/lib/base/mixin/base-menu-mixin.class.d.ts +0 -51
  566. package/lib/base/mixin/base-menu-mixin.class.d.ts.map +0 -1
  567. package/lib/base/mixin/button-mixin.class.d.ts +0 -63
  568. package/lib/base/mixin/button-mixin.class.d.ts.map +0 -1
  569. package/lib/base/mixin/clickable-mixin.class.d.ts +0 -35
  570. package/lib/base/mixin/clickable-mixin.class.d.ts.map +0 -1
  571. package/lib/base/mixin/color-look-mixing.class.d.ts +0 -43
  572. package/lib/base/mixin/color-look-mixing.class.d.ts.map +0 -1
  573. package/lib/base/mixin/constratctor.d.ts +0 -4
  574. package/lib/base/mixin/constratctor.d.ts.map +0 -1
  575. package/lib/base/mixin/datalist-component.class.d.ts +0 -58
  576. package/lib/base/mixin/datalist-component.class.d.ts.map +0 -1
  577. package/lib/base/mixin/datalist.class.d.ts +0 -11
  578. package/lib/base/mixin/datalist.class.d.ts.map +0 -1
  579. package/lib/base/mixin/dropdown-mixin.class.d.ts +0 -48
  580. package/lib/base/mixin/dropdown-mixin.class.d.ts.map +0 -1
  581. package/lib/base/mixin/index.d.ts +0 -2
  582. package/lib/base/mixin/index.d.ts.map +0 -1
  583. package/lib/base/mixin/interactive-mixin.class.d.ts +0 -59
  584. package/lib/base/mixin/interactive-mixin.class.d.ts.map +0 -1
  585. package/lib/base/mixin/loading-mixin.class.d.ts +0 -39
  586. package/lib/base/mixin/loading-mixin.class.d.ts.map +0 -1
  587. package/lib/base/mixin/mixin.class.d.ts +0 -686
  588. package/lib/base/mixin/mixin.class.d.ts.map +0 -1
  589. package/lib/base/mixin/selection-component.class.d.ts +0 -60
  590. package/lib/base/mixin/selection-component.class.d.ts.map +0 -1
  591. package/lib/base/mixin/sizable-mixin.class.d.ts +0 -33
  592. package/lib/base/mixin/sizable-mixin.class.d.ts.map +0 -1
  593. package/lib/base/mixin/textbox-mixin.class.d.ts +0 -56
  594. package/lib/base/mixin/textbox-mixin.class.d.ts.map +0 -1
  595. package/lib/base/mixin/value-mixin.class.d.ts +0 -64
  596. package/lib/base/mixin/value-mixin.class.d.ts.map +0 -1
  597. package/lib/base/overlay.service.d.ts.map +0 -1
  598. package/lib/base/responsive.directive.d.ts +0 -10
  599. package/lib/base/responsive.directive.d.ts.map +0 -1
  600. package/lib/base/styles.class.d.ts +0 -17
  601. package/lib/base/styles.class.d.ts.map +0 -1
  602. package/lib/breadcrumbs/breadcrumbs-item.class.d.ts +0 -9
  603. package/lib/breadcrumbs/breadcrumbs-item.class.d.ts.map +0 -1
  604. package/lib/breadcrumbs/breadcrumbs-item.component.d.ts +0 -12
  605. package/lib/breadcrumbs/breadcrumbs-item.component.d.ts.map +0 -1
  606. package/lib/breadcrumbs/breadcrumbs.component.d.ts +0 -11
  607. package/lib/breadcrumbs/breadcrumbs.component.d.ts.map +0 -1
  608. package/lib/breadcrumbs/breadcrumbs.module.d.ts +0 -9
  609. package/lib/breadcrumbs/breadcrumbs.module.d.ts.map +0 -1
  610. package/lib/breadcrumbs/index.d.ts +0 -4
  611. package/lib/breadcrumbs/index.d.ts.map +0 -1
  612. package/lib/button/button-group.component.d.ts +0 -36
  613. package/lib/button/button-group.component.d.ts.map +0 -1
  614. package/lib/button/button-item.class.d.ts +0 -22
  615. package/lib/button/button-item.class.d.ts.map +0 -1
  616. package/lib/button/button-item.component.d.ts +0 -79
  617. package/lib/button/button-item.component.d.ts.map +0 -1
  618. package/lib/button/button.component.d.ts.map +0 -1
  619. package/lib/button/button.module.d.ts.map +0 -1
  620. package/lib/button/index.d.ts +0 -5
  621. package/lib/button/index.d.ts.map +0 -1
  622. package/lib/calendar/calendar.class.d.ts +0 -50
  623. package/lib/calendar/calendar.class.d.ts.map +0 -1
  624. package/lib/calendar/calendar.component.d.ts +0 -41
  625. package/lib/calendar/calendar.component.d.ts.map +0 -1
  626. package/lib/calendar/calendar.module.d.ts +0 -14
  627. package/lib/calendar/calendar.module.d.ts.map +0 -1
  628. package/lib/calendar/index.d.ts +0 -3
  629. package/lib/calendar/index.d.ts.map +0 -1
  630. package/lib/calendar/inline-calendar.component.d.ts +0 -14
  631. package/lib/calendar/inline-calendar.component.d.ts.map +0 -1
  632. package/lib/carousel/carousel-arrows.component.d.ts +0 -15
  633. package/lib/carousel/carousel-arrows.component.d.ts.map +0 -1
  634. package/lib/carousel/carousel-item.component.d.ts +0 -8
  635. package/lib/carousel/carousel-item.component.d.ts.map +0 -1
  636. package/lib/carousel/carousel-pager.component.d.ts +0 -22
  637. package/lib/carousel/carousel-pager.component.d.ts.map +0 -1
  638. package/lib/carousel/carousel-splidejs.class.d.ts +0 -18
  639. package/lib/carousel/carousel-splidejs.class.d.ts.map +0 -1
  640. package/lib/carousel/carousel.class.d.ts +0 -71
  641. package/lib/carousel/carousel.class.d.ts.map +0 -1
  642. package/lib/carousel/carousel.component.d.ts +0 -110
  643. package/lib/carousel/carousel.component.d.ts.map +0 -1
  644. package/lib/carousel/carousel.module.d.ts +0 -11
  645. package/lib/carousel/carousel.module.d.ts.map +0 -1
  646. package/lib/carousel/index.d.ts +0 -6
  647. package/lib/carousel/index.d.ts.map +0 -1
  648. package/lib/checkbox/checkbox.component.d.ts.map +0 -1
  649. package/lib/checkbox/checkbox.module.d.ts.map +0 -1
  650. package/lib/checkbox/index.d.ts +0 -2
  651. package/lib/checkbox/index.d.ts.map +0 -1
  652. package/lib/collapse/collapse-group.component.d.ts +0 -15
  653. package/lib/collapse/collapse-group.component.d.ts.map +0 -1
  654. package/lib/collapse/collapse.component.d.ts +0 -16
  655. package/lib/collapse/collapse.component.d.ts.map +0 -1
  656. package/lib/collapse/collapse.module.d.ts +0 -9
  657. package/lib/collapse/collapse.module.d.ts.map +0 -1
  658. package/lib/collapse/index.d.ts +0 -3
  659. package/lib/collapse/index.d.ts.map +0 -1
  660. package/lib/datalist/datalist.component.d.ts +0 -25
  661. package/lib/datalist/datalist.component.d.ts.map +0 -1
  662. package/lib/datalist/datalist.module.d.ts +0 -11
  663. package/lib/datalist/datalist.module.d.ts.map +0 -1
  664. package/lib/datalist/index.d.ts +0 -2
  665. package/lib/datalist/index.d.ts.map +0 -1
  666. package/lib/datepicker/datepicker.component.d.ts +0 -151
  667. package/lib/datepicker/datepicker.component.d.ts.map +0 -1
  668. package/lib/datepicker/datepicker.module.d.ts +0 -16
  669. package/lib/datepicker/datepicker.module.d.ts.map +0 -1
  670. package/lib/datepicker/index.d.ts +0 -2
  671. package/lib/datepicker/index.d.ts.map +0 -1
  672. package/lib/decorators/addon.component.d.ts +0 -8
  673. package/lib/decorators/addon.component.d.ts.map +0 -1
  674. package/lib/decorators/content.component.d.ts.map +0 -1
  675. package/lib/decorators/decorators.module.d.ts +0 -12
  676. package/lib/decorators/decorators.module.d.ts.map +0 -1
  677. package/lib/decorators/header.component.d.ts +0 -8
  678. package/lib/decorators/header.component.d.ts.map +0 -1
  679. package/lib/decorators/index.d.ts +0 -7
  680. package/lib/decorators/index.d.ts.map +0 -1
  681. package/lib/decorators/prefix.component.d.ts +0 -8
  682. package/lib/decorators/prefix.component.d.ts.map +0 -1
  683. package/lib/decorators/suffix.component.d.ts +0 -8
  684. package/lib/decorators/suffix.component.d.ts.map +0 -1
  685. package/lib/dialog/dialog.class.d.ts +0 -12
  686. package/lib/dialog/dialog.class.d.ts.map +0 -1
  687. package/lib/dialog/dialog.component.d.ts.map +0 -1
  688. package/lib/dialog/dialog.module.d.ts.map +0 -1
  689. package/lib/dialog/dialog.service.d.ts.map +0 -1
  690. package/lib/dialog/index.d.ts +0 -4
  691. package/lib/dialog/index.d.ts.map +0 -1
  692. package/lib/drawer/drawer-container.component.d.ts.map +0 -1
  693. package/lib/drawer/drawer-content.component.d.ts +0 -8
  694. package/lib/drawer/drawer-content.component.d.ts.map +0 -1
  695. package/lib/drawer/drawer.component.d.ts.map +0 -1
  696. package/lib/drawer/drawer.module.d.ts.map +0 -1
  697. package/lib/drawer/index.d.ts +0 -4
  698. package/lib/drawer/index.d.ts.map +0 -1
  699. package/lib/dropdown/dropdown-panel.component.d.ts +0 -27
  700. package/lib/dropdown/dropdown-panel.component.d.ts.map +0 -1
  701. package/lib/dropdown/dropdown.module.d.ts.map +0 -1
  702. package/lib/dropdown/index.d.ts +0 -2
  703. package/lib/dropdown/index.d.ts.map +0 -1
  704. package/lib/form/form-field.component.d.ts +0 -8
  705. package/lib/form/form-field.component.d.ts.map +0 -1
  706. package/lib/form/form-field.module.d.ts +0 -10
  707. package/lib/form/form-field.module.d.ts.map +0 -1
  708. package/lib/form/form-hint.component.d.ts +0 -8
  709. package/lib/form/form-hint.component.d.ts.map +0 -1
  710. package/lib/form/form.component.d.ts +0 -21
  711. package/lib/form/form.component.d.ts.map +0 -1
  712. package/lib/form/index.d.ts +0 -4
  713. package/lib/form/index.d.ts.map +0 -1
  714. package/lib/icon/icon.component.d.ts +0 -10
  715. package/lib/icon/icon.component.d.ts.map +0 -1
  716. package/lib/icon/icon.module.d.ts +0 -8
  717. package/lib/icon/icon.module.d.ts.map +0 -1
  718. package/lib/icon/index.d.ts +0 -2
  719. package/lib/icon/index.d.ts.map +0 -1
  720. package/lib/input-mask/index.d.ts +0 -2
  721. package/lib/input-mask/index.d.ts.map +0 -1
  722. package/lib/input-mask/input-mask.component.d.ts +0 -25
  723. package/lib/input-mask/input-mask.component.d.ts.map +0 -1
  724. package/lib/input-mask/input-mask.module.d.ts +0 -10
  725. package/lib/input-mask/input-mask.module.d.ts.map +0 -1
  726. package/lib/label/index.d.ts +0 -2
  727. package/lib/label/index.d.ts.map +0 -1
  728. package/lib/label/label.component.d.ts.map +0 -1
  729. package/lib/label/label.module.d.ts.map +0 -1
  730. package/lib/loading/index.d.ts +0 -5
  731. package/lib/loading/index.d.ts.map +0 -1
  732. package/lib/loading/loading-spinner.component.d.ts +0 -6
  733. package/lib/loading/loading-spinner.component.d.ts.map +0 -1
  734. package/lib/loading/loading.component.d.ts +0 -21
  735. package/lib/loading/loading.component.d.ts.map +0 -1
  736. package/lib/loading/loading.directive.d.ts +0 -22
  737. package/lib/loading/loading.directive.d.ts.map +0 -1
  738. package/lib/loading/loading.module.d.ts.map +0 -1
  739. package/lib/loading/loading.service.d.ts.map +0 -1
  740. package/lib/menu/index.d.ts +0 -2
  741. package/lib/menu/index.d.ts.map +0 -1
  742. package/lib/menu/menu.component.d.ts.map +0 -1
  743. package/lib/menu/menu.module.d.ts.map +0 -1
  744. package/lib/number-box/index.d.ts +0 -2
  745. package/lib/number-box/index.d.ts.map +0 -1
  746. package/lib/number-box/number-box.component.d.ts.map +0 -1
  747. package/lib/number-box/number-box.module.d.ts.map +0 -1
  748. package/lib/page/base-page.class.d.ts +0 -45
  749. package/lib/page/base-page.class.d.ts.map +0 -1
  750. package/lib/page/index.d.ts +0 -5
  751. package/lib/page/index.d.ts.map +0 -1
  752. package/lib/page/page-footer.component.d.ts.map +0 -1
  753. package/lib/page/page-header.component.d.ts +0 -7
  754. package/lib/page/page-header.component.d.ts.map +0 -1
  755. package/lib/page/page.component.d.ts.map +0 -1
  756. package/lib/page/page.module.d.ts.map +0 -1
  757. package/lib/password-box/index.d.ts +0 -2
  758. package/lib/password-box/index.d.ts.map +0 -1
  759. package/lib/password-box/password-box.component.d.ts.map +0 -1
  760. package/lib/password-box/password-box.module.d.ts.map +0 -1
  761. package/lib/picker/index.d.ts +0 -2
  762. package/lib/picker/index.d.ts.map +0 -1
  763. package/lib/picker/picker.component.d.ts +0 -25
  764. package/lib/picker/picker.component.d.ts.map +0 -1
  765. package/lib/picker/picker.module.d.ts +0 -9
  766. package/lib/picker/picker.module.d.ts.map +0 -1
  767. package/lib/popover/index.d.ts +0 -2
  768. package/lib/popover/index.d.ts.map +0 -1
  769. package/lib/popover/popover.component.d.ts.map +0 -1
  770. package/lib/popover/popover.module.d.ts.map +0 -1
  771. package/lib/popup/index.d.ts +0 -3
  772. package/lib/popup/index.d.ts.map +0 -1
  773. package/lib/popup/popup.component.d.ts.map +0 -1
  774. package/lib/popup/popup.module.d.ts.map +0 -1
  775. package/lib/popup/popup.service.d.ts.map +0 -1
  776. package/lib/progress-bar/index.d.ts +0 -2
  777. package/lib/progress-bar/index.d.ts.map +0 -1
  778. package/lib/progress-bar/progress-bar.component.d.ts.map +0 -1
  779. package/lib/progress-bar/progress-bar.module.d.ts.map +0 -1
  780. package/lib/radio/index.d.ts +0 -2
  781. package/lib/radio/index.d.ts.map +0 -1
  782. package/lib/radio/radio.component.d.ts +0 -17
  783. package/lib/radio/radio.component.d.ts.map +0 -1
  784. package/lib/radio/radio.module.d.ts +0 -9
  785. package/lib/radio/radio.module.d.ts.map +0 -1
  786. package/lib/range-slider/index.d.ts +0 -2
  787. package/lib/range-slider/index.d.ts.map +0 -1
  788. package/lib/range-slider/range-slider.component.d.ts +0 -8
  789. package/lib/range-slider/range-slider.component.d.ts.map +0 -1
  790. package/lib/range-slider/range-slider.module.d.ts +0 -8
  791. package/lib/range-slider/range-slider.module.d.ts.map +0 -1
  792. package/lib/rating/index.d.ts +0 -2
  793. package/lib/rating/index.d.ts.map +0 -1
  794. package/lib/rating/rating.component.d.ts +0 -21
  795. package/lib/rating/rating.component.d.ts.map +0 -1
  796. package/lib/rating/rating.component.module.d.ts +0 -8
  797. package/lib/rating/rating.component.module.d.ts.map +0 -1
  798. package/lib/result/index.d.ts +0 -2
  799. package/lib/result/index.d.ts.map +0 -1
  800. package/lib/result/result.component.d.ts +0 -12
  801. package/lib/result/result.component.d.ts.map +0 -1
  802. package/lib/result/result.module.d.ts +0 -8
  803. package/lib/result/result.module.d.ts.map +0 -1
  804. package/lib/selectbox/index.d.ts +0 -2
  805. package/lib/selectbox/index.d.ts.map +0 -1
  806. package/lib/selectbox/selectbox.component.d.ts.map +0 -1
  807. package/lib/selectbox/selectbox.module.d.ts.map +0 -1
  808. package/lib/selection-list/index.d.ts +0 -2
  809. package/lib/selection-list/index.d.ts.map +0 -1
  810. package/lib/selection-list/selection-list.component.d.ts.map +0 -1
  811. package/lib/selection-list/selection-list.module.d.ts.map +0 -1
  812. package/lib/switch/index.d.ts +0 -2
  813. package/lib/switch/index.d.ts.map +0 -1
  814. package/lib/switch/switch.component.d.ts.map +0 -1
  815. package/lib/switch/switch.module.d.ts.map +0 -1
  816. package/lib/tabs/index.d.ts +0 -5
  817. package/lib/tabs/index.d.ts.map +0 -1
  818. package/lib/tabs/tab-content.directive.d.ts +0 -11
  819. package/lib/tabs/tab-content.directive.d.ts.map +0 -1
  820. package/lib/tabs/tab-item.component.d.ts +0 -49
  821. package/lib/tabs/tab-item.component.d.ts.map +0 -1
  822. package/lib/tabs/tabs.class.d.ts +0 -6
  823. package/lib/tabs/tabs.class.d.ts.map +0 -1
  824. package/lib/tabs/tabs.component.d.ts +0 -24
  825. package/lib/tabs/tabs.component.d.ts.map +0 -1
  826. package/lib/tabs/tabs.module.d.ts +0 -12
  827. package/lib/tabs/tabs.module.d.ts.map +0 -1
  828. package/lib/textarea/index.d.ts +0 -2
  829. package/lib/textarea/index.d.ts.map +0 -1
  830. package/lib/textarea/textarea.component.d.ts.map +0 -1
  831. package/lib/textarea/textarea.module.d.ts.map +0 -1
  832. package/lib/textbox/index.d.ts +0 -2
  833. package/lib/textbox/index.d.ts.map +0 -1
  834. package/lib/textbox/textbox.component.d.ts.map +0 -1
  835. package/lib/textbox/textbox.module.d.ts.map +0 -1
  836. package/lib/time-box/index.d.ts +0 -2
  837. package/lib/time-box/index.d.ts.map +0 -1
  838. package/lib/time-box/time-box.component.d.ts +0 -48
  839. package/lib/time-box/time-box.component.d.ts.map +0 -1
  840. package/lib/time-box/time-box.module.d.ts +0 -11
  841. package/lib/time-box/time-box.module.d.ts.map +0 -1
  842. package/lib/toast/index.d.ts +0 -4
  843. package/lib/toast/index.d.ts.map +0 -1
  844. package/lib/toast/toast.class.d.ts +0 -14
  845. package/lib/toast/toast.class.d.ts.map +0 -1
  846. package/lib/toast/toast.component.d.ts +0 -24
  847. package/lib/toast/toast.component.d.ts.map +0 -1
  848. package/lib/toast/toast.module.d.ts.map +0 -1
  849. package/lib/toast/toast.service.d.ts.map +0 -1
  850. package/lib/tooltip/index.d.ts +0 -3
  851. package/lib/tooltip/index.d.ts.map +0 -1
  852. package/lib/tooltip/tooltip.component.d.ts +0 -10
  853. package/lib/tooltip/tooltip.component.d.ts.map +0 -1
  854. package/lib/tooltip/tooltip.directive.d.ts.map +0 -1
  855. package/lib/tooltip/tooltip.module.d.ts.map +0 -1
  856. package/lib/treeview/index.d.ts +0 -2
  857. package/lib/treeview/index.d.ts.map +0 -1
  858. package/lib/treeview/tree-view.component.d.ts +0 -33
  859. package/lib/treeview/tree-view.component.d.ts.map +0 -1
  860. package/lib/treeview/tree-view.module.d.ts +0 -9
  861. package/lib/treeview/tree-view.module.d.ts.map +0 -1
  862. package/lib/validation/index.d.ts +0 -2
  863. package/lib/validation/index.d.ts.map +0 -1
  864. package/lib/validation/validation-rule.widget.d.ts.map +0 -1
  865. package/lib/validation/validation.class.d.ts.map +0 -1
  866. package/lib/validation/validation.module.d.ts.map +0 -1
  867. package/public-api.d.ts.map +0 -1
@@ -1,35 +1,21 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { AXLoadingComponent } from './loading.component';
4
- import { AXLoadingDirective } from './loading.directive';
5
- import { OverlayModule } from '@angular/cdk/overlay';
6
- import { PortalModule } from '@angular/cdk/portal';
7
- import { AXLoadingSpinnerComponent } from './loading-spinner.component';
8
- import { AXConfig } from '@acorex/core';
3
+ import { AXLoadingIndicatorComponent } from './loading-indicator.component';
4
+ import { AXLoadingPanelComponent } from './loading-panel.component';
5
+ import { A11yModule } from '@angular/cdk/a11y';
9
6
  import * as i0 from "@angular/core";
10
- const COMPONENT = [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent];
11
- const MODULES = [CommonModule, OverlayModule, PortalModule];
12
7
  export class AXLoadingModule {
13
- constructor() {
14
- AXConfig.set({
15
- layout: {
16
- loading: {
17
- spinner: AXLoadingSpinnerComponent,
18
- }
19
- }
20
- });
21
- }
22
8
  }
23
- AXLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- AXLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] });
25
- AXLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingModule, providers: [], imports: [[...MODULES]] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingModule, decorators: [{
9
+ AXLoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ AXLoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingModule, declarations: [AXLoadingIndicatorComponent, AXLoadingPanelComponent], imports: [CommonModule, A11yModule], exports: [AXLoadingIndicatorComponent, AXLoadingPanelComponent] });
11
+ AXLoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingModule, providers: [], imports: [[CommonModule, A11yModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingModule, decorators: [{
27
13
  type: NgModule,
28
14
  args: [{
29
- declarations: [...COMPONENT],
30
- imports: [...MODULES],
31
- exports: [...COMPONENT],
15
+ declarations: [AXLoadingIndicatorComponent, AXLoadingPanelComponent],
16
+ imports: [CommonModule, A11yModule],
17
+ exports: [AXLoadingIndicatorComponent, AXLoadingPanelComponent],
32
18
  providers: [],
33
19
  }]
34
- }], ctorParameters: function () { return []; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2xvYWRpbmcvbG9hZGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUV4QyxNQUFNLFNBQVMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFDdEYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBUTVELE1BQU0sT0FBTyxlQUFlO0lBR3hCO1FBQ0ksUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNULE1BQU0sRUFBRTtnQkFDSixPQUFPLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLHlCQUF5QjtpQkFDckM7YUFDSjtTQUNKLENBQUMsQ0FBQTtJQUVOLENBQUM7OzRHQVpRLGVBQWU7NkdBQWYsZUFBZSxpQkFUVCxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsYUFDbkUsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLGFBRHZDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5Qjs2R0FTdkUsZUFBZSxhQUZiLEVBQUUsWUFGSixDQUFDLEdBQUcsT0FBTyxDQUFDOzJGQUlaLGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYTG9hZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vbG9hZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuXHJcbmNvbnN0IENPTVBPTkVOVCA9IFtBWExvYWRpbmdDb21wb25lbnQsIEFYTG9hZGluZ0RpcmVjdGl2ZSwgQVhMb2FkaW5nU3Bpbm5lckNvbXBvbmVudF07XHJcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBQb3J0YWxNb2R1bGVdO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVF0sXHJcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU10sXHJcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWExvYWRpbmdNb2R1bGUge1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBBWENvbmZpZy5zZXQoe1xyXG4gICAgICAgICAgICBsYXlvdXQ6IHtcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc6IHtcclxuICAgICAgICAgICAgICAgICAgICBzcGlubmVyOiBBWExvYWRpbmdTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICB9XHJcbn1cclxuIl19
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2xvYWRpbmcvbG9hZGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVEvQyxNQUFNLE9BQU8sZUFBZTs7NkdBQWYsZUFBZTs4R0FBZixlQUFlLGlCQUxULDJCQUEyQixFQUFFLHVCQUF1QixhQUN6RCxZQUFZLEVBQUUsVUFBVSxhQUN4QiwyQkFBMkIsRUFBRSx1QkFBdUI7OEdBR3JELGVBQWUsYUFGYixFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDOzRGQUkxQixlQUFlO2tCQU4zQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLDJCQUEyQixFQUFFLHVCQUF1QixDQUFDO29CQUNwRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSx1QkFBdUIsQ0FBQztvQkFDL0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWExvYWRpbmdQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FYTG9hZGluZ0luZGljYXRvckNvbXBvbmVudCwgQVhMb2FkaW5nUGFuZWxDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQTExeU1vZHVsZV0sXHJcbiAgICBleHBvcnRzOiBbQVhMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50LCBBWExvYWRpbmdQYW5lbENvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhMb2FkaW5nTW9kdWxlIHsgfSJdfQ==
@@ -1,38 +1,14 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { asyncScheduler, BehaviorSubject } from 'rxjs';
3
- import { finalize, observeOn } from 'rxjs/operators';
4
- import { AXLoadingComponent } from './loading.component';
2
+ import { AXRenderService } from '@acorex/core';
3
+ import { AXOverlayService } from '../popover/overlay.service';
4
+ import { AXLoadingIndicatorComponent } from './loading-indicator.component';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../base/overlay.service";
7
- const DEFAULT_LOADER_ID = '_DEFAULT';
8
- /**
9
- * Used for centrally setting/unsetting loading flags for components or services.
10
- * Should be connected to global HTTP interceptor which will unset
11
- * the loading flags in case an error happens using the clearLoadings() method.
12
- *
13
- * FAQ:
14
- * Q: How to change loading flag for a parent component?
15
- * A: Inject the parent component as a dependency to your constructor and
16
- * call loadingService.setLoading(parentComponent, STATE).
17
- *
18
- * Q: How to change loading flag for a child component?
19
- * A: Use a @ViewChild with component selector and pass the
20
- * reference of the child to setLoading method.
21
- *
22
- * Q: I need more loading indicators in my components. How to?
23
- * A: Assign a LoaderId to each indicator and then use them
24
- * with calls to methods of this service.
25
- */
6
+ import * as i1 from "@acorex/core";
7
+ import * as i2 from "../popover/overlay.service";
26
8
  export class AXLoadingService {
27
- constructor(zoneRef, overlayService) {
28
- this.zoneRef = zoneRef;
9
+ constructor(injection, overlayService) {
10
+ this.injection = injection;
29
11
  this.overlayService = overlayService;
30
- // WeakMap will remove components from itself upon
31
- // their garbage collection by JS runtime.
32
- this.loadingStates = new WeakMap();
33
- // Both loading state maps are kept in-sync such that
34
- // they can be used by both sync and async methods.
35
- this.loadingStates$ = new WeakMap();
36
12
  this._stack = [];
37
13
  }
38
14
  show(location) {
@@ -41,14 +17,13 @@ export class AXLoadingService {
41
17
  host = location.closest('.ax-loading-host');
42
18
  }
43
19
  const containerElement = (host || location);
44
- const com = this.overlayService.show(AXLoadingComponent, {}, {
20
+ const com = this.overlayService.show(AXLoadingIndicatorComponent, {}, {
45
21
  closeOnClickOutside: false,
46
22
  containerElement,
47
23
  hasBackdrop: true,
48
24
  backdropClass: ['ax-loading-overlay'],
49
25
  scroll: 'block'
50
26
  });
51
- com.instance.visible = true;
52
27
  const id = new Date().getTime();
53
28
  this._stack.push({ id, component: com });
54
29
  return id;
@@ -60,95 +35,11 @@ export class AXLoadingService {
60
35
  this._stack = this._stack.filter(c => c.id !== id);
61
36
  }
62
37
  }
63
- // Observable creation operator.
64
- // LoaderId can be used when there are multiple loading indicators associated to a single context.
65
- // Context can be any object, though in practice, components and services will be the most common contexts.
66
- // loaderId is a non-mandatory parameter - when not specified, a default loaderId is used.
67
- // Such a scenario is used when your context has contains only one loading indicator.
68
- doLoading(source$, context, loaderId) {
69
- this.startLoading(context, loaderId);
70
- return source$.pipe(observeOn(asyncScheduler), finalize(() => this.endLoading(context, loaderId)));
71
- }
72
- // To be used in your html templates.
73
- // Returns a boolean indicating whether a given loader is active in a given context.
74
- // If loaderId is unspecified, the method will return a logical disjunction of all
75
- // loader states in the context.
76
- isLoading(context, loaderId) {
77
- const loaderStates = this.loadingStates.get(context);
78
- if (!loaderStates) {
79
- return false;
80
- }
81
- else {
82
- if (loaderId !== undefined) {
83
- return loaderStates.get(this.getLoaderId(loaderId)) ?? false;
84
- }
85
- else {
86
- return [...loaderStates.values()].filter(state => state).length > 0;
87
- }
88
- }
89
- }
90
- // To be used in your html templates with async pipes.
91
- // Returns an Observable of booleans indicating whether a given loader is active in a given context.
92
- isLoading$(context, loaderId) {
93
- const coalescedLoaderId = this.getLoaderId(loaderId);
94
- if (!this.hasLoadingStates(context, coalescedLoaderId)) {
95
- this.setLoadingState(context, false, loaderId);
96
- }
97
- return this.loadingStates$.get(context).get(coalescedLoaderId);
98
- }
99
- // The startLoading and endLoading methods are intended to be used when handling
100
- // complex scenarios where a need for extended usage flexibility is desired.
101
- startLoading(context, loaderId) {
102
- this.setLoadingState(context, true, this.getLoaderId(loaderId));
103
- }
104
- endLoading(context, loaderId) {
105
- this.setLoadingState(context, false, this.getLoaderId(loaderId));
106
- }
107
- // To be called by middleware code (HTTP interceptors/routing listeners, etc.).
108
- clearLoadings() {
109
- this.loadingStates = new WeakMap();
110
- this.loadingStates$ = new WeakMap();
111
- }
112
- setLoadingState(context, state, loaderId) {
113
- if (!this.hasLoadingStates(context, loaderId)) {
114
- if (this.hasContextLoadingState(context)) {
115
- this.loadingStates.get(context).set(loaderId, state);
116
- this.loadingStates$.get(context).set(loaderId, new BehaviorSubject(state));
117
- }
118
- else {
119
- this.loadingStates.set(context, new Map([
120
- [loaderId, state]
121
- ]));
122
- this.loadingStates$.set(context, new Map([
123
- [loaderId, new BehaviorSubject(state)]
124
- ]));
125
- }
126
- }
127
- else {
128
- // @ts-ignore - loadingStates[context] is surely defined in this branch
129
- this.loadingStates.get(context).set(loaderId, state);
130
- this.loadingStates$.get(context).get(loaderId).next(state);
131
- }
132
- }
133
- hasLoadingStates(context, loaderId) {
134
- return this.hasContextLoadingState(context) && this.hasLoaderLoadingState(context, loaderId);
135
- }
136
- hasContextLoadingState(context) {
137
- return this.loadingStates.has(context) && this.loadingStates$.has(context);
138
- }
139
- hasLoaderLoadingState(context, loaderId) {
140
- return this.loadingStates.get(context).has(loaderId) && this.loadingStates$.get(context).has(loaderId);
141
- }
142
- getLoaderId(loaderId) {
143
- return loaderId ?? DEFAULT_LOADER_ID;
144
- }
145
38
  }
146
- AXLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingService, deps: [{ token: i0.NgZone }, { token: i1.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable });
147
- AXLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingService, providedIn: 'root' });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXLoadingService, decorators: [{
39
+ AXLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingService, deps: [{ token: i1.AXRenderService }, { token: i2.AXOverlayService }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ AXLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingService, providedIn: 'root' });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLoadingService, decorators: [{
149
42
  type: Injectable,
150
- args: [{
151
- providedIn: 'root'
152
- }]
153
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.AXOverlayService }]; } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUl6RCxNQUFNLGlCQUFpQixHQUFhLFVBQVUsQ0FBQztBQUUvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBUXpCLFlBQXNCLE9BQWUsRUFBVSxjQUFnQztRQUF6RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBUC9FLGtEQUFrRDtRQUNsRCwwQ0FBMEM7UUFDaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMEMsQ0FBQztRQUNoRixxREFBcUQ7UUFDckQsbURBQW1EO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQTJELENBQUM7UUFJMUYsV0FBTSxHQUFrRCxFQUFFLENBQUM7SUFGZ0IsQ0FBQztJQUlwRixJQUFJLENBQUMsUUFBa0I7UUFDbkIsSUFBSSxJQUFhLENBQUM7UUFDbEIsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksSUFBSSxRQUFRLENBQW1CLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxFQUN2RDtZQUNJLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsZ0JBQWdCO1lBQ2hCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ3JDLE1BQU0sRUFBRSxPQUFPO1NBQ2xCLENBQUMsQ0FBQztRQUNQLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUM1QixNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxFQUFFO1FBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxFQUFFO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFHRCxnQ0FBZ0M7SUFDaEMsa0dBQWtHO0lBQ2xHLDJHQUEyRztJQUMzRywwRkFBMEY7SUFDMUYscUZBQXFGO0lBQ3JGLFNBQVMsQ0FBSSxPQUFzQixFQUFFLE9BQXVCLEVBQUUsUUFBbUI7UUFDN0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFckMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNmLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFDekIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQ3JELENBQUM7SUFDTixDQUFDO0lBRUQscUNBQXFDO0lBQ3JDLG9GQUFvRjtJQUNwRixrRkFBa0Y7SUFDbEYsZ0NBQWdDO0lBQ2hDLFNBQVMsQ0FBQyxPQUF1QixFQUFFLFFBQW1CO1FBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNoQjthQUNJO1lBQ0QsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO2dCQUN4QixPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQzthQUNoRTtpQkFDSTtnQkFDRCxPQUFPLENBQUMsR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZFO1NBQ0o7SUFDTCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELG9HQUFvRztJQUNwRyxVQUFVLENBQUMsT0FBdUIsRUFBRSxRQUFtQjtRQUNuRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsNEVBQTRFO0lBQzVFLFlBQVksQ0FBQyxPQUF1QixFQUFFLFFBQW1CO1FBQ3JELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUF1QixFQUFFLFFBQW1CO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELCtFQUErRTtJQUMvRSxhQUFhO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMEMsQ0FBQztRQUMzRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksT0FBTyxFQUEyRCxDQUFDO0lBQ2pHLENBQUM7SUFFUyxlQUFlLENBQUMsT0FBdUIsRUFBRSxLQUFjLEVBQUUsUUFBa0I7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDM0MsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUN2RjtpQkFDSTtnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQW9CO29CQUN2RCxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7aUJBQ3BCLENBQUMsQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBcUM7b0JBQ3pFLENBQUMsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO2lCQUNsRCxDQUFDLENBQUMsQ0FBQzthQUNQO1NBQ0o7YUFDSTtZQUNELHVFQUF1RTtZQUN2RSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBdUIsRUFBRSxRQUFrQjtRQUNsRSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFUyxzQkFBc0IsQ0FBQyxPQUF1QjtRQUNwRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFUyxxQkFBcUIsQ0FBQyxPQUF1QixFQUFFLFFBQWtCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRVMsV0FBVyxDQUFDLFFBQW1CO1FBQ3JDLE9BQU8sUUFBUSxJQUFJLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7OzZHQTNJUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZiLE1BQU07MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3luY1NjaGVkdWxlciwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBvYnNlcnZlT24gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFYT3ZlcmxheVNlcnZpY2UsIEFYT3ZlcmxheVZpZXdSZWYgfSBmcm9tICcuLi9iYXNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFYTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxudHlwZSBMb2FkaW5nQ29udGV4dCA9IG9iamVjdDtcclxudHlwZSBMb2FkZXJJZCA9IHN0cmluZyB8IG51bWJlcjsgLy8gZXhwZWN0ZWQgZW51bSB2YWx1ZXNcclxuY29uc3QgREVGQVVMVF9MT0FERVJfSUQ6IExvYWRlcklkID0gJ19ERUZBVUxUJztcclxuXHJcbi8qKlxyXG4gKiBVc2VkIGZvciBjZW50cmFsbHkgc2V0dGluZy91bnNldHRpbmcgbG9hZGluZyBmbGFncyBmb3IgY29tcG9uZW50cyBvciBzZXJ2aWNlcy5cclxuICogU2hvdWxkIGJlIGNvbm5lY3RlZCB0byBnbG9iYWwgSFRUUCBpbnRlcmNlcHRvciB3aGljaCB3aWxsIHVuc2V0XHJcbiAqIHRoZSBsb2FkaW5nIGZsYWdzIGluIGNhc2UgYW4gZXJyb3IgaGFwcGVucyB1c2luZyB0aGUgY2xlYXJMb2FkaW5ncygpIG1ldGhvZC5cclxuICpcclxuICogRkFROlxyXG4gKiBROiBIb3cgdG8gY2hhbmdlIGxvYWRpbmcgZmxhZyBmb3IgYSBwYXJlbnQgY29tcG9uZW50P1xyXG4gKiBBOiBJbmplY3QgdGhlIHBhcmVudCBjb21wb25lbnQgYXMgYSBkZXBlbmRlbmN5IHRvIHlvdXIgY29uc3RydWN0b3IgYW5kXHJcbiAqICAgIGNhbGwgbG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhwYXJlbnRDb21wb25lbnQsIFNUQVRFKS5cclxuICogXHJcbiAqIFE6IEhvdyB0byBjaGFuZ2UgbG9hZGluZyBmbGFnIGZvciBhIGNoaWxkIGNvbXBvbmVudD9cclxuICogQTogVXNlIGEgQFZpZXdDaGlsZCB3aXRoIGNvbXBvbmVudCBzZWxlY3RvciBhbmQgcGFzcyB0aGVcclxuICogICAgcmVmZXJlbmNlIG9mIHRoZSBjaGlsZCB0byBzZXRMb2FkaW5nIG1ldGhvZC5cclxuICpcclxuICogUTogSSBuZWVkIG1vcmUgbG9hZGluZyBpbmRpY2F0b3JzIGluIG15IGNvbXBvbmVudHMuIEhvdyB0bz9cclxuICogQTogQXNzaWduIGEgTG9hZGVySWQgdG8gZWFjaCBpbmRpY2F0b3IgYW5kIHRoZW4gdXNlIHRoZW1cclxuICogICAgd2l0aCBjYWxscyB0byBtZXRob2RzIG9mIHRoaXMgc2VydmljZS5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhMb2FkaW5nU2VydmljZSB7XHJcbiAgICAvLyBXZWFrTWFwIHdpbGwgcmVtb3ZlIGNvbXBvbmVudHMgZnJvbSBpdHNlbGYgdXBvblxyXG4gICAgLy8gdGhlaXIgZ2FyYmFnZSBjb2xsZWN0aW9uIGJ5IEpTIHJ1bnRpbWUuXHJcbiAgICBwcm90ZWN0ZWQgbG9hZGluZ1N0YXRlcyA9IG5ldyBXZWFrTWFwPExvYWRpbmdDb250ZXh0LCBNYXA8TG9hZGVySWQsIGJvb2xlYW4+PigpO1xyXG4gICAgLy8gQm90aCBsb2FkaW5nIHN0YXRlIG1hcHMgYXJlIGtlcHQgaW4tc3luYyBzdWNoIHRoYXRcclxuICAgIC8vIHRoZXkgY2FuIGJlIHVzZWQgYnkgYm90aCBzeW5jIGFuZCBhc3luYyBtZXRob2RzLlxyXG4gICAgcHJvdGVjdGVkIGxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgem9uZVJlZjogTmdab25lLCBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBBWE92ZXJsYXlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBwcml2YXRlIF9zdGFjazogeyBpZDogbnVtYmVyLCBjb21wb25lbnQ6IEFYT3ZlcmxheVZpZXdSZWYgfVtdID0gW107XHJcblxyXG4gICAgc2hvdyhsb2NhdGlvbj86IEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBob3N0OiBFbGVtZW50O1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBob3N0ID0gbG9jYXRpb24uY2xvc2VzdCgnLmF4LWxvYWRpbmctaG9zdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gKGhvc3QgfHwgbG9jYXRpb24pIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbSA9IHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyhBWExvYWRpbmdDb21wb25lbnQsIHt9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjbG9zZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnYXgtbG9hZGluZy1vdmVybGF5J10sXHJcbiAgICAgICAgICAgICAgICBzY3JvbGw6ICdibG9jaydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgY29tLmluc3RhbmNlLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5fc3RhY2sucHVzaCh7IGlkLCBjb21wb25lbnQ6IGNvbSB9KTtcclxuICAgICAgICByZXR1cm4gaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaGlkZShpZCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGYgPSB0aGlzLl9zdGFjay5maW5kKGMgPT4gYy5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChmKSB7XHJcbiAgICAgICAgICAgIGYuY29tcG9uZW50LmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fc3RhY2sgPSB0aGlzLl9zdGFjay5maWx0ZXIoYyA9PiBjLmlkICE9PSBpZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBPYnNlcnZhYmxlIGNyZWF0aW9uIG9wZXJhdG9yLlxyXG4gICAgLy8gTG9hZGVySWQgY2FuIGJlIHVzZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgbG9hZGluZyBpbmRpY2F0b3JzIGFzc29jaWF0ZWQgdG8gYSBzaW5nbGUgY29udGV4dC5cclxuICAgIC8vIENvbnRleHQgY2FuIGJlIGFueSBvYmplY3QsIHRob3VnaCBpbiBwcmFjdGljZSwgY29tcG9uZW50cyBhbmQgc2VydmljZXMgd2lsbCBiZSB0aGUgbW9zdCBjb21tb24gY29udGV4dHMuXHJcbiAgICAvLyBsb2FkZXJJZCBpcyBhIG5vbi1tYW5kYXRvcnkgcGFyYW1ldGVyIC0gd2hlbiBub3Qgc3BlY2lmaWVkLCBhIGRlZmF1bHQgbG9hZGVySWQgaXMgdXNlZC5cclxuICAgIC8vIFN1Y2ggYSBzY2VuYXJpbyBpcyB1c2VkIHdoZW4geW91ciBjb250ZXh0IGhhcyBjb250YWlucyBvbmx5IG9uZSBsb2FkaW5nIGluZGljYXRvci5cclxuICAgIGRvTG9hZGluZzxWPihzb3VyY2UkOiBPYnNlcnZhYmxlPFY+LCBjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IE9ic2VydmFibGU8Vj4ge1xyXG4gICAgICAgIHRoaXMuc3RhcnRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcclxuICAgICAgICAgICAgb2JzZXJ2ZU9uKGFzeW5jU2NoZWR1bGVyKSxcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5lbmRMb2FkaW5nKGNvbnRleHQsIGxvYWRlcklkKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMuXHJcbiAgICAvLyBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIC8vIElmIGxvYWRlcklkIGlzIHVuc3BlY2lmaWVkLCB0aGUgbWV0aG9kIHdpbGwgcmV0dXJuIGEgbG9naWNhbCBkaXNqdW5jdGlvbiBvZiBhbGxcclxuICAgIC8vIGxvYWRlciBzdGF0ZXMgaW4gdGhlIGNvbnRleHQuXHJcbiAgICBpc0xvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb2FkZXJTdGF0ZXMgPSB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpO1xyXG5cclxuICAgICAgICBpZiAoIWxvYWRlclN0YXRlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobG9hZGVySWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlclN0YXRlcy5nZXQodGhpcy5nZXRMb2FkZXJJZChsb2FkZXJJZCkpID8/IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5sb2FkZXJTdGF0ZXMudmFsdWVzKCldLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZSkubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUbyBiZSB1c2VkIGluIHlvdXIgaHRtbCB0ZW1wbGF0ZXMgd2l0aCBhc3luYyBwaXBlcy5cclxuICAgIC8vIFJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBib29sZWFucyBpbmRpY2F0aW5nIHdoZXRoZXIgYSBnaXZlbiBsb2FkZXIgaXMgYWN0aXZlIGluIGEgZ2l2ZW4gY29udGV4dC5cclxuICAgIGlzTG9hZGluZyQoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBjb25zdCBjb2FsZXNjZWRMb2FkZXJJZCA9IHRoaXMuZ2V0TG9hZGVySWQobG9hZGVySWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0LCBjb2FsZXNjZWRMb2FkZXJJZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoY29udGV4dCwgZmFsc2UsIGxvYWRlcklkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQoY29hbGVzY2VkTG9hZGVySWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBzdGFydExvYWRpbmcgYW5kIGVuZExvYWRpbmcgbWV0aG9kcyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aGVuIGhhbmRsaW5nXHJcbiAgICAvLyBjb21wbGV4IHNjZW5hcmlvcyB3aGVyZSBhIG5lZWQgZm9yIGV4dGVuZGVkIHVzYWdlIGZsZXhpYmlsaXR5IGlzIGRlc2lyZWQuXHJcbiAgICBzdGFydExvYWRpbmcoY29udGV4dDogTG9hZGluZ0NvbnRleHQsIGxvYWRlcklkPzogTG9hZGVySWQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0ZShjb250ZXh0LCB0cnVlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5kTG9hZGluZyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ/OiBMb2FkZXJJZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQsIGZhbHNlLCB0aGlzLmdldExvYWRlcklkKGxvYWRlcklkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG8gYmUgY2FsbGVkIGJ5IG1pZGRsZXdhcmUgY29kZSAoSFRUUCBpbnRlcmNlcHRvcnMvcm91dGluZyBsaXN0ZW5lcnMsIGV0Yy4pLlxyXG4gICAgY2xlYXJMb2FkaW5ncygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMgPSBuZXcgV2Vha01hcDxMb2FkaW5nQ29udGV4dCwgTWFwPExvYWRlcklkLCBib29sZWFuPj4oKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkID0gbmV3IFdlYWtNYXA8TG9hZGluZ0NvbnRleHQsIE1hcDxMb2FkZXJJZCwgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Pj4oKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0TG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBzdGF0ZTogYm9vbGVhbiwgbG9hZGVySWQ6IExvYWRlcklkKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0xvYWRpbmdTdGF0ZXMoY29udGV4dCwgbG9hZGVySWQpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5nZXQoY29udGV4dCkuc2V0KGxvYWRlcklkLCBzdGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5zZXQobG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlcy5zZXQoY29udGV4dCwgbmV3IE1hcDxMb2FkZXJJZCwgYm9vbGVhbj4oW1xyXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkZXJJZCwgc3RhdGVdXHJcbiAgICAgICAgICAgICAgICBdKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLnNldChjb250ZXh0LCBuZXcgTWFwPExvYWRlcklkLCBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4+KFtcclxuICAgICAgICAgICAgICAgICAgICBbbG9hZGVySWQsIG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oc3RhdGUpXVxyXG4gICAgICAgICAgICAgICAgXSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gbG9hZGluZ1N0YXRlc1tjb250ZXh0XSBpcyBzdXJlbHkgZGVmaW5lZCBpbiB0aGlzIGJyYW5jaFxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMuZ2V0KGNvbnRleHQpLnNldChsb2FkZXJJZCwgc3RhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZXMkLmdldChjb250ZXh0KS5nZXQobG9hZGVySWQpLm5leHQoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGluZ1N0YXRlcyhjb250ZXh0OiBMb2FkaW5nQ29udGV4dCwgbG9hZGVySWQ6IExvYWRlcklkKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzQ29udGV4dExvYWRpbmdTdGF0ZShjb250ZXh0KSAmJiB0aGlzLmhhc0xvYWRlckxvYWRpbmdTdGF0ZShjb250ZXh0LCBsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhc0NvbnRleHRMb2FkaW5nU3RhdGUoY29udGV4dDogTG9hZGluZ0NvbnRleHQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmhhcyhjb250ZXh0KSAmJiB0aGlzLmxvYWRpbmdTdGF0ZXMkLmhhcyhjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgaGFzTG9hZGVyTG9hZGluZ1N0YXRlKGNvbnRleHQ6IExvYWRpbmdDb250ZXh0LCBsb2FkZXJJZDogTG9hZGVySWQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdGVzLmdldChjb250ZXh0KS5oYXMobG9hZGVySWQpICYmIHRoaXMubG9hZGluZ1N0YXRlcyQuZ2V0KGNvbnRleHQpLmhhcyhsb2FkZXJJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldExvYWRlcklkKGxvYWRlcklkPzogTG9hZGVySWQpOiBMb2FkZXJJZCB7XHJcbiAgICAgICAgcmV0dXJuIGxvYWRlcklkID8/IERFRkFVTFRfTE9BREVSX0lEO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
43
+ args: [{ providedIn: 'root' }]
44
+ }], ctorParameters: function () { return [{ type: i1.AXRenderService }, { type: i2.AXOverlayService }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvc3JjL2xpYi9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBb0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUk1RSxNQUFNLE9BQU8sZ0JBQWdCO0lBS3pCLFlBQW9CLFNBQTBCLEVBQVUsY0FBZ0M7UUFBcEUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFIaEYsV0FBTSxHQUFrRCxFQUFFLENBQUM7SUFLbkUsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFrQjtRQUNuQixJQUFJLElBQWEsQ0FBQztRQUNsQixJQUFJLFFBQVEsRUFBRTtZQUNWLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDL0M7UUFDRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBbUIsQ0FBQztRQUM5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxFQUFFLEVBQ2hFO1lBQ0ksbUJBQW1CLEVBQUUsS0FBSztZQUMxQixnQkFBZ0I7WUFDaEIsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDckMsTUFBTSxFQUFFLE9BQU87U0FDbEIsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsRUFBRTtRQUNILE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsRUFBRTtZQUNILENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDOzs4R0FsQ1EsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgQ29tcG9uZW50UmVmLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhSZW5kZXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2xvYWRpbmctcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhPdmVybGF5U2VydmljZSwgQVhPdmVybGF5Vmlld1JlZiB9IGZyb20gJy4uL3BvcG92ZXIvb3ZlcmxheS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhMb2FkaW5nSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkaW5nLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWExvYWRpbmdTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIF9zdGFjazogeyBpZDogbnVtYmVyLCBjb21wb25lbnQ6IEFYT3ZlcmxheVZpZXdSZWYgfVtdID0gW107XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0aW9uOiBBWFJlbmRlclNlcnZpY2UsIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IEFYT3ZlcmxheVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgc2hvdyhsb2NhdGlvbj86IEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgICAgIGxldCBob3N0OiBFbGVtZW50O1xyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICBob3N0ID0gbG9jYXRpb24uY2xvc2VzdCgnLmF4LWxvYWRpbmctaG9zdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gKGhvc3QgfHwgbG9jYXRpb24pIGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbSA9IHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvdyhBWExvYWRpbmdJbmRpY2F0b3JDb21wb25lbnQsIHt9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjbG9zZU9uQ2xpY2tPdXRzaWRlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IFsnYXgtbG9hZGluZy1vdmVybGF5J10sXHJcbiAgICAgICAgICAgICAgICBzY3JvbGw6ICdibG9jaydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgaWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLl9zdGFjay5wdXNoKHsgaWQsIGNvbXBvbmVudDogY29tIH0pO1xyXG4gICAgICAgIHJldHVybiBpZDtcclxuICAgIH1cclxuXHJcbiAgICBoaWRlKGlkKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZiA9IHRoaXMuX3N0YWNrLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgICAgaWYgKGYpIHtcclxuICAgICAgICAgICAgZi5jb21wb25lbnQuZGlzcG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9zdGFjayA9IHRoaXMuX3N0YWNrLmZpbHRlcihjID0+IGMuaWQgIT09IGlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,47 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { AXMenuItem } from '@acorex/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AXMenuItemComponent {
6
+ constructor(element) {
7
+ this.element = element;
8
+ this.showSubMenu = new EventEmitter();
9
+ }
10
+ showSubItems(event) {
11
+ event.stopPropagation();
12
+ if (this.item?.items?.length) {
13
+ this.showSubMenu.emit({ item: this.item, element: this.element, level: this.level });
14
+ }
15
+ }
16
+ }
17
+ AXMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
18
+ AXMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuItemComponent, selector: "ax-menu-item", inputs: { item: "item", level: "level" }, outputs: { showSubMenu: "showSubMenu" }, ngImport: i0, template: `
19
+ <div class="ax-menu-item {{item.style}}" [attr.data-level]="level" (click)="showSubItems($event)" [ngClass]="{'disabled': item.disable}" >
20
+ <i *ngIf="item.startIcon" class="icon {{item.startIcon}}"></i>
21
+ <span class="text">{{ item.text }}</span>
22
+ <i *ngIf="item.endIcon" class="icon {{item.endIcon}}"></i>
23
+ <i class="far fa-angle-down icon drop-icon" *ngIf="item?.items?.length && item.text"></i>
24
+ </div>
25
+ `, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuItemComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'ax-menu-item',
30
+ template: `
31
+ <div class="ax-menu-item {{item.style}}" [attr.data-level]="level" (click)="showSubItems($event)" [ngClass]="{'disabled': item.disable}" >
32
+ <i *ngIf="item.startIcon" class="icon {{item.startIcon}}"></i>
33
+ <span class="text">{{ item.text }}</span>
34
+ <i *ngIf="item.endIcon" class="icon {{item.endIcon}}"></i>
35
+ <i class="far fa-angle-down icon drop-icon" *ngIf="item?.items?.length && item.text"></i>
36
+ </div>
37
+ `,
38
+ encapsulation: ViewEncapsulation.None
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
41
+ type: Input
42
+ }], level: [{
43
+ type: Input
44
+ }], showSubMenu: [{
45
+ type: Output
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFjMUMsTUFBTSxPQUFPLG1CQUFtQjtJQUs1QixZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRjdCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFZixDQUFDO0lBRTVDLFlBQVksQ0FBQyxLQUFZO1FBQ3JCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN4RjtJQUNMLENBQUM7O2lIQVpRLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHVJQVZsQjs7Ozs7OztLQU9UOzRGQUdRLG1CQUFtQjtrQkFaL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFOzs7Ozs7O0tBT1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3hDO2lHQUVZLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtbWVudS1pdGVtJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgIGNsYXNzPVwiYXgtbWVudS1pdGVtIHt7aXRlbS5zdHlsZX19XCIgW2F0dHIuZGF0YS1sZXZlbF09XCJsZXZlbFwiIChjbGljayk9XCJzaG93U3ViSXRlbXMoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiBpdGVtLmRpc2FibGV9XCIgPlxyXG4gICAgICAgIDxpICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIiBjbGFzcz1cImljb24ge3tpdGVtLnN0YXJ0SWNvbn19XCI+PC9pPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICA8aSAqbmdJZj1cIml0ZW0uZW5kSWNvblwiIGNsYXNzPVwiaWNvbiB7e2l0ZW0uZW5kSWNvbn19XCI+PC9pPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWRvd24gaWNvbiBkcm9wLWljb25cIiAqbmdJZj1cIml0ZW0/Lml0ZW1zPy5sZW5ndGggJiYgaXRlbS50ZXh0XCI+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVJdGVtQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIGl0ZW06IEFYTWVudUl0ZW07XHJcbiAgICBASW5wdXQoKSBsZXZlbDogbnVtYmVyO1xyXG4gICAgQE91dHB1dCgpIHNob3dTdWJNZW51ID0gbmV3IEV2ZW50RW1pdHRlcjxTdWJJdGVtc0V2ZW50PigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikgeyB9XHJcblxyXG4gICAgc2hvd1N1Ykl0ZW1zKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW0/Lml0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93U3ViTWVudS5lbWl0KHsgaXRlbTogdGhpcy5pdGVtLCBlbGVtZW50OiB0aGlzLmVsZW1lbnQsIGxldmVsOiB0aGlzLmxldmVsIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFN1Ykl0ZW1zRXZlbnQge1xyXG4gICAgZWxlbWVudDogRWxlbWVudFJlZjtcclxuICAgIGl0ZW06IEFYTWVudUl0ZW07XHJcbiAgICBsZXZlbDogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -1,84 +1,86 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, } from '@angular/core';
2
- import { AXBaseMenuMixin } from '../base';
3
- import { BASEMENU_INPUTS } from '../base/mixin/base-menu-mixin.class';
4
- import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, } from '../base/mixin/interactive-mixin.class';
1
+ import { Component, Input, EventEmitter, Output, ElementRef, ViewEncapsulation, ChangeDetectorRef, TemplateRef, ContentChild } from '@angular/core';
2
+ import { AXEvent } from '../base/events.class';
5
3
  import * as i0 from "@angular/core";
6
- import * as i1 from "../icon/icon.component";
7
- import * as i2 from "../loading/loading.component";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@acorex/core";
10
- /**
11
- * The Button is a component which detects user interaction and triggers a corresponding event
12
- *
13
- * @category Components
14
- */
15
- export class AXMenuComponent extends AXBaseMenuMixin {
16
- constructor(elementRef, cdr) {
17
- super(elementRef, cdr);
18
- this.elementRef = elementRef;
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../tooltip/tooltip.directive";
6
+ export class AXMenuItemClickEvent extends AXEvent {
7
+ }
8
+ export class AXMenuComponent {
9
+ constructor(ref, cdr) {
10
+ this.ref = ref;
19
11
  this.cdr = cdr;
12
+ this.onItemClick = new EventEmitter();
13
+ this.size = 'md';
14
+ this.selection = 'none';
15
+ this.mode = 'visible';
16
+ this.direction = 'horizontal';
20
17
  }
21
- get emptyTemplate() {
22
- return this._contentEmptyTemplate;
18
+ get menuTemplate() {
19
+ return this._menuTemplate ? this._menuTemplate : this._contentMenuTemplate;
23
20
  }
24
- onInit() {
25
- super.onInit();
26
- if (this.hasChildField) {
27
- this._fetchData();
28
- }
21
+ set menuTemplate(v) {
22
+ this._menuTemplate = v;
29
23
  }
30
- ngAfterViewInit() {
31
- super.onViewInit();
24
+ get items() {
25
+ return this._items;
32
26
  }
33
- onMenuClick(e, item) {
34
- if (!item[this.disableField]) {
35
- this.notActive(this.displayItems);
36
- if (item.children?.length > 0 || item[this.hasChildField]) {
37
- if (item.children?.length > 0 && item[this.hasChildField]) {
38
- item.children = [];
39
- }
40
- if (item.children?.length > 0) {
41
- this.closeChild(item.children);
42
- }
43
- item.isOpen = !item.isOpen;
44
- }
45
- item.isActive = !item.isActive;
46
- this.onMenuItemClick.emit({
47
- component: this,
48
- item: item,
49
- nativeEvent: e,
50
- });
51
- if (item.isOpen && item[this.hasChildField]) {
52
- this._fetchData(item.id);
53
- }
27
+ set items(v) {
28
+ this._items = v;
29
+ }
30
+ ngOnInit() {
31
+ if (this.rtl == null) {
32
+ this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';
54
33
  }
55
- e.stopPropagation();
56
- e.preventDefault();
57
34
  }
58
- notActive(items) {
59
- items.forEach((element) => {
60
- element.isActive = false;
61
- if (element.children?.length > 0) {
62
- this.notActive(element.children);
35
+ handleItemClick(e, item) {
36
+ e.stopPropagation();
37
+ if (item && (!item.items || !item.items.filter((c) => c.visible !== false).length) && !item.disable) {
38
+ const m = {
39
+ component: this,
40
+ htmlElement: this.ref.nativeElement,
41
+ htmlEvent: e,
42
+ data: item,
43
+ name: item?.name
44
+ };
45
+ if (item.onClick) {
46
+ item.onClick();
63
47
  }
64
- });
65
- }
66
- closeChild(items) {
67
- items.forEach((element) => {
68
- element.isOpen = false;
69
- if (element.children?.length > 0) {
70
- this.closeChild(element.children);
48
+ else {
49
+ this.onItemClick.emit(m);
71
50
  }
72
- });
51
+ return;
52
+ }
73
53
  }
74
54
  }
75
- AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", id: "id", parentId: "parentId", icon: "icon", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visible: "visible", disableField: "disableField", hasChildField: "hasChildField", openMode: "openMode" }, outputs: { onBlur: "onBlur", onFocus: "onFocus" }, host: { classAttribute: "ax-menu" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list; trackBy: _trackLoaded\">\r\n <li [class.ax-state-disabled]=\"item[disableField]\" *ngIf=\"item.visible !=false\" (click)=\"onMenuClick($event,item)\">\r\n <a [ngClass]=\"{'active': item.isActive}\">\r\n <div class=\"ax-menu-start-side\">\r\n <ax-icon [class]=\"item.icon || item[icon]\" *ngIf=\"item.icon || item[icon]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-end-side\">\r\n <ax-icon [ngClass]=\"{'active-icon': item.isOpen}\"\r\n *ngIf=\"item?.children?.length > 0 && !isLoading || item[hasChildField] && !isLoading\" class=\"ax-ic-chevron\">\r\n </ax-icon>\r\n </div>\r\n <ax-loading *ngIf=\"isLoading && item.isActive && item.isOpen\">\r\n </ax-loading>\r\n </a>\r\n <ul [class.ax-state-disabled]=\"item[disableField]\" *ngIf=\"item?.children?.length > 0 && item.isOpen\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", components: [{ type: i1.AXIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i2.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }], directives: [{ type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "trans": i4.AXTranslatorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AXMenuComponent, decorators: [{
55
+ AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
56
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>", directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, decorators: [{
78
58
  type: Component,
79
- args: [{ selector: 'ax-menu', inputs: [...INTERACTIVE_INPUTS, ...BASEMENU_INPUTS], outputs: [...INTERACTIVE_OUTPUT], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-menu' }, template: "<ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list; trackBy: _trackLoaded\">\r\n <li [class.ax-state-disabled]=\"item[disableField]\" *ngIf=\"item.visible !=false\" (click)=\"onMenuClick($event,item)\">\r\n <a [ngClass]=\"{'active': item.isActive}\">\r\n <div class=\"ax-menu-start-side\">\r\n <ax-icon [class]=\"item.icon || item[icon]\" *ngIf=\"item.icon || item[icon]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-end-side\">\r\n <ax-icon [ngClass]=\"{'active-icon': item.isOpen}\"\r\n *ngIf=\"item?.children?.length > 0 && !isLoading || item[hasChildField] && !isLoading\" class=\"ax-ic-chevron\">\r\n </ax-icon>\r\n </div>\r\n <ax-loading *ngIf=\"isLoading && item.isActive && item.isOpen\">\r\n </ax-loading>\r\n </a>\r\n <ul [class.ax-state-disabled]=\"item[disableField]\" *ngIf=\"item?.children?.length > 0 && item.isOpen\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>" }]
80
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _contentEmptyTemplate: [{
59
+ args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>" }]
60
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _contentMenuTemplate: [{
81
61
  type: ContentChild,
82
- args: ['emptyTemplate']
62
+ args: [TemplateRef, { static: true }]
63
+ }], menuTemplate: [{
64
+ type: Input
65
+ }], rtl: [{
66
+ type: Input
67
+ }], onItemClick: [{
68
+ type: Output
69
+ }], size: [{
70
+ type: Input
71
+ }], selection: [{
72
+ type: Input
73
+ }], mode: [{
74
+ type: Input
75
+ }], target: [{
76
+ type: Input
77
+ }], floatAlignment: [{
78
+ type: Input
79
+ }], floatPlacemnet: [{
80
+ type: Input
81
+ }], direction: [{
82
+ type: Input
83
+ }], items: [{
84
+ type: Input
83
85
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFLdkIsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEdBQ25CLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQW1CL0M7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFPbEQsWUFBb0IsVUFBc0IsRUFBVSxHQUFzQjtRQUN4RSxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREwsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBRTFFLENBQUM7SUFMRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBS0QsTUFBTTtRQUNKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQWEsRUFBRSxJQUFTO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2lCQUNwQjtnQkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2hDO2dCQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQzVCO1lBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLElBQUksRUFBRSxJQUFJO2dCQUNWLFdBQVcsRUFBRSxDQUFDO2FBQ2YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7UUFDRCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBWTtRQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDN0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQzdCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEdBaEVVLGVBQWU7Z0dBQWYsZUFBZSw4bEJDaEQ1Qix3bEVBOENjOzJGREVELGVBQWU7a0JBVDNCLFNBQVM7K0JBQ0UsU0FBUyxVQUVYLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLGVBQWUsQ0FBQyxXQUMxQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsbUJBQ2YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7aUlBSWxCLHFCQUFxQjtzQkFENUIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgQ29udGVudENoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VNZW51TWl4aW4gfSBmcm9tICcuLi9iYXNlJztcclxuaW1wb3J0IHsgQkFTRU1FTlVfSU5QVVRTIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9iYXNlLW1lbnUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQge1xyXG4gIElOVEVSQUNUSVZFX0lOUFVUUyxcclxuICBJTlRFUkFDVElWRV9PVVRQVVQsXHJcbn0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYTWVudUl0ZW1zIHtcclxuICBpZD86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuICBwYXJlbnRJZD86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIGRpc2FibGU/OiBib29sZWFuO1xyXG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcclxuICBkYXRhPzogYW55O1xyXG4gIHN0eWxlPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogQVhNZW51SXRlbXNbXTtcclxuICBpc09wZW4/OiBib29sZWFuO1xyXG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcclxuICBvbkNsaWNrPzogKGU/OiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogWy4uLklOVEVSQUNUSVZFX0lOUFVUUywgLi4uQkFTRU1FTlVfSU5QVVRTXSxcclxuICBvdXRwdXRzOiBbLi4uSU5URVJBQ1RJVkVfT1VUUFVUXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1tZW51JyB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKCdlbXB0eVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZ2V0IGVtcHR5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEVtcHR5VGVtcGxhdGU7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihlbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgICBpZiAodGhpcy5oYXNDaGlsZEZpZWxkKSB7XHJcbiAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25WaWV3SW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25NZW51Q2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XHJcbiAgICBpZiAoIWl0ZW1bdGhpcy5kaXNhYmxlRmllbGRdKSB7XHJcbiAgICAgIHRoaXMubm90QWN0aXZlKHRoaXMuZGlzcGxheUl0ZW1zKTtcclxuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgfHwgaXRlbVt0aGlzLmhhc0NoaWxkRmllbGRdKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgaXRlbVt0aGlzLmhhc0NoaWxkRmllbGRdKSB7XHJcbiAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmNsb3NlQ2hpbGQoaXRlbS5jaGlsZHJlbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGl0ZW0uaXNPcGVuID0gIWl0ZW0uaXNPcGVuO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0uaXNBY3RpdmUgPSAhaXRlbS5pc0FjdGl2ZTtcclxuICAgICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGl0ZW06IGl0ZW0sXHJcbiAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoaXRlbS5pc09wZW4gJiYgaXRlbVt0aGlzLmhhc0NoaWxkRmllbGRdKSB7XHJcbiAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKGl0ZW0uaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgbm90QWN0aXZlKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm5vdEFjdGl2ZShlbGVtZW50LmNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNoaWxkKGl0ZW1zOiBhbnlbXSkge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGVtZW50LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUNoaWxkKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHVsPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDp7IGxpc3Q6IGRpc3BsYXlJdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbjwvdWw+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3RUbXBsIGxldC1saXN0PVwibGlzdFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdDsgIHRyYWNrQnk6IF90cmFja0xvYWRlZFwiPlxyXG4gICAgPGxpIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIiAqbmdJZj1cIml0ZW0udmlzaWJsZSAhPWZhbHNlXCIgKGNsaWNrKT1cIm9uTWVudUNsaWNrKCRldmVudCxpdGVtKVwiPlxyXG4gICAgICA8YSBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGl0ZW0uaXNBY3RpdmV9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtc3RhcnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGF4LWljb24gW2NsYXNzXT1cIml0ZW0uaWNvbiB8fCBpdGVtW2ljb25dXCIgKm5nSWY9XCJpdGVtLmljb24gfHwgaXRlbVtpY29uXVwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgIDxzcGFuPnt7X2dldEl0ZW1EaXNwbGF5VGV4dFRlbXBsdGUoaXRlbSl9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1lbmQtc2lkZVwiPlxyXG4gICAgICAgICAgPGF4LWljb24gW25nQ2xhc3NdPVwieydhY3RpdmUtaWNvbic6IGl0ZW0uaXNPcGVufVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgIWlzTG9hZGluZyB8fCBpdGVtW2hhc0NoaWxkRmllbGRdICYmICFpc0xvYWRpbmdcIiBjbGFzcz1cImF4LWljLWNoZXZyb25cIj5cclxuICAgICAgICAgIDwvYXgtaWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cImlzTG9hZGluZyAmJiBpdGVtLmlzQWN0aXZlICYmIGl0ZW0uaXNPcGVuXCI+XHJcbiAgICAgICAgPC9heC1sb2FkaW5nPlxyXG4gICAgICA8L2E+XHJcbiAgICAgIDx1bCBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbVtkaXNhYmxlRmllbGRdXCIgKm5nSWY9XCJpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCAmJiBpdGVtLmlzT3BlblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDp7IGxpc3Q6IGl0ZW0uY2hpbGRyZW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9saT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gIDxuZy10ZW1wbGF0ZT5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTRcIj5cclxuICAgICAgPGF4LWxvYWRpbmcgdGV4dD1cInt7ICdsYXlvdXQubG9hZGluZy50ZXh0JyB8IHRyYW5zIH19XCI+PC9heC1sb2FkaW5nPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjdG1wRW1wdHk+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cclxuICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbXB0eVRlbXBsYXRlOyBlbHNlIGVsc2VFbXB0eVRlbXBsYXRlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbXB0eVRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtXCI+XHJcbiAgICAgICAge3sgJ2NvbW1vbi5uby1yZXN1bHQtZm91bmQnIHwgdHJhbnMgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFHakIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRS9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUErQjtDQUV4RTtBQU9ELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUEvQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFxQm5FLGdCQUFXLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRzNGLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBR3BCLGNBQVMsR0FBbUMsTUFBTSxDQUFDO1FBR25ELFNBQUksR0FBK0MsU0FBUyxDQUFDO1FBYzdELGNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBM0MzRCxDQUFDO0lBTUQsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBa0NELElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBZTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQztJQUdELGVBQWUsQ0FBQyxDQUFhLEVBQUUsSUFBaUI7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25HLE1BQU0sQ0FBQyxHQUFHO2dCQUNSLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7Z0JBQ25DLFNBQVMsRUFBRSxDQUFDO2dCQUNaLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUNqQixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDaEI7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFFRCxPQUFPO1NBQ1I7SUFDSCxDQUFDOzs2R0FuRlUsZUFBZTtpR0FBZixlQUFlLGtYQUtaLFdBQVcsOERDL0IzQiwwOEhBeUVjOzRGRC9DRCxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSTtpSUFRckMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2hDLFlBQVk7c0JBRHRCLEtBQUs7Z0JBV04sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQU1DLFNBQVM7c0JBRGYsS0FBSztnQkFLSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgTmdab25lLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbnRlbnRDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBsYWNlbWVudCwgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYTWVudUl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhFdmVudDxBWE1lbnVJdGVtLCBNb3VzZUV2ZW50PiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBfY29udGVudE1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBfbWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtZW51VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWVudVRlbXBsYXRlID8gdGhpcy5fbWVudVRlbXBsYXRlIDogdGhpcy5fY29udGVudE1lbnVUZW1wbGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBtZW51VGVtcGxhdGUodjogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgdGhpcy5fbWVudVRlbXBsYXRlID0gdjtcclxuICB9XHJcblxyXG4gIHJlc2l6ZUNoYW5nZU9ic2VydmVyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnRsOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYTWVudUl0ZW1DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGlvbjogJ25vbmUnIHwgJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ25vbmUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlOiAnY2xpY2snIHwgJ2NvbnRleHQnIHwgJ3Zpc2libGUnIHwgJ21hbnVhbCcgPSAndmlzaWJsZSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhcmdldDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmbG9hdEFsaWdubWVudDogQVhQbGFjZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZsb2F0UGxhY2VtbmV0OiBBWFBsYWNlbWVudDtcclxuXHJcbiAgcHVibGljIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIHByaXZhdGUgX2l0ZW1zOiBBWE1lbnVJdGVtW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEFYTWVudUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaXRlbXModjogQVhNZW51SXRlbVtdKSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucnRsID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGhhbmRsZUl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtPzogQVhNZW51SXRlbSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChpdGVtICYmICghaXRlbS5pdGVtcyB8fCAhaXRlbS5pdGVtcy5maWx0ZXIoKGMpID0+IGMudmlzaWJsZSAhPT0gZmFsc2UpLmxlbmd0aCkgJiYgIWl0ZW0uZGlzYWJsZSkge1xyXG4gICAgICBjb25zdCBtID0ge1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICBodG1sRXZlbnQ6IGUsXHJcbiAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICBuYW1lOiBpdGVtPy5uYW1lXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChpdGVtLm9uQ2xpY2spIHtcclxuICAgICAgICBpdGVtLm9uQ2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQobSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiYXggbWVudS1jb250YWluZXIge3tzaXplfX1cIiAjY29udGFpbmVyPlxyXG4gIDx1bCBjbGFzcz1cInJvb3RcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy52ZXJ0aWNhbF09XCJkaXJlY3Rpb249PSd2ZXJ0aWNhbCdcIiAjcm9vdD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdCBsZXQtbGlzdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0O3RyYWNrQnk6dHJhY2tCeUl0ZW1cIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbSBheCB7e2l0ZW0udHlwZSB8fCAnYXggcHJpbWFyeSd9fSB7e2l0ZW0uc3R5bGUgfHwgJ2F4IHByaW1hcnknfX1cIiBbY2xhc3MuZGlzYWJsZWRdPSdpdGVtLmRpc2FibGUnICBbY2xhc3Muc3ViSWNvbl09J2l0ZW0uaXRlbXMnIFtjbGFzcy5zdGFydEljb25dPSdpdGVtLnN0YXJ0SWNvbicgW2NsYXNzLnN0YXJ0SWNvbl09J2l0ZW0uaWNvbicgW2NsYXNzLmVuZEljb25dPSdpdGVtLmVuZEljb24nICpuZ0lmPVwiaXRlbS52aXNpYmxlIT1mYWxzZVwiIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFtjbGFzcy5kaXZpZGVyXT1cIml0ZW0uZGl2aWRlclwiIFthdHRyLnRpdGxlXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6IG51bGxcIlxyXG4gICAgICAgICAgW2F0dHIuZGF0YS11aWRdPVwiaXRlbS51aWRcIlxyXG4gICAgICAgICAgW2NsYXNzLnNwbGl0XT1cIml0ZW0uc3BsaXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXNpZGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUZW1wbGF0ZTsgZWxzZSBtZW51Qm9keVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudUJvZHk+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uc3RhcnRJY29uIH19IHN0YXJ0LWljb24gYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW0uc3RhcnRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uZW5kSWNvbiB9fSBlbmQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5lbmRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1pY29uLXNpZGVcIiAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW5cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYW5nbGUtZG93biBheC1tZW51LWl0ZW0tZHJvcC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVxyXG4gICAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8bGkgY2xhc3M9XCJtb3JlXCIgI21vcmVMSSAoY2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYmFyc1wiPjwvaT5cclxuICAgICAgPHVsICNtb3JlVUwgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj48L3VsPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj4gLS0+XHJcblxyXG48bmF2PlxyXG4gIDx1bCBjbGFzcz1cImF4IG5hdi1tZW51XCIgW2NsYXNzLnJ0bF09XCJydGxcIiBbY2xhc3MubmF2LWNlbnRlcl09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiXHJcbiAgICBbY2xhc3MubmF2LXZlcnRpY2FsXT1cImRpcmVjdGlvbj09J3ZlcnRpY2FsJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW1zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L25hdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTWVudSBsZXQtaXRlbXM+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgPGxpIGNsYXNzPVwiYXgge3tpdGVtLnN0eWxlfX1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogaXRlbS5kaXNhYmxlfVwiXHJcbiAgICAgICpuZ0lmPVwiaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgaXRlbS52aXNpYmxlXCIgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIiBheFRvb2x0aXBcclxuICAgICAgW3BsYWNlbWVudF09XCJpdGVtLnRvb2x0aXBQbGFjZW1lbnQgPyBpdGVtLnRvb2x0aXBQbGFjZW1lbnQgOiAnYm90dG9tJ1wiXHJcbiAgICAgIFt0b29sdGlwXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6ICcnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1cIiA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tc3RhcnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLnN0YXJ0SWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1tZW51LWl0ZW0tdGV4dFwiICpuZ0lmPVwiaXRlbS50ZXh0XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZW5kLXNpZGVcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWRvd24gZHJvcC1pY29uXCIgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0udGV4dFwiPjwvaT5cclxuICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5lbmRJY29uIH19XCIgKm5nSWY9XCJpdGVtLmVuZEljb25cIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx1bCAqbmdJZj1cIml0ZW0uaXRlbXNcIiBjbGFzcz1cImF4LXN1Yi1tZW51XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9saT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=