@wavemaker/app-ng-runtime 11.10.5-rc.6100 → 11.11.0-rc.6106

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 (1167) hide show
  1. package/build-task/bundles/index.umd.js +94 -68
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +8 -8
  3. package/build-task/esm2022/containers/repeat-template.build.mjs +5 -5
  4. package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +2 -2
  5. package/build-task/esm2022/containers/wizard/wizard.build.mjs +33 -4
  6. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +10 -10
  7. package/build-task/esm2022/data/table/table-column/table-column.build.mjs +15 -11
  8. package/build-task/esm2022/page/page.build.mjs +2 -8
  9. package/build-task/esm2022/public_api.mjs +1 -1
  10. package/build-task/fesm2022/index.mjs +95 -69
  11. package/build-task/fesm2022/index.mjs.map +1 -1
  12. package/components/advanced/carousel/bundles/index.umd.js +8 -36
  13. package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
  14. package/components/advanced/carousel/carousel.directive.d.ts +1 -1
  15. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +3 -2
  16. package/components/advanced/carousel/esm2022/carousel.directive.mjs +3 -2
  17. package/components/advanced/carousel/esm2022/public_api.mjs +1 -2
  18. package/components/advanced/carousel/fesm2022/index.mjs +8 -36
  19. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  20. package/components/advanced/carousel/public_api.d.ts +0 -1
  21. package/components/advanced/custom/bundles/index.umd.js +8 -33
  22. package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
  23. package/components/advanced/custom/custom-widget.directive.d.ts +1 -1
  24. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +3 -2
  25. package/components/advanced/custom/esm2022/custom-widget.directive.mjs +3 -2
  26. package/components/advanced/custom/esm2022/public_api.mjs +1 -2
  27. package/components/advanced/custom/fesm2022/index.mjs +7 -32
  28. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  29. package/components/advanced/custom/public_api.d.ts +0 -1
  30. package/components/advanced/login/bundles/index.umd.js +10 -34
  31. package/components/advanced/login/esm2022/login.component.mjs +7 -6
  32. package/components/advanced/login/esm2022/public_api.mjs +1 -2
  33. package/components/advanced/login/fesm2022/index.mjs +8 -32
  34. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  35. package/components/advanced/login/login.component.d.ts +1 -1
  36. package/components/advanced/login/public_api.d.ts +0 -1
  37. package/components/advanced/marquee/bundles/index.umd.js +6 -29
  38. package/components/advanced/marquee/esm2022/marquee.directive.mjs +3 -2
  39. package/components/advanced/marquee/esm2022/public_api.mjs +1 -2
  40. package/components/advanced/marquee/fesm2022/index.mjs +5 -28
  41. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  42. package/components/advanced/marquee/marquee.directive.d.ts +1 -1
  43. package/components/advanced/marquee/public_api.d.ts +0 -1
  44. package/components/base/bundles/index.umd.js +76 -274
  45. package/components/base/components.module.d.ts +13 -15
  46. package/components/base/directives/show-in-device.directive.d.ts +1 -1
  47. package/components/base/esm2022/components.module.mjs +7 -13
  48. package/components/base/esm2022/directives/show-in-device.directive.mjs +3 -2
  49. package/components/base/esm2022/pipes/custom-pipes.mjs +32 -16
  50. package/components/base/esm2022/pipes/image.pipe.mjs +3 -2
  51. package/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -2
  52. package/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -2
  53. package/components/base/esm2022/public_api.mjs +1 -2
  54. package/components/base/esm2022/utils/form-utils.mjs +2 -1
  55. package/components/base/esm2022/utils/live-utils.mjs +3 -7
  56. package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
  57. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
  58. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  59. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
  60. package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
  61. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  62. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
  63. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
  64. package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
  65. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  66. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
  67. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
  68. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
  69. package/components/base/fesm2022/index.mjs +76 -272
  70. package/components/base/fesm2022/index.mjs.map +1 -1
  71. package/components/base/pipes/custom-pipes.d.ts +16 -16
  72. package/components/base/pipes/image.pipe.d.ts +1 -1
  73. package/components/base/pipes/sanitize.pipe.d.ts +1 -1
  74. package/components/base/pipes/trust-as.pipe.d.ts +1 -1
  75. package/components/base/public_api.d.ts +0 -1
  76. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
  77. package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  78. package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
  79. package/components/base/widgets/common/container/container.directive.d.ts +1 -1
  80. package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
  81. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  82. package/components/base/widgets/common/message/message.component.d.ts +1 -1
  83. package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
  84. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
  85. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
  86. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
  87. package/components/basic/default/anchor/anchor.component.d.ts +1 -1
  88. package/components/basic/default/audio/audio.component.d.ts +1 -1
  89. package/components/basic/default/bundles/index.umd.js +100 -148
  90. package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
  91. package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
  92. package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
  93. package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
  94. package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
  95. package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
  96. package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
  97. package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
  98. package/components/basic/default/esm2022/public_api.mjs +1 -2
  99. package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
  100. package/components/basic/default/esm2022/video/video.component.mjs +19 -18
  101. package/components/basic/default/fesm2022/index.mjs +101 -148
  102. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  103. package/components/basic/default/html/html.directive.d.ts +1 -1
  104. package/components/basic/default/icon/icon.component.d.ts +1 -1
  105. package/components/basic/default/iframe/iframe.component.d.ts +1 -1
  106. package/components/basic/default/label/label.directive.d.ts +1 -1
  107. package/components/basic/default/picture/picture.directive.d.ts +1 -1
  108. package/components/basic/default/public_api.d.ts +0 -1
  109. package/components/basic/default/spinner/spinner.component.d.ts +1 -1
  110. package/components/basic/default/video/video.component.d.ts +1 -1
  111. package/components/basic/progress/bundles/index.umd.js +20 -51
  112. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
  113. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  114. package/components/basic/progress/esm2022/public_api.mjs +1 -2
  115. package/components/basic/progress/fesm2022/index.mjs +19 -49
  116. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  117. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
  118. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
  119. package/components/basic/progress/public_api.d.ts +0 -1
  120. package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
  121. package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
  122. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
  123. package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
  124. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  125. package/components/basic/rich-text-editor/public_api.d.ts +0 -1
  126. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  127. package/components/basic/search/bundles/index.umd.js +170 -207
  128. package/components/basic/search/esm2022/public_api.mjs +1 -2
  129. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
  130. package/components/basic/search/esm2022/search.component.mjs +76 -72
  131. package/components/basic/search/fesm2022/index.mjs +107 -143
  132. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  133. package/components/basic/search/public_api.d.ts +0 -1
  134. package/components/basic/search/scrollable.directive.d.ts +1 -1
  135. package/components/basic/search/search.component.d.ts +1 -1
  136. package/components/basic/tree/bundles/index.umd.js +9 -33
  137. package/components/basic/tree/esm2022/public_api.mjs +1 -2
  138. package/components/basic/tree/esm2022/tree.component.mjs +7 -6
  139. package/components/basic/tree/fesm2022/index.mjs +8 -32
  140. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  141. package/components/basic/tree/public_api.d.ts +0 -1
  142. package/components/basic/tree/tree.component.d.ts +1 -1
  143. package/components/chart/bundles/index.umd.js +25 -53
  144. package/components/chart/chart.component.d.ts +1 -1
  145. package/components/chart/esm2022/chart.component.mjs +26 -24
  146. package/components/chart/esm2022/chart.utils.mjs +2 -1
  147. package/components/chart/esm2022/public_api.mjs +1 -2
  148. package/components/chart/fesm2022/index.mjs +26 -52
  149. package/components/chart/fesm2022/index.mjs.map +1 -1
  150. package/components/chart/public_api.d.ts +0 -1
  151. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
  152. package/components/containers/accordion/accordion.directive.d.ts +1 -1
  153. package/components/containers/accordion/bundles/index.umd.js +208 -237
  154. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
  155. package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
  156. package/components/containers/accordion/esm2022/public_api.mjs +1 -2
  157. package/components/containers/accordion/fesm2022/index.mjs +189 -217
  158. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  159. package/components/containers/accordion/public_api.d.ts +0 -1
  160. package/components/containers/layout-grid/bundles/index.umd.js +13 -43
  161. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
  162. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
  163. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
  164. package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
  165. package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
  166. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  167. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
  168. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
  169. package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
  170. package/components/containers/layout-grid/public_api.d.ts +0 -1
  171. package/components/containers/linear-layout/bundles/index.umd.js +8 -33
  172. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
  173. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
  174. package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
  175. package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
  176. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  177. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
  178. package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
  179. package/components/containers/linear-layout/public_api.d.ts +0 -1
  180. package/components/containers/panel/bundles/index.umd.js +87 -118
  181. package/components/containers/panel/esm2022/panel.component.mjs +48 -46
  182. package/components/containers/panel/esm2022/public_api.mjs +1 -2
  183. package/components/containers/panel/fesm2022/index.mjs +49 -79
  184. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  185. package/components/containers/panel/panel.component.d.ts +1 -1
  186. package/components/containers/panel/public_api.d.ts +0 -1
  187. package/components/containers/tabs/bundles/index.umd.js +84 -116
  188. package/components/containers/tabs/esm2022/public_api.mjs +1 -2
  189. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
  190. package/components/containers/tabs/esm2022/tabs.component.mjs +35 -33
  191. package/components/containers/tabs/esm2022/tabs.props.mjs +1 -5
  192. package/components/containers/tabs/fesm2022/index.mjs +45 -76
  193. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  194. package/components/containers/tabs/public_api.d.ts +0 -1
  195. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
  196. package/components/containers/tabs/tabs.component.d.ts +1 -1
  197. package/components/containers/tile/bundles/index.umd.js +6 -29
  198. package/components/containers/tile/esm2022/public_api.mjs +1 -2
  199. package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
  200. package/components/containers/tile/fesm2022/index.mjs +5 -28
  201. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  202. package/components/containers/tile/public_api.d.ts +0 -1
  203. package/components/containers/tile/tile.directive.d.ts +1 -1
  204. package/components/containers/wizard/bundles/index.umd.js +355 -186
  205. package/components/containers/wizard/esm2022/public_api.mjs +2 -3
  206. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
  207. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
  208. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
  209. package/components/containers/wizard/esm2022/wizard.component.mjs +264 -102
  210. package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
  211. package/components/containers/wizard/fesm2022/index.mjs +323 -152
  212. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  213. package/components/containers/wizard/public_api.d.ts +1 -2
  214. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
  215. package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
  216. package/components/containers/wizard/wizard.component.d.ts +64 -18
  217. package/components/data/card/bundles/index.umd.js +92 -135
  218. package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
  219. package/components/data/card/card-content/card-content.component.d.ts +1 -1
  220. package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
  221. package/components/data/card/card.component.d.ts +1 -1
  222. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
  223. package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
  224. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
  225. package/components/data/card/esm2022/card.component.mjs +39 -38
  226. package/components/data/card/esm2022/public_api.mjs +1 -2
  227. package/components/data/card/fesm2022/index.mjs +49 -92
  228. package/components/data/card/fesm2022/index.mjs.map +1 -1
  229. package/components/data/card/public_api.d.ts +0 -1
  230. package/components/data/form/bundles/index.umd.js +115 -182
  231. package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  232. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
  233. package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
  234. package/components/data/form/esm2022/form.component.mjs +101 -104
  235. package/components/data/form/esm2022/form.props.mjs +1 -11
  236. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
  237. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
  238. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  239. package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
  240. package/components/data/form/esm2022/public_api.mjs +1 -2
  241. package/components/data/form/fesm2022/index.mjs +117 -184
  242. package/components/data/form/fesm2022/index.mjs.map +1 -1
  243. package/components/data/form/form-action/form-action.directive.d.ts +1 -1
  244. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  245. package/components/data/form/form-widget.directive.d.ts +1 -1
  246. package/components/data/form/form.component.d.ts +1 -1
  247. package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
  248. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
  249. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
  250. package/components/data/form/live-form/live-form.directive.d.ts +1 -1
  251. package/components/data/form/public_api.d.ts +0 -1
  252. package/components/data/list/bundles/index.umd.js +195 -504
  253. package/components/data/list/esm2022/list-item.directive.mjs +4 -3
  254. package/components/data/list/esm2022/list.component.mjs +187 -232
  255. package/components/data/list/esm2022/list.props.mjs +2 -3
  256. package/components/data/list/esm2022/public_api.mjs +1 -2
  257. package/components/data/list/fesm2022/index.mjs +193 -502
  258. package/components/data/list/fesm2022/index.mjs.map +1 -1
  259. package/components/data/list/list-item.directive.d.ts +1 -1
  260. package/components/data/list/list.component.d.ts +1 -1
  261. package/components/data/list/public_api.d.ts +0 -1
  262. package/components/data/live-table/bundles/index.umd.js +9 -33
  263. package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
  264. package/components/data/live-table/esm2022/public_api.mjs +1 -2
  265. package/components/data/live-table/fesm2022/index.mjs +8 -32
  266. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  267. package/components/data/live-table/live-table.component.d.ts +1 -1
  268. package/components/data/live-table/public_api.d.ts +0 -1
  269. package/components/data/pagination/bundles/index.umd.js +80 -110
  270. package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
  271. package/components/data/pagination/esm2022/public_api.mjs +1 -2
  272. package/components/data/pagination/fesm2022/index.mjs +81 -110
  273. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  274. package/components/data/pagination/pagination.component.d.ts +1 -1
  275. package/components/data/pagination/public_api.d.ts +0 -1
  276. package/components/data/table/bundles/index.umd.js +66 -135
  277. package/components/data/table/esm2022/public_api.mjs +1 -2
  278. package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  279. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  280. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
  281. package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
  282. package/components/data/table/esm2022/table-filter.directive.mjs +4 -2
  283. package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
  284. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  285. package/components/data/table/esm2022/table.component.mjs +50 -49
  286. package/components/data/table/fesm2022/index.mjs +70 -140
  287. package/components/data/table/fesm2022/index.mjs.map +1 -1
  288. package/components/data/table/public_api.d.ts +0 -1
  289. package/components/data/table/table-action/table-action.directive.d.ts +1 -1
  290. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  291. package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
  292. package/components/data/table/table-cud.directive.d.ts +1 -1
  293. package/components/data/table/table-filter.directive.d.ts +1 -1
  294. package/components/data/table/table-row/table-row.directive.d.ts +1 -1
  295. package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
  296. package/components/data/table/table.component.d.ts +1 -1
  297. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  298. package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
  299. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
  300. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
  301. package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
  302. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  303. package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
  304. package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
  305. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  306. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
  307. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
  308. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
  309. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  310. package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
  311. package/components/dialogs/default/bundles/index.umd.js +76 -136
  312. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
  313. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
  314. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
  315. package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  316. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
  317. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
  318. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
  319. package/components/dialogs/default/esm2022/public_api.mjs +1 -2
  320. package/components/dialogs/default/fesm2022/index.mjs +78 -137
  321. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  322. package/components/dialogs/default/public_api.d.ts +0 -1
  323. package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
  324. package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
  325. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
  326. package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
  327. package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
  328. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  329. package/components/dialogs/design-dialog/public_api.d.ts +0 -1
  330. package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
  331. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
  332. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
  333. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
  334. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  335. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  336. package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
  337. package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
  338. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
  339. package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
  340. package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
  341. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  342. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
  343. package/components/dialogs/login-dialog/public_api.d.ts +0 -1
  344. package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
  345. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
  346. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
  347. package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
  348. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  349. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
  350. package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
  351. package/components/input/calendar/bundles/index.umd.js +19 -46
  352. package/components/input/calendar/calendar.component.d.ts +1 -1
  353. package/components/input/calendar/esm2022/calendar.component.mjs +24 -10
  354. package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
  355. package/components/input/calendar/esm2022/public_api.mjs +1 -2
  356. package/components/input/calendar/fesm2022/index.mjs +26 -48
  357. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  358. package/components/input/calendar/public_api.d.ts +0 -1
  359. package/components/input/chips/bundles/index.umd.js +86 -114
  360. package/components/input/chips/chips.component.d.ts +1 -1
  361. package/components/input/chips/esm2022/chips.component.mjs +28 -27
  362. package/components/input/chips/esm2022/public_api.mjs +1 -2
  363. package/components/input/chips/fesm2022/index.mjs +29 -56
  364. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  365. package/components/input/chips/public_api.d.ts +0 -1
  366. package/components/input/color-picker/bundles/index.umd.js +10 -40
  367. package/components/input/color-picker/color-picker.component.d.ts +1 -1
  368. package/components/input/color-picker/esm2022/color-picker.component.mjs +10 -6
  369. package/components/input/color-picker/esm2022/public_api.mjs +1 -2
  370. package/components/input/color-picker/fesm2022/index.mjs +11 -40
  371. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  372. package/components/input/color-picker/public_api.d.ts +0 -1
  373. package/components/input/currency/bundles/index.umd.js +11 -41
  374. package/components/input/currency/currency.component.d.ts +1 -1
  375. package/components/input/currency/esm2022/currency.component.mjs +8 -6
  376. package/components/input/currency/esm2022/public_api.mjs +1 -2
  377. package/components/input/currency/fesm2022/index.mjs +11 -41
  378. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  379. package/components/input/currency/public_api.d.ts +0 -1
  380. package/components/input/default/bundles/index.umd.js +2183 -2263
  381. package/components/input/default/button/button.component.d.ts +1 -1
  382. package/components/input/default/button-group/button-group.directive.d.ts +1 -1
  383. package/components/input/default/caption-position.directive.d.ts +1 -1
  384. package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
  385. package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
  386. package/components/input/default/composite/composite.directive.d.ts +1 -1
  387. package/components/input/default/esm2022/button/button.component.mjs +23 -21
  388. package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
  389. package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  390. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
  391. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
  392. package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
  393. package/components/input/default/esm2022/number/number.component.mjs +9 -6
  394. package/components/input/default/esm2022/public_api.mjs +1 -2
  395. package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
  396. package/components/input/default/esm2022/select/select.component.mjs +29 -32
  397. package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
  398. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
  399. package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
  400. package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
  401. package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
  402. package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
  403. package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
  404. package/components/input/default/fesm2022/index.mjs +2198 -2277
  405. package/components/input/default/fesm2022/index.mjs.map +1 -1
  406. package/components/input/default/number/number.component.d.ts +1 -1
  407. package/components/input/default/public_api.d.ts +0 -1
  408. package/components/input/default/radioset/radioset.component.d.ts +1 -1
  409. package/components/input/default/select/select.component.d.ts +1 -1
  410. package/components/input/default/switch/switch.component.d.ts +1 -1
  411. package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
  412. package/components/input/default/text/color/input-color.component.d.ts +1 -1
  413. package/components/input/default/text/email/input-email.component.d.ts +1 -1
  414. package/components/input/default/text/number/input-number.component.d.ts +1 -1
  415. package/components/input/default/text/text/input-text.component.d.ts +1 -1
  416. package/components/input/default/textarea/textarea.component.d.ts +1 -1
  417. package/components/input/epoch/base-date-time.component.d.ts +0 -1
  418. package/components/input/epoch/bundles/index.umd.js +181 -229
  419. package/components/input/epoch/date/date.component.d.ts +1 -1
  420. package/components/input/epoch/date/imaskUtil.d.ts +2 -2
  421. package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
  422. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  423. package/components/input/epoch/esm2022/base-date-time.component.mjs +5 -9
  424. package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
  425. package/components/input/epoch/esm2022/date/imaskUtil.mjs +2 -1
  426. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +75 -62
  427. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +27 -24
  428. package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
  429. package/components/input/epoch/esm2022/public_api.mjs +1 -2
  430. package/components/input/epoch/esm2022/time/time.component.mjs +24 -21
  431. package/components/input/epoch/fesm2022/index.mjs +158 -204
  432. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  433. package/components/input/epoch/picker/picker.component.d.ts +2 -2
  434. package/components/input/epoch/public_api.d.ts +0 -1
  435. package/components/input/epoch/time/time.component.d.ts +1 -1
  436. package/components/input/file-upload/bundles/index.umd.js +135 -178
  437. package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
  438. package/components/input/file-upload/esm2022/public_api.mjs +1 -2
  439. package/components/input/file-upload/fesm2022/index.mjs +133 -175
  440. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  441. package/components/input/file-upload/file-upload.component.d.ts +1 -2
  442. package/components/input/file-upload/public_api.d.ts +0 -1
  443. package/components/input/rating/bundles/index.umd.js +50 -77
  444. package/components/input/rating/esm2022/public_api.mjs +1 -2
  445. package/components/input/rating/esm2022/rating.component.mjs +23 -20
  446. package/components/input/rating/fesm2022/index.mjs +23 -49
  447. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  448. package/components/input/rating/public_api.d.ts +0 -1
  449. package/components/input/rating/rating.component.d.ts +1 -1
  450. package/components/input/slider/bundles/index.umd.js +35 -63
  451. package/components/input/slider/esm2022/public_api.mjs +1 -2
  452. package/components/input/slider/esm2022/slider.component.mjs +15 -13
  453. package/components/input/slider/fesm2022/index.mjs +15 -42
  454. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  455. package/components/input/slider/public_api.d.ts +0 -1
  456. package/components/input/slider/slider.component.d.ts +1 -1
  457. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  458. package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
  459. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
  460. package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
  461. package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
  462. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  463. package/components/navigation/breadcrumb/public_api.d.ts +0 -1
  464. package/components/navigation/menu/bundles/index.umd.js +642 -696
  465. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
  466. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
  467. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
  468. package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
  469. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
  470. package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
  471. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
  472. package/components/navigation/menu/esm2022/public_api.mjs +1 -2
  473. package/components/navigation/menu/fesm2022/index.mjs +534 -587
  474. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  475. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
  476. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
  477. package/components/navigation/menu/menu.component.d.ts +1 -1
  478. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
  479. package/components/navigation/menu/nav/nav.component.d.ts +1 -1
  480. package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
  481. package/components/navigation/menu/public_api.d.ts +0 -1
  482. package/components/navigation/navbar/bundles/index.umd.js +20 -44
  483. package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
  484. package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
  485. package/components/navigation/navbar/fesm2022/index.mjs +18 -41
  486. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  487. package/components/navigation/navbar/navbar.component.d.ts +1 -1
  488. package/components/navigation/navbar/public_api.d.ts +0 -1
  489. package/components/navigation/popover/bundles/index.umd.js +12 -43
  490. package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
  491. package/components/navigation/popover/esm2022/public_api.mjs +1 -2
  492. package/components/navigation/popover/fesm2022/index.mjs +11 -41
  493. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  494. package/components/navigation/popover/popover.component.d.ts +1 -1
  495. package/components/navigation/popover/public_api.d.ts +0 -1
  496. package/components/page/default/bundles/index.umd.js +96 -138
  497. package/components/page/default/content/content.component.d.ts +1 -1
  498. package/components/page/default/esm2022/content/content.component.mjs +7 -6
  499. package/components/page/default/esm2022/layout.directive.mjs +3 -2
  500. package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
  501. package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
  502. package/components/page/default/esm2022/page.directive.mjs +3 -2
  503. package/components/page/default/esm2022/public_api.mjs +1 -2
  504. package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
  505. package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
  506. package/components/page/default/fesm2022/index.mjs +96 -138
  507. package/components/page/default/fesm2022/index.mjs.map +1 -1
  508. package/components/page/default/layout.directive.d.ts +1 -1
  509. package/components/page/default/page-content/page-content.component.d.ts +1 -1
  510. package/components/page/default/page.directive.d.ts +1 -1
  511. package/components/page/default/public_api.d.ts +0 -1
  512. package/components/page/default/router-outlet.directive.d.ts +1 -1
  513. package/components/page/default/spa-page.directive.d.ts +1 -1
  514. package/components/page/footer/bundles/index.umd.js +6 -29
  515. package/components/page/footer/esm2022/footer.directive.mjs +3 -2
  516. package/components/page/footer/esm2022/public_api.mjs +1 -2
  517. package/components/page/footer/fesm2022/index.mjs +5 -28
  518. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  519. package/components/page/footer/footer.directive.d.ts +1 -1
  520. package/components/page/footer/public_api.d.ts +0 -1
  521. package/components/page/header/bundles/index.umd.js +9 -33
  522. package/components/page/header/esm2022/header.component.mjs +7 -6
  523. package/components/page/header/esm2022/public_api.mjs +1 -2
  524. package/components/page/header/fesm2022/index.mjs +8 -32
  525. package/components/page/header/fesm2022/index.mjs.map +1 -1
  526. package/components/page/header/header.component.d.ts +1 -1
  527. package/components/page/header/public_api.d.ts +0 -1
  528. package/components/page/left-panel/bundles/index.umd.js +6 -29
  529. package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
  530. package/components/page/left-panel/esm2022/public_api.mjs +1 -2
  531. package/components/page/left-panel/fesm2022/index.mjs +5 -28
  532. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  533. package/components/page/left-panel/left-panel.directive.d.ts +1 -1
  534. package/components/page/left-panel/public_api.d.ts +0 -1
  535. package/components/page/right-panel/bundles/index.umd.js +6 -29
  536. package/components/page/right-panel/esm2022/public_api.mjs +1 -2
  537. package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
  538. package/components/page/right-panel/fesm2022/index.mjs +5 -28
  539. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  540. package/components/page/right-panel/public_api.d.ts +0 -1
  541. package/components/page/right-panel/right-panel.directive.d.ts +1 -1
  542. package/components/page/top-nav/bundles/index.umd.js +6 -29
  543. package/components/page/top-nav/esm2022/public_api.mjs +1 -2
  544. package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
  545. package/components/page/top-nav/fesm2022/index.mjs +5 -28
  546. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  547. package/components/page/top-nav/public_api.d.ts +0 -1
  548. package/components/page/top-nav/top-nav.directive.d.ts +1 -1
  549. package/components/prefab/bundles/index.umd.js +8 -33
  550. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  551. package/components/prefab/esm2022/prefab.directive.mjs +3 -2
  552. package/components/prefab/esm2022/public_api.mjs +1 -2
  553. package/components/prefab/fesm2022/index.mjs +7 -32
  554. package/components/prefab/fesm2022/index.mjs.map +1 -1
  555. package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
  556. package/components/prefab/prefab.directive.d.ts +1 -1
  557. package/components/prefab/public_api.d.ts +0 -1
  558. package/core/bundles/index.umd.js +30 -85
  559. package/core/esm2022/public_api.mjs +2 -3
  560. package/core/esm2022/utils/build-utils.mjs +9 -5
  561. package/core/esm2022/utils/utils.mjs +11 -40
  562. package/core/fesm2022/index.mjs +31 -81
  563. package/core/fesm2022/index.mjs.map +1 -1
  564. package/core/public_api.d.ts +1 -2
  565. package/core/utils/utils.d.ts +1 -3
  566. package/http/bundles/index.umd.js +9 -34
  567. package/http/esm2022/http.service.mjs +6 -3
  568. package/http/esm2022/public_api.mjs +4 -2
  569. package/http/fesm2022/index.mjs +9 -34
  570. package/http/fesm2022/index.mjs.map +1 -1
  571. package/http/public_api.d.ts +3 -1
  572. package/npm-shrinkwrap.json +2 -2
  573. package/oAuth/bundles/index.umd.js +7 -42
  574. package/oAuth/esm2022/oAuth.utils.mjs +6 -23
  575. package/oAuth/esm2022/public_api.mjs +1 -2
  576. package/oAuth/fesm2022/index.mjs +7 -40
  577. package/oAuth/fesm2022/index.mjs.map +1 -1
  578. package/oAuth/public_api.d.ts +0 -1
  579. package/package-lock.json +2 -2
  580. package/package.json +1 -1
  581. package/runtime/base/bundles/index.umd.js +681 -596
  582. package/runtime/base/components/app-component/app.component.d.ts +1 -1
  583. package/runtime/base/components/app-spinner.component.d.ts +1 -1
  584. package/runtime/base/components/custom-toaster.component.d.ts +1 -1
  585. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
  586. package/runtime/base/components/prefab-preview.component.d.ts +1 -1
  587. package/runtime/base/directives/accessroles.directive.d.ts +1 -1
  588. package/runtime/base/directives/prefab.directive.d.ts +1 -1
  589. package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
  590. package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
  591. package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
  592. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
  593. package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
  594. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  595. package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
  596. package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
  597. package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
  598. package/runtime/base/esm2022/public_api.mjs +1 -1
  599. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
  600. package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
  601. package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
  602. package/runtime/base/esm2022/services/i18n.service.mjs +37 -72
  603. package/runtime/base/fesm2022/index.mjs +689 -605
  604. package/runtime/base/fesm2022/index.mjs.map +1 -1
  605. package/runtime/base/runtime-base.module.d.ts +115 -84
  606. package/runtime/base/services/i18n.service.d.ts +1 -1
  607. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
  608. package/runtime/dynamic/bundles/index.umd.js +113 -69
  609. package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
  610. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
  611. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -2
  612. package/runtime/dynamic/esm2022/main.mjs +2 -7
  613. package/runtime/dynamic/fesm2022/index.mjs +159 -114
  614. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  615. package/security/bundles/index.umd.js +3 -34
  616. package/security/esm2022/public_api.mjs +1 -2
  617. package/security/esm2022/security.service.mjs +4 -15
  618. package/security/fesm2022/index.mjs +5 -32
  619. package/security/fesm2022/index.mjs.map +1 -1
  620. package/security/public_api.d.ts +0 -1
  621. package/transpiler/bundles/index.umd.js +271 -168
  622. package/transpiler/esm2022/build.mjs +1 -6
  623. package/transpiler/esm2022/imports.mjs +268 -161
  624. package/transpiler/fesm2022/index.mjs +267 -165
  625. package/transpiler/fesm2022/index.mjs.map +1 -1
  626. package/variables/bundles/index.umd.js +14 -198
  627. package/variables/constants/variables.constants.d.ts +0 -2
  628. package/variables/esm2022/constants/variables.constants.mjs +1 -3
  629. package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
  630. package/variables/esm2022/factory/variable.factory.mjs +1 -5
  631. package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
  632. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
  633. package/variables/esm2022/public_api.mjs +1 -5
  634. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
  635. package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
  636. package/variables/esm2022/util/variable/variables.utils.mjs +4 -19
  637. package/variables/fesm2022/index.mjs +15 -198
  638. package/variables/fesm2022/index.mjs.map +1 -1
  639. package/variables/public_api.d.ts +0 -4
  640. package/components/advanced/carousel/carousel.module.d.ts +0 -11
  641. package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
  642. package/components/advanced/custom/custom-widget.module.d.ts +0 -10
  643. package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  644. package/components/advanced/login/esm2022/login.module.mjs +0 -28
  645. package/components/advanced/login/login.module.d.ts +0 -9
  646. package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
  647. package/components/advanced/marquee/marquee.module.d.ts +0 -9
  648. package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
  649. package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
  650. package/components/basic/default/basic.module.d.ts +0 -17
  651. package/components/basic/default/esm2022/basic.module.mjs +0 -60
  652. package/components/basic/progress/esm2022/progress.module.mjs +0 -36
  653. package/components/basic/progress/progress.module.d.ts +0 -11
  654. package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
  655. package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
  656. package/components/basic/search/esm2022/search.module.mjs +0 -45
  657. package/components/basic/search/search.module.d.ts +0 -12
  658. package/components/basic/tree/esm2022/tree.module.mjs +0 -28
  659. package/components/basic/tree/tree.module.d.ts +0 -9
  660. package/components/chart/chart.module.d.ts +0 -10
  661. package/components/chart/esm2022/chart.module.mjs +0 -32
  662. package/components/containers/accordion/accordion.module.d.ts +0 -10
  663. package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
  664. package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
  665. package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
  666. package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
  667. package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
  668. package/components/containers/panel/esm2022/panel.module.mjs +0 -36
  669. package/components/containers/panel/panel.module.d.ts +0 -11
  670. package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
  671. package/components/containers/tabs/tabs.module.d.ts +0 -10
  672. package/components/containers/tile/esm2022/tile.module.mjs +0 -28
  673. package/components/containers/tile/tile.module.d.ts +0 -9
  674. package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
  675. package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
  676. package/components/containers/wizard/wizard.module.d.ts +0 -12
  677. package/components/data/card/card.module.d.ts +0 -15
  678. package/components/data/card/esm2022/card.module.mjs +0 -52
  679. package/components/data/form/esm2022/form.module.mjs +0 -68
  680. package/components/data/form/form.module.d.ts +0 -19
  681. package/components/data/list/esm2022/list.module.mjs +0 -40
  682. package/components/data/list/list.module.d.ts +0 -11
  683. package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
  684. package/components/data/live-table/live-table.module.d.ts +0 -9
  685. package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
  686. package/components/data/pagination/pagination.module.d.ts +0 -11
  687. package/components/data/table/esm2022/table.module.mjs +0 -91
  688. package/components/data/table/table.module.d.ts +0 -24
  689. package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
  690. package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
  691. package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
  692. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
  693. package/components/dialogs/default/dialog.module.d.ts +0 -12
  694. package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
  695. package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
  696. package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
  697. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
  698. package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
  699. package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
  700. package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
  701. package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
  702. package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
  703. package/components/input/calendar/calendar.module.d.ts +0 -12
  704. package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
  705. package/components/input/chips/chips.module.d.ts +0 -10
  706. package/components/input/chips/esm2022/chips.module.mjs +0 -32
  707. package/components/input/color-picker/color-picker.module.d.ts +0 -11
  708. package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
  709. package/components/input/currency/currency.module.d.ts +0 -11
  710. package/components/input/currency/esm2022/currency.module.mjs +0 -36
  711. package/components/input/default/esm2022/input.module.mjs +0 -96
  712. package/components/input/default/input.module.d.ts +0 -26
  713. package/components/input/epoch/epoch.module.d.ts +0 -18
  714. package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
  715. package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  716. package/components/input/file-upload/file-upload.module.d.ts +0 -9
  717. package/components/input/rating/esm2022/rating.module.mjs +0 -32
  718. package/components/input/rating/rating.module.d.ts +0 -10
  719. package/components/input/slider/esm2022/slider.module.mjs +0 -32
  720. package/components/input/slider/slider.module.d.ts +0 -10
  721. package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
  722. package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
  723. package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
  724. package/components/navigation/menu/menu.module.d.ts +0 -17
  725. package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
  726. package/components/navigation/navbar/navbar.module.d.ts +0 -9
  727. package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
  728. package/components/navigation/popover/popover.module.d.ts +0 -11
  729. package/components/page/default/esm2022/page.module.mjs +0 -55
  730. package/components/page/default/page.module.d.ts +0 -14
  731. package/components/page/footer/esm2022/footer.module.mjs +0 -28
  732. package/components/page/footer/footer.module.d.ts +0 -9
  733. package/components/page/header/esm2022/header.module.mjs +0 -28
  734. package/components/page/header/header.module.d.ts +0 -9
  735. package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  736. package/components/page/left-panel/left-panel.module.d.ts +0 -9
  737. package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
  738. package/components/page/right-panel/right-panel.module.d.ts +0 -9
  739. package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
  740. package/components/page/top-nav/top-nav.module.d.ts +0 -9
  741. package/components/prefab/esm2022/prefab.module.mjs +0 -32
  742. package/components/prefab/prefab.module.d.ts +0 -10
  743. package/core/core.module.d.ts +0 -9
  744. package/core/esm2022/core.module.mjs +0 -27
  745. package/http/esm2022/http-service.module.mjs +0 -36
  746. package/http/http-service.module.d.ts +0 -14
  747. package/locales/fullcalendar/af.js +0 -27
  748. package/locales/fullcalendar/ar-dz.js +0 -28
  749. package/locales/fullcalendar/ar-kw.js +0 -28
  750. package/locales/fullcalendar/ar-ly.js +0 -28
  751. package/locales/fullcalendar/ar-ma.js +0 -28
  752. package/locales/fullcalendar/ar-sa.js +0 -28
  753. package/locales/fullcalendar/ar-tn.js +0 -28
  754. package/locales/fullcalendar/ar.js +0 -28
  755. package/locales/fullcalendar/az.js +0 -29
  756. package/locales/fullcalendar/bg.js +0 -28
  757. package/locales/fullcalendar/bs.js +0 -29
  758. package/locales/fullcalendar/ca.js +0 -27
  759. package/locales/fullcalendar/cs.js +0 -29
  760. package/locales/fullcalendar/da.js +0 -27
  761. package/locales/fullcalendar/de.js +0 -30
  762. package/locales/fullcalendar/el.js +0 -27
  763. package/locales/fullcalendar/en-au.js +0 -14
  764. package/locales/fullcalendar/en-gb.js +0 -14
  765. package/locales/fullcalendar/en-nz.js +0 -14
  766. package/locales/fullcalendar/es-us.js +0 -27
  767. package/locales/fullcalendar/es.js +0 -27
  768. package/locales/fullcalendar/et.js +0 -29
  769. package/locales/fullcalendar/eu.js +0 -27
  770. package/locales/fullcalendar/fa.js +0 -30
  771. package/locales/fullcalendar/fi.js +0 -27
  772. package/locales/fullcalendar/fr-ca.js +0 -24
  773. package/locales/fullcalendar/fr-ch.js +0 -28
  774. package/locales/fullcalendar/fr.js +0 -28
  775. package/locales/fullcalendar/gl.js +0 -27
  776. package/locales/fullcalendar/he.js +0 -24
  777. package/locales/fullcalendar/hi.js +0 -29
  778. package/locales/fullcalendar/hr.js +0 -29
  779. package/locales/fullcalendar/hu.js +0 -27
  780. package/locales/fullcalendar/id.js +0 -27
  781. package/locales/fullcalendar/is.js +0 -27
  782. package/locales/fullcalendar/it.js +0 -29
  783. package/locales/fullcalendar/ja.js +0 -25
  784. package/locales/fullcalendar/ka.js +0 -29
  785. package/locales/fullcalendar/kk.js +0 -29
  786. package/locales/fullcalendar/ko.js +0 -23
  787. package/locales/fullcalendar/lb.js +0 -27
  788. package/locales/fullcalendar/lt.js +0 -27
  789. package/locales/fullcalendar/lv.js +0 -29
  790. package/locales/fullcalendar/mk.js +0 -25
  791. package/locales/fullcalendar/ms.js +0 -29
  792. package/locales/fullcalendar/nb.js +0 -27
  793. package/locales/fullcalendar/ne.js +0 -27
  794. package/locales/fullcalendar/nl.js +0 -27
  795. package/locales/fullcalendar/nn.js +0 -27
  796. package/locales/fullcalendar/pl.js +0 -27
  797. package/locales/fullcalendar/pt-br.js +0 -25
  798. package/locales/fullcalendar/pt.js +0 -27
  799. package/locales/fullcalendar/ro.js +0 -29
  800. package/locales/fullcalendar/ru.js +0 -29
  801. package/locales/fullcalendar/sk.js +0 -29
  802. package/locales/fullcalendar/sl.js +0 -27
  803. package/locales/fullcalendar/sq.js +0 -29
  804. package/locales/fullcalendar/sr-cyrl.js +0 -29
  805. package/locales/fullcalendar/sr.js +0 -29
  806. package/locales/fullcalendar/sv.js +0 -27
  807. package/locales/fullcalendar/th.js +0 -30
  808. package/locales/fullcalendar/tr.js +0 -27
  809. package/locales/fullcalendar/ug.js +0 -17
  810. package/locales/fullcalendar/uk.js +0 -29
  811. package/locales/fullcalendar/uz.js +0 -21
  812. package/locales/fullcalendar/vi.js +0 -29
  813. package/locales/fullcalendar/zh-cn.js +0 -30
  814. package/locales/fullcalendar/zh-tw.js +0 -23
  815. package/mobile/components/basic/default/.npmignore +0 -2
  816. package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
  817. package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
  818. package/mobile/components/basic/default/basic.module.d.ts +0 -15
  819. package/mobile/components/basic/default/bundles/index.umd.js +0 -980
  820. package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
  821. package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
  822. package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
  823. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
  824. package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
  825. package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
  826. package/mobile/components/basic/default/esm2022/index.mjs +0 -5
  827. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
  828. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
  829. package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
  830. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
  831. package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
  832. package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
  833. package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
  834. package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
  835. package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
  836. package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
  837. package/mobile/components/basic/default/index.d.ts +0 -5
  838. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
  839. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
  840. package/mobile/components/basic/default/package.json +0 -23
  841. package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
  842. package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
  843. package/mobile/components/basic/default/public_api.d.ts +0 -9
  844. package/mobile/components/basic/search/.npmignore +0 -2
  845. package/mobile/components/basic/search/bundles/index.umd.js +0 -66
  846. package/mobile/components/basic/search/esm2022/index.mjs +0 -5
  847. package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
  848. package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
  849. package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
  850. package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
  851. package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
  852. package/mobile/components/basic/search/index.d.ts +0 -5
  853. package/mobile/components/basic/search/package.json +0 -23
  854. package/mobile/components/basic/search/public_api.d.ts +0 -2
  855. package/mobile/components/basic/search/search.directive.d.ts +0 -7
  856. package/mobile/components/basic/search/search.module.d.ts +0 -9
  857. package/mobile/components/containers/segmented-control/.npmignore +0 -2
  858. package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
  859. package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
  860. package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
  861. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
  862. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
  863. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
  864. package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
  865. package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
  866. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
  867. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
  868. package/mobile/components/containers/segmented-control/index.d.ts +0 -5
  869. package/mobile/components/containers/segmented-control/package.json +0 -23
  870. package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
  871. package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
  872. package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
  873. package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
  874. package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
  875. package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
  876. package/mobile/components/data/media-list/.npmignore +0 -2
  877. package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
  878. package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
  879. package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
  880. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
  881. package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
  882. package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
  883. package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
  884. package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
  885. package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
  886. package/mobile/components/data/media-list/index.d.ts +0 -5
  887. package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
  888. package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
  889. package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
  890. package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
  891. package/mobile/components/data/media-list/package.json +0 -23
  892. package/mobile/components/data/media-list/public_api.d.ts +0 -3
  893. package/mobile/components/device/barcode-scanner/.npmignore +0 -2
  894. package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
  895. package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
  896. package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
  897. package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
  898. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
  899. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
  900. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
  901. package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
  902. package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
  903. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
  904. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
  905. package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
  906. package/mobile/components/device/barcode-scanner/package.json +0 -23
  907. package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
  908. package/mobile/components/device/camera/.npmignore +0 -2
  909. package/mobile/components/device/camera/bundles/index.umd.js +0 -170
  910. package/mobile/components/device/camera/camera.component.d.ts +0 -37
  911. package/mobile/components/device/camera/camera.module.d.ts +0 -9
  912. package/mobile/components/device/camera/camera.props.d.ts +0 -1
  913. package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
  914. package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
  915. package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
  916. package/mobile/components/device/camera/esm2022/index.mjs +0 -5
  917. package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
  918. package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
  919. package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
  920. package/mobile/components/device/camera/index.d.ts +0 -5
  921. package/mobile/components/device/camera/package.json +0 -23
  922. package/mobile/components/device/camera/public_api.d.ts +0 -2
  923. package/mobile/components/input/file-upload/.npmignore +0 -2
  924. package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
  925. package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
  926. package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  927. package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
  928. package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
  929. package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
  930. package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
  931. package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
  932. package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
  933. package/mobile/components/input/file-upload/index.d.ts +0 -5
  934. package/mobile/components/input/file-upload/package.json +0 -23
  935. package/mobile/components/input/file-upload/public_api.d.ts +0 -2
  936. package/mobile/components/page/default/.npmignore +0 -2
  937. package/mobile/components/page/default/bundles/index.umd.js +0 -127
  938. package/mobile/components/page/default/esm2022/index.mjs +0 -5
  939. package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
  940. package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
  941. package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
  942. package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
  943. package/mobile/components/page/default/fesm2022/index.mjs +0 -110
  944. package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
  945. package/mobile/components/page/default/index.d.ts +0 -5
  946. package/mobile/components/page/default/package.json +0 -23
  947. package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
  948. package/mobile/components/page/default/page.directive.d.ts +0 -19
  949. package/mobile/components/page/default/page.module.d.ts +0 -10
  950. package/mobile/components/page/default/public_api.d.ts +0 -3
  951. package/mobile/components/page/left-panel/.npmignore +0 -2
  952. package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
  953. package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
  954. package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
  955. package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  956. package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
  957. package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
  958. package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
  959. package/mobile/components/page/left-panel/index.d.ts +0 -5
  960. package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
  961. package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
  962. package/mobile/components/page/left-panel/package.json +0 -23
  963. package/mobile/components/page/left-panel/public_api.d.ts +0 -2
  964. package/mobile/components/page/mobile-navbar/.npmignore +0 -2
  965. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
  966. package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
  967. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
  968. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
  969. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
  970. package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
  971. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
  972. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
  973. package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
  974. package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
  975. package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
  976. package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
  977. package/mobile/components/page/mobile-navbar/package.json +0 -23
  978. package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
  979. package/mobile/components/page/tab-bar/.npmignore +0 -2
  980. package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
  981. package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
  982. package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
  983. package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
  984. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
  985. package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
  986. package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
  987. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
  988. package/mobile/components/page/tab-bar/index.d.ts +0 -5
  989. package/mobile/components/page/tab-bar/package.json +0 -23
  990. package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
  991. package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
  992. package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
  993. package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
  994. package/mobile/core/.npmignore +0 -2
  995. package/mobile/core/bundles/index.umd.js +0 -1658
  996. package/mobile/core/core.module.d.ts +0 -15
  997. package/mobile/core/esm2022/core.module.mjs +0 -79
  998. package/mobile/core/esm2022/index.mjs +0 -5
  999. package/mobile/core/esm2022/native.xhr.mjs +0 -340
  1000. package/mobile/core/esm2022/public_api.mjs +0 -12
  1001. package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
  1002. package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
  1003. package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
  1004. package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
  1005. package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
  1006. package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
  1007. package/mobile/core/esm2022/services/device.service.mjs +0 -150
  1008. package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
  1009. package/mobile/core/esm2022/services/network.service.mjs +0 -358
  1010. package/mobile/core/fesm2022/index.mjs +0 -1660
  1011. package/mobile/core/fesm2022/index.mjs.map +0 -1
  1012. package/mobile/core/index.d.ts +0 -5
  1013. package/mobile/core/native.xhr.d.ts +0 -36
  1014. package/mobile/core/package.json +0 -28
  1015. package/mobile/core/public_api.d.ts +0 -11
  1016. package/mobile/core/services/device-file-cache.service.d.ts +0 -24
  1017. package/mobile/core/services/device-file-download.service.d.ts +0 -36
  1018. package/mobile/core/services/device-file-opener.service.d.ts +0 -25
  1019. package/mobile/core/services/device-file-upload.service.d.ts +0 -27
  1020. package/mobile/core/services/device-file.service.d.ts +0 -45
  1021. package/mobile/core/services/device-start-up-service.d.ts +0 -4
  1022. package/mobile/core/services/device.service.d.ts +0 -52
  1023. package/mobile/core/services/ext-app-message.service.d.ts +0 -24
  1024. package/mobile/core/services/network.service.d.ts +0 -118
  1025. package/mobile/offline/.npmignore +0 -2
  1026. package/mobile/offline/bundles/index.umd.js +0 -3512
  1027. package/mobile/offline/esm2022/index.mjs +0 -5
  1028. package/mobile/offline/esm2022/models/config.mjs +0 -64
  1029. package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
  1030. package/mobile/offline/esm2022/offline.module.mjs +0 -100
  1031. package/mobile/offline/esm2022/public_api.mjs +0 -7
  1032. package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
  1033. package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
  1034. package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
  1035. package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
  1036. package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
  1037. package/mobile/offline/esm2022/services/push.service.mjs +0 -49
  1038. package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
  1039. package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
  1040. package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
  1041. package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
  1042. package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
  1043. package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
  1044. package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
  1045. package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
  1046. package/mobile/offline/esm2022/utils/utils.mjs +0 -8
  1047. package/mobile/offline/fesm2022/index.mjs +0 -3529
  1048. package/mobile/offline/fesm2022/index.mjs.map +0 -1
  1049. package/mobile/offline/index.d.ts +0 -5
  1050. package/mobile/offline/models/config.d.ts +0 -80
  1051. package/mobile/offline/models/local-db-store.d.ts +0 -119
  1052. package/mobile/offline/offline.module.d.ts +0 -17
  1053. package/mobile/offline/package.json +0 -28
  1054. package/mobile/offline/public_api.d.ts +0 -6
  1055. package/mobile/offline/services/change-log.service.d.ts +0 -112
  1056. package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
  1057. package/mobile/offline/services/local-db-management.service.d.ts +0 -179
  1058. package/mobile/offline/services/local-db.service.d.ts +0 -83
  1059. package/mobile/offline/services/local-key-value.service.d.ts +0 -38
  1060. package/mobile/offline/services/push.service.d.ts +0 -11
  1061. package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
  1062. package/mobile/offline/services/workers/file-handler.d.ts +0 -56
  1063. package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
  1064. package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
  1065. package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
  1066. package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
  1067. package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
  1068. package/mobile/offline/utils/security.utils.d.ts +0 -19
  1069. package/mobile/offline/utils/utils.d.ts +0 -2
  1070. package/mobile/placeholder/runtime/.npmignore +0 -2
  1071. package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
  1072. package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
  1073. package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
  1074. package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
  1075. package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
  1076. package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
  1077. package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
  1078. package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
  1079. package/mobile/placeholder/runtime/index.d.ts +0 -5
  1080. package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
  1081. package/mobile/placeholder/runtime/package.json +0 -27
  1082. package/mobile/placeholder/runtime/public_api.d.ts +0 -2
  1083. package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
  1084. package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
  1085. package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
  1086. package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
  1087. package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1088. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
  1089. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1090. package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
  1091. package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
  1092. package/mobile/placeholder/runtime-dynamic/package.json +0 -23
  1093. package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
  1094. package/mobile/runtime/.npmignore +0 -2
  1095. package/mobile/runtime/bundles/index.umd.js +0 -732
  1096. package/mobile/runtime/components/app-ext.component.d.ts +0 -14
  1097. package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
  1098. package/mobile/runtime/esm2022/index.mjs +0 -5
  1099. package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
  1100. package/mobile/runtime/esm2022/public_api.mjs +0 -6
  1101. package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
  1102. package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
  1103. package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
  1104. package/mobile/runtime/fesm2022/index.mjs +0 -742
  1105. package/mobile/runtime/fesm2022/index.mjs.map +0 -1
  1106. package/mobile/runtime/index.d.ts +0 -5
  1107. package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
  1108. package/mobile/runtime/package.json +0 -28
  1109. package/mobile/runtime/public_api.d.ts +0 -5
  1110. package/mobile/runtime/services/cookie.service.d.ts +0 -31
  1111. package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
  1112. package/mobile/runtime/services/webprocess.service.d.ts +0 -15
  1113. package/mobile/runtime-dynamic/.npmignore +0 -2
  1114. package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
  1115. package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
  1116. package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
  1117. package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1118. package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
  1119. package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
  1120. package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1121. package/mobile/runtime-dynamic/index.d.ts +0 -5
  1122. package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
  1123. package/mobile/runtime-dynamic/package.json +0 -23
  1124. package/mobile/runtime-dynamic/public_api.d.ts +0 -1
  1125. package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
  1126. package/mobile/variables/.npmignore +0 -2
  1127. package/mobile/variables/bundles/index.umd.js +0 -1166
  1128. package/mobile/variables/esm2022/index.mjs +0 -5
  1129. package/mobile/variables/esm2022/public_api.mjs +0 -10
  1130. package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
  1131. package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
  1132. package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
  1133. package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
  1134. package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
  1135. package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
  1136. package/mobile/variables/esm2022/services/file-service.mjs +0 -87
  1137. package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
  1138. package/mobile/variables/esm2022/variables.module.mjs +0 -78
  1139. package/mobile/variables/fesm2022/index.mjs +0 -1143
  1140. package/mobile/variables/fesm2022/index.mjs.map +0 -1
  1141. package/mobile/variables/index.d.ts +0 -5
  1142. package/mobile/variables/package.json +0 -28
  1143. package/mobile/variables/public_api.d.ts +0 -9
  1144. package/mobile/variables/services/calendar-service.d.ts +0 -10
  1145. package/mobile/variables/services/camera-service.d.ts +0 -8
  1146. package/mobile/variables/services/contacts-service.d.ts +0 -6
  1147. package/mobile/variables/services/datasync-service.d.ts +0 -11
  1148. package/mobile/variables/services/device-service/device-service.d.ts +0 -17
  1149. package/mobile/variables/services/device-service/location-service.d.ts +0 -63
  1150. package/mobile/variables/services/file-service.d.ts +0 -7
  1151. package/mobile/variables/services/scan-service.d.ts +0 -7
  1152. package/mobile/variables/variables.module.d.ts +0 -25
  1153. package/oAuth/esm2022/oAuth.module.mjs +0 -19
  1154. package/oAuth/oAuth.module.d.ts +0 -8
  1155. package/scripts/fullcalendar/main.min.js +0 -6
  1156. package/security/esm2022/security.module.mjs +0 -19
  1157. package/security/security.module.d.ts +0 -8
  1158. package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
  1159. package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
  1160. package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
  1161. package/variables/esm2022/model/variable/device-variable.mjs +0 -19
  1162. package/variables/esm2022/variables.module.mjs +0 -52
  1163. package/variables/manager/variable/device-variable-manager.d.ts +0 -26
  1164. package/variables/manager/variable/device-variable-operation.d.ts +0 -37
  1165. package/variables/manager/variable/device-variable-service.d.ts +0 -6
  1166. package/variables/model/variable/device-variable.d.ts +0 -6
  1167. package/variables/variables.module.d.ts +0 -16
@@ -1,6 +1,8 @@
1
+ import { WmComponentsModule } from "@wm/components/base";
2
+ import { IMaskModule } from 'angular-imask';
1
3
  import { ChangeDetectorRef, Component, Inject, Injector, Optional, ViewChild } from '@angular/core';
2
4
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
5
+ import { BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';
4
6
  import { addEventListenerOnElement, adjustContainerPosition, adjustContainerRightEdges, AppDefaults, FormWidgetType, getDateObj, getDisplayDateTimeFormat, getFormattedDate, getMomentLocaleObject } from '@wm/core';
5
7
  import { provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';
6
8
  import { BaseDateTimeComponent } from './../base-date-time.component';
@@ -8,21 +10,20 @@ import { registerProps } from './date.props';
8
10
  import { validateTheMaskedDate } from './imaskUtil';
9
11
  import { IMaskDirective } from 'angular-imask';
10
12
  import { includes, isNaN, parseInt } from "lodash-es";
13
+ import { DateTimePickerComponent } from "../date-time/date-time-picker.component";
11
14
  import * as i0 from "@angular/core";
12
15
  import * as i1 from "@wm/core";
13
- import * as i2 from "@angular/common";
16
+ import * as i2 from "angular-imask";
14
17
  import * as i3 from "ngx-bootstrap/datepicker";
15
- import * as i4 from "angular-imask";
16
- import * as i5 from "../date-time/date-time-picker.component";
17
18
  const _c0 = ["dateInput"];
18
19
  const _c1 = ["wmDate", ""];
19
- function DateComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
20
+ function DateComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
20
21
  const _r2 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "wm-datetimepicker", 9);
22
- i0.ɵɵlistener("change", function DateComponent_ng_template_8_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDateChange($event)); });
22
+ i0.ɵɵelementStart(0, "wm-datetimepicker", 8);
23
+ i0.ɵɵlistener("change", function DateComponent_Conditional_8_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDateChange($event)); });
23
24
  i0.ɵɵelementEnd();
24
- i0.ɵɵelementStart(1, "div", 10);
25
- i0.ɵɵlistener("click", function DateComponent_ng_template_8_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r2.disabled || ctx_r2.readonly) && ctx_r2.showDatePickerModal(ctx_r2.bsDataValue)); })("focus", function DateComponent_ng_template_8_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DateComponent_ng_template_8_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
25
+ i0.ɵɵelementStart(1, "div", 9);
26
+ i0.ɵɵlistener("click", function DateComponent_Conditional_8_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r2.disabled || ctx_r2.readonly) && ctx_r2.showDatePickerModal(ctx_r2.bsDataValue)); })("focus", function DateComponent_Conditional_8_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DateComponent_Conditional_8_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
26
27
  i0.ɵɵelementEnd();
27
28
  } if (rf & 2) {
28
29
  const ctx_r2 = i0.ɵɵnextContext();
@@ -310,11 +311,11 @@ export class DateComponent extends BaseDateTimeComponent {
310
311
  let _t;
311
312
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bsDatePickerDirective = _t.first);
312
313
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.imask = _t.first);
313
- } }, features: [i0.ɵɵProvidersFeature([
314
+ } }, standalone: true, features: [i0.ɵɵProvidersFeature([
314
315
  provideAs(DateComponent, NG_VALUE_ACCESSOR, true),
315
316
  provideAs(DateComponent, NG_VALIDATORS, true),
316
317
  provideAsWidgetRef(DateComponent)
317
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 9, vars: 28, consts: [["dateInput", ""], ["datepicker", "bsDatepicker"], ["focus-target", "", "type", "text", 1, "form-control", "app-textbox", "app-dateinput", "display-input", 3, "click", "focus", "blur", "change", "keydown", "name", "imask", "unmask", "tabindex", "value", "disabled", "autofocus", "required", "readOnly"], [1, "input-group-btn"], ["type", "button", "aria-haspopup", "true", 1, "btn", "btn-default", "btn-time", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-calendar"], [2, "width", "0", "display", "inline-block"], ["aria-label", "datepicker dropdownmenu", "aria-controls", "date", "bsDatepicker", "", "placement", "bottom right", 1, "model-holder", 3, "onShown", "onHidden", "bsValueChange", "tabindex", "container", "bsConfig", "isOpen", "daysDisabled", "datesDisabled", "isDisabled", "bsValue"], [3, "ngIf"], ["dateTimePicker", "", "mode", "DATE", 3, "change", "config", "placement", "excludedDaysToDisable", "excludedDatesToDisable", "displayFormat", "value"], ["role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur", "tabindex"]], template: function DateComponent_Template(rf, ctx) { if (rf & 1) {
318
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c1, decls: 9, vars: 28, consts: [["dateInput", ""], ["datepicker", "bsDatepicker"], ["focus-target", "", "type", "text", 1, "form-control", "app-textbox", "app-dateinput", "display-input", 3, "click", "focus", "blur", "change", "keydown", "name", "imask", "unmask", "tabindex", "value", "disabled", "autofocus", "required", "readOnly"], [1, "input-group-btn"], ["type", "button", "aria-haspopup", "true", 1, "btn", "btn-default", "btn-time", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-calendar"], [2, "width", "0", "display", "inline-block"], ["aria-label", "datepicker dropdownmenu", "aria-controls", "date", "bsDatepicker", "", "placement", "bottom right", 1, "model-holder", 3, "onShown", "onHidden", "bsValueChange", "tabindex", "container", "bsConfig", "isOpen", "daysDisabled", "datesDisabled", "isDisabled", "bsValue"], ["dateTimePicker", "", "mode", "DATE", 3, "change", "config", "placement", "excludedDaysToDisable", "excludedDatesToDisable", "displayFormat", "value"], ["role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur", "tabindex"]], template: function DateComponent_Template(rf, ctx) { if (rf & 1) {
318
319
  const _r1 = i0.ɵɵgetCurrentView();
319
320
  i0.ɵɵelementStart(0, "input", 2, 0);
320
321
  i0.ɵɵlistener("click", function DateComponent_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.toggleDpDropdown($event, true)); })("focus", function DateComponent_Template_input_focus_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.onDateTimeInputFocus(); ctx.invokeOnFocus($event); return i0.ɵɵresetView(ctx.updateIMask()); })("blur", function DateComponent_Template_input_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onInputBlur($event)); })("change", function DateComponent_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDisplayDateChange($event)); })("keydown", function DateComponent_Template_input_keydown_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx._triggeredByUser = true; return i0.ɵɵresetView(ctx.onDisplayKeydown($event)); });
@@ -326,7 +327,7 @@ export class DateComponent extends BaseDateTimeComponent {
326
327
  i0.ɵɵelementStart(5, "div", 6)(6, "input", 7, 1);
327
328
  i0.ɵɵlistener("onShown", function DateComponent_Template_input_onShown_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDatePickerOpen()); })("onHidden", function DateComponent_Template_input_onHidden_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.hideDatepickerDropdown()); })("bsValueChange", function DateComponent_Template_input_bsValueChange_6_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDateChange($event)); });
328
329
  i0.ɵɵelementEnd()();
329
- i0.ɵɵtemplate(8, DateComponent_ng_template_8_Template, 2, 8, "ng-template", 8);
330
+ i0.ɵɵtemplate(8, DateComponent_Conditional_8_Template, 2, 8);
330
331
  } if (rf & 2) {
331
332
  i0.ɵɵproperty("name", ctx.name)("imask", ctx.mask)("unmask", true)("tabindex", ctx.loadNativeDateInput ? "-1" : ctx.tabindex)("value", ctx.displayValue)("disabled", ctx.disabled || ctx.readonly)("autofocus", ctx.autofocus)("required", ctx.required)("readOnly", ctx.isReadOnly);
332
333
  i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
@@ -337,16 +338,16 @@ export class DateComponent extends BaseDateTimeComponent {
337
338
  i0.ɵɵproperty("tabindex", -1)("container", ctx.containerTarget || ".wm-app")("bsConfig", ctx._dateOptions)("isOpen", ctx.isOpen)("daysDisabled", ctx.excludedDaysToDisable)("datesDisabled", ctx.excludedDatesToDisable)("isDisabled", ctx.disabled || ctx.readonly)("bsValue", ctx.bsDataValue);
338
339
  i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput);
339
340
  i0.ɵɵadvance(2);
340
- i0.ɵɵproperty("ngIf", ctx.loadNativeDateInput);
341
- } }, dependencies: [i2.NgIf, i3.BsDatepickerDirective, i3.BsDatepickerInputDirective, i4.IMaskDirective, i5.DateTimePickerComponent], encapsulation: 2 }); }
341
+ i0.ɵɵconditional(ctx.loadNativeDateInput ? 8 : -1);
342
+ } }, dependencies: [WmComponentsModule, DateTimePickerComponent, IMaskModule, i2.IMaskDirective, BsDatepickerModule, i3.BsDatepickerDirective, i3.BsDatepickerInputDirective], encapsulation: 2 }); }
342
343
  }
343
344
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateComponent, [{
344
345
  type: Component,
345
- args: [{ selector: '[wmDate]', providers: [
346
+ args: [{ standalone: true, imports: [WmComponentsModule, DateTimePickerComponent, IMaskModule, BsDatepickerModule], selector: '[wmDate]', providers: [
346
347
  provideAs(DateComponent, NG_VALUE_ACCESSOR, true),
347
348
  provideAs(DateComponent, NG_VALIDATORS, true),
348
349
  provideAsWidgetRef(DateComponent)
349
- ], template: " <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n role=\"button\">\n </div>\n</ng-template>\n" }]
350
+ ], template: "<input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n<span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n</span>\n<div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n role=\"button\">\n </div>\n}\n" }]
350
351
  }], () => [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.AppDefaults }, { type: undefined, decorators: [{
351
352
  type: Inject,
352
353
  args: ['EXPLICIT_CONTEXT']
@@ -359,5 +360,5 @@ export class DateComponent extends BaseDateTimeComponent {
359
360
  type: ViewChild,
360
361
  args: ['dateInput', { read: IMaskDirective }]
361
362
  }] }); })();
362
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateComponent, { className: "DateComponent", filePath: "date/date.component.ts", lineNumber: 44 }); })();
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHL0QsT0FBTyxFQUNILHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLFdBQVcsRUFFWCxjQUFjLEVBQ2QsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLFdBQVcs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O3NCQXdFSSxNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTtxQkFSRyxxQkFBcUI7a0JBQWhFLFNBQVM7bUJBQUMscUJBQXFCO1lBQ2dCLEtBQUs7a0JBQXBELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQzs7a0ZBL0RyQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtCc0RhdGVwaWNrZXJEaXJlY3RpdmV9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5cblxuaW1wb3J0IHtcbiAgICBhZGRFdmVudExpc3RlbmVyT25FbGVtZW50LFxuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgQXBwRGVmYXVsdHMsXG4gICAgRVZFTlRfTElGRSxcbiAgICBGb3JtV2lkZ2V0VHlwZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGdldE1vbWVudExvY2FsZU9iamVjdFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge0lXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzZXRGb2N1c1RyYXAsIHN0eWxlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge0Jhc2VEYXRlVGltZUNvbXBvbmVudH0gZnJvbSAnLi8uLi9iYXNlLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2RhdGUucHJvcHMnO1xuaW1wb3J0IHt2YWxpZGF0ZVRoZU1hc2tlZERhdGV9IGZyb20gJy4vaW1hc2tVdGlsJztcbmltcG9ydCB7SU1hc2tEaXJlY3RpdmV9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHtpbmNsdWRlcywgaXNOYU4sIHBhcnNlSW50fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgXywgJDtcblxuY29uc3QgQ1VSUkVOVF9EQVRFID0gJ0NVUlJFTlRfREFURSc7XG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtZGF0ZSBpbnB1dC1ncm91cCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1kYXRlJyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bURhdGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhEYXRlQ29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhEYXRlQ29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKERhdGVDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZURhdGVUaW1lQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGJzRGF0YVZhbHVlO1xuICAgIHB1YmxpYyBzaG93ZHJvcGRvd25vbjogc3RyaW5nO1xuICAgIHByaXZhdGUgZGF0ZUNvbnRhaW5lckNsczogc3RyaW5nO1xuICAgIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9ic0RlZmF1bHRMb2FkQ2hlY2s6IGJvb2xlYW47XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgYXJpYWxhYmVsOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGRlcmVnaXN0ZXJFdmVudExpc3RlbmVyO1xuICAgIHByaXZhdGUgaXNDdXJyZW50RGF0ZTtcbiAgICBwcml2YXRlIGZvY3VzVHJhcDtcbiAgICBwcml2YXRlIHNob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgIG1hc2s7XG4gICAgcHJpdmF0ZSBtYXNrRGF0ZUlucHV0Rm9ybWF0O1xuICAgIHByaXZhdGUgbWFza0RhdGVJbnB1dEZvcm1hdFBsYWNlaG9sZGVyO1xuXG4gICAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnNEYXRhVmFsdWUgPyB0aGlzLmJzRGF0YVZhbHVlLnZhbHVlT2YoKSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBnZXQgZGF0ZUlucHV0Rm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZU9wdGlvbnMuZGF0ZUlucHV0Rm9ybWF0IHx8ICd5eXl5LU1NLWRkJztcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheVZhbHVlKCkge1xuICAgICAgICBpZih0aGlzLnNob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlciAmJiB0aGlzLmltYXNrPy5tYXNrUmVmICYmIHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgdGhpcy5ic0RhdGFWYWx1ZSwgdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsIHRoaXMuZGF0ZUlucHV0Rm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVEaXNwbGF5VmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsICd5eXl5LU1NLWRkJywgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSB8fCAnJztcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZ2V0IGRhdGF2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgdGhpcy5ic0RhdGFWYWx1ZSwgdGhpcy5vdXRwdXRmb3JtYXQsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcykgfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gVG9kb1tTaHViaGFtXTogbmVlZHMgdG8gYmUgcmVkZWZpbmVkXG4gICAgLy8gc2V0cyB0aGUgZGF0YVZhbHVlIGFuZCBjb21wdXRlcyB0aGUgZGlzcGxheSBtb2RlbCB2YWx1ZXNcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2V0IGRhdGF2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgaWYgKG5ld1ZhbCA9PT0gQ1VSUkVOVF9EQVRFKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJzRGF0YVZhbHVlID0gdGhpcy50aW1lWm9uZSA/IGdldE1vbWVudExvY2FsZU9iamVjdCh0aGlzLnRpbWVab25lKSA6IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IG5ld1ZhbCA/IGdldERhdGVPYmoobmV3VmFsLCB7aXNOYXRpdmVQaWNrZXI6IHRoaXMubG9hZE5hdGl2ZURhdGVJbnB1dH0sIHRoaXMudGltZVpvbmUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnREYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdXBkYXRlIHRoZSBwcmV2aW91cyBkYXRhdmFsdWUuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoQnNEYXRlcGlja2VyRGlyZWN0aXZlKSBwcm90ZWN0ZWQgYnNEYXRlUGlja2VyRGlyZWN0aXZlO1xuICAgIEBWaWV3Q2hpbGQoJ2RhdGVJbnB1dCcsIHtyZWFkOiBJTWFza0RpcmVjdGl2ZX0pIGltYXNrOiBJTWFza0RpcmVjdGl2ZTxhbnk+O1xuXG4gICAgLy8gVE9ETyB1c2UgQnNMb2NhbGVTZXJ2aWNlIHRvIHNldCB0aGUgY3VycmVudCB1c2VyJ3MgbG9jYWxlIHRvIHNlZSB0aGUgbG9jYWxpemVkIGxhYmVsc1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBhcHBEZWZhdWx0czogQXBwRGVmYXVsdHMsXG4gICAgICAgIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuXG4gICAgICAgIHRoaXMuZGF0ZUNvbnRhaW5lckNscyA9IGBhcHAtZGF0ZS0ke3RoaXMud2lkZ2V0SWR9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuY29udGFpbmVyQ2xhc3MgPSBgYXBwLWRhdGUgJHt0aGlzLmRhdGVDb250YWluZXJDbHN9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuc2hvd1dlZWtOdW1iZXJzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2JzRGVmYXVsdExvYWRDaGVjayA9IHRydWU7XG4gICAgICAgIHRoaXMuZGF0ZXBhdHRlcm4gPSB0aGlzLmFwcERlZmF1bHRzLmRhdGVGb3JtYXQgfHwgZ2V0RGlzcGxheURhdGVUaW1lRm9ybWF0KEZvcm1XaWRnZXRUeXBlLkRBVEUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1hdCgnZGF0ZXBhdHRlcm4nKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGUgaW5wdXQgY2hhbmdlc1xuICAgICAqL1xuICAgIG9uRGlzcGxheURhdGVDaGFuZ2UoJGV2ZW50LCBpc05hdGl2ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgaWYgKHRoaXMuaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGlucHV0VmFsID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgLy8gV2hlbiB0aGUgaW5wdXQgaXMgY2xlYXJlZCwgdGhlIGlucHV0IHZhbHVlIGJlY29tZXMgbWFza0RhdGVJbnB1dEZvcm1hdFBsYWNlaG9sZGVyLiBUaGlzIGNhdXNlcyBhIHZhbGlkYXRpb24gZXJyb3IuXG4gICAgICAgIC8vIFdoZW4gdGhlIGlucHV0IHZhbHVlIGlzIGVxdWFsIHRvIG1hc2tEYXRlSW5wdXRGb3JtYXRQbGFjZWhvbGRlciwgaXQgbWVhbnMgdGhhdCB0aGUgaW5wdXQgaXMgaW4gYW4gZW1wdHkgc3RhdGUuXG4gICAgICAgIGlmKHRoaXMuc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyICYmIGlucHV0VmFsID09PSB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXRQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgaW5wdXRWYWwgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1ZhbCA9IGdldERhdGVPYmooaW5wdXRWYWwsIHtwYXR0ZXJuOiB0aGlzLmRhdGVwYXR0ZXJuLCBpc05hdGl2ZVBpY2tlcjogaXNOYXRpdmVQaWNrZXJ9KTtcbiAgICAgICAgLy8gZGF0ZSBwYXR0ZXJuIHZhbGlkYXRpb25cbiAgICAgICAgLy8gaWYgaW52YWxpZCBwYXR0ZXJuIGlzIGVudGVyZWQsIGRldmljZSBpcyBzaG93aW5nIGFuIGVycm9yLlxuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0VmFsaWRhdGlvbihuZXdWYWwsIGlucHV0VmFsLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBtaW4gZGF0ZSBhbmQgbWF4IGRhdGUgdmFsaWRhdGlvbiBpbiBtb2JpbGUgdmlldy5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgYW4gYWxlcnQuXG4gICAgICAgIGlmIChpc05hdGl2ZVBpY2tlciAmJiB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsLCAkZXZlbnQsIHRoaXMuZGlzcGxheVZhbHVlLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShuZXdWYWwpO1xuICAgIH1cblxuICAgIC8vIHNldHMgdGhlIGRhdGFWYWx1ZSBhbmQgY29tcHV0ZXMgdGhlIGRpc3BsYXkgbW9kZWwgdmFsdWVzXG4gICAgcHJpdmF0ZSBzZXREYXRhVmFsdWUobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gZmFsc2U7XG4gICAgICAgIC8vIG1pbiBkYXRlIGFuZCBtYXggZGF0ZSB2YWxpZGF0aW9uIGluIHdlYi5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgICAgICB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsKTtcbiAgICAgICAgaWYgKGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgbmV3VmFsLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSA9PT0gdGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5maW5kKCcuZGlzcGxheS1pbnB1dCcpLnZhbCh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1ZhbCkge1xuICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uRGF0ZVBpY2tlck9wZW4oKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRlID0gdGhpcy5ic0RhdGFWYWx1ZSA/IHRoaXMuYnNEYXRhVmFsdWUgOiAodGhpcy50aW1lWm9uZSA/IGdldE1vbWVudExvY2FsZU9iamVjdCh0aGlzLnRpbWVab25lKSA6IG5ldyBEYXRlKCkpO1xuICAgICAgICBpZiAoIXRoaXMuYnNEYXRhVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlnaHRsaWdodFRvZGF5KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVJTWFzaygpO1xuXG4gICAgICAgIC8vIFdlIGFyZSB1c2luZyB0aGUgdHdvIGlucHV0IHRhZ3MoVG8gbWFpbnRhaW4gdGhlIG1vZGFsIGFuZCBwcm94eSBtb2RhbCkgZm9yIHRoZSBkYXRlIGNvbnRyb2wuXG4gICAgICAgIC8vIFNvIGFjdHVhbCBib290c3RyYXAgaW5wdXQgdGFyZ2V0IHdpZHRoIHdlIG1hZGUgaXQgdG8gMCwgc28gYm9vdHN0cmFwIGNhbGN1bGF0aW5nIHRoZSBjYWxlbmRhciBjb250YWluZXIgdG9wIHBvc2l0aW9uIGltcHJvcGVybHkuXG4gICAgICAgIC8vIFRvIGZpeCB0aGUgY29udGFpbmVyIHRvcCBwb3NpdGlvbiBzZXQgdGhlIHdpZHRoIDFweDtcbiAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcubW9kZWwtaG9sZGVyJykud2lkdGgoJzFweCcpO1xuICAgICAgICBjb25zdCBkcENvbnRhaW5lckVsID0gJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKTtcbiAgICAgICAgZHBDb250YWluZXJFbC5hdHRyKCdhcmlhLWxhYmVsJywgJ1VzZSBBcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGRhdGVzLCBDaG9vc2UgRGF0ZSBmcm9tIGRhdGVwaWNrZXInKTtcbiAgICAgICAgJCgnLmJzLWNhbGVuZGFyLWNvbnRhaW5lcicpLnJlbW92ZUF0dHIoJ3JvbGUnKTtcbiAgICAgICAgY29uc3QgZGF0ZVBpY2tlckNvbnRhaW5lciA9ICQoJy5icy1kYXRlcGlja2VyLWNvbnRhaW5lcicpWzBdO1xuICAgICAgICB0aGlzLmZvY3VzVHJhcCA9IHNldEZvY3VzVHJhcChkYXRlUGlja2VyQ29udGFpbmVyLCB0cnVlKTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXAuYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5hZGREYXRlcGlja2VyS2V5Ym9hcmRFdmVudHModGhpcywgZmFsc2UpO1xuICAgICAgICBhZGp1c3RDb250YWluZXJQb3NpdGlvbigkKCdicy1kYXRlcGlja2VyLWNvbnRhaW5lcicpLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNEYXRlUGlja2VyRGlyZWN0aXZlLl9kYXRlcGlja2VyKTtcbiAgICAgICAgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlcygkKCdicy1kYXRlcGlja2VyLWNvbnRhaW5lcicpLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNEYXRlUGlja2VyRGlyZWN0aXZlLl9kYXRlcGlja2VyKTtcblxuICAgICAgICBpZih0aGlzLnRpbWVab25lKSB7XG4gICAgICAgICAgICBjb25zdCB0b2RheUJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuZGF0ZUNvbnRhaW5lckNsc30gLmJzLWRhdGVwaWNrZXItYnV0dG9ucyAuYnRuLXRvZGF5LXdyYXBwZXIgYnV0dG9uYCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBzZXRUb2RheVRaSGFuZGxlciA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvZGF5VFogPSBnZXRNb21lbnRMb2NhbGVPYmplY3QodGhpcy50aW1lWm9uZSk7XG4gICAgICAgICAgICAgICAgaWYobmV3IERhdGUodGhpcy5ic0RhdGFWYWx1ZSkudG9EYXRlU3RyaW5nKCkgIT09IG5ldyBEYXRlKHRvZGF5VFopLnRvRGF0ZVN0cmluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSB0b2RheVRaO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0b2RheUJ0bi5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHNldFRvZGF5VFpIYW5kbGVyKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0b2RheUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHNldFRvZGF5VFpIYW5kbGVyKVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uSW5wdXRCbHVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgIGlmICghJCgkZXZlbnQucmVsYXRlZFRhcmdldCkuaGFzQ2xhc3MoJ2N1cnJlbnQtZGF0ZScpKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdibHVyJywgeyAkZXZlbnQgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVJTWFzaygpIHtcbiAgICAgICAgdGhpcy5pbWFzaz8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURhdGVwaWNrZXJEcm9wZG93bigpIHtcbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXA/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmRlcmVnaXN0ZXJFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRlcmVnaXN0ZXJFdmVudExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ibHVyRGF0ZUlucHV0KHRoaXMuaXNPcGVuKTtcbiAgICB9XG5cbiAgICAvLyBjaGFuZ2UgYW5kIGJsdXIgZXZlbnRzIGFyZSBhZGRlZCBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFpbmNsdWRlcyhbJ2JsdXInLCAnZm9jdXMnLCAnY2hhbmdlJywgJ2NsaWNrJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB1c2VkIHRvIHRvZ2dsZSB0aGUgZHJvcGRvd24gb2YgdGhlIGRhdGUgd2lkZ2V0XG4gICAgICovXG4gICAgIHB1YmxpYyB0b2dnbGVEcERyb3Bkb3duKCRldmVudCwgc2tpcEZvY3VzOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZE5hdGl2ZURhdGVJbnB1dCkge1xuICAgICAgICAgICAgIC8vIEZpeGVzIGNsaWNrIGV2ZW50IGdldHRpbmcgdHJpZ2dyZWQgdHdpY2UgaW4gTW9iaWxlIGRldmljZXMuXG4gICAgICAgICAgICBpZiAoIXNraXBGb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMub25EYXRlVGltZUlucHV0Rm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoJGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnY2xpY2snLCB7ICRldmVudDogJGV2ZW50IH0pO1xuICAgICAgICAgIC8vICB0aGlzLmZvY3VzT25JbnB1dEVsKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRldmVudC50YXJnZXQgJiYgJCgkZXZlbnQudGFyZ2V0KS5pcygnaW5wdXQnKSAmJiAhKHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSkpIHtcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5hZGRCb2R5Q2xpY2tMaXN0ZW5lcih0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5pc09wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQm9keUNsaWNrTGlzdGVuZXIoc2tpcExpc3RlbmVyKSB7XG4gICAgICAgIGlmICghc2tpcExpc3RlbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnNEYXRlQ29udGFpbmVyRWxlbWVudCA9IGJvZHlFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuZGF0ZUNvbnRhaW5lckNsc31gKTtcbiAgICAgICAgICAgIHRoaXMuZGVyZWdpc3RlckV2ZW50TGlzdGVuZXIgPSBhZGRFdmVudExpc3RlbmVyT25FbGVtZW50KGJvZHlFbGVtZW50LCBic0RhdGVDb250YWluZXJFbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9LCBFVkVOVF9MSUZFLk9OQ0UsIHRydWUpO1xuICAgICAgICB9LCAzNTApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbWV0aG9kIHRyaWdnZXJlZCB3aGVuIHByZXNzaW5nIGtleSBvbiB0aGUgZGF0ZSBpbnB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkRpc3BsYXlLZXlkb3duKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcERvd25EaXNwbGF5RW5hYmxlZE9uSW5wdXQodGhpcy5zaG93ZHJvcGRvd25vbikpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbCA9IGdldERhdGVPYmooZXZlbnQudGFyZ2V0LnZhbHVlLCB7cGF0dGVybjogdGhpcy5kYXRlcGF0dGVybn0pO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgbmV3VmFsLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKTtcbiAgICAgICAgICAgICAgICBsZXQgaW5wdXRWYWwgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlciAmJiBpbnB1dFZhbCA9PT0gdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRWYWwgPSBcIlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRWYWwgJiYgdGhpcy5kYXRlcGF0dGVybiA9PT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc05hTihpbnB1dFZhbCkgJiYgcGFyc2VJbnQoaW5wdXRWYWwpICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCBldmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dFZhbCAmJiBpbnB1dFZhbCAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZhbGlkRGF0ZVRpbWVGb3JtYXQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ic0RhdGVQaWNrZXJEaXJlY3RpdmUuYnNWYWx1ZSA9ICBpbnB1dFZhbCA/IG5ld1ZhbCA6ICcnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlRHBEcm9wZG93bihldmVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZURhdGVwaWNrZXJEcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oaWRlRGF0ZXBpY2tlckRyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB0cmlnZ2VyZWQgd2hlbiB0aGUgZGF0ZSBzZWxlY3Rpb24gY2hhbmdlc1xuICAgICAqL1xuICAgIG9uRGF0ZUNoYW5nZShuZXdWYWwpOiB2b2lkIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqICBOZ3gtYm9vdHN0cmFwIHVwZ3JhZGUgOiBUbyBhdm9pZCB0aGUgcGFnZSBsb2FkIGRhdGVjaGFuZ2UgZXZlbnQ7XG4gICAgICAgICAqICBUT0RPOlxuICAgICAgICAgKiAgaHR0cHM6Ly9naXRodWIuY29tL3ZhbG9yLXNvZnR3YXJlL25neC1ib290c3RyYXAvaXNzdWVzLzYwMTZcbiAgICAgICAgICogIEZvciBhYm92ZSBpc3N1ZSwgb25jZSB3ZSBnZXQgdGhlIHNvbHV0aW9uIGZyb20gTmd4LUJvb3RzdHJhcCB0ZWFtLCAgcmVtb3ZlIHRoZSBfYnNEZWZhdWx0TG9hZENoZWNrIGNoZWNrIGFuZCB1cGRhdGUgYWNjb3JkaW5nbHkuXG4gICAgICAgICAqICovXG4gICAgICAgIGlmICh0aGlzLl9ic0RlZmF1bHRMb2FkQ2hlY2spIHtcbiAgICAgICAgICAgIHRoaXMuX2JzRGVmYXVsdExvYWRDaGVjayA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUobmV3VmFsKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyJykge1xuICAgICAgICAgICAgdGhpcy5zaG93ZGF0ZWZvcm1hdGFzcGxhY2Vob2xkZXIgPSBudjtcbiAgICAgICAgICAgIHRoaXMuaW1hc2s/LmRlc3Ryb3lNYXNrKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5zaG93ZGF0ZWZvcm1hdGFzcGxhY2Vob2xkZXIgJiYgdGhpcy5kYXRlcGF0dGVybiAhPT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2sgPSB2YWxpZGF0ZVRoZU1hc2tlZERhdGUodGhpcy5kYXRlcGF0dGVybiwgdGhpcy5zZWxlY3RlZExvY2FsZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0ID0gdGhpcy5kYXRlSW5wdXRGb3JtYXQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0ID0gKHRoaXMuZGF0ZUlucHV0Rm9ybWF0LnNwbGl0KCdkJykubGVuZ3RoIC0gMSkgPT09IDEgPyB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXQucmVwbGFjZSgnZCcsICdkZCcpIDogdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0O1xuICAgICAgICAgICAgICAgIHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdCA9ICh0aGlzLmRhdGVJbnB1dEZvcm1hdC5zcGxpdCgnTScpLmxlbmd0aCAtIDEpID09PSAxID8gdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0LnJlcGxhY2UoJ00nLCAnTU0nKSA6IHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdDtcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXRQbGFjZWhvbGRlciA9IHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdC50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJ0VFRUUnLCAnRUVFRUVFJykucmVwbGFjZSgnTU1NTScsICdNTU0nKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3ggYXBwLWRhdGVpbnB1dCBkaXNwbGF5LWlucHV0XCJcbiAgICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICNkYXRlSW5wdXRcbiAgICAgICAgW2ltYXNrXT1cIm1hc2tcIlxuICAgICAgICBbdW5tYXNrXT1cInRydWVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwibG9hZE5hdGl2ZURhdGVJbnB1dCA/ICctMScgOiB0YWJpbmRleFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlRHBEcm9wZG93bigkZXZlbnQsIHRydWUpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRGF0ZVRpbWVJbnB1dEZvY3VzKCk7IGludm9rZU9uRm9jdXMoJGV2ZW50KTsgdXBkYXRlSU1hc2soKVwiXG4gICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25EaXNwbGF5RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwidGhpcy5fdHJpZ2dlcmVkQnlVc2VyID0gdHJ1ZTsgb25EaXNwbGF5S2V5ZG93bigkZXZlbnQpO1wiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi10aW1lXCJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCJsb2FkTmF0aXZlRGF0ZUlucHV0ID8gJy0xJyA6IHRhYmluZGV4XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkaXNwbGF5VmFsdWUgPyAnQ2hhbmdlIERhdGUgJyArIGRpc3BsYXlWYWx1ZSA6ICdDaG9vc2UgZGF0ZSBieSBwcmVzc2luZyBlbnRlcidcIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcERyb3Bkb3duKCRldmVudCwgZmFsc2UpXCI+XG4gICAgICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWljb24gd20tc2wtbCBzbC1jYWxlbmRhclwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XG4gICAgPGlucHV0IGNsYXNzPVwibW9kZWwtaG9sZGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cImRhdGVwaWNrZXIgZHJvcGRvd25tZW51XCJcbiAgICAgICAgYXJpYS1jb250cm9scz1cImRhdGVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhIWxvYWROYXRpdmVEYXRlSW5wdXRcIlxuICAgICAgICBbY29udGFpbmVyXT1cImNvbnRhaW5lclRhcmdldCB8fCAnLndtLWFwcCdcIlxuICAgICAgICBbYnNDb25maWddPVwiX2RhdGVPcHRpb25zXCJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgICAgICAjZGF0ZXBpY2tlcj1cImJzRGF0ZXBpY2tlclwiXG4gICAgICAgIGJzRGF0ZXBpY2tlclxuICAgICAgICBbZGF5c0Rpc2FibGVkXT1cImV4Y2x1ZGVkRGF5c1RvRGlzYWJsZVwiXG4gICAgICAgIFtkYXRlc0Rpc2FibGVkXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20gcmlnaHRcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgIFtic1ZhbHVlXT1cImJzRGF0YVZhbHVlXCJcbiAgICAgICAgKG9uU2hvd24pPVwib25EYXRlUGlja2VyT3BlbigpXCJcbiAgICAgICAgKG9uSGlkZGVuKT1cImhpZGVEYXRlcGlja2VyRHJvcGRvd24oKVwiXG4gICAgICAgIChic1ZhbHVlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImxvYWROYXRpdmVEYXRlSW5wdXRcIj5cbiAgICA8d20tZGF0ZXRpbWVwaWNrZXJcbiAgICAgICAgZGF0ZVRpbWVQaWNrZXJcbiAgICAgICAgbW9kZT1cIkRBVEVcIlxuICAgICAgICBbY29uZmlnXT1cIl9kYXRlT3B0aW9uc1wiXG4gICAgICAgIFtwbGFjZW1lbnRdPVwibW9kYWxcIlxuICAgICAgICBbZXhjbHVkZWREYXlzVG9EaXNhYmxlXT1cImV4Y2x1ZGVkRGF5c1RvRGlzYWJsZVwiXG4gICAgICAgIFtleGNsdWRlZERhdGVzVG9EaXNhYmxlXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkYXRlSW5wdXRGb3JtYXRcIlxuICAgICAgICBbdmFsdWVdPVwiYnNEYXRhVmFsdWVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC93bS1kYXRldGltZXBpY2tlcj5cbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWlucHV0IG1vYmlsZS1kYXRlcGlja2VyLWNvbnRhaW5lclwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleCB8fCAwXCJcbiAgICAgICAgIChjbGljayk9XCIhKGRpc2FibGVkIHx8IHJlYWRvbmx5KSAmJiBzaG93RGF0ZVBpY2tlck1vZGFsKGJzRGF0YVZhbHVlKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkRhdGVUaW1lSW5wdXRGb2N1cyh0cnVlKTsgaW52b2tlT25Gb2N1cygkZXZlbnQpO1wiXG4gICAgICAgIChibHVyKT1cIm9uRGF0ZVRpbWVJbnB1dEJsdXIoKTsgaW52b2tlT25Ub3VjaGVkKCRldmVudClcIlxuICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkaXNwbGF5VmFsdWUgPyAnQ2hhbmdlIERhdGUgJyArIGRpc3BsYXlWYWx1ZSA6IGFyaWFsYWJlbCB8fCAnQ2hvb3NlIERhdGUnXCJcbiAgICAgICAgIHJvbGU9XCJidXR0b25cIj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
363
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateComponent, { className: "DateComponent", filePath: "date/date.component.ts", lineNumber: 46 }); })();
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRixPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsV0FBVyxFQUVYLGNBQWMsRUFDZCxVQUFVLEVBQ1Ysd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDeEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFpQixTQUFTLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFD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Q2Esa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxxQkFBRSxrQkFBa0I7O2lGQVM3RSxhQUFhO2NBWHpCLFNBQVM7NkJBQ00sSUFBSSxXQUNQLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFDLFlBQzdFLFVBQVUsYUFFVDtvQkFDUCxTQUFTLGdCQUFnQixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ2pELFNBQVMsZ0JBQWdCLGFBQWEsRUFBRSxJQUFJLENBQUM7b0JBQzdDLGtCQUFrQixlQUFlO2lCQUNwQzs7c0JBd0VJLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQVJHLHFCQUFxQjtrQkFBaEUsU0FBUzttQkFBQyxxQkFBcUI7WUFDa0IsS0FBSztrQkFBdEQsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFOztrRkEvRHZDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXbUNvbXBvbmVudHNNb2R1bGUgfSBmcm9tIFwiQHdtL2NvbXBvbmVudHMvYmFzZVwiO1xuaW1wb3J0IHsgSU1hc2tNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyRGlyZWN0aXZlLCBCc0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtcbiAgICBhZGRFdmVudExpc3RlbmVyT25FbGVtZW50LFxuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgQXBwRGVmYXVsdHMsXG4gICAgRVZFTlRfTElGRSxcbiAgICBGb3JtV2lkZ2V0VHlwZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGdldE1vbWVudExvY2FsZU9iamVjdFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc2V0Rm9jdXNUcmFwLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IEJhc2VEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vYmFzZS1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2RhdGUucHJvcHMnO1xuaW1wb3J0IHsgdmFsaWRhdGVUaGVNYXNrZWREYXRlIH0gZnJvbSAnLi9pbWFza1V0aWwnO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IGluY2x1ZGVzLCBpc05hTiwgcGFyc2VJbnQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuLi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnRcIjtcblxuZGVjbGFyZSBjb25zdCBfLCAkO1xuXG5jb25zdCBDVVJSRU5UX0RBVEUgPSAnQ1VSUkVOVF9EQVRFJztcbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1kYXRlIGlucHV0LWdyb3VwJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7XG4gICAgd2lkZ2V0VHlwZTogJ3dtLWRhdGUnLFxuICAgIGhvc3RDbGFzczogREVGQVVMVF9DTFNcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1dtQ29tcG9uZW50c01vZHVsZSwgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsIElNYXNrTW9kdWxlLCBCc0RhdGVwaWNrZXJNb2R1bGVdLFxuICAgIHNlbGVjdG9yOiAnW3dtRGF0ZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKERhdGVDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKERhdGVDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoRGF0ZUNvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0ZVRpbWVDb21wb25lbnQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgYnNEYXRhVmFsdWU7XG4gICAgcHVibGljIHNob3dkcm9wZG93bm9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBkYXRlQ29udGFpbmVyQ2xzOiBzdHJpbmc7XG4gICAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2JzRGVmYXVsdExvYWRDaGVjazogYm9vbGVhbjtcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuICAgIHB1YmxpYyBhcmlhbGFiZWw6IHN0cmluZztcblxuICAgIHByaXZhdGUgZGVyZWdpc3RlckV2ZW50TGlzdGVuZXI7XG4gICAgcHJpdmF0ZSBpc0N1cnJlbnREYXRlO1xuICAgIHByaXZhdGUgZm9jdXNUcmFwO1xuICAgIHByaXZhdGUgc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgbWFzaztcbiAgICBwcml2YXRlIG1hc2tEYXRlSW5wdXRGb3JtYXQ7XG4gICAgcHJpdmF0ZSBtYXNrRGF0ZUlucHV0Rm9ybWF0UGxhY2Vob2xkZXI7XG5cbiAgICBnZXQgdGltZXN0YW1wKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ic0RhdGFWYWx1ZSA/IHRoaXMuYnNEYXRhVmFsdWUudmFsdWVPZigpIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldCBkYXRlSW5wdXRGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlT3B0aW9ucy5kYXRlSW5wdXRGb3JtYXQgfHwgJ3l5eXktTU0tZGQnO1xuICAgIH1cblxuICAgIGdldCBkaXNwbGF5VmFsdWUoKSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlciAmJiB0aGlzLmltYXNrPy5tYXNrUmVmICYmIHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgdGhpcy5ic0RhdGFWYWx1ZSwgdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsIHRoaXMuZGF0ZUlucHV0Rm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVEaXNwbGF5VmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsICd5eXl5LU1NLWRkJywgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSB8fCAnJztcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZ2V0IGRhdGF2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgdGhpcy5ic0RhdGFWYWx1ZSwgdGhpcy5vdXRwdXRmb3JtYXQsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcykgfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gVG9kb1tTaHViaGFtXTogbmVlZHMgdG8gYmUgcmVkZWZpbmVkXG4gICAgLy8gc2V0cyB0aGUgZGF0YVZhbHVlIGFuZCBjb21wdXRlcyB0aGUgZGlzcGxheSBtb2RlbCB2YWx1ZXNcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2V0IGRhdGF2YWx1ZShuZXdWYWwpIHtcbiAgICAgICAgaWYgKG5ld1ZhbCA9PT0gQ1VSUkVOVF9EQVRFKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJzRGF0YVZhbHVlID0gdGhpcy50aW1lWm9uZSA/IGdldE1vbWVudExvY2FsZU9iamVjdCh0aGlzLnRpbWVab25lKSA6IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICB9LCA1MCk7XG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IG5ld1ZhbCA/IGdldERhdGVPYmoobmV3VmFsLCB7IGlzTmF0aXZlUGlja2VyOiB0aGlzLmxvYWROYXRpdmVEYXRlSW5wdXQgfSwgdGhpcy50aW1lWm9uZSkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB0aGlzLmlzQ3VycmVudERhdGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyB1cGRhdGUgdGhlIHByZXZpb3VzIGRhdGF2YWx1ZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZChCc0RhdGVwaWNrZXJEaXJlY3RpdmUpIHByb3RlY3RlZCBic0RhdGVQaWNrZXJEaXJlY3RpdmU7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZUlucHV0JywgeyByZWFkOiBJTWFza0RpcmVjdGl2ZSB9KSBpbWFzazogSU1hc2tEaXJlY3RpdmU8YW55PjtcblxuICAgIC8vIFRPRE8gdXNlIEJzTG9jYWxlU2VydmljZSB0byBzZXQgdGhlIGN1cnJlbnQgdXNlcidzIGxvY2FsZSB0byBzZWUgdGhlIGxvY2FsaXplZCBsYWJlbHNcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYXBwRGVmYXVsdHM6IEFwcERlZmF1bHRzLFxuICAgICAgICBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcblxuICAgICAgICB0aGlzLmRhdGVDb250YWluZXJDbHMgPSBgYXBwLWRhdGUtJHt0aGlzLndpZGdldElkfWA7XG4gICAgICAgIHRoaXMuX2RhdGVPcHRpb25zLmNvbnRhaW5lckNsYXNzID0gYGFwcC1kYXRlICR7dGhpcy5kYXRlQ29udGFpbmVyQ2xzfWA7XG4gICAgICAgIHRoaXMuX2RhdGVPcHRpb25zLnNob3dXZWVrTnVtYmVycyA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ic0RlZmF1bHRMb2FkQ2hlY2sgPSB0cnVlO1xuICAgICAgICB0aGlzLmRhdGVwYXR0ZXJuID0gdGhpcy5hcHBEZWZhdWx0cy5kYXRlRm9ybWF0IHx8IGdldERpc3BsYXlEYXRlVGltZUZvcm1hdChGb3JtV2lkZ2V0VHlwZS5EQVRFKTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtYXQoJ2RhdGVwYXR0ZXJuJyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbWV0aG9kIHRyaWdnZXJlZCB3aGVuIHRoZSBkYXRlIGlucHV0IGNoYW5nZXNcbiAgICAgKi9cbiAgICBvbkRpc3BsYXlEYXRlQ2hhbmdlKCRldmVudCwgaXNOYXRpdmVQaWNrZXI6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgIGlmICh0aGlzLmlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpbnB1dFZhbCA9ICRldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIC8vIFdoZW4gdGhlIGlucHV0IGlzIGNsZWFyZWQsIHRoZSBpbnB1dCB2YWx1ZSBiZWNvbWVzIG1hc2tEYXRlSW5wdXRGb3JtYXRQbGFjZWhvbGRlci4gVGhpcyBjYXVzZXMgYSB2YWxpZGF0aW9uIGVycm9yLlxuICAgICAgICAvLyBXaGVuIHRoZSBpbnB1dCB2YWx1ZSBpcyBlcXVhbCB0byBtYXNrRGF0ZUlucHV0Rm9ybWF0UGxhY2Vob2xkZXIsIGl0IG1lYW5zIHRoYXQgdGhlIGlucHV0IGlzIGluIGFuIGVtcHR5IHN0YXRlLlxuICAgICAgICBpZiAodGhpcy5zaG93ZGF0ZWZvcm1hdGFzcGxhY2Vob2xkZXIgJiYgaW5wdXRWYWwgPT09IHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdFBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICBpbnB1dFZhbCA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3VmFsID0gZ2V0RGF0ZU9iaihpbnB1dFZhbCwgeyBwYXR0ZXJuOiB0aGlzLmRhdGVwYXR0ZXJuLCBpc05hdGl2ZVBpY2tlcjogaXNOYXRpdmVQaWNrZXIgfSk7XG4gICAgICAgIC8vIGRhdGUgcGF0dGVybiB2YWxpZGF0aW9uXG4gICAgICAgIC8vIGlmIGludmFsaWQgcGF0dGVybiBpcyBlbnRlcmVkLCBkZXZpY2UgaXMgc2hvd2luZyBhbiBlcnJvci5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFZhbGlkYXRpb24obmV3VmFsLCBpbnB1dFZhbCwgaXNOYXRpdmVQaWNrZXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gbWluIGRhdGUgYW5kIG1heCBkYXRlIHZhbGlkYXRpb24gaW4gbW9iaWxlIHZpZXcuXG4gICAgICAgIC8vIGlmIGludmFsaWQgZGF0ZXMgYXJlIGVudGVyZWQsIGRldmljZSBpcyBzaG93aW5nIGFuIGFsZXJ0LlxuICAgICAgICBpZiAoaXNOYXRpdmVQaWNrZXIgJiYgdGhpcy5taW5EYXRlTWF4RGF0ZVZhbGlkYXRpb25PbklucHV0KG5ld1ZhbCwgJGV2ZW50LCB0aGlzLmRpc3BsYXlWYWx1ZSwgaXNOYXRpdmVQaWNrZXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXREYXRhVmFsdWUobmV3VmFsKTtcbiAgICB9XG5cbiAgICAvLyBzZXRzIHRoZSBkYXRhVmFsdWUgYW5kIGNvbXB1dGVzIHRoZSBkaXNwbGF5IG1vZGVsIHZhbHVlc1xuICAgIHByaXZhdGUgc2V0RGF0YVZhbHVlKG5ld1ZhbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IGZhbHNlO1xuICAgICAgICAvLyBtaW4gZGF0ZSBhbmQgbWF4IGRhdGUgdmFsaWRhdGlvbiBpbiB3ZWIuXG4gICAgICAgIC8vIGlmIGludmFsaWQgZGF0ZXMgYXJlIGVudGVyZWQsIGRldmljZSBpcyBzaG93aW5nIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICAgICAgdGhpcy5taW5EYXRlTWF4RGF0ZVZhbGlkYXRpb25PbklucHV0KG5ld1ZhbCk7XG4gICAgICAgIGlmIChnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIG5ld1ZhbCwgdGhpcy5kYXRlSW5wdXRGb3JtYXQsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcykgPT09IHRoaXMuZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICAkKHRoaXMubmF0aXZlRWxlbWVudCkuZmluZCgnLmRpc3BsYXktaW5wdXQnKS52YWwodGhpcy5kaXNwbGF5VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZXdWYWwpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSBuZXdWYWw7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJzRGF0YVZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIHt9LCB0cnVlKTtcbiAgICB9XG5cbiAgICBvbkRhdGVQaWNrZXJPcGVuKCkge1xuICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYnNEYXRhVmFsdWUgPyB0aGlzLmJzRGF0YVZhbHVlIDogKHRoaXMudGltZVpvbmUgPyBnZXRNb21lbnRMb2NhbGVPYmplY3QodGhpcy50aW1lWm9uZSkgOiBuZXcgRGF0ZSgpKTtcbiAgICAgICAgaWYgKCF0aGlzLmJzRGF0YVZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmhpZ2h0bGlnaHRUb2RheSh0aGlzLmFjdGl2ZURhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcblxuICAgICAgICAvLyBXZSBhcmUgdXNpbmcgdGhlIHR3byBpbnB1dCB0YWdzKFRvIG1haW50YWluIHRoZSBtb2RhbCBhbmQgcHJveHkgbW9kYWwpIGZvciB0aGUgZGF0ZSBjb250cm9sLlxuICAgICAgICAvLyBTbyBhY3R1YWwgYm9vdHN0cmFwIGlucHV0IHRhcmdldCB3aWR0aCB3ZSBtYWRlIGl0IHRvIDAsIHNvIGJvb3RzdHJhcCBjYWxjdWxhdGluZyB0aGUgY2FsZW5kYXIgY29udGFpbmVyIHRvcCBwb3NpdGlvbiBpbXByb3Blcmx5LlxuICAgICAgICAvLyBUbyBmaXggdGhlIGNvbnRhaW5lciB0b3AgcG9zaXRpb24gc2V0IHRoZSB3aWR0aCAxcHg7XG4gICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnLm1vZGVsLWhvbGRlcicpLndpZHRoKCcxcHgnKTtcbiAgICAgICAgY29uc3QgZHBDb250YWluZXJFbCA9ICQoJ2JzLWRhdGVwaWNrZXItY29udGFpbmVyJyk7XG4gICAgICAgIGRwQ29udGFpbmVyRWwuYXR0cignYXJpYS1sYWJlbCcsICdVc2UgQXJyb3cga2V5cyB0byBuYXZpZ2F0ZSBkYXRlcywgQ2hvb3NlIERhdGUgZnJvbSBkYXRlcGlja2VyJyk7XG4gICAgICAgICQoJy5icy1jYWxlbmRhci1jb250YWluZXInKS5yZW1vdmVBdHRyKCdyb2xlJyk7XG4gICAgICAgIGNvbnN0IGRhdGVQaWNrZXJDb250YWluZXIgPSAkKCcuYnMtZGF0ZXBpY2tlci1jb250YWluZXInKVswXTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXAgPSBzZXRGb2N1c1RyYXAoZGF0ZVBpY2tlckNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmFjdGl2YXRlKCk7XG4gICAgICAgIHRoaXMuYWRkRGF0ZXBpY2tlcktleWJvYXJkRXZlbnRzKHRoaXMsIGZhbHNlKTtcbiAgICAgICAgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKSwgdGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5fZGF0ZXBpY2tlcik7XG4gICAgICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMoJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKSwgdGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5fZGF0ZXBpY2tlcik7XG5cbiAgICAgICAgaWYgKHRoaXMudGltZVpvbmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRvZGF5QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7dGhpcy5kYXRlQ29udGFpbmVyQ2xzfSAuYnMtZGF0ZXBpY2tlci1idXR0b25zIC5idG4tdG9kYXktd3JhcHBlciBidXR0b25gKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHNldFRvZGF5VFpIYW5kbGVyID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9kYXlUWiA9IGdldE1vbWVudExvY2FsZU9iamVjdCh0aGlzLnRpbWVab25lKTtcbiAgICAgICAgICAgICAgICBpZiAobmV3IERhdGUodGhpcy5ic0RhdGFWYWx1ZSkudG9EYXRlU3RyaW5nKCkgIT09IG5ldyBEYXRlKHRvZGF5VFopLnRvRGF0ZVN0cmluZygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSB0b2RheVRaO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0b2RheUJ0bi5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHNldFRvZGF5VFpIYW5kbGVyKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB0b2RheUJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHNldFRvZGF5VFpIYW5kbGVyKVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uSW5wdXRCbHVyKCRldmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUlNYXNrKCk7XG4gICAgICAgIGlmICghJCgkZXZlbnQucmVsYXRlZFRhcmdldCkuaGFzQ2xhc3MoJ2N1cnJlbnQtZGF0ZScpKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdibHVyJywgeyAkZXZlbnQgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVJTWFzaygpIHtcbiAgICAgICAgdGhpcy5pbWFzaz8ubWFza1JlZj8udXBkYXRlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURhdGVwaWNrZXJEcm9wZG93bigpIHtcbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXA/LmRlYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmRlcmVnaXN0ZXJFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLmRlcmVnaXN0ZXJFdmVudExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ibHVyRGF0ZUlucHV0KHRoaXMuaXNPcGVuKTtcbiAgICB9XG5cbiAgICAvLyBjaGFuZ2UgYW5kIGJsdXIgZXZlbnRzIGFyZSBhZGRlZCBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFpbmNsdWRlcyhbJ2JsdXInLCAnZm9jdXMnLCAnY2hhbmdlJywgJ2NsaWNrJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB1c2VkIHRvIHRvZ2dsZSB0aGUgZHJvcGRvd24gb2YgdGhlIGRhdGUgd2lkZ2V0XG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZURwRHJvcGRvd24oJGV2ZW50LCBza2lwRm9jdXM6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5sb2FkTmF0aXZlRGF0ZUlucHV0KSB7XG4gICAgICAgICAgICAvLyBGaXhlcyBjbGljayBldmVudCBnZXR0aW5nIHRyaWdncmVkIHR3aWNlIGluIE1vYmlsZSBkZXZpY2VzLlxuICAgICAgICAgICAgaWYgKCFza2lwRm9jdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRGF0ZVRpbWVJbnB1dEZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRldmVudC50eXBlID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NsaWNrJywgeyAkZXZlbnQ6ICRldmVudCB9KTtcbiAgICAgICAgICAgIC8vICB0aGlzLmZvY3VzT25JbnB1dEVsKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRldmVudC50YXJnZXQgJiYgJCgkZXZlbnQudGFyZ2V0KS5pcygnaW5wdXQnKSAmJiAhKHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSkpIHtcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5hZGRCb2R5Q2xpY2tMaXN0ZW5lcih0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5pc09wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQm9keUNsaWNrTGlzdGVuZXIoc2tpcExpc3RlbmVyKSB7XG4gICAgICAgIGlmICghc2tpcExpc3RlbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnNEYXRlQ29udGFpbmVyRWxlbWVudCA9IGJvZHlFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuZGF0ZUNvbnRhaW5lckNsc31gKTtcbiAgICAgICAgICAgIHRoaXMuZGVyZWdpc3RlckV2ZW50TGlzdGVuZXIgPSBhZGRFdmVudExpc3RlbmVyT25FbGVtZW50KGJvZHlFbGVtZW50LCBic0RhdGVDb250YWluZXJFbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9LCBFVkVOVF9MSUZFLk9OQ0UsIHRydWUpO1xuICAgICAgICB9LCAzNTApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbWV0aG9kIHRyaWdnZXJlZCB3aGVuIHByZXNzaW5nIGtleSBvbiB0aGUgZGF0ZSBpbnB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkRpc3BsYXlLZXlkb3duKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcERvd25EaXNwbGF5RW5hYmxlZE9uSW5wdXQodGhpcy5zaG93ZHJvcGRvd25vbikpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbCA9IGdldERhdGVPYmooZXZlbnQudGFyZ2V0LnZhbHVlLCB7IHBhdHRlcm46IHRoaXMuZGF0ZXBhdHRlcm4gfSk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGVQaXBlLCBuZXdWYWwsIHRoaXMuZGF0ZUlucHV0Rm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpO1xuICAgICAgICAgICAgICAgIGxldCBpbnB1dFZhbCA9IGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyICYmIGlucHV0VmFsID09PSB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXRQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFZhbCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpbnB1dFZhbCAmJiB0aGlzLmRhdGVwYXR0ZXJuID09PSAndGltZXN0YW1wJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTmFOKGlucHV0VmFsKSAmJiBwYXJzZUludChpbnB1dFZhbCkgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0VmFsICYmIGlucHV0VmFsICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgZXZlbnQsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5ic1ZhbHVlID0gaW5wdXRWYWwgPyBuZXdWYWwgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJTWFzaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURwRHJvcGRvd24oZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVEYXRlcGlja2VyRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURhdGVwaWNrZXJEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBvbkRhdGVDaGFuZ2UobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiAgTmd4LWJvb3RzdHJhcCB1cGdyYWRlIDogVG8gYXZvaWQgdGhlIHBhZ2UgbG9hZCBkYXRlY2hhbmdlIGV2ZW50O1xuICAgICAgICAgKiAgVE9ETzpcbiAgICAgICAgICogIGh0dHBzOi8vZ2l0aHViLmNvbS92YWxvci1zb2Z0d2FyZS9uZ3gtYm9vdHN0cmFwL2lzc3Vlcy82MDE2XG4gICAgICAgICAqICBGb3IgYWJvdmUgaXNzdWUsIG9uY2Ugd2UgZ2V0IHRoZSBzb2x1dGlvbiBmcm9tIE5neC1Cb290c3RyYXAgdGVhbSwgIHJlbW92ZSB0aGUgX2JzRGVmYXVsdExvYWRDaGVjayBjaGVjayBhbmQgdXBkYXRlIGFjY29yZGluZ2x5LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fYnNEZWZhdWx0TG9hZENoZWNrKSB7XG4gICAgICAgICAgICB0aGlzLl9ic0RlZmF1bHRMb2FkQ2hlY2sgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ3Nob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlcicpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyID0gbnY7XG4gICAgICAgICAgICB0aGlzLmltYXNrPy5kZXN0cm95TWFzaygpO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd2RhdGVmb3JtYXRhc3BsYWNlaG9sZGVyICYmIHRoaXMuZGF0ZXBhdHRlcm4gIT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrID0gdmFsaWRhdGVUaGVNYXNrZWREYXRlKHRoaXMuZGF0ZXBhdHRlcm4sIHRoaXMuc2VsZWN0ZWRMb2NhbGUpO1xuICAgICAgICAgICAgICAgIHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdCA9IHRoaXMuZGF0ZUlucHV0Rm9ybWF0O1xuICAgICAgICAgICAgICAgIHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdCA9ICh0aGlzLmRhdGVJbnB1dEZvcm1hdC5zcGxpdCgnZCcpLmxlbmd0aCAtIDEpID09PSAxID8gdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0LnJlcGxhY2UoJ2QnLCAnZGQnKSA6IHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdDtcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXQgPSAodGhpcy5kYXRlSW5wdXRGb3JtYXQuc3BsaXQoJ00nKS5sZW5ndGggLSAxKSA9PT0gMSA/IHRoaXMubWFza0RhdGVJbnB1dEZvcm1hdC5yZXBsYWNlKCdNJywgJ01NJykgOiB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrRGF0ZUlucHV0Rm9ybWF0UGxhY2Vob2xkZXIgPSB0aGlzLm1hc2tEYXRlSW5wdXRGb3JtYXQudG9VcHBlckNhc2UoKS5yZXBsYWNlKCdFRUVFJywgJ0VFRUVFRScpLnJlcGxhY2UoJ01NTU0nLCAnTU1NJyk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJTWFzaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3ggYXBwLWRhdGVpbnB1dCBkaXNwbGF5LWlucHV0XCJcbiAgZm9jdXMtdGFyZ2V0XG4gIHR5cGU9XCJ0ZXh0XCJcbiAgW25hbWVdPVwibmFtZVwiXG4gICNkYXRlSW5wdXRcbiAgW2ltYXNrXT1cIm1hc2tcIlxuICBbdW5tYXNrXT1cInRydWVcIlxuICBbdGFiaW5kZXhdPVwibG9hZE5hdGl2ZURhdGVJbnB1dCA/ICctMScgOiB0YWJpbmRleFwiXG4gIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIlxuICAoY2xpY2spPVwidG9nZ2xlRHBEcm9wZG93bigkZXZlbnQsIHRydWUpXCJcbiAgKGZvY3VzKT1cIm9uRGF0ZVRpbWVJbnB1dEZvY3VzKCk7IGludm9rZU9uRm9jdXMoJGV2ZW50KTsgdXBkYXRlSU1hc2soKVwiXG4gIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtyZWFkT25seV09XCJpc1JlYWRPbmx5XCJcbiAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFsYWJlbFwiXG4gIChjaGFuZ2UpPVwib25EaXNwbGF5RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24pPVwidGhpcy5fdHJpZ2dlcmVkQnlVc2VyID0gdHJ1ZTsgb25EaXNwbGF5S2V5ZG93bigkZXZlbnQpO1wiPlxuXG48c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi10aW1lXCJcbiAgICBbdGFiaW5kZXhdPVwibG9hZE5hdGl2ZURhdGVJbnB1dCA/ICctMScgOiB0YWJpbmRleFwiXG4gICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiISFsb2FkTmF0aXZlRGF0ZUlucHV0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGlzcGxheVZhbHVlID8gJ0NoYW5nZSBEYXRlICcgKyBkaXNwbGF5VmFsdWUgOiAnQ2hvb3NlIGRhdGUgYnkgcHJlc3NpbmcgZW50ZXInXCJcbiAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5cIlxuICAgIChjbGljayk9XCJ0b2dnbGVEcERyb3Bkb3duKCRldmVudCwgZmFsc2UpXCI+XG4gICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cImFwcC1pY29uIHdtLXNsLWwgc2wtY2FsZW5kYXJcIj48L2k+XG4gIDwvYnV0dG9uPlxuPC9zcGFuPlxuPGRpdiBzdHlsZT1cIndpZHRoOiAwO2Rpc3BsYXk6IGlubGluZS1ibG9jaztcIj5cbiAgPGlucHV0IGNsYXNzPVwibW9kZWwtaG9sZGVyXCJcbiAgICBhcmlhLWxhYmVsPVwiZGF0ZXBpY2tlciBkcm9wZG93bm1lbnVcIlxuICAgIGFyaWEtY29udHJvbHM9XCJkYXRlXCJcbiAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gICAgW2NvbnRhaW5lcl09XCJjb250YWluZXJUYXJnZXQgfHwgJy53bS1hcHAnXCJcbiAgICBbYnNDb25maWddPVwiX2RhdGVPcHRpb25zXCJcbiAgICBbaXNPcGVuXT1cImlzT3BlblwiXG4gICAgI2RhdGVwaWNrZXI9XCJic0RhdGVwaWNrZXJcIlxuICAgIGJzRGF0ZXBpY2tlclxuICAgIFtkYXlzRGlzYWJsZWRdPVwiZXhjbHVkZWREYXlzVG9EaXNhYmxlXCJcbiAgICBbZGF0ZXNEaXNhYmxlZF09XCJleGNsdWRlZERhdGVzVG9EaXNhYmxlXCJcbiAgICBwbGFjZW1lbnQ9XCJib3R0b20gcmlnaHRcIlxuICAgIFtpc0Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcbiAgICBbYnNWYWx1ZV09XCJic0RhdGFWYWx1ZVwiXG4gICAgKG9uU2hvd24pPVwib25EYXRlUGlja2VyT3BlbigpXCJcbiAgICAob25IaWRkZW4pPVwiaGlkZURhdGVwaWNrZXJEcm9wZG93bigpXCJcbiAgICAoYnNWYWx1ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuPC9kaXY+XG5cbkBpZiAobG9hZE5hdGl2ZURhdGVJbnB1dCkge1xuICA8d20tZGF0ZXRpbWVwaWNrZXJcbiAgICBkYXRlVGltZVBpY2tlclxuICAgIG1vZGU9XCJEQVRFXCJcbiAgICBbY29uZmlnXT1cIl9kYXRlT3B0aW9uc1wiXG4gICAgW3BsYWNlbWVudF09XCJtb2RhbFwiXG4gICAgW2V4Y2x1ZGVkRGF5c1RvRGlzYWJsZV09XCJleGNsdWRlZERheXNUb0Rpc2FibGVcIlxuICAgIFtleGNsdWRlZERhdGVzVG9EaXNhYmxlXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgIFtkaXNwbGF5Rm9ybWF0XT1cImRhdGVJbnB1dEZvcm1hdFwiXG4gICAgW3ZhbHVlXT1cImJzRGF0YVZhbHVlXCJcbiAgICAoY2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gIDwvd20tZGF0ZXRpbWVwaWNrZXI+XG4gIDxkaXYgY2xhc3M9XCJtb2JpbGUtaW5wdXQgbW9iaWxlLWRhdGVwaWNrZXItY29udGFpbmVyXCJcbiAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXggfHwgMFwiXG4gICAgKGNsaWNrKT1cIiEoZGlzYWJsZWQgfHwgcmVhZG9ubHkpICYmIHNob3dEYXRlUGlja2VyTW9kYWwoYnNEYXRhVmFsdWUpXCJcbiAgICAoZm9jdXMpPVwib25EYXRlVGltZUlucHV0Rm9jdXModHJ1ZSk7IGludm9rZU9uRm9jdXMoJGV2ZW50KTtcIlxuICAgIChibHVyKT1cIm9uRGF0ZVRpbWVJbnB1dEJsdXIoKTsgaW52b2tlT25Ub3VjaGVkKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGlzcGxheVZhbHVlID8gJ0NoYW5nZSBEYXRlICcgKyBkaXNwbGF5VmFsdWUgOiBhcmlhbGFiZWwgfHwgJ0Nob29zZSBEYXRlJ1wiXG4gICAgcm9sZT1cImJ1dHRvblwiPlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import IMask from "imask";
2
+ import moment from 'moment';
2
3
  export function validateTheMaskedDate(format, locale) {
3
4
  if (format == 'timestamp') {
4
5
  return false;
@@ -109,4 +110,4 @@ export function validateTheMaskedDate(format, locale) {
109
110
  skipInvalid: true
110
111
  };
111
112
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hc2tVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2Vwb2NoL3NyYy9kYXRlL2ltYXNrVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHMUIsTUFBTSxVQUFVLHFCQUFxQixDQUFFLE1BQU0sRUFBRSxNQUFNO0lBQ2pELElBQUcsTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxJQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFHLENBQUM7UUFDL0MsY0FBYyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsRUFBRTtRQUNsQixPQUFPLE1BQU0sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUU7UUFDaEIsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FB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RUFBQyxHQUFHO2dCQUNuQixTQUFTLEVBQUUsQ0FBQzthQUNmO1lBQ0QsR0FBRyxFQUFFO2dCQUNELElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUNyRTtnQkFDRCxlQUFlLEVBQUMsR0FBRztnQkFDbkIsU0FBUyxFQUFFLENBQUM7YUFDZjtZQUNELElBQUksRUFBRTtnQkFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3JDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FDcEU7Z0JBQ0QsZUFBZSxFQUFDLEdBQUc7Z0JBQ25CLFNBQVMsRUFBRSxDQUFDO2FBQ2Y7U0FDSjtRQUNELE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO0tBQ3BCLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElNYXNrIGZyb20gXCJpbWFza1wiO1xuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRoZU1hc2tlZERhdGUgKGZvcm1hdCwgbG9jYWxlKSAge1xuICAgIGlmKGZvcm1hdCA9PSAndGltZXN0YW1wJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGxldCBtb2RpZmllZEZvcm1hdCA9IGZvcm1hdC50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoL0UvZywgJ2QnKTtcbiAgICBpZigobW9kaWZpZWRGb3JtYXQuc3BsaXQoJ0QnKS5sZW5ndGggLSAxKSA9PT0gMSkge1xuICAgICAgICBtb2RpZmllZEZvcm1hdCA9IG1vZGlmaWVkRm9ybWF0LnJlcGxhY2UoJ0QnLCAnREQnKTtcbiAgICB9XG4gICAgaWYoKG1vZGlmaWVkRm9ybWF0LnNwbGl0KCdNJykubGVuZ3RoIC0gMSkgPT09IDEgKSB7XG4gICAgICAgIG1vZGlmaWVkRm9ybWF0ID0gbW9kaWZpZWRGb3JtYXQucmVwbGFjZSgnTScsICdNTScpO1xuICAgIH1cbiAgICBjb25zdCBwYXJzZUZuPSAgc3RyID0+IHtcbiAgICAgICAgcmV0dXJuIG1vbWVudChzdHIsIG1vZGlmaWVkRm9ybWF0KS50b0RhdGUoKTtcbiAgICB9O1xuICAgIGNvbnN0IGZvcm1hdEZuID0gZGF0ZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUsIG1vZGlmaWVkRm9ybWF0KS5mb3JtYXQobW9kaWZpZWRGb3JtYXQpO1xuICAgICAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIG1hc2s6IERhdGUsXG4gICAgICAgIHBhdHRlcm46IG1vZGlmaWVkRm9ybWF0LFxuICAgICAgICBmb3JtYXQ6IGZvcm1hdEZuLFxuICAgICAgICBwYXJzZTogcGFyc2VGbixcblxuICAgICAgICBibG9ja3M6IHtcbiAgICAgICAgICAgIFlZWVk6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgZnJvbTogMTkwMCxcbiAgICAgICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonWScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiA0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDkwMCxcbiAgICAgICAgICAgICAgICB0bzogOTk5LFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonWScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFlZOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgICAgICB0bzogOTksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidZJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDE5MDAsXG4gICAgICAgICAgICAgICAgdG86IDk5OTksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidZJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDEyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonTScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1NOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMSxcbiAgICAgICAgICAgICAgICB0bzogMTIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidNJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU1NOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkRW51bSxcbiAgICAgICAgICAgICAgICBlbnVtOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoMCwgaSkudG9Mb2NhbGVTdHJpbmcobG9jYWxlLCB7IG1vbnRoOiAnc2hvcnQnIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J00nLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNTU1NOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkRW51bSxcbiAgICAgICAgICAgICAgIGVudW06IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgwLCBpKS50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgbW9udGg6ICdsb25nJyB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiBcIk1cIixcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBERDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDMxLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonRCcsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J0QnLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZGQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRFbnVtLFxuICAgICAgICAgICAgICAgIGVudW06IEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSwgKF8sIGkpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKDAsIDAsIGkgKyAxKS50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgd2Vla2RheTogJ3Nob3J0JyB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidFJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGRkZDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICAgZW51bTogQXJyYXkuZnJvbSh7IGxlbmd0aDogNyB9LCAoXywgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoMCwgMCwgaSArIDEpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSwgeyB3ZWVrZGF5OiAnbG9uZycgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonRScsXG4gICAgICAgICAgICAgICAgbWluTGVuZ3RoOiA2LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICAgICAgc2tpcEludmFsaWQ6IHRydWVcbiAgICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hc2tVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2Vwb2NoL3NyYy9kYXRlL2ltYXNrVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sVUFBVSxxQkFBcUIsQ0FBRSxNQUFNLEVBQUUsTUFBTTtJQUNqRCxJQUFHLE1BQU0sSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxjQUFjLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0QsSUFBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzlDLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRyxDQUFDO1FBQy9DLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUU7UUFDbEIsT0FBTyxNQUFNLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hELENBQUMsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFO1FBQ2hCLE9B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QkFDUCxFQUFFLEVBQUUsRUFBRTtnQkFDTixlQUFlLEVBQUMsR0FBRztnQkFDbkIsU0FBUyxFQUFFLENBQUM7YUFDZjtZQUNELEdBQUcsRUFBRTtnQkFDRCxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ3RCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3JDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FDckU7Z0JBQ0QsZUFBZSxFQUFDLEdBQUc7Z0JBQ25CLFNBQVMsRUFBRSxDQUFDO2FBQ2Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUN0QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNyQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQ3BFO2dCQUNELGVBQWUsRUFBQyxHQUFHO2dCQUNuQixTQUFTLEVBQUUsQ0FBQzthQUNmO1NBQ0o7UUFDRCxPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUksRUFBRSxLQUFLO1FBQ1gsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSTtLQUNwQixDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJTWFzayBmcm9tIFwiaW1hc2tcIjtcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGhlTWFza2VkRGF0ZSAoZm9ybWF0LCBsb2NhbGUpICB7XG4gICAgaWYoZm9ybWF0ID09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgbGV0IG1vZGlmaWVkRm9ybWF0ID0gZm9ybWF0LnRvVXBwZXJDYXNlKCkucmVwbGFjZSgvRS9nLCAnZCcpO1xuICAgIGlmKChtb2RpZmllZEZvcm1hdC5zcGxpdCgnRCcpLmxlbmd0aCAtIDEpID09PSAxKSB7XG4gICAgICAgIG1vZGlmaWVkRm9ybWF0ID0gbW9kaWZpZWRGb3JtYXQucmVwbGFjZSgnRCcsICdERCcpO1xuICAgIH1cbiAgICBpZigobW9kaWZpZWRGb3JtYXQuc3BsaXQoJ00nKS5sZW5ndGggLSAxKSA9PT0gMSApIHtcbiAgICAgICAgbW9kaWZpZWRGb3JtYXQgPSBtb2RpZmllZEZvcm1hdC5yZXBsYWNlKCdNJywgJ01NJyk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlRm49ICBzdHIgPT4ge1xuICAgICAgICByZXR1cm4gbW9tZW50KHN0ciwgbW9kaWZpZWRGb3JtYXQpLnRvRGF0ZSgpO1xuICAgIH07XG4gICAgY29uc3QgZm9ybWF0Rm4gPSBkYXRlID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSwgbW9kaWZpZWRGb3JtYXQpLmZvcm1hdChtb2RpZmllZEZvcm1hdCk7XG4gICAgICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbWFzazogRGF0ZSxcbiAgICAgICAgcGF0dGVybjogbW9kaWZpZWRGb3JtYXQsXG4gICAgICAgIGZvcm1hdDogZm9ybWF0Rm4sXG4gICAgICAgIHBhcnNlOiBwYXJzZUZuLFxuXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgWVlZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgICAgICBmcm9tOiAxOTAwLFxuICAgICAgICAgICAgICAgICAgICB0bzogOTk5OSxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidZJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVlZOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogOTAwLFxuICAgICAgICAgICAgICAgIHRvOiA5OTksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidZJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWVk6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgICAgIHRvOiA5OSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J1knLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBZOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMTkwMCxcbiAgICAgICAgICAgICAgICB0bzogOTk5OSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J1knLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMSxcbiAgICAgICAgICAgICAgICB0bzogMTIsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidNJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J00nLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRFbnVtLFxuICAgICAgICAgICAgICAgIGVudW06IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgwLCBpKS50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgbW9udGg6ICdzaG9ydCcgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonTScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1NTU06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRFbnVtLFxuICAgICAgICAgICAgICAgZW51bTogQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKDAsIGkpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSwgeyBtb250aDogJ2xvbmcnIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6IFwiTVwiLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogNFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEREOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMSxcbiAgICAgICAgICAgICAgICB0bzogMzEsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidEJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgRDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDMxLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonRCcsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRkZDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICAgZW51bTogQXJyYXkuZnJvbSh7IGxlbmd0aDogNyB9LCAoXywgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoMCwgMCwgaSArIDEpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSwgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J0UnLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZGRkOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkRW51bSxcbiAgICAgICAgICAgICAgICBlbnVtOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0sIChfLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgwLCAwLCBpICsgMSkudG9Mb2NhbGVTdHJpbmcobG9jYWxlLCB7IHdlZWtkYXk6ICdsb25nJyB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidFJyxcbiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IDYsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhdXRvZml4OiB0cnVlLFxuICAgICAgICBsYXp5OiBmYWxzZSxcbiAgICAgICAgb3ZlcndyaXRlOiB0cnVlLFxuICAgICAgICBza2lwSW52YWxpZDogdHJ1ZVxuICAgIH1cbn1cbiJdfQ==