@wavemaker/app-ng-runtime 11.10.5-rc.6096 → 11.11.0-1.6137

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 (1174) 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 +86 -278
  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 +33 -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 +3 -1
  55. package/components/base/esm2022/utils/live-utils.mjs +3 -7
  56. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +4 -2
  57. package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
  58. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
  59. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  60. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
  61. package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
  62. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  63. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
  64. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
  65. package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
  66. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  67. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
  68. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
  69. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
  70. package/components/base/fesm2022/index.mjs +85 -276
  71. package/components/base/fesm2022/index.mjs.map +1 -1
  72. package/components/base/pipes/custom-pipes.d.ts +15 -15
  73. package/components/base/pipes/image.pipe.d.ts +1 -1
  74. package/components/base/pipes/sanitize.pipe.d.ts +1 -1
  75. package/components/base/pipes/trust-as.pipe.d.ts +1 -1
  76. package/components/base/public_api.d.ts +0 -1
  77. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
  78. package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  79. package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
  80. package/components/base/widgets/common/container/container.directive.d.ts +1 -1
  81. package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
  82. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  83. package/components/base/widgets/common/message/message.component.d.ts +1 -1
  84. package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
  85. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
  86. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
  87. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
  88. package/components/basic/default/anchor/anchor.component.d.ts +1 -1
  89. package/components/basic/default/audio/audio.component.d.ts +1 -1
  90. package/components/basic/default/bundles/index.umd.js +100 -148
  91. package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
  92. package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
  93. package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
  94. package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
  95. package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
  96. package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
  97. package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
  98. package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
  99. package/components/basic/default/esm2022/public_api.mjs +1 -2
  100. package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
  101. package/components/basic/default/esm2022/video/video.component.mjs +19 -18
  102. package/components/basic/default/fesm2022/index.mjs +101 -148
  103. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  104. package/components/basic/default/html/html.directive.d.ts +1 -1
  105. package/components/basic/default/icon/icon.component.d.ts +1 -1
  106. package/components/basic/default/iframe/iframe.component.d.ts +1 -1
  107. package/components/basic/default/label/label.directive.d.ts +1 -1
  108. package/components/basic/default/picture/picture.directive.d.ts +1 -1
  109. package/components/basic/default/public_api.d.ts +0 -1
  110. package/components/basic/default/spinner/spinner.component.d.ts +1 -1
  111. package/components/basic/default/video/video.component.d.ts +1 -1
  112. package/components/basic/progress/bundles/index.umd.js +20 -51
  113. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
  114. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  115. package/components/basic/progress/esm2022/public_api.mjs +1 -2
  116. package/components/basic/progress/fesm2022/index.mjs +19 -49
  117. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  118. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
  119. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
  120. package/components/basic/progress/public_api.d.ts +0 -1
  121. package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
  122. package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
  123. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
  124. package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
  125. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  126. package/components/basic/rich-text-editor/public_api.d.ts +0 -1
  127. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  128. package/components/basic/search/bundles/index.umd.js +170 -207
  129. package/components/basic/search/esm2022/public_api.mjs +1 -2
  130. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
  131. package/components/basic/search/esm2022/search.component.mjs +76 -72
  132. package/components/basic/search/fesm2022/index.mjs +107 -143
  133. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  134. package/components/basic/search/public_api.d.ts +0 -1
  135. package/components/basic/search/scrollable.directive.d.ts +1 -1
  136. package/components/basic/search/search.component.d.ts +1 -1
  137. package/components/basic/tree/bundles/index.umd.js +9 -33
  138. package/components/basic/tree/esm2022/public_api.mjs +1 -2
  139. package/components/basic/tree/esm2022/tree.component.mjs +7 -6
  140. package/components/basic/tree/fesm2022/index.mjs +8 -32
  141. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  142. package/components/basic/tree/public_api.d.ts +0 -1
  143. package/components/basic/tree/tree.component.d.ts +1 -1
  144. package/components/chart/bundles/index.umd.js +27 -53
  145. package/components/chart/chart.component.d.ts +1 -1
  146. package/components/chart/esm2022/chart.component.mjs +26 -24
  147. package/components/chart/esm2022/chart.utils.mjs +3 -1
  148. package/components/chart/esm2022/public_api.mjs +1 -2
  149. package/components/chart/fesm2022/index.mjs +27 -52
  150. package/components/chart/fesm2022/index.mjs.map +1 -1
  151. package/components/chart/public_api.d.ts +0 -1
  152. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
  153. package/components/containers/accordion/accordion.directive.d.ts +1 -1
  154. package/components/containers/accordion/bundles/index.umd.js +208 -237
  155. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
  156. package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
  157. package/components/containers/accordion/esm2022/public_api.mjs +1 -2
  158. package/components/containers/accordion/fesm2022/index.mjs +189 -217
  159. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  160. package/components/containers/accordion/public_api.d.ts +0 -1
  161. package/components/containers/layout-grid/bundles/index.umd.js +13 -43
  162. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
  163. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
  164. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
  165. package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
  166. package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
  167. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  168. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
  169. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
  170. package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
  171. package/components/containers/layout-grid/public_api.d.ts +0 -1
  172. package/components/containers/linear-layout/bundles/index.umd.js +8 -33
  173. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
  174. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
  175. package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
  176. package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
  177. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  178. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
  179. package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
  180. package/components/containers/linear-layout/public_api.d.ts +0 -1
  181. package/components/containers/panel/bundles/index.umd.js +87 -118
  182. package/components/containers/panel/esm2022/panel.component.mjs +48 -46
  183. package/components/containers/panel/esm2022/public_api.mjs +1 -2
  184. package/components/containers/panel/fesm2022/index.mjs +49 -79
  185. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  186. package/components/containers/panel/panel.component.d.ts +1 -1
  187. package/components/containers/panel/public_api.d.ts +0 -1
  188. package/components/containers/tabs/bundles/index.umd.js +112 -120
  189. package/components/containers/tabs/esm2022/public_api.mjs +1 -2
  190. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
  191. package/components/containers/tabs/esm2022/tabs.component.mjs +61 -38
  192. package/components/containers/tabs/esm2022/tabs.props.mjs +2 -5
  193. package/components/containers/tabs/fesm2022/index.mjs +72 -81
  194. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  195. package/components/containers/tabs/public_api.d.ts +0 -1
  196. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
  197. package/components/containers/tabs/tabs.component.d.ts +3 -1
  198. package/components/containers/tile/bundles/index.umd.js +6 -29
  199. package/components/containers/tile/esm2022/public_api.mjs +1 -2
  200. package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
  201. package/components/containers/tile/fesm2022/index.mjs +5 -28
  202. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  203. package/components/containers/tile/public_api.d.ts +0 -1
  204. package/components/containers/tile/tile.directive.d.ts +1 -1
  205. package/components/containers/wizard/bundles/index.umd.js +355 -189
  206. package/components/containers/wizard/esm2022/public_api.mjs +2 -3
  207. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
  208. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
  209. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
  210. package/components/containers/wizard/esm2022/wizard.component.mjs +264 -105
  211. package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
  212. package/components/containers/wizard/fesm2022/index.mjs +323 -155
  213. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  214. package/components/containers/wizard/public_api.d.ts +1 -2
  215. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
  216. package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
  217. package/components/containers/wizard/wizard.component.d.ts +64 -18
  218. package/components/data/card/bundles/index.umd.js +92 -135
  219. package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
  220. package/components/data/card/card-content/card-content.component.d.ts +1 -1
  221. package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
  222. package/components/data/card/card.component.d.ts +1 -1
  223. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
  224. package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
  225. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
  226. package/components/data/card/esm2022/card.component.mjs +39 -38
  227. package/components/data/card/esm2022/public_api.mjs +1 -2
  228. package/components/data/card/fesm2022/index.mjs +49 -92
  229. package/components/data/card/fesm2022/index.mjs.map +1 -1
  230. package/components/data/card/public_api.d.ts +0 -1
  231. package/components/data/form/bundles/index.umd.js +115 -182
  232. package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  233. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
  234. package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
  235. package/components/data/form/esm2022/form.component.mjs +101 -104
  236. package/components/data/form/esm2022/form.props.mjs +1 -11
  237. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
  238. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
  239. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  240. package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
  241. package/components/data/form/esm2022/public_api.mjs +1 -2
  242. package/components/data/form/fesm2022/index.mjs +117 -184
  243. package/components/data/form/fesm2022/index.mjs.map +1 -1
  244. package/components/data/form/form-action/form-action.directive.d.ts +1 -1
  245. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  246. package/components/data/form/form-widget.directive.d.ts +1 -1
  247. package/components/data/form/form.component.d.ts +1 -1
  248. package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
  249. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
  250. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
  251. package/components/data/form/live-form/live-form.directive.d.ts +1 -1
  252. package/components/data/form/public_api.d.ts +0 -1
  253. package/components/data/list/bundles/index.umd.js +195 -504
  254. package/components/data/list/esm2022/list-item.directive.mjs +4 -3
  255. package/components/data/list/esm2022/list.component.mjs +187 -232
  256. package/components/data/list/esm2022/list.props.mjs +2 -3
  257. package/components/data/list/esm2022/public_api.mjs +1 -2
  258. package/components/data/list/fesm2022/index.mjs +193 -502
  259. package/components/data/list/fesm2022/index.mjs.map +1 -1
  260. package/components/data/list/list-item.directive.d.ts +1 -1
  261. package/components/data/list/list.component.d.ts +1 -1
  262. package/components/data/list/public_api.d.ts +0 -1
  263. package/components/data/live-table/bundles/index.umd.js +9 -33
  264. package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
  265. package/components/data/live-table/esm2022/public_api.mjs +1 -2
  266. package/components/data/live-table/fesm2022/index.mjs +8 -32
  267. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  268. package/components/data/live-table/live-table.component.d.ts +1 -1
  269. package/components/data/live-table/public_api.d.ts +0 -1
  270. package/components/data/pagination/bundles/index.umd.js +80 -110
  271. package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
  272. package/components/data/pagination/esm2022/public_api.mjs +1 -2
  273. package/components/data/pagination/fesm2022/index.mjs +81 -110
  274. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  275. package/components/data/pagination/pagination.component.d.ts +1 -1
  276. package/components/data/pagination/public_api.d.ts +0 -1
  277. package/components/data/table/bundles/index.umd.js +69 -135
  278. package/components/data/table/esm2022/public_api.mjs +1 -2
  279. package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  280. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  281. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
  282. package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
  283. package/components/data/table/esm2022/table-filter.directive.mjs +5 -2
  284. package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
  285. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  286. package/components/data/table/esm2022/table.component.mjs +51 -48
  287. package/components/data/table/fesm2022/index.mjs +73 -140
  288. package/components/data/table/fesm2022/index.mjs.map +1 -1
  289. package/components/data/table/public_api.d.ts +0 -1
  290. package/components/data/table/table-action/table-action.directive.d.ts +1 -1
  291. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  292. package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
  293. package/components/data/table/table-cud.directive.d.ts +1 -1
  294. package/components/data/table/table-filter.directive.d.ts +1 -1
  295. package/components/data/table/table-row/table-row.directive.d.ts +1 -1
  296. package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
  297. package/components/data/table/table.component.d.ts +1 -1
  298. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  299. package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
  300. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
  301. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
  302. package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
  303. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  304. package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
  305. package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
  306. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  307. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
  308. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
  309. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
  310. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  311. package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
  312. package/components/dialogs/default/bundles/index.umd.js +76 -136
  313. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
  314. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
  315. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
  316. package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  317. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
  318. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
  319. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
  320. package/components/dialogs/default/esm2022/public_api.mjs +1 -2
  321. package/components/dialogs/default/fesm2022/index.mjs +78 -137
  322. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  323. package/components/dialogs/default/public_api.d.ts +0 -1
  324. package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
  325. package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
  326. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
  327. package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
  328. package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
  329. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  330. package/components/dialogs/design-dialog/public_api.d.ts +0 -1
  331. package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
  332. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
  333. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
  334. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
  335. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  336. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  337. package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
  338. package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
  339. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
  340. package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
  341. package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
  342. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  343. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
  344. package/components/dialogs/login-dialog/public_api.d.ts +0 -1
  345. package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
  346. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
  347. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
  348. package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
  349. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  350. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
  351. package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
  352. package/components/input/calendar/bundles/index.umd.js +24 -46
  353. package/components/input/calendar/calendar.component.d.ts +1 -1
  354. package/components/input/calendar/esm2022/calendar.component.mjs +28 -10
  355. package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
  356. package/components/input/calendar/esm2022/public_api.mjs +1 -2
  357. package/components/input/calendar/fesm2022/index.mjs +30 -48
  358. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  359. package/components/input/calendar/public_api.d.ts +0 -1
  360. package/components/input/chips/bundles/index.umd.js +86 -114
  361. package/components/input/chips/chips.component.d.ts +1 -1
  362. package/components/input/chips/esm2022/chips.component.mjs +28 -27
  363. package/components/input/chips/esm2022/public_api.mjs +1 -2
  364. package/components/input/chips/fesm2022/index.mjs +29 -56
  365. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  366. package/components/input/chips/public_api.d.ts +0 -1
  367. package/components/input/color-picker/bundles/index.umd.js +14 -42
  368. package/components/input/color-picker/color-picker.component.d.ts +1 -1
  369. package/components/input/color-picker/esm2022/color-picker.component.mjs +14 -8
  370. package/components/input/color-picker/esm2022/public_api.mjs +1 -2
  371. package/components/input/color-picker/fesm2022/index.mjs +15 -42
  372. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  373. package/components/input/color-picker/public_api.d.ts +0 -1
  374. package/components/input/currency/bundles/index.umd.js +11 -41
  375. package/components/input/currency/currency.component.d.ts +1 -1
  376. package/components/input/currency/esm2022/currency.component.mjs +8 -6
  377. package/components/input/currency/esm2022/public_api.mjs +1 -2
  378. package/components/input/currency/fesm2022/index.mjs +11 -41
  379. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  380. package/components/input/currency/public_api.d.ts +0 -1
  381. package/components/input/default/bundles/index.umd.js +2183 -2263
  382. package/components/input/default/button/button.component.d.ts +1 -1
  383. package/components/input/default/button-group/button-group.directive.d.ts +1 -1
  384. package/components/input/default/caption-position.directive.d.ts +1 -1
  385. package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
  386. package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
  387. package/components/input/default/composite/composite.directive.d.ts +1 -1
  388. package/components/input/default/esm2022/button/button.component.mjs +23 -21
  389. package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
  390. package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  391. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
  392. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
  393. package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
  394. package/components/input/default/esm2022/number/number.component.mjs +9 -6
  395. package/components/input/default/esm2022/public_api.mjs +1 -2
  396. package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
  397. package/components/input/default/esm2022/select/select.component.mjs +29 -32
  398. package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
  399. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
  400. package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
  401. package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
  402. package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
  403. package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
  404. package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
  405. package/components/input/default/fesm2022/index.mjs +2198 -2277
  406. package/components/input/default/fesm2022/index.mjs.map +1 -1
  407. package/components/input/default/number/number.component.d.ts +1 -1
  408. package/components/input/default/public_api.d.ts +0 -1
  409. package/components/input/default/radioset/radioset.component.d.ts +1 -1
  410. package/components/input/default/select/select.component.d.ts +1 -1
  411. package/components/input/default/switch/switch.component.d.ts +1 -1
  412. package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
  413. package/components/input/default/text/color/input-color.component.d.ts +1 -1
  414. package/components/input/default/text/email/input-email.component.d.ts +1 -1
  415. package/components/input/default/text/number/input-number.component.d.ts +1 -1
  416. package/components/input/default/text/text/input-text.component.d.ts +1 -1
  417. package/components/input/default/textarea/textarea.component.d.ts +1 -1
  418. package/components/input/epoch/base-date-time.component.d.ts +0 -1
  419. package/components/input/epoch/bundles/index.umd.js +220 -262
  420. package/components/input/epoch/date/date.component.d.ts +1 -1
  421. package/components/input/epoch/date/imaskUtil.d.ts +2 -2
  422. package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
  423. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  424. package/components/input/epoch/esm2022/base-date-time.component.mjs +6 -9
  425. package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
  426. package/components/input/epoch/esm2022/date/imaskUtil.mjs +3 -1
  427. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +76 -62
  428. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +28 -24
  429. package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
  430. package/components/input/epoch/esm2022/public_api.mjs +1 -2
  431. package/components/input/epoch/esm2022/time/time.component.mjs +25 -21
  432. package/components/input/epoch/fesm2022/index.mjs +196 -237
  433. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  434. package/components/input/epoch/picker/picker.component.d.ts +2 -2
  435. package/components/input/epoch/public_api.d.ts +0 -1
  436. package/components/input/epoch/time/time.component.d.ts +1 -1
  437. package/components/input/file-upload/bundles/index.umd.js +135 -178
  438. package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
  439. package/components/input/file-upload/esm2022/public_api.mjs +1 -2
  440. package/components/input/file-upload/fesm2022/index.mjs +133 -175
  441. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  442. package/components/input/file-upload/file-upload.component.d.ts +1 -2
  443. package/components/input/file-upload/public_api.d.ts +0 -1
  444. package/components/input/rating/bundles/index.umd.js +50 -77
  445. package/components/input/rating/esm2022/public_api.mjs +1 -2
  446. package/components/input/rating/esm2022/rating.component.mjs +23 -20
  447. package/components/input/rating/fesm2022/index.mjs +23 -49
  448. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  449. package/components/input/rating/public_api.d.ts +0 -1
  450. package/components/input/rating/rating.component.d.ts +1 -1
  451. package/components/input/slider/bundles/index.umd.js +35 -63
  452. package/components/input/slider/esm2022/public_api.mjs +1 -2
  453. package/components/input/slider/esm2022/slider.component.mjs +15 -13
  454. package/components/input/slider/fesm2022/index.mjs +15 -42
  455. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  456. package/components/input/slider/public_api.d.ts +0 -1
  457. package/components/input/slider/slider.component.d.ts +1 -1
  458. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  459. package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
  460. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
  461. package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
  462. package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
  463. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  464. package/components/navigation/breadcrumb/public_api.d.ts +0 -1
  465. package/components/navigation/menu/bundles/index.umd.js +642 -696
  466. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
  467. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
  468. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
  469. package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
  470. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
  471. package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
  472. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
  473. package/components/navigation/menu/esm2022/public_api.mjs +1 -2
  474. package/components/navigation/menu/fesm2022/index.mjs +534 -587
  475. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  476. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
  477. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
  478. package/components/navigation/menu/menu.component.d.ts +1 -1
  479. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
  480. package/components/navigation/menu/nav/nav.component.d.ts +1 -1
  481. package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
  482. package/components/navigation/menu/public_api.d.ts +0 -1
  483. package/components/navigation/navbar/bundles/index.umd.js +20 -44
  484. package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
  485. package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
  486. package/components/navigation/navbar/fesm2022/index.mjs +18 -41
  487. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  488. package/components/navigation/navbar/navbar.component.d.ts +1 -1
  489. package/components/navigation/navbar/public_api.d.ts +0 -1
  490. package/components/navigation/popover/bundles/index.umd.js +12 -43
  491. package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
  492. package/components/navigation/popover/esm2022/public_api.mjs +1 -2
  493. package/components/navigation/popover/fesm2022/index.mjs +11 -41
  494. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  495. package/components/navigation/popover/popover.component.d.ts +1 -1
  496. package/components/navigation/popover/public_api.d.ts +0 -1
  497. package/components/page/default/bundles/index.umd.js +96 -138
  498. package/components/page/default/content/content.component.d.ts +1 -1
  499. package/components/page/default/esm2022/content/content.component.mjs +7 -6
  500. package/components/page/default/esm2022/layout.directive.mjs +3 -2
  501. package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
  502. package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
  503. package/components/page/default/esm2022/page.directive.mjs +3 -2
  504. package/components/page/default/esm2022/public_api.mjs +1 -2
  505. package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
  506. package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
  507. package/components/page/default/fesm2022/index.mjs +96 -138
  508. package/components/page/default/fesm2022/index.mjs.map +1 -1
  509. package/components/page/default/layout.directive.d.ts +1 -1
  510. package/components/page/default/page-content/page-content.component.d.ts +1 -1
  511. package/components/page/default/page.directive.d.ts +1 -1
  512. package/components/page/default/public_api.d.ts +0 -1
  513. package/components/page/default/router-outlet.directive.d.ts +1 -1
  514. package/components/page/default/spa-page.directive.d.ts +1 -1
  515. package/components/page/footer/bundles/index.umd.js +6 -29
  516. package/components/page/footer/esm2022/footer.directive.mjs +3 -2
  517. package/components/page/footer/esm2022/public_api.mjs +1 -2
  518. package/components/page/footer/fesm2022/index.mjs +5 -28
  519. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  520. package/components/page/footer/footer.directive.d.ts +1 -1
  521. package/components/page/footer/public_api.d.ts +0 -1
  522. package/components/page/header/bundles/index.umd.js +9 -33
  523. package/components/page/header/esm2022/header.component.mjs +7 -6
  524. package/components/page/header/esm2022/public_api.mjs +1 -2
  525. package/components/page/header/fesm2022/index.mjs +8 -32
  526. package/components/page/header/fesm2022/index.mjs.map +1 -1
  527. package/components/page/header/header.component.d.ts +1 -1
  528. package/components/page/header/public_api.d.ts +0 -1
  529. package/components/page/left-panel/bundles/index.umd.js +6 -29
  530. package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
  531. package/components/page/left-panel/esm2022/public_api.mjs +1 -2
  532. package/components/page/left-panel/fesm2022/index.mjs +5 -28
  533. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  534. package/components/page/left-panel/left-panel.directive.d.ts +1 -1
  535. package/components/page/left-panel/public_api.d.ts +0 -1
  536. package/components/page/right-panel/bundles/index.umd.js +6 -29
  537. package/components/page/right-panel/esm2022/public_api.mjs +1 -2
  538. package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
  539. package/components/page/right-panel/fesm2022/index.mjs +5 -28
  540. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  541. package/components/page/right-panel/public_api.d.ts +0 -1
  542. package/components/page/right-panel/right-panel.directive.d.ts +1 -1
  543. package/components/page/top-nav/bundles/index.umd.js +6 -29
  544. package/components/page/top-nav/esm2022/public_api.mjs +1 -2
  545. package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
  546. package/components/page/top-nav/fesm2022/index.mjs +5 -28
  547. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  548. package/components/page/top-nav/public_api.d.ts +0 -1
  549. package/components/page/top-nav/top-nav.directive.d.ts +1 -1
  550. package/components/prefab/bundles/index.umd.js +8 -33
  551. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  552. package/components/prefab/esm2022/prefab.directive.mjs +3 -2
  553. package/components/prefab/esm2022/public_api.mjs +1 -2
  554. package/components/prefab/fesm2022/index.mjs +7 -32
  555. package/components/prefab/fesm2022/index.mjs.map +1 -1
  556. package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
  557. package/components/prefab/prefab.directive.d.ts +1 -1
  558. package/components/prefab/public_api.d.ts +0 -1
  559. package/core/bundles/index.umd.js +32 -85
  560. package/core/esm2022/public_api.mjs +2 -3
  561. package/core/esm2022/types/types.mjs +1 -1
  562. package/core/esm2022/utils/build-utils.mjs +9 -5
  563. package/core/esm2022/utils/utils.mjs +12 -40
  564. package/core/fesm2022/index.mjs +32 -81
  565. package/core/fesm2022/index.mjs.map +1 -1
  566. package/core/public_api.d.ts +1 -2
  567. package/core/types/types.d.ts +1 -0
  568. package/core/utils/utils.d.ts +1 -3
  569. package/http/bundles/index.umd.js +9 -34
  570. package/http/esm2022/http.service.mjs +6 -3
  571. package/http/esm2022/public_api.mjs +4 -2
  572. package/http/fesm2022/index.mjs +9 -34
  573. package/http/fesm2022/index.mjs.map +1 -1
  574. package/http/public_api.d.ts +3 -1
  575. package/npm-shrinkwrap.json +2 -2
  576. package/oAuth/bundles/index.umd.js +9 -42
  577. package/oAuth/esm2022/oAuth.utils.mjs +7 -23
  578. package/oAuth/esm2022/public_api.mjs +1 -2
  579. package/oAuth/fesm2022/index.mjs +8 -40
  580. package/oAuth/fesm2022/index.mjs.map +1 -1
  581. package/oAuth/public_api.d.ts +0 -1
  582. package/package-lock.json +2 -2
  583. package/package.json +1 -1
  584. package/runtime/base/bundles/index.umd.js +690 -596
  585. package/runtime/base/components/app-component/app.component.d.ts +1 -1
  586. package/runtime/base/components/app-spinner.component.d.ts +1 -1
  587. package/runtime/base/components/custom-toaster.component.d.ts +1 -1
  588. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
  589. package/runtime/base/components/prefab-preview.component.d.ts +1 -1
  590. package/runtime/base/directives/accessroles.directive.d.ts +1 -1
  591. package/runtime/base/directives/prefab.directive.d.ts +1 -1
  592. package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
  593. package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
  594. package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
  595. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
  596. package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
  597. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  598. package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
  599. package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
  600. package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
  601. package/runtime/base/esm2022/public_api.mjs +1 -1
  602. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
  603. package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
  604. package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
  605. package/runtime/base/esm2022/services/app.service.mjs +8 -1
  606. package/runtime/base/esm2022/services/i18n.service.mjs +39 -72
  607. package/runtime/base/fesm2022/index.mjs +697 -605
  608. package/runtime/base/fesm2022/index.mjs.map +1 -1
  609. package/runtime/base/runtime-base.module.d.ts +115 -84
  610. package/runtime/base/services/app.service.d.ts +1 -0
  611. package/runtime/base/services/i18n.service.d.ts +1 -1
  612. package/runtime/dynamic/app/app.config.d.ts +5 -0
  613. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
  614. package/runtime/dynamic/bundles/index.umd.js +270 -117
  615. package/runtime/dynamic/esm2022/app/app.config.mjs +136 -0
  616. package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
  617. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
  618. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +1 -1
  619. package/runtime/dynamic/esm2022/main.mjs +11 -16
  620. package/runtime/dynamic/fesm2022/index.mjs +340 -184
  621. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  622. package/security/bundles/index.umd.js +3 -34
  623. package/security/esm2022/public_api.mjs +1 -2
  624. package/security/esm2022/security.service.mjs +4 -15
  625. package/security/fesm2022/index.mjs +5 -32
  626. package/security/fesm2022/index.mjs.map +1 -1
  627. package/security/public_api.d.ts +0 -1
  628. package/transpiler/bundles/index.umd.js +271 -168
  629. package/transpiler/esm2022/build.mjs +1 -6
  630. package/transpiler/esm2022/imports.mjs +268 -161
  631. package/transpiler/fesm2022/index.mjs +267 -165
  632. package/transpiler/fesm2022/index.mjs.map +1 -1
  633. package/variables/bundles/index.umd.js +16 -197
  634. package/variables/constants/variables.constants.d.ts +0 -2
  635. package/variables/esm2022/constants/variables.constants.mjs +1 -3
  636. package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
  637. package/variables/esm2022/factory/variable.factory.mjs +1 -5
  638. package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
  639. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
  640. package/variables/esm2022/public_api.mjs +1 -5
  641. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
  642. package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
  643. package/variables/esm2022/util/variable/variables.utils.mjs +5 -19
  644. package/variables/fesm2022/index.mjs +16 -198
  645. package/variables/fesm2022/index.mjs.map +1 -1
  646. package/variables/public_api.d.ts +0 -4
  647. package/components/advanced/carousel/carousel.module.d.ts +0 -11
  648. package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
  649. package/components/advanced/custom/custom-widget.module.d.ts +0 -10
  650. package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  651. package/components/advanced/login/esm2022/login.module.mjs +0 -28
  652. package/components/advanced/login/login.module.d.ts +0 -9
  653. package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
  654. package/components/advanced/marquee/marquee.module.d.ts +0 -9
  655. package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
  656. package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
  657. package/components/basic/default/basic.module.d.ts +0 -17
  658. package/components/basic/default/esm2022/basic.module.mjs +0 -60
  659. package/components/basic/progress/esm2022/progress.module.mjs +0 -36
  660. package/components/basic/progress/progress.module.d.ts +0 -11
  661. package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
  662. package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
  663. package/components/basic/search/esm2022/search.module.mjs +0 -45
  664. package/components/basic/search/search.module.d.ts +0 -12
  665. package/components/basic/tree/esm2022/tree.module.mjs +0 -28
  666. package/components/basic/tree/tree.module.d.ts +0 -9
  667. package/components/chart/chart.module.d.ts +0 -10
  668. package/components/chart/esm2022/chart.module.mjs +0 -32
  669. package/components/containers/accordion/accordion.module.d.ts +0 -10
  670. package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
  671. package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
  672. package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
  673. package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
  674. package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
  675. package/components/containers/panel/esm2022/panel.module.mjs +0 -36
  676. package/components/containers/panel/panel.module.d.ts +0 -11
  677. package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
  678. package/components/containers/tabs/tabs.module.d.ts +0 -10
  679. package/components/containers/tile/esm2022/tile.module.mjs +0 -28
  680. package/components/containers/tile/tile.module.d.ts +0 -9
  681. package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
  682. package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
  683. package/components/containers/wizard/wizard.module.d.ts +0 -12
  684. package/components/data/card/card.module.d.ts +0 -15
  685. package/components/data/card/esm2022/card.module.mjs +0 -52
  686. package/components/data/form/esm2022/form.module.mjs +0 -68
  687. package/components/data/form/form.module.d.ts +0 -19
  688. package/components/data/list/esm2022/list.module.mjs +0 -40
  689. package/components/data/list/list.module.d.ts +0 -11
  690. package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
  691. package/components/data/live-table/live-table.module.d.ts +0 -9
  692. package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
  693. package/components/data/pagination/pagination.module.d.ts +0 -11
  694. package/components/data/table/esm2022/table.module.mjs +0 -91
  695. package/components/data/table/table.module.d.ts +0 -24
  696. package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
  697. package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
  698. package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
  699. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
  700. package/components/dialogs/default/dialog.module.d.ts +0 -12
  701. package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
  702. package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
  703. package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
  704. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
  705. package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
  706. package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
  707. package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
  708. package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
  709. package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
  710. package/components/input/calendar/calendar.module.d.ts +0 -12
  711. package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
  712. package/components/input/chips/chips.module.d.ts +0 -10
  713. package/components/input/chips/esm2022/chips.module.mjs +0 -32
  714. package/components/input/color-picker/color-picker.module.d.ts +0 -11
  715. package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
  716. package/components/input/currency/currency.module.d.ts +0 -11
  717. package/components/input/currency/esm2022/currency.module.mjs +0 -36
  718. package/components/input/default/esm2022/input.module.mjs +0 -96
  719. package/components/input/default/input.module.d.ts +0 -26
  720. package/components/input/epoch/epoch.module.d.ts +0 -18
  721. package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
  722. package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  723. package/components/input/file-upload/file-upload.module.d.ts +0 -9
  724. package/components/input/rating/esm2022/rating.module.mjs +0 -32
  725. package/components/input/rating/rating.module.d.ts +0 -10
  726. package/components/input/slider/esm2022/slider.module.mjs +0 -32
  727. package/components/input/slider/slider.module.d.ts +0 -10
  728. package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
  729. package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
  730. package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
  731. package/components/navigation/menu/menu.module.d.ts +0 -17
  732. package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
  733. package/components/navigation/navbar/navbar.module.d.ts +0 -9
  734. package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
  735. package/components/navigation/popover/popover.module.d.ts +0 -11
  736. package/components/page/default/esm2022/page.module.mjs +0 -55
  737. package/components/page/default/page.module.d.ts +0 -14
  738. package/components/page/footer/esm2022/footer.module.mjs +0 -28
  739. package/components/page/footer/footer.module.d.ts +0 -9
  740. package/components/page/header/esm2022/header.module.mjs +0 -28
  741. package/components/page/header/header.module.d.ts +0 -9
  742. package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  743. package/components/page/left-panel/left-panel.module.d.ts +0 -9
  744. package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
  745. package/components/page/right-panel/right-panel.module.d.ts +0 -9
  746. package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
  747. package/components/page/top-nav/top-nav.module.d.ts +0 -9
  748. package/components/prefab/esm2022/prefab.module.mjs +0 -32
  749. package/components/prefab/prefab.module.d.ts +0 -10
  750. package/core/core.module.d.ts +0 -9
  751. package/core/esm2022/core.module.mjs +0 -27
  752. package/http/esm2022/http-service.module.mjs +0 -36
  753. package/http/http-service.module.d.ts +0 -14
  754. package/locales/fullcalendar/af.js +0 -27
  755. package/locales/fullcalendar/ar-dz.js +0 -28
  756. package/locales/fullcalendar/ar-kw.js +0 -28
  757. package/locales/fullcalendar/ar-ly.js +0 -28
  758. package/locales/fullcalendar/ar-ma.js +0 -28
  759. package/locales/fullcalendar/ar-sa.js +0 -28
  760. package/locales/fullcalendar/ar-tn.js +0 -28
  761. package/locales/fullcalendar/ar.js +0 -28
  762. package/locales/fullcalendar/az.js +0 -29
  763. package/locales/fullcalendar/bg.js +0 -28
  764. package/locales/fullcalendar/bs.js +0 -29
  765. package/locales/fullcalendar/ca.js +0 -27
  766. package/locales/fullcalendar/cs.js +0 -29
  767. package/locales/fullcalendar/da.js +0 -27
  768. package/locales/fullcalendar/de.js +0 -30
  769. package/locales/fullcalendar/el.js +0 -27
  770. package/locales/fullcalendar/en-au.js +0 -14
  771. package/locales/fullcalendar/en-gb.js +0 -14
  772. package/locales/fullcalendar/en-nz.js +0 -14
  773. package/locales/fullcalendar/es-us.js +0 -27
  774. package/locales/fullcalendar/es.js +0 -27
  775. package/locales/fullcalendar/et.js +0 -29
  776. package/locales/fullcalendar/eu.js +0 -27
  777. package/locales/fullcalendar/fa.js +0 -30
  778. package/locales/fullcalendar/fi.js +0 -27
  779. package/locales/fullcalendar/fr-ca.js +0 -24
  780. package/locales/fullcalendar/fr-ch.js +0 -28
  781. package/locales/fullcalendar/fr.js +0 -28
  782. package/locales/fullcalendar/gl.js +0 -27
  783. package/locales/fullcalendar/he.js +0 -24
  784. package/locales/fullcalendar/hi.js +0 -29
  785. package/locales/fullcalendar/hr.js +0 -29
  786. package/locales/fullcalendar/hu.js +0 -27
  787. package/locales/fullcalendar/id.js +0 -27
  788. package/locales/fullcalendar/is.js +0 -27
  789. package/locales/fullcalendar/it.js +0 -29
  790. package/locales/fullcalendar/ja.js +0 -25
  791. package/locales/fullcalendar/ka.js +0 -29
  792. package/locales/fullcalendar/kk.js +0 -29
  793. package/locales/fullcalendar/ko.js +0 -23
  794. package/locales/fullcalendar/lb.js +0 -27
  795. package/locales/fullcalendar/lt.js +0 -27
  796. package/locales/fullcalendar/lv.js +0 -29
  797. package/locales/fullcalendar/mk.js +0 -25
  798. package/locales/fullcalendar/ms.js +0 -29
  799. package/locales/fullcalendar/nb.js +0 -27
  800. package/locales/fullcalendar/ne.js +0 -27
  801. package/locales/fullcalendar/nl.js +0 -27
  802. package/locales/fullcalendar/nn.js +0 -27
  803. package/locales/fullcalendar/pl.js +0 -27
  804. package/locales/fullcalendar/pt-br.js +0 -25
  805. package/locales/fullcalendar/pt.js +0 -27
  806. package/locales/fullcalendar/ro.js +0 -29
  807. package/locales/fullcalendar/ru.js +0 -29
  808. package/locales/fullcalendar/sk.js +0 -29
  809. package/locales/fullcalendar/sl.js +0 -27
  810. package/locales/fullcalendar/sq.js +0 -29
  811. package/locales/fullcalendar/sr-cyrl.js +0 -29
  812. package/locales/fullcalendar/sr.js +0 -29
  813. package/locales/fullcalendar/sv.js +0 -27
  814. package/locales/fullcalendar/th.js +0 -30
  815. package/locales/fullcalendar/tr.js +0 -27
  816. package/locales/fullcalendar/ug.js +0 -17
  817. package/locales/fullcalendar/uk.js +0 -29
  818. package/locales/fullcalendar/uz.js +0 -21
  819. package/locales/fullcalendar/vi.js +0 -29
  820. package/locales/fullcalendar/zh-cn.js +0 -30
  821. package/locales/fullcalendar/zh-tw.js +0 -23
  822. package/mobile/components/basic/default/.npmignore +0 -2
  823. package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
  824. package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
  825. package/mobile/components/basic/default/basic.module.d.ts +0 -15
  826. package/mobile/components/basic/default/bundles/index.umd.js +0 -980
  827. package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
  828. package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
  829. package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
  830. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
  831. package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
  832. package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
  833. package/mobile/components/basic/default/esm2022/index.mjs +0 -5
  834. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
  835. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
  836. package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
  837. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
  838. package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
  839. package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
  840. package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
  841. package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
  842. package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
  843. package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
  844. package/mobile/components/basic/default/index.d.ts +0 -5
  845. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
  846. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
  847. package/mobile/components/basic/default/package.json +0 -23
  848. package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
  849. package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
  850. package/mobile/components/basic/default/public_api.d.ts +0 -9
  851. package/mobile/components/basic/search/.npmignore +0 -2
  852. package/mobile/components/basic/search/bundles/index.umd.js +0 -66
  853. package/mobile/components/basic/search/esm2022/index.mjs +0 -5
  854. package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
  855. package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
  856. package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
  857. package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
  858. package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
  859. package/mobile/components/basic/search/index.d.ts +0 -5
  860. package/mobile/components/basic/search/package.json +0 -23
  861. package/mobile/components/basic/search/public_api.d.ts +0 -2
  862. package/mobile/components/basic/search/search.directive.d.ts +0 -7
  863. package/mobile/components/basic/search/search.module.d.ts +0 -9
  864. package/mobile/components/containers/segmented-control/.npmignore +0 -2
  865. package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
  866. package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
  867. package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
  868. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
  869. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
  870. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
  871. package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
  872. package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
  873. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
  874. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
  875. package/mobile/components/containers/segmented-control/index.d.ts +0 -5
  876. package/mobile/components/containers/segmented-control/package.json +0 -23
  877. package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
  878. package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
  879. package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
  880. package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
  881. package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
  882. package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
  883. package/mobile/components/data/media-list/.npmignore +0 -2
  884. package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
  885. package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
  886. package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
  887. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
  888. package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
  889. package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
  890. package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
  891. package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
  892. package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
  893. package/mobile/components/data/media-list/index.d.ts +0 -5
  894. package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
  895. package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
  896. package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
  897. package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
  898. package/mobile/components/data/media-list/package.json +0 -23
  899. package/mobile/components/data/media-list/public_api.d.ts +0 -3
  900. package/mobile/components/device/barcode-scanner/.npmignore +0 -2
  901. package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
  902. package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
  903. package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
  904. package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
  905. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
  906. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
  907. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
  908. package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
  909. package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
  910. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
  911. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
  912. package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
  913. package/mobile/components/device/barcode-scanner/package.json +0 -23
  914. package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
  915. package/mobile/components/device/camera/.npmignore +0 -2
  916. package/mobile/components/device/camera/bundles/index.umd.js +0 -170
  917. package/mobile/components/device/camera/camera.component.d.ts +0 -37
  918. package/mobile/components/device/camera/camera.module.d.ts +0 -9
  919. package/mobile/components/device/camera/camera.props.d.ts +0 -1
  920. package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
  921. package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
  922. package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
  923. package/mobile/components/device/camera/esm2022/index.mjs +0 -5
  924. package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
  925. package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
  926. package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
  927. package/mobile/components/device/camera/index.d.ts +0 -5
  928. package/mobile/components/device/camera/package.json +0 -23
  929. package/mobile/components/device/camera/public_api.d.ts +0 -2
  930. package/mobile/components/input/file-upload/.npmignore +0 -2
  931. package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
  932. package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
  933. package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  934. package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
  935. package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
  936. package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
  937. package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
  938. package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
  939. package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
  940. package/mobile/components/input/file-upload/index.d.ts +0 -5
  941. package/mobile/components/input/file-upload/package.json +0 -23
  942. package/mobile/components/input/file-upload/public_api.d.ts +0 -2
  943. package/mobile/components/page/default/.npmignore +0 -2
  944. package/mobile/components/page/default/bundles/index.umd.js +0 -127
  945. package/mobile/components/page/default/esm2022/index.mjs +0 -5
  946. package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
  947. package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
  948. package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
  949. package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
  950. package/mobile/components/page/default/fesm2022/index.mjs +0 -110
  951. package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
  952. package/mobile/components/page/default/index.d.ts +0 -5
  953. package/mobile/components/page/default/package.json +0 -23
  954. package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
  955. package/mobile/components/page/default/page.directive.d.ts +0 -19
  956. package/mobile/components/page/default/page.module.d.ts +0 -10
  957. package/mobile/components/page/default/public_api.d.ts +0 -3
  958. package/mobile/components/page/left-panel/.npmignore +0 -2
  959. package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
  960. package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
  961. package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
  962. package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  963. package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
  964. package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
  965. package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
  966. package/mobile/components/page/left-panel/index.d.ts +0 -5
  967. package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
  968. package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
  969. package/mobile/components/page/left-panel/package.json +0 -23
  970. package/mobile/components/page/left-panel/public_api.d.ts +0 -2
  971. package/mobile/components/page/mobile-navbar/.npmignore +0 -2
  972. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
  973. package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
  974. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
  975. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
  976. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
  977. package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
  978. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
  979. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
  980. package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
  981. package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
  982. package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
  983. package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
  984. package/mobile/components/page/mobile-navbar/package.json +0 -23
  985. package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
  986. package/mobile/components/page/tab-bar/.npmignore +0 -2
  987. package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
  988. package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
  989. package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
  990. package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
  991. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
  992. package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
  993. package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
  994. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
  995. package/mobile/components/page/tab-bar/index.d.ts +0 -5
  996. package/mobile/components/page/tab-bar/package.json +0 -23
  997. package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
  998. package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
  999. package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
  1000. package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
  1001. package/mobile/core/.npmignore +0 -2
  1002. package/mobile/core/bundles/index.umd.js +0 -1658
  1003. package/mobile/core/core.module.d.ts +0 -15
  1004. package/mobile/core/esm2022/core.module.mjs +0 -79
  1005. package/mobile/core/esm2022/index.mjs +0 -5
  1006. package/mobile/core/esm2022/native.xhr.mjs +0 -340
  1007. package/mobile/core/esm2022/public_api.mjs +0 -12
  1008. package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
  1009. package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
  1010. package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
  1011. package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
  1012. package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
  1013. package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
  1014. package/mobile/core/esm2022/services/device.service.mjs +0 -150
  1015. package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
  1016. package/mobile/core/esm2022/services/network.service.mjs +0 -358
  1017. package/mobile/core/fesm2022/index.mjs +0 -1660
  1018. package/mobile/core/fesm2022/index.mjs.map +0 -1
  1019. package/mobile/core/index.d.ts +0 -5
  1020. package/mobile/core/native.xhr.d.ts +0 -36
  1021. package/mobile/core/package.json +0 -28
  1022. package/mobile/core/public_api.d.ts +0 -11
  1023. package/mobile/core/services/device-file-cache.service.d.ts +0 -24
  1024. package/mobile/core/services/device-file-download.service.d.ts +0 -36
  1025. package/mobile/core/services/device-file-opener.service.d.ts +0 -25
  1026. package/mobile/core/services/device-file-upload.service.d.ts +0 -27
  1027. package/mobile/core/services/device-file.service.d.ts +0 -45
  1028. package/mobile/core/services/device-start-up-service.d.ts +0 -4
  1029. package/mobile/core/services/device.service.d.ts +0 -52
  1030. package/mobile/core/services/ext-app-message.service.d.ts +0 -24
  1031. package/mobile/core/services/network.service.d.ts +0 -118
  1032. package/mobile/offline/.npmignore +0 -2
  1033. package/mobile/offline/bundles/index.umd.js +0 -3512
  1034. package/mobile/offline/esm2022/index.mjs +0 -5
  1035. package/mobile/offline/esm2022/models/config.mjs +0 -64
  1036. package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
  1037. package/mobile/offline/esm2022/offline.module.mjs +0 -100
  1038. package/mobile/offline/esm2022/public_api.mjs +0 -7
  1039. package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
  1040. package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
  1041. package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
  1042. package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
  1043. package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
  1044. package/mobile/offline/esm2022/services/push.service.mjs +0 -49
  1045. package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
  1046. package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
  1047. package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
  1048. package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
  1049. package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
  1050. package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
  1051. package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
  1052. package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
  1053. package/mobile/offline/esm2022/utils/utils.mjs +0 -8
  1054. package/mobile/offline/fesm2022/index.mjs +0 -3529
  1055. package/mobile/offline/fesm2022/index.mjs.map +0 -1
  1056. package/mobile/offline/index.d.ts +0 -5
  1057. package/mobile/offline/models/config.d.ts +0 -80
  1058. package/mobile/offline/models/local-db-store.d.ts +0 -119
  1059. package/mobile/offline/offline.module.d.ts +0 -17
  1060. package/mobile/offline/package.json +0 -28
  1061. package/mobile/offline/public_api.d.ts +0 -6
  1062. package/mobile/offline/services/change-log.service.d.ts +0 -112
  1063. package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
  1064. package/mobile/offline/services/local-db-management.service.d.ts +0 -179
  1065. package/mobile/offline/services/local-db.service.d.ts +0 -83
  1066. package/mobile/offline/services/local-key-value.service.d.ts +0 -38
  1067. package/mobile/offline/services/push.service.d.ts +0 -11
  1068. package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
  1069. package/mobile/offline/services/workers/file-handler.d.ts +0 -56
  1070. package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
  1071. package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
  1072. package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
  1073. package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
  1074. package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
  1075. package/mobile/offline/utils/security.utils.d.ts +0 -19
  1076. package/mobile/offline/utils/utils.d.ts +0 -2
  1077. package/mobile/placeholder/runtime/.npmignore +0 -2
  1078. package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
  1079. package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
  1080. package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
  1081. package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
  1082. package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
  1083. package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
  1084. package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
  1085. package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
  1086. package/mobile/placeholder/runtime/index.d.ts +0 -5
  1087. package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
  1088. package/mobile/placeholder/runtime/package.json +0 -27
  1089. package/mobile/placeholder/runtime/public_api.d.ts +0 -2
  1090. package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
  1091. package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
  1092. package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
  1093. package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
  1094. package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1095. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
  1096. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1097. package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
  1098. package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
  1099. package/mobile/placeholder/runtime-dynamic/package.json +0 -23
  1100. package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
  1101. package/mobile/runtime/.npmignore +0 -2
  1102. package/mobile/runtime/bundles/index.umd.js +0 -732
  1103. package/mobile/runtime/components/app-ext.component.d.ts +0 -14
  1104. package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
  1105. package/mobile/runtime/esm2022/index.mjs +0 -5
  1106. package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
  1107. package/mobile/runtime/esm2022/public_api.mjs +0 -6
  1108. package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
  1109. package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
  1110. package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
  1111. package/mobile/runtime/fesm2022/index.mjs +0 -742
  1112. package/mobile/runtime/fesm2022/index.mjs.map +0 -1
  1113. package/mobile/runtime/index.d.ts +0 -5
  1114. package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
  1115. package/mobile/runtime/package.json +0 -28
  1116. package/mobile/runtime/public_api.d.ts +0 -5
  1117. package/mobile/runtime/services/cookie.service.d.ts +0 -31
  1118. package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
  1119. package/mobile/runtime/services/webprocess.service.d.ts +0 -15
  1120. package/mobile/runtime-dynamic/.npmignore +0 -2
  1121. package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
  1122. package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
  1123. package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
  1124. package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1125. package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
  1126. package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
  1127. package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1128. package/mobile/runtime-dynamic/index.d.ts +0 -5
  1129. package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
  1130. package/mobile/runtime-dynamic/package.json +0 -23
  1131. package/mobile/runtime-dynamic/public_api.d.ts +0 -1
  1132. package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
  1133. package/mobile/variables/.npmignore +0 -2
  1134. package/mobile/variables/bundles/index.umd.js +0 -1166
  1135. package/mobile/variables/esm2022/index.mjs +0 -5
  1136. package/mobile/variables/esm2022/public_api.mjs +0 -10
  1137. package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
  1138. package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
  1139. package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
  1140. package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
  1141. package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
  1142. package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
  1143. package/mobile/variables/esm2022/services/file-service.mjs +0 -87
  1144. package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
  1145. package/mobile/variables/esm2022/variables.module.mjs +0 -78
  1146. package/mobile/variables/fesm2022/index.mjs +0 -1143
  1147. package/mobile/variables/fesm2022/index.mjs.map +0 -1
  1148. package/mobile/variables/index.d.ts +0 -5
  1149. package/mobile/variables/package.json +0 -28
  1150. package/mobile/variables/public_api.d.ts +0 -9
  1151. package/mobile/variables/services/calendar-service.d.ts +0 -10
  1152. package/mobile/variables/services/camera-service.d.ts +0 -8
  1153. package/mobile/variables/services/contacts-service.d.ts +0 -6
  1154. package/mobile/variables/services/datasync-service.d.ts +0 -11
  1155. package/mobile/variables/services/device-service/device-service.d.ts +0 -17
  1156. package/mobile/variables/services/device-service/location-service.d.ts +0 -63
  1157. package/mobile/variables/services/file-service.d.ts +0 -7
  1158. package/mobile/variables/services/scan-service.d.ts +0 -7
  1159. package/mobile/variables/variables.module.d.ts +0 -25
  1160. package/oAuth/esm2022/oAuth.module.mjs +0 -19
  1161. package/oAuth/oAuth.module.d.ts +0 -8
  1162. package/scripts/fullcalendar/main.min.js +0 -6
  1163. package/security/esm2022/security.module.mjs +0 -19
  1164. package/security/security.module.d.ts +0 -8
  1165. package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
  1166. package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
  1167. package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
  1168. package/variables/esm2022/model/variable/device-variable.mjs +0 -19
  1169. package/variables/esm2022/variables.module.mjs +0 -52
  1170. package/variables/manager/variable/device-variable-manager.d.ts +0 -26
  1171. package/variables/manager/variable/device-variable-operation.d.ts +0 -37
  1172. package/variables/manager/variable/device-variable-service.d.ts +0 -6
  1173. package/variables/model/variable/device-variable.d.ts +0 -6
  1174. package/variables/variables.module.d.ts +0 -16
@@ -7,12 +7,13 @@ export class ImagePipe {
7
7
  return transformFileURI(getImageUrl(url, encode, defaultImageUrl));
8
8
  }
9
9
  static { this.ɵfac = function ImagePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ImagePipe)(); }; }
10
- static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "image", type: ImagePipe, pure: true }); }
10
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "image", type: ImagePipe, pure: true, standalone: true }); }
11
11
  }
12
12
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImagePipe, [{
13
13
  type: Pipe,
14
14
  args: [{
15
+ standalone: true,
15
16
  name: 'image'
16
17
  }]
17
18
  }], null, null); })();
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsR0FBVyxFQUFFLE1BQWdCLEVBQUUsZUFBd0I7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7MEdBSFEsU0FBUzsrRUFBVCxTQUFTOztpRkFBVCxTQUFTO2NBSHJCLElBQUk7ZUFBQztnQkFDRixJQUFJLEVBQUUsT0FBTzthQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyB0cmFuc2Zvcm1GaWxlVVJJIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRJbWFnZVVybCB9IGZyb20gJy4uL3V0aWxzL3dpZGdldC11dGlscyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaW1hZ2UnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh1cmw6IHN0cmluZywgZW5jb2RlPzogYm9vbGVhbiwgZGVmYXVsdEltYWdlVXJsPzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlVVJJKGdldEltYWdlVXJsKHVybCwgZW5jb2RlLCBkZWZhdWx0SW1hZ2VVcmwpKTtcbiAgICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU1wRCxNQUFNLE9BQU8sU0FBUztJQUNsQixTQUFTLENBQUMsR0FBVyxFQUFFLE1BQWdCLEVBQUUsZUFBd0I7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7MEdBSFEsU0FBUzsrRUFBVCxTQUFTOztpRkFBVCxTQUFTO2NBSnJCLElBQUk7ZUFBQztnQkFDSixVQUFVLEVBQUUsSUFBSTtnQkFDZCxJQUFJLEVBQUUsT0FBTzthQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyB0cmFuc2Zvcm1GaWxlVVJJIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRJbWFnZVVybCB9IGZyb20gJy4uL3V0aWxzL3dpZGdldC11dGlscyc7XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnaW1hZ2UnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh1cmw6IHN0cmluZywgZW5jb2RlPzogYm9vbGVhbiwgZGVmYXVsdEltYWdlVXJsPzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlVVJJKGdldEltYWdlVXJsKHVybCwgZW5jb2RlLCBkZWZhdWx0SW1hZ2VVcmwpKTtcbiAgICB9XG59XG4iXX0=
@@ -32,12 +32,13 @@ export class SanitizePipe {
32
32
  }
33
33
  }
34
34
  static { this.ɵfac = function SanitizePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SanitizePipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); }; }
35
- static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sanitize", type: SanitizePipe, pure: true }); }
35
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sanitize", type: SanitizePipe, pure: true, standalone: true }); }
36
36
  }
37
37
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SanitizePipe, [{
38
38
  type: Pipe,
39
39
  args: [{
40
+ standalone: true,
40
41
  name: 'sanitize'
41
42
  }]
42
43
  }], () => [{ type: i1.DomSanitizer }], null); })();
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvc2FuaXRpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFpQixlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDOzs7QUFLbEUsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDOUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUEyQixFQUFFLE9BQWlDO1FBQ3BFLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNkLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxlQUFlLENBQUMsSUFBSTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3RFLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxlQUFlLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxlQUFlLENBQUMsR0FBRztnQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3RSxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssZUFBZSxDQUFDLElBQUk7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQzs2R0E1QlEsWUFBWTtrRkFBWixZQUFZOztpRkFBWixZQUFZO2NBSHhCLElBQUk7ZUFBQztnQkFDRixJQUFJLEVBQUUsVUFBVTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VjdXJpdHlDb250ZXh0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzYW5pdGl6ZSdcbn0pXG5leHBvcnQgY2xhc3MgU2FuaXRpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybShjb250ZW50OiBzdHJpbmcgfCBTYWZlVmFsdWUsIGNvbnRleHQ6IHN0cmluZyB8IFNlY3VyaXR5Q29udGV4dCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjb250ZW50ID09PSBudWxsIHx8IGNvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5IVE1MOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TVFlMRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlNUWUxFLCBjb250ZW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQsIGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgICAgIGNhc2UgU2VjdXJpdHlDb250ZXh0LlVSTDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICdyZXNvdXJjZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkwsIGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5OT05FOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuTk9ORSwgY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuaXRpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvc2FuaXRpemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFpQixlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNbEUsTUFBTSxPQUFPLFlBQVk7SUFDckIsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDOUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUEyQixFQUFFLE9BQWlDO1FBQ3BFLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNkLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxlQUFlLENBQUMsSUFBSTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3JFLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3RFLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxlQUFlLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxlQUFlLENBQUMsR0FBRztnQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3RSxLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssZUFBZSxDQUFDLElBQUk7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQzs2R0E1QlEsWUFBWTtrRkFBWixZQUFZOztpRkFBWixZQUFZO2NBSnhCLElBQUk7ZUFBQztnQkFDSixVQUFVLEVBQUUsSUFBSTtnQkFDZCxJQUFJLEVBQUUsVUFBVTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybSwgU2VjdXJpdHlDb250ZXh0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQFBpcGUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdzYW5pdGl6ZSdcbn0pXG5leHBvcnQgY2xhc3MgU2FuaXRpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybShjb250ZW50OiBzdHJpbmcgfCBTYWZlVmFsdWUsIGNvbnRleHQ6IHN0cmluZyB8IFNlY3VyaXR5Q29udGV4dCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjb250ZW50ID09PSBudWxsIHx8IGNvbnRlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoY29udGV4dCkge1xuICAgICAgICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5IVE1MOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TVFlMRTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlNUWUxFLCBjb250ZW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQsIGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgICAgIGNhc2UgU2VjdXJpdHlDb250ZXh0LlVSTDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICdyZXNvdXJjZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5SRVNPVVJDRV9VUkwsIGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAnbm9uZSc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5OT05FOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuTk9ORSwgY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -29,12 +29,13 @@ export class TrustAsPipe {
29
29
  }
30
30
  }
31
31
  static { this.ɵfac = function TrustAsPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TrustAsPipe)(i0.ɵɵdirectiveInject(i1.DomSanitizer, 16)); }; }
32
- static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "trustAs", type: TrustAsPipe, pure: true }); }
32
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "trustAs", type: TrustAsPipe, pure: true, standalone: true }); }
33
33
  }
34
34
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TrustAsPipe, [{
35
35
  type: Pipe,
36
36
  args: [{
37
+ standalone: true,
37
38
  name: 'trustAs'
38
39
  }]
39
40
  }], () => [{ type: i1.DomSanitizer }], null); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3QtYXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvdHJ1c3QtYXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBNEQsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBS2xILE1BQU0sT0FBTyxXQUFXO0lBRXBCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxTQUFTLENBQUMsT0FBZSxFQUFFLE9BQWlDO1FBQ3hELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNkLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxlQUFlLENBQUMsSUFBSTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxlQUFlLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxlQUFlLENBQUMsR0FBRztnQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQzs0R0F6QlEsV0FBVztpRkFBWCxXQUFXOztpRkFBWCxXQUFXO2NBSHZCLElBQUk7ZUFBQztnQkFDRixJQUFJLEVBQUUsU0FBUzthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVIdG1sLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVTY3JpcHQsIFNhZmVTdHlsZSwgU2FmZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAndHJ1c3RBcydcbn0pXG5leHBvcnQgY2xhc3MgVHJ1c3RBc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgICB0cmFuc2Zvcm0oY29udGVudDogc3RyaW5nLCBjb250ZXh0OiBzdHJpbmcgfCBTZWN1cml0eUNvbnRleHQpIHtcbiAgICAgICAgaWYgKGNvbnRlbnQgPT09IG51bGwgfHwgY29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChjb250ZXh0KSB7XG4gICAgICAgICAgICBjYXNlICdodG1sJzpcbiAgICAgICAgICAgIGNhc2UgU2VjdXJpdHlDb250ZXh0LkhUTUw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuU1RZTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShjb250ZW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQoY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICd1cmwnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuVVJMOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAncmVzb3VyY2UnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuUkVTT1VSQ0VfVVJMOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3QtYXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcGlwZXMvdHJ1c3QtYXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBNEQsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTWxILE1BQU0sT0FBTyxXQUFXO0lBRXBCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQUcsQ0FBQztJQUVsRCxTQUFTLENBQUMsT0FBZSxFQUFFLE9BQWlDO1FBQ3hELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNkLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxlQUFlLENBQUMsSUFBSTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxlQUFlLENBQUMsS0FBSztnQkFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9ELEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxlQUFlLENBQUMsTUFBTTtnQkFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxlQUFlLENBQUMsR0FBRztnQkFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQzs0R0F6QlEsV0FBVztpRkFBWCxXQUFXOztpRkFBWCxXQUFXO2NBSnZCLElBQUk7ZUFBQztnQkFDSixVQUFVLEVBQUUsSUFBSTtnQkFDZCxJQUFJLEVBQUUsU0FBUzthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVIdG1sLCBTYWZlUmVzb3VyY2VVcmwsIFNhZmVTY3JpcHQsIFNhZmVTdHlsZSwgU2FmZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAndHJ1c3RBcydcbn0pXG5leHBvcnQgY2xhc3MgVHJ1c3RBc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgICB0cmFuc2Zvcm0oY29udGVudDogc3RyaW5nLCBjb250ZXh0OiBzdHJpbmcgfCBTZWN1cml0eUNvbnRleHQpIHtcbiAgICAgICAgaWYgKGNvbnRlbnQgPT09IG51bGwgfHwgY29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChjb250ZXh0KSB7XG4gICAgICAgICAgICBjYXNlICdodG1sJzpcbiAgICAgICAgICAgIGNhc2UgU2VjdXJpdHlDb250ZXh0LkhUTUw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAnc3R5bGUnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuU1RZTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShjb250ZW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3NjcmlwdCc6XG4gICAgICAgICAgICBjYXNlIFNlY3VyaXR5Q29udGV4dC5TQ1JJUFQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQoY29udGVudCk7XG4gICAgICAgICAgICBjYXNlICd1cmwnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuVVJMOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKGNvbnRlbnQpO1xuICAgICAgICAgICAgY2FzZSAncmVzb3VyY2UnOlxuICAgICAgICAgICAgY2FzZSBTZWN1cml0eUNvbnRleHQuUkVTT1VSQ0VfVVJMOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoY29udGVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -30,7 +30,6 @@ export * from './pipes/image.pipe';
30
30
  export * from './widgets/common/container/container.directive';
31
31
  export * from './widgets/common/lazy-load/lazy-load.directive';
32
32
  export * from './widgets/common/partial-param/partial-param.directive';
33
- export * from './widgets/common/smooth-scroll/smooth-scroll.directive';
34
33
  export * from './widgets/common/base/text-content.directive';
35
34
  export * from './directives/show-in-device.directive';
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsU0FBUyxFQUNULGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osV0FBVyxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNILFNBQVMsRUFDVCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNILGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsZUFBZSxFQUNmLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLGVBQWUsRUFDZixTQUFTLEVBQ1QsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osNEJBQTRCLEVBQy9CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGFBQWEsRUFDaEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELE9BQU8sRUFDSCx3QkFBd0IsRUFFM0IsTUFBTSxtREFBbUQsQ0FBQztBQUMzRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUNILGdCQUFnQixFQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUNYLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDMUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpdmVfT3BlcmF0aW9ucyB9IGZyb20gJy4vdXRpbHMvZGF0YS11dGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0IHtcbiAgICBMaXZlX09wZXJhdGlvbnMsXG4gICAgQUxMRklFTERTLFxuICAgIExJVkVfQ09OU1RBTlRTLFxuICAgIHBlcmZvcm1EYXRhT3BlcmF0aW9uLFxuICAgIHJlZnJlc2hEYXRhU291cmNlLFxuICAgIGZldGNoUmVsYXRlZEZpZWxkRGF0YSxcbiAgICBpbnRlcnBvbGF0ZUJpbmRFeHByZXNzaW9ucyxcbiAgICBnZXREaXN0aW5jdEZpZWxkUHJvcGVydGllcyxcbiAgICBnZXREaXN0aW5jdFZhbHVlcyxcbiAgICBmZXRjaERpc3RpbmN0VmFsdWVzLFxuICAgIGdldERpc3RpbmN0VmFsdWVzRm9yRmllbGQsXG4gICAgZ2V0UmFuZ2VGaWVsZFZhbHVlLFxuICAgIGdldFJhbmdlTWF0Y2hNb2RlLFxuICAgIGdldEVuYWJsZUVtcHR5RmlsdGVyLFxuICAgIGdldEVtcHR5TWF0Y2hNb2RlLFxuICAgIGNyZWF0ZUFycmF5RnJvbSxcbiAgICBhcHBseUZpbHRlck9uRmllbGQsXG4gICAgdHJhbnNmb3JtRGF0YVxufSBmcm9tICcuL3V0aWxzL2RhdGEtdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBnZXRPcmRlcmVkRGF0YXNldCxcbiAgICB0cmFuc2Zvcm1EYXRhV2l0aEtleXMsXG4gICAgZXh0cmFjdERhdGFBc0FycmF5LFxuICAgIGNvbnZlcnREYXRhVG9PYmplY3QsXG4gICAgdHJhbnNmb3JtRm9ybURhdGEsXG4gICAgZ2V0VW5pcU9ianNCeURhdGFGaWVsZCxcbiAgICBzZXRJdGVtQnlDb21wYXJlLFxuICAgIGdyb3VwRGF0YSxcbiAgICBmaWx0ZXJEYXRlLFxuICAgIHRvZ2dsZUFsbEhlYWRlcnMsXG4gICAgaGFuZGxlSGVhZGVyQ2xpY2ssXG4gICAgY29uZmlndXJlRG5ELFxuICAgIERhdGFTZXRJdGVtXG59IGZyb20gJy4vdXRpbHMvZm9ybS11dGlscyc7XG5leHBvcnQge1xuICAgIEVESVRfTU9ERSxcbiAgICBzZXRIZWFkZXJDb25maWcsXG4gICAgc2V0SGVhZGVyQ29uZmlnRm9yVGFibGUsXG4gICAgZ2V0Um93T3BlcmF0aW9uc0NvbHVtbixcbiAgICBnZXRGaWVsZExheW91dENvbmZpZyxcbiAgICBnZXREZWZhdWx0Vmlld01vZGVXaWRnZXQsXG4gICAgcGFyc2VWYWx1ZUJ5VHlwZSxcbiAgICBnZXRGaWVsZFR5cGVXaWRnZXRUeXBlc01hcCxcbiAgICBnZXREYXRhVGFibGVGaWx0ZXJXaWRnZXQsXG4gICAgZ2V0RWRpdE1vZGVXaWRnZXQsXG4gICAgZ2V0RGVmYXVsdFZhbHVlXG59IGZyb20gJy4vdXRpbHMvbGl2ZS11dGlscyc7XG5leHBvcnQge1xuICAgIGdldE9ialZhbHVlQnlLZXksXG4gICAgZ2V0RXZhbHVhdGVkRGF0YSxcbiAgICBpc0FjdGl2ZU5hdkl0ZW0sXG4gICAgaGFzTGlua1RvQ3VycmVudFBhZ2UsXG4gICAgZ2V0T3JkZXJCeUV4cHIsXG4gICAgaXNEYXRhU2V0V2lkZ2V0LFxuICAgIGdldEltYWdlVXJsLFxuICAgIGdldEJhY2tHcm91bmRJbWFnZVVybCxcbiAgICBwcm92aWRlQXMsXG4gICAgcHJvdmlkZUFzV2lkZ2V0UmVmLFxuICAgIHByb3ZpZGVBc0RpYWxvZ1JlZixcbiAgICB1bnN1cHBvcnRlZFN0YXRlUGVyc2lzdGVuY2VUeXBlcyxcbiAgICBOQVZJR0FUSU9OX1RZUEUsXG4gICAgSU5QVVRNT0RFLFxuICAgIEFVVE9DTE9TRV9UWVBFLFxuICAgIGdldFdhdGNoSWRlbnRpZmllcixcbiAgICBnZXRNYXRjaE1vZGVUeXBlc01hcCxcbiAgICBnZXRNYXRjaE1vZGVNc2dzLFxuICAgIGdldENvbmRpdGlvbmFsQ2xhc3NlcyxcbiAgICBwcmVwYXJlRmllbGREZWZzICxcbiAgICBnZXRDb250YWluZXJUYXJnZXRDbGFzcyxcbiAgICBleHRyYWN0RGF0YVNvdXJjZU5hbWUsXG4gICAgc2V0Rm9jdXNUcmFwLFxuICAgIGdldEtleWJvYXJkRm9jdXNhYmxlRWxlbWVudHNcbn0gZnJvbSAnLi91dGlscy93aWRnZXQtdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50XG59IGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvYmFzZS1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCB7XG4gICAgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50LFxuICAgIE5hdk5vZGVcbn0gZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2RhdGFzZXQtYXdhcmUtbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvcGFydGlhbC1jb250YWluZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9jdXN0b20td2lkZ2V0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2Jhc2UtZmllbGQtdmFsaWRhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9pdGVtLXRlbXBsYXRlL2l0ZW0tdGVtcGxhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcmVwZWF0LXRlbXBsYXRlL3JlcGVhdC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL3N0eWxhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9wdWxsLXRvLXJlZnJlc2gvcHVsbC10by1yZWZyZXNoJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcGFydGlhbC9wYXJ0aWFsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL3JlZHJhdy9yZWRyYXdhYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvZnJhbWV3b3JrL2NvbnN0YW50cyc7XG5leHBvcnQge1xuICAgIHVwZGF0ZURldmljZVZpZXdcbn0gZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay9kZXZpY2V2aWV3JztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9mcmFtZXdvcmsvc3R5bGVyJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9mcmFtZXdvcmsvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay93aWRnZXQtaWQtZ2VuZXJhdG9yJztcbmV4cG9ydCB7XG4gICAgZ2V0V2lkZ2V0UHJvcHNCeVR5cGUsXG4gICAgcmVnaXN0ZXIsXG4gICAgcmVnaXN0ZXJGb3JtV2lkZ2V0LFxuICAgIFBST1BfVFlQRSxcbiAgICBQUk9QX1NUUklORyxcbiAgICBQUk9QX05VTUJFUixcbiAgICBQUk9QX0JPT0xFQU4sXG4gICAgUFJPUF9BTllcbn0gZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay93aWRnZXQtcHJvcHMnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0IHtcbiAgICBUb0RhdGVQaXBlLFxuICAgIFRvTnVtYmVyUGlwZSxcbiAgICBUb0N1cnJlbmN5UGlwZSxcbiAgICBQcmVmaXhQaXBlLFxuICAgIFN1ZmZpeFBpcGUsXG4gICAgQ3VzdG9tUGlwZSxcbiAgICBUaW1lRnJvbU5vd1BpcGUsXG4gICAgTnVtYmVyVG9TdHJpbmdQaXBlLFxuICAgIFN0cmluZ1RvTnVtYmVyUGlwZSxcbiAgICBGaWx0ZXJQaXBlLFxuICAgIEZpbGVTaXplUGlwZSxcbiAgICBGaWxlSWNvbkNsYXNzUGlwZSxcbiAgICBTdGF0ZUNsYXNzUGlwZSxcbiAgICBGaWxlRXh0ZW5zaW9uRnJvbU1pbWVQaXBlLFxuICAgIFRyYWlsaW5nWmVyb0RlY2ltYWxQaXBlXG59IGZyb20gJy4vcGlwZXMvY3VzdG9tLXBpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvdHJ1c3QtYXMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3Nhbml0aXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vY29udGFpbmVyL2NvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9sYXp5LWxvYWQvbGF6eS1sb2FkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL3BhcnRpYWwtcGFyYW0vcGFydGlhbC1wYXJhbS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9zbW9vdGgtc2Nyb2xsL3Ntb290aC1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS90ZXh0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9zaG93LWluLWRldmljZS5kaXJlY3RpdmUnO1xuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsU0FBUyxFQUNULGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osV0FBVyxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNILFNBQVMsRUFDVCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2xCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNILGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsZUFBZSxFQUNmLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLGVBQWUsRUFDZixTQUFTLEVBQ1QsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osNEJBQTRCLEVBQy9CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGFBQWEsRUFDaEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELE9BQU8sRUFDSCx3QkFBd0IsRUFFM0IsTUFBTSxtREFBbUQsQ0FBQztBQUMzRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUNILGdCQUFnQixFQUNuQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUNYLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLFlBQVksRUFDWixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDMUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXZlX09wZXJhdGlvbnMgfSBmcm9tICcuL3V0aWxzL2RhdGEtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzLm1vZHVsZSc7XG5leHBvcnQge1xuICAgIExpdmVfT3BlcmF0aW9ucyxcbiAgICBBTExGSUVMRFMsXG4gICAgTElWRV9DT05TVEFOVFMsXG4gICAgcGVyZm9ybURhdGFPcGVyYXRpb24sXG4gICAgcmVmcmVzaERhdGFTb3VyY2UsXG4gICAgZmV0Y2hSZWxhdGVkRmllbGREYXRhLFxuICAgIGludGVycG9sYXRlQmluZEV4cHJlc3Npb25zLFxuICAgIGdldERpc3RpbmN0RmllbGRQcm9wZXJ0aWVzLFxuICAgIGdldERpc3RpbmN0VmFsdWVzLFxuICAgIGZldGNoRGlzdGluY3RWYWx1ZXMsXG4gICAgZ2V0RGlzdGluY3RWYWx1ZXNGb3JGaWVsZCxcbiAgICBnZXRSYW5nZUZpZWxkVmFsdWUsXG4gICAgZ2V0UmFuZ2VNYXRjaE1vZGUsXG4gICAgZ2V0RW5hYmxlRW1wdHlGaWx0ZXIsXG4gICAgZ2V0RW1wdHlNYXRjaE1vZGUsXG4gICAgY3JlYXRlQXJyYXlGcm9tLFxuICAgIGFwcGx5RmlsdGVyT25GaWVsZCxcbiAgICB0cmFuc2Zvcm1EYXRhXG59IGZyb20gJy4vdXRpbHMvZGF0YS11dGlscyc7XG5leHBvcnQge1xuICAgIGdldE9yZGVyZWREYXRhc2V0LFxuICAgIHRyYW5zZm9ybURhdGFXaXRoS2V5cyxcbiAgICBleHRyYWN0RGF0YUFzQXJyYXksXG4gICAgY29udmVydERhdGFUb09iamVjdCxcbiAgICB0cmFuc2Zvcm1Gb3JtRGF0YSxcbiAgICBnZXRVbmlxT2Jqc0J5RGF0YUZpZWxkLFxuICAgIHNldEl0ZW1CeUNvbXBhcmUsXG4gICAgZ3JvdXBEYXRhLFxuICAgIGZpbHRlckRhdGUsXG4gICAgdG9nZ2xlQWxsSGVhZGVycyxcbiAgICBoYW5kbGVIZWFkZXJDbGljayxcbiAgICBjb25maWd1cmVEbkQsXG4gICAgRGF0YVNldEl0ZW1cbn0gZnJvbSAnLi91dGlscy9mb3JtLXV0aWxzJztcbmV4cG9ydCB7XG4gICAgRURJVF9NT0RFLFxuICAgIHNldEhlYWRlckNvbmZpZyxcbiAgICBzZXRIZWFkZXJDb25maWdGb3JUYWJsZSxcbiAgICBnZXRSb3dPcGVyYXRpb25zQ29sdW1uLFxuICAgIGdldEZpZWxkTGF5b3V0Q29uZmlnLFxuICAgIGdldERlZmF1bHRWaWV3TW9kZVdpZGdldCxcbiAgICBwYXJzZVZhbHVlQnlUeXBlLFxuICAgIGdldEZpZWxkVHlwZVdpZGdldFR5cGVzTWFwLFxuICAgIGdldERhdGFUYWJsZUZpbHRlcldpZGdldCxcbiAgICBnZXRFZGl0TW9kZVdpZGdldCxcbiAgICBnZXREZWZhdWx0VmFsdWVcbn0gZnJvbSAnLi91dGlscy9saXZlLXV0aWxzJztcbmV4cG9ydCB7XG4gICAgZ2V0T2JqVmFsdWVCeUtleSxcbiAgICBnZXRFdmFsdWF0ZWREYXRhLFxuICAgIGlzQWN0aXZlTmF2SXRlbSxcbiAgICBoYXNMaW5rVG9DdXJyZW50UGFnZSxcbiAgICBnZXRPcmRlckJ5RXhwcixcbiAgICBpc0RhdGFTZXRXaWRnZXQsXG4gICAgZ2V0SW1hZ2VVcmwsXG4gICAgZ2V0QmFja0dyb3VuZEltYWdlVXJsLFxuICAgIHByb3ZpZGVBcyxcbiAgICBwcm92aWRlQXNXaWRnZXRSZWYsXG4gICAgcHJvdmlkZUFzRGlhbG9nUmVmLFxuICAgIHVuc3VwcG9ydGVkU3RhdGVQZXJzaXN0ZW5jZVR5cGVzLFxuICAgIE5BVklHQVRJT05fVFlQRSxcbiAgICBJTlBVVE1PREUsXG4gICAgQVVUT0NMT1NFX1RZUEUsXG4gICAgZ2V0V2F0Y2hJZGVudGlmaWVyLFxuICAgIGdldE1hdGNoTW9kZVR5cGVzTWFwLFxuICAgIGdldE1hdGNoTW9kZU1zZ3MsXG4gICAgZ2V0Q29uZGl0aW9uYWxDbGFzc2VzLFxuICAgIHByZXBhcmVGaWVsZERlZnMgLFxuICAgIGdldENvbnRhaW5lclRhcmdldENsYXNzLFxuICAgIGV4dHJhY3REYXRhU291cmNlTmFtZSxcbiAgICBzZXRGb2N1c1RyYXAsXG4gICAgZ2V0S2V5Ym9hcmRGb2N1c2FibGVFbGVtZW50c1xufSBmcm9tICcuL3V0aWxzL3dpZGdldC11dGlscyc7XG5leHBvcnQge1xuICAgIEJhc2VDb21wb25lbnRcbn0gZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2Jhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9iYXNlLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgICBEYXRhc2V0QXdhcmVOYXZDb21wb25lbnQsXG4gICAgTmF2Tm9kZVxufSBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvZGF0YXNldC1hd2FyZS1uYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vYmFzZS9wYXJ0aWFsLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9iYXNlL2N1c3RvbS13aWRnZXQtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvYmFzZS1maWVsZC12YWxpZGF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2l0ZW0tdGVtcGxhdGUvaXRlbS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9yZXBlYXQtdGVtcGxhdGUvcmVwZWF0LXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2Uvc3R5bGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL3B1bGwtdG8tcmVmcmVzaC9wdWxsLXRvLXJlZnJlc2gnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9wYXJ0aWFsL3BhcnRpYWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcmVkcmF3L3JlZHJhd2FibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9mcmFtZXdvcmsvY29uc3RhbnRzJztcbmV4cG9ydCB7XG4gICAgdXBkYXRlRGV2aWNlVmlld1xufSBmcm9tICcuL3dpZGdldHMvZnJhbWV3b3JrL2RldmljZXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay9zdHlsZXInO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2ZyYW1ld29yay90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvZnJhbWV3b3JrL3dpZGdldC1pZC1nZW5lcmF0b3InO1xuZXhwb3J0IHtcbiAgICBnZXRXaWRnZXRQcm9wc0J5VHlwZSxcbiAgICByZWdpc3RlcixcbiAgICByZWdpc3RlckZvcm1XaWRnZXQsXG4gICAgUFJPUF9UWVBFLFxuICAgIFBST1BfU1RSSU5HLFxuICAgIFBST1BfTlVNQkVSLFxuICAgIFBST1BfQk9PTEVBTixcbiAgICBQUk9QX0FOWVxufSBmcm9tICcuL3dpZGdldHMvZnJhbWV3b3JrL3dpZGdldC1wcm9wcyc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQge1xuICAgIFRvRGF0ZVBpcGUsXG4gICAgVG9OdW1iZXJQaXBlLFxuICAgIFRvQ3VycmVuY3lQaXBlLFxuICAgIFByZWZpeFBpcGUsXG4gICAgU3VmZml4UGlwZSxcbiAgICBDdXN0b21QaXBlLFxuICAgIFRpbWVGcm9tTm93UGlwZSxcbiAgICBOdW1iZXJUb1N0cmluZ1BpcGUsXG4gICAgU3RyaW5nVG9OdW1iZXJQaXBlLFxuICAgIEZpbHRlclBpcGUsXG4gICAgRmlsZVNpemVQaXBlLFxuICAgIEZpbGVJY29uQ2xhc3NQaXBlLFxuICAgIFN0YXRlQ2xhc3NQaXBlLFxuICAgIEZpbGVFeHRlbnNpb25Gcm9tTWltZVBpcGUsXG4gICAgVHJhaWxpbmdaZXJvRGVjaW1hbFBpcGVcbn0gZnJvbSAnLi9waXBlcy9jdXN0b20tcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy90cnVzdC1hcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvc2FuaXRpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ltYWdlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzL2NvbW1vbi9jb250YWluZXIvY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2xhenktbG9hZC9sYXp5LWxvYWQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy9jb21tb24vcGFydGlhbC1wYXJhbS9wYXJ0aWFsLXBhcmFtLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMvY29tbW9uL2Jhc2UvdGV4dC1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvc2hvdy1pbi1kZXZpY2UuZGlyZWN0aXZlJztcbiJdfQ==
@@ -2,6 +2,8 @@ import { $parseEvent, getClonedObject, getFormattedDate, isDefined, isEqualWithF
2
2
  import { getEvaluatedData, getObjValueByKey } from './widget-utils';
3
3
  import { ALLFIELDS } from './data-utils';
4
4
  import { cloneDeep, filter, forEach, get, groupBy, includes, isArray, isEqual, isNull, isObject, isString, isUndefined, keys, orderBy as _orderBy, sortBy, split, toLower, trim, uniqBy, uniqWith, values } from "lodash-es";
5
+ import * as momentLib from 'moment';
6
+ const moment = momentLib.default || window['moment'];
5
7
  const momentLocale = moment.localeData();
6
8
  const momentCalendarOptions = getClonedObject(momentLocale._calendar);
7
9
  const momentCalendarDayOptions = momentLocale._calendarDay || {
@@ -446,4 +448,4 @@ export const configureDnD = ($el, options, startCb, updateCb, sortCb) => {
446
448
  */
447
449
  export class DataSetItem {
448
450
  }
449
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvdXRpbHMvZm9ybS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLE1BQU0sRUFDTixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFBRSxJQUFJLEVBQ2pCLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxFQUMzQixLQUFLLEVBQUUsT0FBTyxFQUNkLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFDakMsTUFBTSxXQUFXLENBQUM7QUFLbkIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3pDLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN0RSxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FBQyxZQUFZLElBQUk7SUFDdEQsT0FBTyxFQUFFLGFBQWE7SUFDdEIsUUFBUSxFQUFFLGFBQWE7SUFDdkIsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLE1BQU07SUFDaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLEdBQUc7Q0FDaEIsQ0FBQztBQUNOLE1BQU0sZ0JBQWdCLEdBQUc7SUFD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S0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNmLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFWixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQVdGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sV0FBVztDQVF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRwYXJzZUV2ZW50LCBnZXRDbG9uZWRPYmplY3QsIGdldEZvcm1hdHRlZERhdGUsIGlzRGVmaW5lZCwgaXNFcXVhbFdpdGhGaWVsZHMgfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IGdldEV2YWx1YXRlZERhdGEsIGdldE9ialZhbHVlQnlLZXkgfSBmcm9tICcuL3dpZGdldC11dGlscyc7XG5cbmltcG9ydCB7IEFMTEZJRUxEUyB9IGZyb20gJy4vZGF0YS11dGlscyc7XG5pbXBvcnQgeyBUb0RhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY3VzdG9tLXBpcGVzJztcbmltcG9ydCB7XG4gICAgY2xvbmVEZWVwLFxuICAgIGZpbHRlcixcbiAgICBmb3JFYWNoLCBnZXQsIGdyb3VwQnksIGluY2x1ZGVzLFxuICAgIGlzQXJyYXksIGlzRXF1YWwsXG4gICAgaXNOdWxsLFxuICAgIGlzT2JqZWN0LFxuICAgIGlzU3RyaW5nLFxuICAgIGlzVW5kZWZpbmVkLCBrZXlzLFxuICAgIG9yZGVyQnkgYXMgX29yZGVyQnksIHNvcnRCeSxcbiAgICBzcGxpdCwgdG9Mb3dlcixcbiAgICB0cmltLCB1bmlxQnksIHVuaXFXaXRoLCB2YWx1ZXNcbn0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5kZWNsYXJlIGNvbnN0IG1vbWVudDtcblxuY29uc3QgbW9tZW50TG9jYWxlID0gbW9tZW50LmxvY2FsZURhdGEoKTtcbmNvbnN0IG1vbWVudENhbGVuZGFyT3B0aW9ucyA9IGdldENsb25lZE9iamVjdChtb21lbnRMb2NhbGUuX2NhbGVuZGFyKTtcbmNvbnN0IG1vbWVudENhbGVuZGFyRGF5T3B0aW9ucyA9IG1vbWVudExvY2FsZS5fY2FsZW5kYXJEYXkgfHwge1xuICAgICAgICBsYXN0RGF5OiAnW1llc3RlcmRheV0nLFxuICAgICAgICBsYXN0V2VlazogJ1tMYXN0XSBkZGRkJyxcbiAgICAgICAgbmV4dERheTogJ1tUb21vcnJvd10nLFxuICAgICAgICBuZXh0V2VlazogJ2RkZGQnLFxuICAgICAgICBzYW1lRGF5OiAnW1RvZGF5XScsXG4gICAgICAgIHNhbWVFbHNlOiAnTCdcbiAgICB9O1xuY29uc3QgR1JPVVBfQllfT1BUSU9OUyA9IHtcbiAgICAgICAgQUxQSEFCRVQ6ICdhbHBoYWJldCcsXG4gICAgICAgIFdPUkQ6ICd3b3JkJyxcbiAgICAgICAgT1RIRVJTOiAnT3RoZXJzJ1xuICAgIH07XG5jb25zdCBUSU1FX1JPTExVUF9PUFRJT05TID0ge1xuICAgICAgICBIT1VSOiAnaG91cicsXG4gICAgICAgIERBWTogJ2RheScsXG4gICAgICAgIFdFRUs6ICd3ZWVrJyxcbiAgICAgICAgTU9OVEg6ICdtb250aCcsXG4gICAgICAgIFlFQVI6ICd5ZWFyJ1xuICAgIH07XG5jb25zdCBST0xMVVBfUEFUVEVSTlMgPSB7XG4gICAgICAgIERBWTogJ3l5eXktTU0tZGQnLFxuICAgICAgICBXRUVLOiAndyBcXCdXZWVrXFwnLCAgeXl5eScsXG4gICAgICAgIE1PTlRIOiAnTU1NLCB5eXl5JyxcbiAgICAgICAgWUVBUjogJ1lZWVknLFxuICAgICAgICBIT1VSOiAnaGg6bW0gYSdcbiAgICB9O1xuXG4vKipcbiAqIGZ1bmN0aW9uIHRvIGdldCB0aGUgb3JkZXJlZCBkYXRhc2V0IGJhc2VkIG9uIHRoZSBnaXZlbiBvcmRlcmJ5XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRPcmRlcmVkRGF0YXNldCA9IChkYXRhU2V0OiBhbnksIG9yZGVyQnk6IHN0cmluZywgaW5uZXJJdGVtPykgPT4ge1xuICAgIGlmICghb3JkZXJCeSkge1xuICAgICAgICByZXR1cm4gY2xvbmVEZWVwKGRhdGFTZXQpO1xuICAgIH1cblxuICAgIC8vIFRoZSBvcmRlciBieSBvbmx5IHdvcmtzIHdoZW4gdGhlIGRhdGFzZXQgY29udGFpbnMgbGlzdCBvZiBvYmplY3RzLlxuICAgIGNvbnN0IGl0ZW1zID0gb3JkZXJCeS5zcGxpdCgnLCcpLFxuICAgICAgICBmaWVsZHMgPSBbXSxcbiAgICAgICAgZGlyZWN0aW9ucyA9IFtdO1xuICAgIGl0ZW1zLmZvckVhY2gob2JqID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9iai5zcGxpdCgnOicpO1xuICAgICAgICBmaWVsZHMucHVzaChpbm5lckl0ZW0gPyBpbm5lckl0ZW0gKyAnLicgKyBpdGVtWzBdIDogaXRlbVswXSk7XG4gICAgICAgIGRpcmVjdGlvbnMucHVzaChpdGVtWzFdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gX29yZGVyQnkoZGF0YVNldCwgZmllbGRzLCBkaXJlY3Rpb25zKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBhcnJheSBvZiBvYmplY3QsIGVhY2ggb2JqZWN0IGNvbnRhaW4gdGhlIERhdGFTZXRJdGVtIHdob3NlIGtleSwgdmFsdWUsIGxhYmVsIGFyZSBleHRyYWN0ZWQgZnJvbSBvYmplY3Qga2V5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybURhdGFXaXRoS2V5cyA9IChkYXRhU2V0OiBhbnkpID0+IHtcbiAgICBjb25zdCBkYXRhOiBEYXRhU2V0SXRlbVtdID0gW107XG4gICAgLy8gaWYgdGhlIGRhdGFzZXQgaXMgaW5zdGFuY2Ugb2Ygb2JqZWN0IChub3QgYW4gYXJyYXkpIG9yIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBkYXRhc2V0IGFycmF5IGlzIGFuIG9iamVjdCxcbiAgICAvLyB0aGVuIHdlIGV4dHJhY3QgdGhlIGtleXMgZnJvbSB0aGUgb2JqZWN0IGFuZCBwcmVwYXJlIHRoZSBkYXRhc2V0IGl0ZW1zLlxuICAgIGlmIChpc09iamVjdChkYXRhU2V0WzBdKSB8fCAoaXNPYmplY3QoZGF0YVNldCkgJiYgIShkYXRhU2V0IGluc3RhbmNlb2YgQXJyYXkpKSkge1xuICAgICAgICAvLyBnZXR0aW5nIGtleXMgb2YgdGhlIG9iamVjdFxuICAgICAgICBjb25zdCBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMoZGF0YVNldFswXSB8fCBkYXRhU2V0KTtcbiAgICAgICAgZm9yRWFjaChvYmplY3RLZXlzLCAob2JqS2V5LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IG9iaktleSxcbiAgICAgICAgICAgICAgICBsYWJlbDogb2JqS2V5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvYmpLZXksXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4ICsgMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuLy8gQ29udmVydHMgYW55IHR5cGUgb2YgZGF0YSB0byBhcnJheS5cbmV4cG9ydCBjb25zdCBleHRyYWN0RGF0YUFzQXJyYXkgPSBkYXRhID0+IHtcblxuICAgIGlmIChpc1VuZGVmaW5lZChkYXRhKSB8fCBpc051bGwoZGF0YSkgfHwgdHJpbShkYXRhKSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmIChpc1N0cmluZyhkYXRhKSkge1xuICAgICAgICBkYXRhID0gc3BsaXQoZGF0YSwgJywnKS5tYXAoc3RyID0+IHN0ci50cmltKCkpO1xuICAgIH1cblxuICAgIGlmICghaXNBcnJheShkYXRhKSkge1xuICAgICAgICBkYXRhID0gW2RhdGFdO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuLy8gVGhpcyBmdW5jdGlvbiByZXR1cm4gYWx3YXlzIGFuIG9iamVjdCBjb250YWluaW5nIGRhdGFzZXQgZGV0YWlscy5cbmV4cG9ydCBjb25zdCBjb252ZXJ0RGF0YVRvT2JqZWN0ID0gZGF0YVJlc3VsdCA9PiB7XG4gICAgaWYgKGlzU3RyaW5nKGRhdGFSZXN1bHQpKSB7XG4gICAgICAgIGRhdGFSZXN1bHQgPSBzcGxpdChkYXRhUmVzdWx0LCAnLCcpLm1hcChzdHIgPT4gc3RyLnRyaW0oKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGFSZXN1bHQ7XG59O1xuXG4vLyBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgdGhlIHNlYXJjaCB0eXBlIHdpZGdldFxuY29uc3QgaXNTZWFjaFdpZGdldCA9ICh3aWRnZXRUeXBlKSA9PiB7XG4gICAgcmV0dXJuIHdpZGdldFR5cGUgPT09ICd3bS1zZWFyY2gnO1xufTtcblxuLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHNldCB0aGUgZ3JvdXBieSBmaWVsZCBmb3Igc2VhcmNoL2F1dG9jb21wbGV0ZVxuY29uc3Qgc2V0R3JvdXBieUtleSA9IChzY29wZSwgY29udGV4dCwgZGF0YVNldEl0ZW0sIGlubmVySXRlbSkgPT4ge1xuICAgIGlmIChzY29wZSAmJiBpc1NlYWNoV2lkZ2V0KHNjb3BlLndpZGdldFR5cGUpKSB7XG4gICAgICAgIGlmIChzY29wZS5ncm91cGJ5KSB7XG4gICAgICAgICAgICBpZiAoaW5jbHVkZXMoc2NvcGUuZ3JvdXBieSwgJygnKSkge1xuICAgICAgICAgICAgICAgIC8vW1RvZG8tQ1NQXTogY2FuIGdlbmVyYXRlIGV4cHIgZm4gaW4gcGFnZSBiYXNlZCBvbiBncm91cGJ5IHByb3BlcnR5IG9uIHdpZGdldFxuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwRGF0YUJ5VXNlckRlZmluZWRGbiA9ICRwYXJzZUV2ZW50KHNjb3BlLmdyb3VwYnkpO1xuICAgICAgICAgICAgICAgIChkYXRhU2V0SXRlbSBhcyBhbnkpLmdyb3VwYnkgPSBncm91cERhdGFCeVVzZXJEZWZpbmVkRm4oY29udGV4dCwgeydyb3cnOiBkYXRhU2V0SXRlbS5kYXRhT2JqZWN0IHx8IGRhdGFTZXRJdGVtfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIChkYXRhU2V0SXRlbSBhcyBhbnkpLmdyb3VwYnkgPSBncm91cERhdGFCeUZpZWxkKHNjb3BlLmdyb3VwYnksIHNjb3BlLm1hdGNoLCBpbm5lckl0ZW0sIHNjb3BlLmRhdGVmb3JtYXQsIHNjb3BlLmRhdGVQaXBlLCBzY29wZS5hcHBEZWZhdWx0cywgZGF0YVNldEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgKGRhdGFTZXRJdGVtIGFzIGFueSkuZ3JvdXBieSA9ICAnJztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKlxuICogVGhlIGZpcnN0IHN0ZXAgaW4gZGF0YXNldEl0ZW1zIGNyZWF0aW9uIGlzIGRhdGEgdHJhbnNmb3JtYXRpb246XG4gKlxuICogVGhlIGRhdGFzZXQgY2FuIGNvbnRhaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0cyBhbmQgZWFjaCBvZiB0aGVtIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgZ2l2ZW4gZm9ybWF0O1xuICpcbiAqIDEpIFRoZSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nLi5lZzogQSxCLEMgPT4gW3sga2V5OiAnQScsIHZhbHVlOiAnQSd9LCB7IGtleTogJ0InLCB2YWx1ZTogJ0InfSwgeyBrZXk6ICdDJywgdmFsdWU6ICdDJ31dXG4gKiAyKSBUaGUgYXJyYXkgb2YgdmFsdWVzIGVnOiBbMSwyLDNdID0+IFt7IGtleTogMSwgdmFsdWU6IDF9LCB7IGtleTogMiwgdmFsdWU6IDJ9LCB7IGtleTogMywgdmFsdWU6IDN9XVxuICogMykgYW4gb2JqZWN0IGVnOiB7bmFtZTogJ0EnLCBhZ2U6IDIwfSA9PiBbIHtrZXk6ICduYW1lJywgdmFsdWU6ICdBJ30sIHtrZXk6ICdhZ2UnLCB2YWx1ZTogMjB9XVxuICogNCkgYW4gYXJyYXkgb2Ygb2JqZWN0cy4uLmVnOiBbIHtuYW1lOiAnQScsIGFnZTogMjB9LCB7bmFtZTogJ0InLCBhZ2U6IDIwfV0gPT0+IHJldHVybnMgW3trZXk6IF9EQVRBRklFTERfLCB2YWx1ZTogX0RJU1BMQVlGSUVMRCwgbGFiZWw6IF9ESVNQTEFZVkFMVUV9XVxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtRm9ybURhdGEgPSAoY29udGV4dDogYW55LCBkYXRhU2V0OiBhbnksIG15RGF0YUZpZWxkPzogc3RyaW5nLCBkaXNwbGF5T3B0aW9ucz8sIHN0YXJ0SW5kZXg/OiBudW1iZXIsIHNjb3BlPzogYW55KTogQXJyYXk8RGF0YVNldEl0ZW0+ID0+IHtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgaWYgKCFkYXRhU2V0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGF0YVNldCA9IGNvbnZlcnREYXRhVG9PYmplY3QoZGF0YVNldCk7XG5cbiAgICAvLyBzdGFydEluZGV4IGlzIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBuZXcgaXRlbS5cbiAgICBpZiAoaXNVbmRlZmluZWQoc3RhcnRJbmRleCkpIHtcbiAgICAgICAgc3RhcnRJbmRleCA9IDE7XG4gICAgfVxuXG4gICAgaWYgKGlzU3RyaW5nKGRhdGFTZXQpKSB7XG4gICAgICAgIGRhdGFTZXQgPSBkYXRhU2V0LnNwbGl0KCcsJykubWFwKHN0ciA9PiBzdHIudHJpbSgpKTtcbiAgICAgICAgZGF0YVNldC5mb3JFYWNoKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhU2V0SXRlbSA9IHtrZXk6IG9wdGlvbiwgdmFsdWU6IG9wdGlvbiwgbGFiZWw6IChpc0RlZmluZWQob3B0aW9uKSAmJiBvcHRpb24gIT09IG51bGwpID8gb3B0aW9uLnRvU3RyaW5nKCkgOiAnJywgaW5kZXg6IHN0YXJ0SW5kZXggKyBpbmRleH07XG4gICAgICAgICAgICBzZXRHcm91cGJ5S2V5KHNjb3BlLCBjb250ZXh0LCBkYXRhU2V0SXRlbSwgJ3ZhbHVlJyk7XG4gICAgICAgICAgICBkYXRhLnB1c2goZGF0YVNldEl0ZW0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGlzQXJyYXkoZGF0YVNldCkgJiYgIWlzT2JqZWN0KGRhdGFTZXRbMF0pKSB7IC8vIGFycmF5IG9mIHByaW1pdGl2ZSB2YWx1ZXMgb25seVxuICAgICAgICBkYXRhU2V0LmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXRJdGVtID0ge2tleTogb3B0aW9uLCB2YWx1ZTogb3B0aW9uLCBsYWJlbDogKGlzRGVmaW5lZChvcHRpb24pICYmIG9wdGlvbiAhPT0gbnVsbCkgPyBvcHRpb24udG9TdHJpbmcoKSA6ICcnLCBpbmRleDogc3RhcnRJbmRleCArIGluZGV4fTtcbiAgICAgICAgICAgIHNldEdyb3VwYnlLZXkoc2NvcGUsIGNvbnRleHQsIGRhdGFTZXRJdGVtLCAndmFsdWUnKTtcbiAgICAgICAgICAgIGRhdGEucHVzaChkYXRhU2V0SXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoIShkYXRhU2V0IGluc3RhbmNlb2YgQXJyYXkpICYmIGlzT2JqZWN0KGRhdGFTZXQpKSB7XG4gICAgICAgIGNvbnN0IGkgPSAwO1xuICAgICAgICBmb3JFYWNoKGRhdGFTZXQsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCBkYXRhU2V0SXRlbSA9IHtrZXk6IHRyaW0oa2V5KSwgdmFsdWU6IGtleSwgbGFiZWw6IChpc0RlZmluZWQodmFsdWUpICYmIHZhbHVlICE9PSBudWxsKSA/IHZhbHVlLnRvU3RyaW5nKCkgOiAnJyxcbiAgICAgICAgICAgICAgICBpbmRleDogc3RhcnRJbmRleCxcbiAgICAgICAgICAgICAgICBkYXRhT2JqZWN0OiBkYXRhU2V0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2V0R3JvdXBieUtleShzY29wZSwgY29udGV4dCwgZGF0YVNldEl0ZW0sICd2YWx1ZScpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKGRhdGFTZXRJdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFteURhdGFGaWVsZCkgeyAvLyBjb25zaWRlciB0aGUgZGF0YWZpZWxkIGFzICdBTExGSUVMRFMnIHdoZW4gZGF0YWZpZWxkIGlzIG5vdCBnaXZlbi5cbiAgICAgICAgICAgIG15RGF0YUZpZWxkID0gQUxMRklFTERTO1xuICAgICAgICB9XG4gICAgICAgIGRhdGFTZXQuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gbXlEYXRhRmllbGQgPT09IEFMTEZJRUxEUyA/IHN0YXJ0SW5kZXggKyBpbmRleCA6IGdldE9ialZhbHVlQnlLZXkob3B0aW9uLCBteURhdGFGaWVsZCk7XG4gICAgICAgICAgICAvLyBPbWl0IGFsbCB0aGUgaXRlbXMgd2hvc2UgZGF0YWZpZWxkIChrZXkpIGlzIG51bGwgb3IgdW5kZWZpbmVkLlxuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZChrZXkpICYmICFpc051bGwoa2V5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZ2V0RXZhbHVhdGVkRGF0YShvcHRpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRpc3BsYXlPcHRpb25zLmRpc3BsYXlGaWVsZCxcbiAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogZGlzcGxheU9wdGlvbnMuZGlzcGxheUV4cHIsXG4gICAgICAgICAgICAgICAgICAgIGJpbmRFeHByZXNzaW9uOiBkaXNwbGF5T3B0aW9ucy5iaW5kRGlzcGxheUV4cHJcbiAgICAgICAgICAgICAgICB9LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhU2V0SXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAoaXNEZWZpbmVkKGxhYmVsKSAmJiBsYWJlbCAhPT0gbnVsbCkgPyBsYWJlbC50b1N0cmluZygpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBteURhdGFGaWVsZCA9PT0gQUxMRklFTERTID8gb3B0aW9uIDoga2V5LFxuICAgICAgICAgICAgICAgICAgICBkYXRhT2JqZWN0OiBvcHRpb24sIC8vIHJlcHJlc2VudHMgdGhlIG9iamVjdCB3aGVuIGRhdGFmaWVsZCBpcyBBTExGSUVMRFMuIFRoaXMgaXMgdXNlZCBhcyBpbm5lckl0ZW0gd2hpbGUgZ3JvdXBpbmcgdGhlIGRhdGFzZXRJdGVtcy5cbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IHN0YXJ0SW5kZXggKyBpbmRleFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlPcHRpb25zLmRpc3BsYXlJbWdTcmMgfHwgZGlzcGxheU9wdGlvbnMuYmluZERpc3BsYXlJbWdTcmMpIHtcbiAgICAgICAgICAgICAgICAgICAgKGRhdGFTZXRJdGVtIGFzIGFueSkuaW1nU3JjID0gZ2V0RXZhbHVhdGVkRGF0YShvcHRpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IGRpc3BsYXlPcHRpb25zLmRpc3BsYXlJbWdTcmMsXG4gICAgICAgICAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogZGlzcGxheU9wdGlvbnMuYmluZERpc3BsYXlJbWdTcmNcbiAgICAgICAgICAgICAgICAgICAgfSwgY29udGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldEdyb3VwYnlLZXkoc2NvcGUsIGNvbnRleHQsIGRhdGFTZXRJdGVtLCAnZGF0YU9iamVjdCcpO1xuXG4gICAgICAgICAgICAgICAgZGF0YS5wdXNoKGRhdGFTZXRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufTtcblxuLyoqXG4gKiBQcml2YXRlIG1ldGhvZCB0byBnZXQgdGhlIHVuaXF1ZSBvYmplY3RzIGJ5IHRoZSBkYXRhIGZpZWxkXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRVbmlxT2Jqc0J5RGF0YUZpZWxkID0gKGRhdGE6IEFycmF5PERhdGFTZXRJdGVtPiwgZGF0YUZpZWxkOiBzdHJpbmcsIGRpc3BsYXlGaWVsZDogc3RyaW5nLCBhbGxvd0VtcHR5RmllbGRzPzogYm9vbGVhbikgPT4ge1xuICAgIGxldCB1bmlxRGF0YTtcbiAgICBjb25zdCBpc0FsbEZpZWxkcyA9IGRhdGFGaWVsZCA9PT0gQUxMRklFTERTO1xuXG4gICAgdW5pcURhdGEgPSBpc0FsbEZpZWxkcyA/IHVuaXFXaXRoKGRhdGEsIGlzRXF1YWwpIDogdW5pcUJ5KGRhdGEsICdrZXknKTtcblxuICAgIGlmICghZGlzcGxheUZpZWxkIHx8IGFsbG93RW1wdHlGaWVsZHMpIHtcbiAgICAgICAgcmV0dXJuIHVuaXFEYXRhO1xuICAgIH1cblxuICAgIC8vIHJldHVybiBvYmplY3RzIGhhdmluZyBub24gZW1wdHkgZGF0YWZpZWxkIGFuZCBkaXNwbGF5IGZpZWxkIHZhbHVlcy5cbiAgICByZXR1cm4gZmlsdGVyKHVuaXFEYXRhLCAob2JqKSA9PiB7XG4gICAgICAgIGlmIChpc0FsbEZpZWxkcykge1xuICAgICAgICAgICAgcmV0dXJuIHRyaW0ob2JqLmxhYmVsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJpbShvYmoua2V5KSAmJiB0cmltKG9iai5sYWJlbCk7XG4gICAgfSk7XG59O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgc2VsZWN0ZWRJdGVtIGJ5IGNvbXBhcmluZyB0aGUgZmllbGQgdmFsdWVzLCB3aGVyZSBmaWVsZHMgYXJlIHBhc3NlZCBieSBcImNvbXBhcmVieVwiIHByb3BlcnR5LlxuICogd29ya3Mgb25seSBmb3IgZGF0YWZpZWxkIHdpdGggQUxMX0ZJRUxEU1xuICogQHBhcmFtIGRhdGFzZXRJdGVtcyBsaXN0IG9mIGRhdGFzZXQgaXRlbXMuXG4gKiBAcGFyYW0gY29tcGFyZVdpdGhEYXRhT2JqIHJlcHJlc2VudHMgdGhlIGRhdGF2YWx1ZSAob2JqZWN0KSB3aG9zZSBwcm9wZXJ0aWVzIGFyZSB0byBiZSBjaGVja2VkIGFnYWluc3QgZWFjaCBwcm9wZXJ0eSBvZiBkYXRhc2V0SXRlbS5cbiAqIEBwYXJhbSBjb21wYXJlQnlGaWVsZCBzcGVjaWZpZXMgdGhlIHByb3BlcnR5IG5hbWVzIG9uIHdoaWNoIGRhdGFzZXRJdGVtIGhhcyB0byBiZSBjb21wYXJlZCBhZ2FpbnN0IGRhdGF2YWx1ZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRJdGVtQnlDb21wYXJlID0gKGRhdGFzZXRJdGVtczogQXJyYXk8RGF0YVNldEl0ZW0+LCBjb21wYXJlV2l0aERhdGFPYmo6IE9iamVjdCwgY29tcGFyZUJ5RmllbGQ6IHN0cmluZykgPT4ge1xuICAgIC8vIGNvbXBhcmUgdGhlIGZpZWxkcyBiYXNlZCBvbiBmaWVsZHMgZ2l2ZW4gdG8gY29tcGFyZWJ5IHByb3BlcnR5LlxuICAgIGZvckVhY2goZGF0YXNldEl0ZW1zLCBvcHQgPT4ge1xuICAgICAgICBpZiAoaXNFcXVhbFdpdGhGaWVsZHMob3B0LnZhbHVlLCBjb21wYXJlV2l0aERhdGFPYmosIGNvbXBhcmVCeUZpZWxkKSkge1xuICAgICAgICAgICAgb3B0LnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCByZXR1cm5zIHNvcnRlZCBkYXRhIGJhc2VkIHRvIGdyb3Vwa2V5LlxuICogUmV0dXJucyBhIGFycmF5IG9mIG9iamVjdHMsIGVhY2ggb2JqZWN0IGNvbnRhaW5pbmcga2V5IHdoaWNoIGlzIGdyb3VwS2V5IGFuZCBkYXRhIGlzIHRoZSBzb3J0ZWQgZGF0YSB3aGljaCBpcyBzb3J0ZWQgYnkgZ3JvdXBieSBmaWVsZCBpbiB0aGUgZGF0YS5cbiAqXG4gKiBAcGFyYW0gZ3JvdXBlZExpRGF0YSwgZ3JvdXBlZCBkYXRhIG9iamVjdCB3aXRoIGtleSBhcyB0aGUgZ3JvdXBLZXkgYW5kIGl0cyB2YWx1ZSBhcyB0aGUgYXJyYXkgb2Ygb2JqZWN0cyBncm91cGVkIHVuZGVyIHRoZSBncm91cEtleS5cbiAqIEBwYXJhbSBncm91cEJ5LCBzdHJpbmcgZ3JvdXBieSBwcm9wZXJ0eVxuICogQHJldHVybnMge2FueVtdfVxuICovXG5jb25zdCBnZXRTb3J0ZWRHcm91cGVkRGF0YSA9IChncm91cGVkTGlEYXRhOiBPYmplY3QsIGdyb3VwQnk6IHN0cmluZywgb3JkZXJieTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgX2dyb3VwZWREYXRhID0gW107XG4gICAgZm9yRWFjaChrZXlzKGdyb3VwZWRMaURhdGEpLCAoZ3JvdXBrZXksIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGxpRGF0YSA9IGdldE9yZGVyZWREYXRhc2V0KGdyb3VwZWRMaURhdGFbZ3JvdXBrZXldLCBvcmRlcmJ5LCAnZGF0YU9iamVjdCcpO1xuICAgICAgICBfZ3JvdXBlZERhdGEucHVzaCh7XG4gICAgICAgICAgICBrZXk6IGdyb3Vwa2V5LFxuICAgICAgICAgICAgZGF0YTogc29ydEJ5KGxpRGF0YSwgZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgZGF0YS5fZ3JvdXBJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0KGRhdGEsIGdyb3VwQnkpIHx8IGdldChkYXRhLmRhdGFPYmplY3QsIGdyb3VwQnkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9ncm91cGVkRGF0YTtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgZ2V0cyB0aGUgZ3JvdXBlZERhdGEgdXNpbmcgZ3JvdXBieSBwcm9wZXJ0eSBhbmQgbWF0Y2ggYW5kIHJldHVybnMgdGhlIHNvcnRlZCBhcnJheSBvZiBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSBjb21wUmVmIHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCdzIHJlZmVyZW5jZSBpLmUuIFwidGhpc1wiIHZhbHVlLlxuICogQHBhcmFtIGRhdGEgcmVwcmVzZW50cyB0aGUgZGF0YXNldCBpLmUgYXJyYXkgb2Ygb2JqZWN0cy5cbiAqIEBwYXJhbSBncm91cGJ5LCBzdHJpbmcgZ3JvdXBieSBwcm9wZXJ0eVxuICogQHBhcmFtIG1hdGNoLCBzdHJpbmcgbWF0Y2ggcHJvcGVydHlcbiAqIEBwYXJhbSBvcmRlcmJ5LCBzdHJpbmcgb3JkZXJieSBwcm9wZXJ0eVxuICogQHBhcmFtIGRhdGVmb3JtYXQsIHN0cmluZyBkYXRlRm9ybWF0IHByb3BlcnR5XG4gKiBAcGFyYW0gaW5uZXJJdGVtLCByZXByZXNlbnRzIHRoZSBpbm5lckl0ZW0gb24gd2hpY2ggZ3JvdXBieSBoYXMgdG8gYmUgYXBwbGllZC4gSW5jYXNlIG9mIGRhdGFzZXRJdGVtcywgJ2RhdGFPYmplY3QnIGNvbnRhaW5zIHRoZSBmdWxsIG9iamVjdC4gSGVyZSBpbm5lckl0ZW0gaXMgZGF0YU9iamVjdC5cbiAqIEByZXR1cm5zIHthbnlbXX0gZ3JvdXBlZERhdGEsIGFycmF5IG9mIG9iamVjdHMsIGVhY2ggb2JqZWN0IGhhdmluZyBrZXkgYW5kIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBncm91cERhdGEgPSAoY29tcFJlZjogYW55LCBkYXRhOiBBcnJheTxPYmplY3QgfCBEYXRhU2V0SXRlbT4sIGdyb3VwYnk6IHN0cmluZywgbWF0Y2g6IHN0cmluZywgb3JkZXJieTogc3RyaW5nLCBkYXRlZm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlOiBUb0RhdGVQaXBlLCBpbm5lckl0ZW0/OiBzdHJpbmcsIEFwcERlZmF1bHRzPzogYW55KSA9PiB7XG4gICAgbGV0IGdyb3VwZWRMaURhdGEgPSB7fTtcbiAgICBpZiAoaW5jbHVkZXMoZ3JvdXBieSwgJygnKSkge1xuICAgICAgICAvL1tUb2RvLUNTUF06IGNhbiBnZW5lcmF0ZSBleHByIGZuIGluIHBhZ2UgYmFzZWQgb24gZ3JvdXBieSBwcm9wZXJ0eSBvbiB3aWRnZXRcbiAgICAgICAgY29uc3QgZ3JvdXBEYXRhQnlVc2VyRGVmaW5lZEZuID0gJHBhcnNlRXZlbnQoZ3JvdXBieSk7XG4gICAgICAgIGdyb3VwZWRMaURhdGEgPSBncm91cEJ5KGRhdGEsIHZhbCA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICByZXR1cm4gZ3JvdXBEYXRhQnlVc2VyRGVmaW5lZEZuKGNvbXBSZWYudmlld1BhcmVudCwgeydyb3cnOiB2YWwuZGF0YU9iamVjdCB8fCB2YWx9KTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZ3JvdXBlZExpRGF0YSA9IGdldEdyb3VwZWREYXRhKGRhdGEsIGdyb3VwYnksIG1hdGNoLCBvcmRlcmJ5LCBkYXRlZm9ybWF0LCBkYXRlUGlwZSwgaW5uZXJJdGVtLCBBcHBEZWZhdWx0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldFNvcnRlZEdyb3VwZWREYXRhKGdyb3VwZWRMaURhdGEsIGdyb3VwYnksIG9yZGVyYnkpO1xufTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBwcmVwYXJlcyB0aGUgZ3JvdXBlZCBkYXRhLlxuICpcbiAqIEBwYXJhbSBmaWVsZERlZnMgYXJyYXkgb2Ygb2JqZWN0cyBpLmUuIGRhdGFzZXRcbiAqIEBwYXJhbSBncm91cGJ5IHN0cmluZyBncm91cGJ5XG4gKiBAcGFyYW0gbWF0Y2ggc3RyaW5nIG1hdGNoXG4gKiBAcGFyYW0gb3JkZXJieSBzdHJpbmcgb3JkZXJieVxuICogQHBhcmFtIGRhdGVGb3JtYXQgc3RyaW5nIGRhdGUgZm9ybWF0XG4gKiBAcGFyYW0gaW5uZXJJdGVtLCBpdGVtIHRvIGxvb2sgZm9yIGluIHRoZSBwYXNzZWQgZGF0YVxuICovXG5jb25zdCBnZXRHcm91cGVkRGF0YSA9IChmaWVsZERlZnM6IEFycmF5PE9iamVjdCB8IERhdGFTZXRJdGVtPiwgZ3JvdXBieTogc3RyaW5nLCBtYXRjaDogc3RyaW5nLCBvcmRlcmJ5OiBzdHJpbmcsIGRhdGVGb3JtYXQ6IHN0cmluZywgZGF0ZVBpcGU6IFRvRGF0ZVBpcGUsIGlubmVySXRlbT86IHN0cmluZywgQXBwRGVmYXVsdHM/OiBhbnkpID0+IHtcbiAgICAvLyBGb3IgZGF5LCBzZXQgdGhlIHJlbGV2YW50IG1vbWVudCBjYWxlbmRhciBvcHRpb25zXG4gICAgaWYgKG1hdGNoID09PSBUSU1FX1JPTExVUF9PUFRJT05TLkRBWSkge1xuICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyID0gbW9tZW50Q2FsZW5kYXJEYXlPcHRpb25zO1xuICAgIH1cblxuICAgIC8vIGhhbmRsaW5nIGNhc2UtaW4tc2Vuc2l0aXZlIHNjZW5hcmlvXG4gICAgLy8gb3JkZXJpbmcgdGhlIGRhdGEgYmFzZWQgb24gZ3JvdXBieSBmaWVsZC4gSWYgdGhlcmUgaXMgaW5uZXJJdGVtIHRoZW4gYXBwbHkgb3JkZXJieSB1c2luZyB0aGUgaW5uZXJJdGVtJ3MgY29udGFpbmluZyB0aGUgZ3JvdXBieSBmaWVsZC5cbiAgICBmaWVsZERlZnMgPSBfb3JkZXJCeShmaWVsZERlZnMsIGZpZWxkRGVmID0+IHtcbiAgICAgICAgY29uc3QgZ3JvdXBLZXkgPSBnZXQoaW5uZXJJdGVtID8gZmllbGREZWZbaW5uZXJJdGVtXSA6IGZpZWxkRGVmLCBncm91cGJ5KTtcbiAgICAgICAgaWYgKGdyb3VwS2V5KSB7XG4gICAgICAgICAgICByZXR1cm4gdG9Mb3dlcihncm91cEtleSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGV4dHJhY3QgdGhlIGdyb3VwZWQgZGF0YSBiYXNlZCBvbiB0aGUgZmllbGQgb2J0YWluZWQgZnJvbSAnZ3JvdXBEYXRhQnlGaWVsZCcuXG4gICAgY29uc3QgZ3JvdXBlZExpRGF0YSA9IGdyb3VwQnkoZmllbGREZWZzLCBncm91cERhdGFCeUZpZWxkLmJpbmQodW5kZWZpbmVkLCBncm91cGJ5LCBtYXRjaCwgaW5uZXJJdGVtLCBkYXRlRm9ybWF0LCBkYXRlUGlwZSwgQXBwRGVmYXVsdHMpKTtcblxuICAgIG1vbWVudExvY2FsZS5fY2FsZW5kYXIgPSBtb21lbnRDYWxlbmRhck9wdGlvbnM7IC8vIFJlc2V0IHRvIGRlZmF1bHQgbW9tZW50IGNhbGVuZGFyIG9wdGlvbnNcblxuICAgIHJldHVybiBncm91cGVkTGlEYXRhO1xufTtcblxuLy8gRm9ybWF0IHRoZSBkYXRlIHdpdGggZ2l2ZW4gZGF0ZSBmb3JtYXRcbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIGZvcm1hdDogc3RyaW5nLCBkZWZhdWx0Rm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlOiBUb0RhdGVQaXBlKSA9PiB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ3RpbWVzdGFtcCcpIHsgLy8gRm9yIHRpbWVzdGFtcCBmb3JtYXQsIHJldHVybiB0aGUgZXBvY2ggdmFsdWVcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKGRhdGVQaXBlLCB2YWx1ZSwgZm9ybWF0IHx8IGRlZmF1bHRGb3JtYXQpO1xufTtcblxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGdyb3Vwa2V5IGJhc2VkIG9uIHRoZSByb2xsdXAgKG1hdGNoKSBwYXNzZWRcbiAqXG4gKiBAcGFyYW0gY29uY2F0U3RyLCBzdHJpbmcgY29udGFpbmluZyBncm91cGJ5IGZpZWxkIHZhbHVlXG4gKiBAcGFyYW0gcm9sbFVwIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXRjaCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBkYXRlZm9ybWF0IHN0cmluZyBjb250YWluaW5nIHRoZSBkYXRlIGZvcm1hdCB0byBkaXNwbGF5IHRoZSBkYXRlLlxuICovXG5jb25zdCBnZXRUaW1lUm9sbGVkVXBTdHJpbmcgPSAoY29uY2F0U3RyOiBzdHJpbmcsIHJvbGxVcDogc3RyaW5nLCBkYXRlZm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlPzogVG9EYXRlUGlwZSwgQXBwRGVmYXVsdHM/OiBhbnkpID0+IHtcbiAgICBsZXQgZ3JvdXBCeUtleSxcbiAgICAgICAgc3RyTW9tZW50ICA9IG1vbWVudChjb25jYXRTdHIpLFxuICAgICAgICBkYXRlRm9ybWF0ID0gZGF0ZWZvcm1hdDtcblxuICAgIGNvbnN0IGN1cnJNb21lbnQgPSBtb21lbnQoKSxcbiAgICAgICAgZ2V0U2FtZUVsc2VGb3JtYXQgPSBmdW5jdGlvbiAoKSB7IC8vIFNldCB0aGUgc2FtZUVsc2Ugb3B0aW9uIG9mIG1vbWVudCBjYWxlbmRhciB0byB1c2VyIGRlZmluZWQgcGF0dGVyblxuICAgICAgICAgICAgcmV0dXJuICdbJyArIGZpbHRlckRhdGUodGhpcy52YWx1ZU9mKCksIGRhdGVGb3JtYXQsIFJPTExVUF9QQVRURVJOUy5EQVksIGRhdGVQaXBlKSArICddJztcbiAgICAgICAgfTtcblxuICAgIHN3aXRjaCAocm9sbFVwKSB7XG4gICAgICAgIGNhc2UgVElNRV9ST0xMVVBfT1BUSU9OUy5IT1VSOlxuICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQgfHwgQXBwRGVmYXVsdHMudGltZUZvcm1hdDtcblxuICAgICAgICAgICAgLy8gSWYgZGF0ZSBpcyBpbnZhbGlkLCBjaGVjayBpZiBkYXRhIGlzIGluIGZvcm0gb2YgaGg6bW0gYVxuICAgICAgICAgICAgaWYgKCFzdHJNb21lbnQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgc3RyTW9tZW50ID0gbW9tZW50KG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCkgKyAnICcgKyBjb25jYXRTdHIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0ck1vbWVudC5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQXMgb25seSB0aW1lIGlzIHByZXNlbnQsIHJvbGwgdXAgYXQgdGhlIGhvdXIgbGV2ZWwgd2l0aCBnaXZlbiB0aW1lIGZvcm1hdFxuICAgICAgICAgICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVEYXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ1snICsgZmlsdGVyRGF0ZSh0aGlzLnZhbHVlT2YoKSwgZGF0ZUZvcm1hdCwgUk9MTFVQX1BBVFRFUk5TLkhPVVIsIGRhdGVQaXBlKSArICddJztcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByb3VuZCBvZmYgdG8gbmVhcmVzdCBsYXN0IGhvdXJcbiAgICAgICAgICAgIHN0ck1vbWVudCA9IHN0ck1vbWVudC5zdGFydE9mKCdob3VyJyk7XG4gICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVFbHNlID0gZ2V0U2FtZUVsc2VGb3JtYXQ7XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gc3RyTW9tZW50LmNhbGVuZGFyKGN1cnJNb21lbnQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVElNRV9ST0xMVVBfT1BUSU9OUy5XRUVLOlxuICAgICAgICAgICAgZ3JvdXBCeUtleSA9IGZpbHRlckRhdGUoc3RyTW9tZW50LnZhbHVlT2YoKSwgZGF0ZUZvcm1hdCwgUk9MTFVQX1BBVFRFUk5TLldFRUssIGRhdGVQaXBlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuTU9OVEg6XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gZmlsdGVyRGF0ZShzdHJNb21lbnQudmFsdWVPZigpLCBkYXRlRm9ybWF0LCBST0xMVVBfUEFUVEVSTlMuTU9OVEgsIGRhdGVQaXBlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuWUVBUjpcbiAgICAgICAgICAgIGdyb3VwQnlLZXkgPSBzdHJNb21lbnQuZm9ybWF0KFJPTExVUF9QQVRURVJOUy5ZRUFSKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuREFZOlxuICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQgfHwgQXBwRGVmYXVsdHMuZGF0ZUZvcm1hdDtcbiAgICAgICAgICAgIHN0ck1vbWVudCA9IHN0ck1vbWVudC5zdGFydE9mKCdkYXknKTsgLy8gcm91bmQgb2ZmIHRvIGN1cnJlbnQgZGF5XG4gICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVFbHNlID0gZ2V0U2FtZUVsc2VGb3JtYXQ7XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gc3RyTW9tZW50LmNhbGVuZGFyKGN1cnJNb21lbnQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIElmIGludmFsaWQgZGF0ZSBpcyByZXR1cm5lZCwgQ2F0ZWdvcml6ZSBpdCBhcyBPdGhlcnMuXG4gICAgaWYgKGdyb3VwQnlLZXkgPT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICAgIHJldHVybiBHUk9VUF9CWV9PUFRJT05TLk9USEVSUztcbiAgICB9XG4gICAgcmV0dXJuIGdyb3VwQnlLZXk7XG59O1xuXG5cbi8vIGdyb3VwcyB0aGUgZmllbGRzIGJhc2VkIG9uIHRoZSBncm91cGJ5IHZhbHVlLlxuY29uc3QgZ3JvdXBEYXRhQnlGaWVsZCA9IChncm91cGJ5OiBzdHJpbmcsIG1hdGNoOiBzdHJpbmcsIGlubmVySXRlbTogc3RyaW5nLCBkYXRlRm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlOiBUb0RhdGVQaXBlLCBBcHBEZWZhdWx0czogYW55LCBsaURhdGE6IE9iamVjdCkgPT4ge1xuICAgIC8vIGdldCB0aGUgZ3JvdXBieSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBsaURhdGEgb3IgaW5uZXJJdGVtIGluIHRoZSBsaURhdGEuXG4gICAgbGV0IGNvbmNhdFN0ciA9IGdldChpbm5lckl0ZW0gPyBsaURhdGFbaW5uZXJJdGVtXSA6IGxpRGF0YSwgZ3JvdXBieSk7XG5cbiAgICAvLyBieSBkZWZhdWx0IHNldCB0aGUgdW5kZWZpbmVkIGdyb3VwS2V5IGFzICdvdGhlcnMnXG4gICAgaWYgKGlzVW5kZWZpbmVkKGNvbmNhdFN0cikgfHwgaXNOdWxsKGNvbmNhdFN0cikgfHwgY29uY2F0U3RyLnRvU3RyaW5nKCkudHJpbSgpID09PSAnJykge1xuICAgICAgICByZXR1cm4gR1JPVVBfQllfT1BUSU9OUy5PVEhFUlM7XG4gICAgfVxuXG4gICAgLy8gaWYgbWF0Y2ggcHJvcCBpcyBhbHBoYWJldGljICxnZXQgdGhlIHN0YXJ0aW5nIGFscGhhYmV0IG9mIHRoZSB3b3JkIGFzIGtleS5cbiAgICBpZiAobWF0Y2ggPT09IEdST1VQX0JZX09QVElPTlMuQUxQSEFCRVQpIHtcbiAgICAgICAgY29uY2F0U3RyID0gY29uY2F0U3RyLnN1YnN0cigwLCAxKTtcbiAgICB9XG5cbiAgICAvLyBpZiBtYXRjaCBjb250YWlucyB0aGUgdGltZSBvcHRpb25zIHRoZW4gZ2V0IHRoZSBjb25jYXRTdHIgdXNpbmcgJ2dldFRpbWVSb2xsZWRVcFN0cmluZydcbiAgICBpZiAoaW5jbHVkZXModmFsdWVzKFRJTUVfUk9MTFVQX09QVElPTlMpLCBtYXRjaCkpIHtcbiAgICAgICAgY29uY2F0U3RyID0gZ2V0VGltZVJvbGxlZFVwU3RyaW5nKGNvbmNhdFN0ciwgbWF0Y2gsIGRhdGVGb3JtYXQsIGRhdGVQaXBlLCBBcHBEZWZhdWx0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmNhdFN0cjtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgdG9nZ2xlcyBhbGwgdGhlIGxpc3QgaXRlbXMgaW5zaWRlIHRoZSBlYWNoIGxpc3QgZ3JvdXAuXG4gKiBAcGFyYW0gZWwsIGNvbXBvbmVudCByZWZlcmVuY2Ugb24gd2hpY2ggZ3JvdXBieSBpcyBhcHBsaWVkLlxuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlQWxsSGVhZGVycyA9IChlbDogYW55KSA9PiB7XG4gICAgY29uc3QgZ3JvdXBzID0gJChlbC5uYXRpdmVFbGVtZW50KS5maW5kKCcuaXRlbS1ncm91cCcpO1xuXG4gICAgZ3JvdXBzLmZpbmQoJy5ncm91cC1saXN0LWl0ZW0nKS50b2dnbGUoKTtcblxuICAgIC8vIHRvZ2dsZSB0aGUgY29sbGFwc2UgaWNvbiBvbiBsaXN0IGhlYWRlci5cbiAgICBjb25zdCBncm91cEljb25zID0gZ3JvdXBzLmZpbmQoJ2xpLmxpc3QtZ3JvdXAtaGVhZGVyIC5hcHAtaWNvbicpO1xuXG4gICAgaWYgKGdyb3VwSWNvbnMpIHtcbiAgICAgICAgZm9yRWFjaChncm91cEljb25zLCAoaWNvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgJGljb24gPSAkKGljb24pO1xuICAgICAgICAgICAgaWYgKCRpY29uLmhhc0NsYXNzKCd3aS1jaGV2cm9uLWRvd24nKSkge1xuICAgICAgICAgICAgICAgICRpY29uLnJlbW92ZUNsYXNzKCd3aS1jaGV2cm9uLWRvd24nKS5hZGRDbGFzcygnd2ktY2hldnJvbi11cCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaWNvbi5yZW1vdmVDbGFzcygnd2ktY2hldnJvbi11cCcpLmFkZENsYXNzKCd3aS1jaGV2cm9uLWRvd24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuLyoqXG4gKiBPbiBsaXN0IGhlYWRlciBjbGljaywgdG9nZ2xlIHRoZSBsaXN0IGl0ZW1zIGluIHRoaXMgZ3JvdXAuXG4gKiBhbmQgYWxzbyB0b2dnbGUgdGhlIGhlYWRlciBpY29uLlxuICogQHBhcmFtICRldmVudFxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlSGVhZGVyQ2xpY2sgPSAoJGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkR3JvdXAgICA9ICQoJGV2ZW50LnRhcmdldCBhcyBhbnkpLmNsb3Nlc3QoJy5pdGVtLWdyb3VwJyksXG4gICAgICAgIHNlbGVjdGVkQXBwSWNvbiA9IHNlbGVjdGVkR3JvdXAuZmluZCgnbGkubGlzdC1ncm91cC1oZWFkZXIgLmFwcC1pY29uJyk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBcHBJY29uLmhhc0NsYXNzKCd3aS1jaGV2cm9uLWRvd24nKSkge1xuICAgICAgICBzZWxlY3RlZEFwcEljb24ucmVtb3ZlQ2xhc3MoJ3dpLWNoZXZyb24tZG93bicpLmFkZENsYXNzKCd3aS1jaGV2cm9uLXVwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRBcHBJY29uLnJlbW92ZUNsYXNzKCd3aS1jaGV2cm9uLXVwJykuYWRkQ2xhc3MoJ3dpLWNoZXZyb24tZG93bicpO1xuICAgIH1cblxuICAgIHNlbGVjdGVkR3JvdXAuZmluZCgnLmdyb3VwLWxpc3QtaXRlbScpLnRvZ2dsZSgpO1xufTtcblxuLyoqXG4gKiBjb25maWd1cmVzIHJlb3JkZXJpbmcgdGhlIGl0ZW1zLlxuICogQHBhcmFtICRlbCBlbGVtZW50IHRvIGJlIHNvcnRhYmxlXG4gKiBAcGFyYW0gb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgc29ydGFibGUgb3B0aW9ucy5cbiAqIEBwYXJhbSBzdGFydENiIGNhbGxiYWNrIG9uIGRyYWcgc3RhcnQgb24gdGhlIGVsZW1lbnQuXG4gKiBAcGFyYW0gdXBkYXRlQ2IgY2FsbGJhY2sgdHJpZ2dlcnJlZCB3aGVuIHNvcnRpbmcgaXMgc3RvcHBlZCBhbmQgdGhlIERPTSBwb3NpdGlvbiBoYXMgY2hhbmdlZC5cbiAqIEBwYXJhbSBzb3J0Q2IgY2FsbGJhY2sgdHJpZ2dlcnJlZCBkdXJpbmcgdGhlIHNvcnRpbmcgb2YgYW4gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZURuRCA9ICgkZWw6IGFueSwgb3B0aW9uczogb2JqZWN0LCBzdGFydENiOiBGdW5jdGlvbiwgdXBkYXRlQ2I6IEZ1bmN0aW9uLCBzb3J0Q2I/OiBGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHNvcnRPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgIGNvbnRhaW5tZW50OiAkZWwsXG4gICAgICAgIGRlbGF5OiAxMDAsXG4gICAgICAgIG9wYWNpdHk6IDAuOCxcbiAgICAgICAgaGVscGVyOiAnY2xvbmUnLFxuICAgICAgICB6SW5kZXg6IDEwNTAsXG4gICAgICAgIHRvbGVyYW5jZTogJ3BvaW50ZXInLFxuICAgICAgICBzdGFydDogc3RhcnRDYixcbiAgICAgICAgdXBkYXRlOiB1cGRhdGVDYixcbiAgICAgICAgc29ydDogc29ydENiXG4gICAgfSwgb3B0aW9ucyk7XG5cbiAgICAkZWwuc29ydGFibGUoc29ydE9wdGlvbnMpO1xufTtcblxuLy8gVG9kbzogY29udmVydCB0byBDbGFzc1xuaW50ZXJmYWNlIERhdGFTZXRQcm9wcyB7XG4gICAgZGF0YWZpZWxkOiBzdHJpbmc7XG4gICAgZGlzcGxheWZpZWxkPzogc3RyaW5nO1xuICAgIGRpc3BsYXlleHByZXNzaW9uPzogc3RyaW5nO1xuICAgIHVzZWtleXM/OiBib29sZWFuO1xuICAgIG9yZGVyYnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICoga2V5IHJlcHJlc2VudHMgdGhlIGRhdGFmaWVsZCB2YWx1ZVxuICogbGFiZWwgcmVwcmVzZW50cyBkaXNwbGF5IHZhbHVlIG9yIGV4cHJlc3Npb24gdmFsdWVcbiAqIHZhbHVlIGRpc3BsYXlWYWx1ZSBmb3IgcHJpbWl0aXZlcyBhbmQgZGF0YSBvYmplY3QgZm9yIGFsbEZpZWxkc1xuICogZGF0YU9iamVjdCByZXByZXNlbnQgdGhlIG9iamVjdCBmcm9tIHRoZSBkYXRhc2V0IHdoZW4gZGF0YWZpZWxkIGlzIEFMTEZJRUxEUy4gVGhpcyBpcyB1c2VkIGFzIGlubmVySXRlbSB3aGlsZSBncm91cGluZyB0aGUgZGF0YXNldEl0ZW1zLlxuICogaW1nU3JjIHBpY3R1cmUgc291cmNlXG4gKiBzZWxlY3RlZCByZXByZXNlbnRzIGJvb2xlYW4gdG8gbm90aWZ5IHNlbGVjdGVkIGl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhU2V0SXRlbSB7XG4gICAga2V5OiBhbnk7XG4gICAgbGFiZWw6IGFueTtcbiAgICB2YWx1ZTogYW55O1xuICAgIGRhdGFPYmplY3Q/OiBPYmplY3Q7XG4gICAgaW5kZXg/OiBudW1iZXI7XG4gICAgaW1nU3JjPzogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
451
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvdXRpbHMvZm9ybS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFeEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQ0gsU0FBUyxFQUNULE1BQU0sRUFDTixPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLE1BQU0sRUFDTixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFBRSxJQUFJLEVBQ2pCLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxFQUMzQixLQUFLLEVBQUUsT0FBTyxFQUNkLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFDakMsTUFBTSxXQUFXLENBQUM7QUFHbkIsT0FBTyxLQUFLLFNBQVMsTUFBTyxRQUFRLENBQUM7QUFDckMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDckQsTUFBTSxZQUFZLEdBQVEsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzlDLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN0RSxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FBQyxZQUFZLElBQUk7SUFDdEQsT0FBTyxFQUFFLGFBQWE7SUFDdEIsUUFBUSxFQUFFLGFBQWE7SUFDdkIsT0FBTyxFQUFFLFlB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LEtBQUssRUFBRSxHQUFHO1FBQ1YsT0FBTyxFQUFFLEdBQUc7UUFDWixNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLFNBQVM7UUFDcEIsS0FBSyxFQUFFLE9BQU87UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNmLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFWixHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQVdGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sV0FBVztDQVF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICRwYXJzZUV2ZW50LCBnZXRDbG9uZWRPYmplY3QsIGdldEZvcm1hdHRlZERhdGUsIGlzRGVmaW5lZCwgaXNFcXVhbFdpdGhGaWVsZHMgfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IGdldEV2YWx1YXRlZERhdGEsIGdldE9ialZhbHVlQnlLZXkgfSBmcm9tICcuL3dpZGdldC11dGlscyc7XG5cbmltcG9ydCB7IEFMTEZJRUxEUyB9IGZyb20gJy4vZGF0YS11dGlscyc7XG5pbXBvcnQgeyBUb0RhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY3VzdG9tLXBpcGVzJztcbmltcG9ydCB7XG4gICAgY2xvbmVEZWVwLFxuICAgIGZpbHRlcixcbiAgICBmb3JFYWNoLCBnZXQsIGdyb3VwQnksIGluY2x1ZGVzLFxuICAgIGlzQXJyYXksIGlzRXF1YWwsXG4gICAgaXNOdWxsLFxuICAgIGlzT2JqZWN0LFxuICAgIGlzU3RyaW5nLFxuICAgIGlzVW5kZWZpbmVkLCBrZXlzLFxuICAgIG9yZGVyQnkgYXMgX29yZGVyQnksIHNvcnRCeSxcbiAgICBzcGxpdCwgdG9Mb3dlcixcbiAgICB0cmltLCB1bmlxQnksIHVuaXFXaXRoLCB2YWx1ZXNcbn0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5kZWNsYXJlIGNvbnN0ICQ7XG5pbXBvcnQgKiBhcyBtb21lbnRMaWIgIGZyb20gJ21vbWVudCc7XG5jb25zdCBtb21lbnQgPSBtb21lbnRMaWIuZGVmYXVsdCB8fCB3aW5kb3dbJ21vbWVudCddO1xuY29uc3QgbW9tZW50TG9jYWxlOiBhbnkgPSBtb21lbnQubG9jYWxlRGF0YSgpO1xuY29uc3QgbW9tZW50Q2FsZW5kYXJPcHRpb25zID0gZ2V0Q2xvbmVkT2JqZWN0KG1vbWVudExvY2FsZS5fY2FsZW5kYXIpO1xuY29uc3QgbW9tZW50Q2FsZW5kYXJEYXlPcHRpb25zID0gbW9tZW50TG9jYWxlLl9jYWxlbmRhckRheSB8fCB7XG4gICAgICAgIGxhc3REYXk6ICdbWWVzdGVyZGF5XScsXG4gICAgICAgIGxhc3RXZWVrOiAnW0xhc3RdIGRkZGQnLFxuICAgICAgICBuZXh0RGF5OiAnW1RvbW9ycm93XScsXG4gICAgICAgIG5leHRXZWVrOiAnZGRkZCcsXG4gICAgICAgIHNhbWVEYXk6ICdbVG9kYXldJyxcbiAgICAgICAgc2FtZUVsc2U6ICdMJ1xuICAgIH07XG5jb25zdCBHUk9VUF9CWV9PUFRJT05TID0ge1xuICAgICAgICBBTFBIQUJFVDogJ2FscGhhYmV0JyxcbiAgICAgICAgV09SRDogJ3dvcmQnLFxuICAgICAgICBPVEhFUlM6ICdPdGhlcnMnXG4gICAgfTtcbmNvbnN0IFRJTUVfUk9MTFVQX09QVElPTlMgPSB7XG4gICAgICAgIEhPVVI6ICdob3VyJyxcbiAgICAgICAgREFZOiAnZGF5JyxcbiAgICAgICAgV0VFSzogJ3dlZWsnLFxuICAgICAgICBNT05USDogJ21vbnRoJyxcbiAgICAgICAgWUVBUjogJ3llYXInXG4gICAgfTtcbmNvbnN0IFJPTExVUF9QQVRURVJOUyA9IHtcbiAgICAgICAgREFZOiAneXl5eS1NTS1kZCcsXG4gICAgICAgIFdFRUs6ICd3IFxcJ1dlZWtcXCcsICB5eXl5JyxcbiAgICAgICAgTU9OVEg6ICdNTU0sIHl5eXknLFxuICAgICAgICBZRUFSOiAnWVlZWScsXG4gICAgICAgIEhPVVI6ICdoaDptbSBhJ1xuICAgIH07XG5cbi8qKlxuICogZnVuY3Rpb24gdG8gZ2V0IHRoZSBvcmRlcmVkIGRhdGFzZXQgYmFzZWQgb24gdGhlIGdpdmVuIG9yZGVyYnlcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE9yZGVyZWREYXRhc2V0ID0gKGRhdGFTZXQ6IGFueSwgb3JkZXJCeTogc3RyaW5nLCBpbm5lckl0ZW0/KSA9PiB7XG4gICAgaWYgKCFvcmRlckJ5KSB7XG4gICAgICAgIHJldHVybiBjbG9uZURlZXAoZGF0YVNldCk7XG4gICAgfVxuXG4gICAgLy8gVGhlIG9yZGVyIGJ5IG9ubHkgd29ya3Mgd2hlbiB0aGUgZGF0YXNldCBjb250YWlucyBsaXN0IG9mIG9iamVjdHMuXG4gICAgY29uc3QgaXRlbXMgPSBvcmRlckJ5LnNwbGl0KCcsJyksXG4gICAgICAgIGZpZWxkcyA9IFtdLFxuICAgICAgICBkaXJlY3Rpb25zID0gW107XG4gICAgaXRlbXMuZm9yRWFjaChvYmogPT4ge1xuICAgICAgICBjb25zdCBpdGVtID0gb2JqLnNwbGl0KCc6Jyk7XG4gICAgICAgIGZpZWxkcy5wdXNoKGlubmVySXRlbSA/IGlubmVySXRlbSArICcuJyArIGl0ZW1bMF0gOiBpdGVtWzBdKTtcbiAgICAgICAgZGlyZWN0aW9ucy5wdXNoKGl0ZW1bMV0pO1xuICAgIH0pO1xuICAgIHJldHVybiBfb3JkZXJCeShkYXRhU2V0LCBmaWVsZHMsIGRpcmVjdGlvbnMpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5IG9mIG9iamVjdCwgZWFjaCBvYmplY3QgY29udGFpbiB0aGUgRGF0YVNldEl0ZW0gd2hvc2Uga2V5LCB2YWx1ZSwgbGFiZWwgYXJlIGV4dHJhY3RlZCBmcm9tIG9iamVjdCBrZXlzLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtRGF0YVdpdGhLZXlzID0gKGRhdGFTZXQ6IGFueSkgPT4ge1xuICAgIGNvbnN0IGRhdGE6IERhdGFTZXRJdGVtW10gPSBbXTtcbiAgICAvLyBpZiB0aGUgZGF0YXNldCBpcyBpbnN0YW5jZSBvZiBvYmplY3QgKG5vdCBhbiBhcnJheSkgb3IgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGRhdGFzZXQgYXJyYXkgaXMgYW4gb2JqZWN0LFxuICAgIC8vIHRoZW4gd2UgZXh0cmFjdCB0aGUga2V5cyBmcm9tIHRoZSBvYmplY3QgYW5kIHByZXBhcmUgdGhlIGRhdGFzZXQgaXRlbXMuXG4gICAgaWYgKGlzT2JqZWN0KGRhdGFTZXRbMF0pIHx8IChpc09iamVjdChkYXRhU2V0KSAmJiAhKGRhdGFTZXQgaW5zdGFuY2VvZiBBcnJheSkpKSB7XG4gICAgICAgIC8vIGdldHRpbmcga2V5cyBvZiB0aGUgb2JqZWN0XG4gICAgICAgIGNvbnN0IG9iamVjdEtleXMgPSBPYmplY3Qua2V5cyhkYXRhU2V0WzBdIHx8IGRhdGFTZXQpO1xuICAgICAgICBmb3JFYWNoKG9iamVjdEtleXMsIChvYmpLZXksIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBkYXRhLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleTogb2JqS2V5LFxuICAgICAgICAgICAgICAgIGxhYmVsOiBvYmpLZXksXG4gICAgICAgICAgICAgICAgdmFsdWU6IG9iaktleSxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXggKyAxXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGE7XG59O1xuXG4vLyBDb252ZXJ0cyBhbnkgdHlwZSBvZiBkYXRhIHRvIGFycmF5LlxuZXhwb3J0IGNvbnN0IGV4dHJhY3REYXRhQXNBcnJheSA9IGRhdGEgPT4ge1xuXG4gICAgaWYgKGlzVW5kZWZpbmVkKGRhdGEpIHx8IGlzTnVsbChkYXRhKSB8fCB0cmltKGRhdGEpID09PSAnJykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKGlzU3RyaW5nKGRhdGEpKSB7XG4gICAgICAgIGRhdGEgPSBzcGxpdChkYXRhLCAnLCcpLm1hcChzdHIgPT4gc3RyLnRyaW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKCFpc0FycmF5KGRhdGEpKSB7XG4gICAgICAgIGRhdGEgPSBbZGF0YV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGE7XG59O1xuXG4vLyBUaGlzIGZ1bmN0aW9uIHJldHVybiBhbHdheXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgZGF0YXNldCBkZXRhaWxzLlxuZXhwb3J0IGNvbnN0IGNvbnZlcnREYXRhVG9PYmplY3QgPSBkYXRhUmVzdWx0ID0+IHtcbiAgICBpZiAoaXNTdHJpbmcoZGF0YVJlc3VsdCkpIHtcbiAgICAgICAgZGF0YVJlc3VsdCA9IHNwbGl0KGRhdGFSZXN1bHQsICcsJykubWFwKHN0ciA9PiBzdHIudHJpbSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YVJlc3VsdDtcbn07XG5cbi8vIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBjaGVjayB0aGUgc2VhcmNoIHR5cGUgd2lkZ2V0XG5jb25zdCBpc1NlYWNoV2lkZ2V0ID0gKHdpZGdldFR5cGUpID0+IHtcbiAgICByZXR1cm4gd2lkZ2V0VHlwZSA9PT0gJ3dtLXNlYXJjaCc7XG59O1xuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc2V0IHRoZSBncm91cGJ5IGZpZWxkIGZvciBzZWFyY2gvYXV0b2NvbXBsZXRlXG5jb25zdCBzZXRHcm91cGJ5S2V5ID0gKHNjb3BlLCBjb250ZXh0LCBkYXRhU2V0SXRlbSwgaW5uZXJJdGVtKSA9PiB7XG4gICAgaWYgKHNjb3BlICYmIGlzU2VhY2hXaWRnZXQoc2NvcGUud2lkZ2V0VHlwZSkpIHtcbiAgICAgICAgaWYgKHNjb3BlLmdyb3VwYnkpIHtcbiAgICAgICAgICAgIGlmIChpbmNsdWRlcyhzY29wZS5ncm91cGJ5LCAnKCcpKSB7XG4gICAgICAgICAgICAgICAgLy9bVG9kby1DU1BdOiBjYW4gZ2VuZXJhdGUgZXhwciBmbiBpbiBwYWdlIGJhc2VkIG9uIGdyb3VwYnkgcHJvcGVydHkgb24gd2lkZ2V0XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBEYXRhQnlVc2VyRGVmaW5lZEZuID0gJHBhcnNlRXZlbnQoc2NvcGUuZ3JvdXBieSk7XG4gICAgICAgICAgICAgICAgKGRhdGFTZXRJdGVtIGFzIGFueSkuZ3JvdXBieSA9IGdyb3VwRGF0YUJ5VXNlckRlZmluZWRGbihjb250ZXh0LCB7J3Jvdyc6IGRhdGFTZXRJdGVtLmRhdGFPYmplY3QgfHwgZGF0YVNldEl0ZW19KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgKGRhdGFTZXRJdGVtIGFzIGFueSkuZ3JvdXBieSA9IGdyb3VwRGF0YUJ5RmllbGQoc2NvcGUuZ3JvdXBieSwgc2NvcGUubWF0Y2gsIGlubmVySXRlbSwgc2NvcGUuZGF0ZWZvcm1hdCwgc2NvcGUuZGF0ZVBpcGUsIHNjb3BlLmFwcERlZmF1bHRzLCBkYXRhU2V0SXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAoZGF0YVNldEl0ZW0gYXMgYW55KS5ncm91cGJ5ID0gICcnO1xuICAgICAgICB9XG4gICAgfVxufTtcblxuLyoqXG4gKiBUaGUgZmlyc3Qgc3RlcCBpbiBkYXRhc2V0SXRlbXMgY3JlYXRpb24gaXMgZGF0YSB0cmFuc2Zvcm1hdGlvbjpcbiAqXG4gKiBUaGUgZGF0YXNldCBjYW4gY29udGFpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3JtYXRzIGFuZCBlYWNoIG9mIHRoZW0gdG8gYmUgY29udmVydGVkIHRvIHRoZSBnaXZlbiBmb3JtYXQ7XG4gKlxuICogMSkgVGhlIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcuLmVnOiBBLEIsQyA9PiBbeyBrZXk6ICdBJywgdmFsdWU6ICdBJ30sIHsga2V5OiAnQicsIHZhbHVlOiAnQid9LCB7IGtleTogJ0MnLCB2YWx1ZTogJ0MnfV1cbiAqIDIpIFRoZSBhcnJheSBvZiB2YWx1ZXMgZWc6IFsxLDIsM10gPT4gW3sga2V5OiAxLCB2YWx1ZTogMX0sIHsga2V5OiAyLCB2YWx1ZTogMn0sIHsga2V5OiAzLCB2YWx1ZTogM31dXG4gKiAzKSBhbiBvYmplY3QgZWc6IHtuYW1lOiAnQScsIGFnZTogMjB9ID0+IFsge2tleTogJ25hbWUnLCB2YWx1ZTogJ0EnfSwge2tleTogJ2FnZScsIHZhbHVlOiAyMH1dXG4gKiA0KSBhbiBhcnJheSBvZiBvYmplY3RzLi4uZWc6IFsge25hbWU6ICdBJywgYWdlOiAyMH0sIHtuYW1lOiAnQicsIGFnZTogMjB9XSA9PT4gcmV0dXJucyBbe2tleTogX0RBVEFGSUVMRF8sIHZhbHVlOiBfRElTUExBWUZJRUxELCBsYWJlbDogX0RJU1BMQVlWQUxVRX1dXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1Gb3JtRGF0YSA9IChjb250ZXh0OiBhbnksIGRhdGFTZXQ6IGFueSwgbXlEYXRhRmllbGQ/OiBzdHJpbmcsIGRpc3BsYXlPcHRpb25zPywgc3RhcnRJbmRleD86IG51bWJlciwgc2NvcGU/OiBhbnkpOiBBcnJheTxEYXRhU2V0SXRlbT4gPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICBpZiAoIWRhdGFTZXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkYXRhU2V0ID0gY29udmVydERhdGFUb09iamVjdChkYXRhU2V0KTtcblxuICAgIC8vIHN0YXJ0SW5kZXggaXMgdGhlIGluZGV4IG9mIHRoZSBuZXh0IG5ldyBpdGVtLlxuICAgIGlmIChpc1VuZGVmaW5lZChzdGFydEluZGV4KSkge1xuICAgICAgICBzdGFydEluZGV4ID0gMTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdHJpbmcoZGF0YVNldCkpIHtcbiAgICAgICAgZGF0YVNldCA9IGRhdGFTZXQuc3BsaXQoJywnKS5tYXAoc3RyID0+IHN0ci50cmltKCkpO1xuICAgICAgICBkYXRhU2V0LmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXRJdGVtID0ge2tleTogb3B0aW9uLCB2YWx1ZTogb3B0aW9uLCBsYWJlbDogKGlzRGVmaW5lZChvcHRpb24pICYmIG9wdGlvbiAhPT0gbnVsbCkgPyBvcHRpb24udG9TdHJpbmcoKSA6ICcnLCBpbmRleDogc3RhcnRJbmRleCArIGluZGV4fTtcbiAgICAgICAgICAgIHNldEdyb3VwYnlLZXkoc2NvcGUsIGNvbnRleHQsIGRhdGFTZXRJdGVtLCAndmFsdWUnKTtcbiAgICAgICAgICAgIGRhdGEucHVzaChkYXRhU2V0SXRlbSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShkYXRhU2V0KSAmJiAhaXNPYmplY3QoZGF0YVNldFswXSkpIHsgLy8gYXJyYXkgb2YgcHJpbWl0aXZlIHZhbHVlcyBvbmx5XG4gICAgICAgIGRhdGFTZXQuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YVNldEl0ZW0gPSB7a2V5OiBvcHRpb24sIHZhbHVlOiBvcHRpb24sIGxhYmVsOiAoaXNEZWZpbmVkKG9wdGlvbikgJiYgb3B0aW9uICE9PSBudWxsKSA/IG9wdGlvbi50b1N0cmluZygpIDogJycsIGluZGV4OiBzdGFydEluZGV4ICsgaW5kZXh9O1xuICAgICAgICAgICAgc2V0R3JvdXBieUtleShzY29wZSwgY29udGV4dCwgZGF0YVNldEl0ZW0sICd2YWx1ZScpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKGRhdGFTZXRJdGVtKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICghKGRhdGFTZXQgaW5zdGFuY2VvZiBBcnJheSkgJiYgaXNPYmplY3QoZGF0YVNldCkpIHtcbiAgICAgICAgY29uc3QgaSA9IDA7XG4gICAgICAgIGZvckVhY2goZGF0YVNldCwgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTZXRJdGVtID0ge2tleTogdHJpbShrZXkpLCB2YWx1ZToga2V5LCBsYWJlbDogKGlzRGVmaW5lZCh2YWx1ZSkgJiYgdmFsdWUgIT09IG51bGwpID8gdmFsdWUudG9TdHJpbmcoKSA6ICcnLFxuICAgICAgICAgICAgICAgIGluZGV4OiBzdGFydEluZGV4LFxuICAgICAgICAgICAgICAgIGRhdGFPYmplY3Q6IGRhdGFTZXRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzZXRHcm91cGJ5S2V5KHNjb3BlLCBjb250ZXh0LCBkYXRhU2V0SXRlbSwgJ3ZhbHVlJyk7XG4gICAgICAgICAgICBkYXRhLnB1c2goZGF0YVNldEl0ZW0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIW15RGF0YUZpZWxkKSB7IC8vIGNvbnNpZGVyIHRoZSBkYXRhZmllbGQgYXMgJ0FMTEZJRUxEUycgd2hlbiBkYXRhZmllbGQgaXMgbm90IGdpdmVuLlxuICAgICAgICAgICAgbXlEYXRhRmllbGQgPSBBTExGSUVMRFM7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YVNldC5mb3JFYWNoKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBteURhdGFGaWVsZCA9PT0gQUxMRklFTERTID8gc3RhcnRJbmRleCArIGluZGV4IDogZ2V0T2JqVmFsdWVCeUtleShvcHRpb24sIG15RGF0YUZpZWxkKTtcbiAgICAgICAgICAgIC8vIE9taXQgYWxsIHRoZSBpdGVtcyB3aG9zZSBkYXRhZmllbGQgKGtleSkgaXMgbnVsbCBvciB1bmRlZmluZWQuXG4gICAgICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKGtleSkgJiYgIWlzTnVsbChrZXkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRFdmFsdWF0ZWREYXRhKG9wdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogZGlzcGxheU9wdGlvbnMuZGlzcGxheUZpZWxkLFxuICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBkaXNwbGF5T3B0aW9ucy5kaXNwbGF5RXhwcixcbiAgICAgICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IGRpc3BsYXlPcHRpb25zLmJpbmREaXNwbGF5RXhwclxuICAgICAgICAgICAgICAgIH0sIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFTZXRJdGVtID0ge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IChpc0RlZmluZWQobGFiZWwpICYmIGxhYmVsICE9PSBudWxsKSA/IGxhYmVsLnRvU3RyaW5nKCkgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG15RGF0YUZpZWxkID09PSBBTExGSUVMRFMgPyBvcHRpb24gOiBrZXksXG4gICAgICAgICAgICAgICAgICAgIGRhdGFPYmplY3Q6IG9wdGlvbiwgLy8gcmVwcmVzZW50cyB0aGUgb2JqZWN0IHdoZW4gZGF0YWZpZWxkIGlzIEFMTEZJRUxEUy4gVGhpcyBpcyB1c2VkIGFzIGlubmVySXRlbSB3aGlsZSBncm91cGluZyB0aGUgZGF0YXNldEl0ZW1zLlxuICAgICAgICAgICAgICAgICAgICBpbmRleDogc3RhcnRJbmRleCArIGluZGV4XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoZGlzcGxheU9wdGlvbnMuZGlzcGxheUltZ1NyYyB8fCBkaXNwbGF5T3B0aW9ucy5iaW5kRGlzcGxheUltZ1NyYykge1xuICAgICAgICAgICAgICAgICAgICAoZGF0YVNldEl0ZW0gYXMgYW55KS5pbWdTcmMgPSBnZXRFdmFsdWF0ZWREYXRhKG9wdGlvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogZGlzcGxheU9wdGlvbnMuZGlzcGxheUltZ1NyYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRFeHByZXNzaW9uOiBkaXNwbGF5T3B0aW9ucy5iaW5kRGlzcGxheUltZ1NyY1xuICAgICAgICAgICAgICAgICAgICB9LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0R3JvdXBieUtleShzY29wZSwgY29udGV4dCwgZGF0YVNldEl0ZW0sICdkYXRhT2JqZWN0Jyk7XG5cbiAgICAgICAgICAgICAgICBkYXRhLnB1c2goZGF0YVNldEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59O1xuXG4vKipcbiAqIFByaXZhdGUgbWV0aG9kIHRvIGdldCB0aGUgdW5pcXVlIG9iamVjdHMgYnkgdGhlIGRhdGEgZmllbGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVuaXFPYmpzQnlEYXRhRmllbGQgPSAoZGF0YTogQXJyYXk8RGF0YVNldEl0ZW0+LCBkYXRhRmllbGQ6IHN0cmluZywgZGlzcGxheUZpZWxkOiBzdHJpbmcsIGFsbG93RW1wdHlGaWVsZHM/OiBib29sZWFuKSA9PiB7XG4gICAgbGV0IHVuaXFEYXRhO1xuICAgIGNvbnN0IGlzQWxsRmllbGRzID0gZGF0YUZpZWxkID09PSBBTExGSUVMRFM7XG5cbiAgICB1bmlxRGF0YSA9IGlzQWxsRmllbGRzID8gdW5pcVdpdGgoZGF0YSwgaXNFcXVhbCkgOiB1bmlxQnkoZGF0YSwgJ2tleScpO1xuXG4gICAgaWYgKCFkaXNwbGF5RmllbGQgfHwgYWxsb3dFbXB0eUZpZWxkcykge1xuICAgICAgICByZXR1cm4gdW5pcURhdGE7XG4gICAgfVxuXG4gICAgLy8gcmV0dXJuIG9iamVjdHMgaGF2aW5nIG5vbiBlbXB0eSBkYXRhZmllbGQgYW5kIGRpc3BsYXkgZmllbGQgdmFsdWVzLlxuICAgIHJldHVybiBmaWx0ZXIodW5pcURhdGEsIChvYmopID0+IHtcbiAgICAgICAgaWYgKGlzQWxsRmllbGRzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJpbShvYmoubGFiZWwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmltKG9iai5rZXkpICYmIHRyaW0ob2JqLmxhYmVsKTtcbiAgICB9KTtcbn07XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBzZWxlY3RlZEl0ZW0gYnkgY29tcGFyaW5nIHRoZSBmaWVsZCB2YWx1ZXMsIHdoZXJlIGZpZWxkcyBhcmUgcGFzc2VkIGJ5IFwiY29tcGFyZWJ5XCIgcHJvcGVydHkuXG4gKiB3b3JrcyBvbmx5IGZvciBkYXRhZmllbGQgd2l0aCBBTExfRklFTERTXG4gKiBAcGFyYW0gZGF0YXNldEl0ZW1zIGxpc3Qgb2YgZGF0YXNldCBpdGVtcy5cbiAqIEBwYXJhbSBjb21wYXJlV2l0aERhdGFPYmogcmVwcmVzZW50cyB0aGUgZGF0YXZhbHVlIChvYmplY3QpIHdob3NlIHByb3BlcnRpZXMgYXJlIHRvIGJlIGNoZWNrZWQgYWdhaW5zdCBlYWNoIHByb3BlcnR5IG9mIGRhdGFzZXRJdGVtLlxuICogQHBhcmFtIGNvbXBhcmVCeUZpZWxkIHNwZWNpZmllcyB0aGUgcHJvcGVydHkgbmFtZXMgb24gd2hpY2ggZGF0YXNldEl0ZW0gaGFzIHRvIGJlIGNvbXBhcmVkIGFnYWluc3QgZGF0YXZhbHVlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldEl0ZW1CeUNvbXBhcmUgPSAoZGF0YXNldEl0ZW1zOiBBcnJheTxEYXRhU2V0SXRlbT4sIGNvbXBhcmVXaXRoRGF0YU9iajogT2JqZWN0LCBjb21wYXJlQnlGaWVsZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gY29tcGFyZSB0aGUgZmllbGRzIGJhc2VkIG9uIGZpZWxkcyBnaXZlbiB0byBjb21wYXJlYnkgcHJvcGVydHkuXG4gICAgZm9yRWFjaChkYXRhc2V0SXRlbXMsIG9wdCA9PiB7XG4gICAgICAgIGlmIChpc0VxdWFsV2l0aEZpZWxkcyhvcHQudmFsdWUsIGNvbXBhcmVXaXRoRGF0YU9iaiwgY29tcGFyZUJ5RmllbGQpKSB7XG4gICAgICAgICAgICBvcHQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgc29ydGVkIGRhdGEgYmFzZWQgdG8gZ3JvdXBrZXkuXG4gKiBSZXR1cm5zIGEgYXJyYXkgb2Ygb2JqZWN0cywgZWFjaCBvYmplY3QgY29udGFpbmluZyBrZXkgd2hpY2ggaXMgZ3JvdXBLZXkgYW5kIGRhdGEgaXMgdGhlIHNvcnRlZCBkYXRhIHdoaWNoIGlzIHNvcnRlZCBieSBncm91cGJ5IGZpZWxkIGluIHRoZSBkYXRhLlxuICpcbiAqIEBwYXJhbSBncm91cGVkTGlEYXRhLCBncm91cGVkIGRhdGEgb2JqZWN0IHdpdGgga2V5IGFzIHRoZSBncm91cEtleSBhbmQgaXRzIHZhbHVlIGFzIHRoZSBhcnJheSBvZiBvYmplY3RzIGdyb3VwZWQgdW5kZXIgdGhlIGdyb3VwS2V5LlxuICogQHBhcmFtIGdyb3VwQnksIHN0cmluZyBncm91cGJ5IHByb3BlcnR5XG4gKiBAcmV0dXJucyB7YW55W119XG4gKi9cbmNvbnN0IGdldFNvcnRlZEdyb3VwZWREYXRhID0gKGdyb3VwZWRMaURhdGE6IE9iamVjdCwgZ3JvdXBCeTogc3RyaW5nLCBvcmRlcmJ5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBfZ3JvdXBlZERhdGEgPSBbXTtcbiAgICBmb3JFYWNoKGtleXMoZ3JvdXBlZExpRGF0YSksIChncm91cGtleSwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgbGlEYXRhID0gZ2V0T3JkZXJlZERhdGFzZXQoZ3JvdXBlZExpRGF0YVtncm91cGtleV0sIG9yZGVyYnksICdkYXRhT2JqZWN0Jyk7XG4gICAgICAgIF9ncm91cGVkRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGtleTogZ3JvdXBrZXksXG4gICAgICAgICAgICBkYXRhOiBzb3J0QnkobGlEYXRhLCBkYXRhID0+IHtcbiAgICAgICAgICAgICAgICBkYXRhLl9ncm91cEluZGV4ID0gaW5kZXggKyAxO1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXQoZGF0YSwgZ3JvdXBCeSkgfHwgZ2V0KGRhdGEuZGF0YU9iamVjdCwgZ3JvdXBCeSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gX2dyb3VwZWREYXRhO1xufTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBnZXRzIHRoZSBncm91cGVkRGF0YSB1c2luZyBncm91cGJ5IHByb3BlcnR5IGFuZCBtYXRjaCBhbmQgcmV0dXJucyB0aGUgc29ydGVkIGFycmF5IG9mIG9iamVjdHMuXG4gKlxuICogQHBhcmFtIGNvbXBSZWYgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50J3MgcmVmZXJlbmNlIGkuZS4gXCJ0aGlzXCIgdmFsdWUuXG4gKiBAcGFyYW0gZGF0YSByZXByZXNlbnRzIHRoZSBkYXRhc2V0IGkuZSBhcnJheSBvZiBvYmplY3RzLlxuICogQHBhcmFtIGdyb3VwYnksIHN0cmluZyBncm91cGJ5IHByb3BlcnR5XG4gKiBAcGFyYW0gbWF0Y2gsIHN0cmluZyBtYXRjaCBwcm9wZXJ0eVxuICogQHBhcmFtIG9yZGVyYnksIHN0cmluZyBvcmRlcmJ5IHByb3BlcnR5XG4gKiBAcGFyYW0gZGF0ZWZvcm1hdCwgc3RyaW5nIGRhdGVGb3JtYXQgcHJvcGVydHlcbiAqIEBwYXJhbSBpbm5lckl0ZW0sIHJlcHJlc2VudHMgdGhlIGlubmVySXRlbSBvbiB3aGljaCBncm91cGJ5IGhhcyB0byBiZSBhcHBsaWVkLiBJbmNhc2Ugb2YgZGF0YXNldEl0ZW1zLCAnZGF0YU9iamVjdCcgY29udGFpbnMgdGhlIGZ1bGwgb2JqZWN0LiBIZXJlIGlubmVySXRlbSBpcyBkYXRhT2JqZWN0LlxuICogQHJldHVybnMge2FueVtdfSBncm91cGVkRGF0YSwgYXJyYXkgb2Ygb2JqZWN0cywgZWFjaCBvYmplY3QgaGF2aW5nIGtleSBhbmQgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdyb3VwRGF0YSA9IChjb21wUmVmOiBhbnksIGRhdGE6IEFycmF5PE9iamVjdCB8IERhdGFTZXRJdGVtPiwgZ3JvdXBieTogc3RyaW5nLCBtYXRjaDogc3RyaW5nLCBvcmRlcmJ5OiBzdHJpbmcsIGRhdGVmb3JtYXQ6IHN0cmluZywgZGF0ZVBpcGU6IFRvRGF0ZVBpcGUsIGlubmVySXRlbT86IHN0cmluZywgQXBwRGVmYXVsdHM/OiBhbnkpID0+IHtcbiAgICBsZXQgZ3JvdXBlZExpRGF0YSA9IHt9O1xuICAgIGlmIChpbmNsdWRlcyhncm91cGJ5LCAnKCcpKSB7XG4gICAgICAgIC8vW1RvZG8tQ1NQXTogY2FuIGdlbmVyYXRlIGV4cHIgZm4gaW4gcGFnZSBiYXNlZCBvbiBncm91cGJ5IHByb3BlcnR5IG9uIHdpZGdldFxuICAgICAgICBjb25zdCBncm91cERhdGFCeVVzZXJEZWZpbmVkRm4gPSAkcGFyc2VFdmVudChncm91cGJ5KTtcbiAgICAgICAgZ3JvdXBlZExpRGF0YSA9IGdyb3VwQnkoZGF0YSwgdmFsID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHJldHVybiBncm91cERhdGFCeVVzZXJEZWZpbmVkRm4oY29tcFJlZi52aWV3UGFyZW50LCB7J3Jvdyc6IHZhbC5kYXRhT2JqZWN0IHx8IHZhbH0pO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBncm91cGVkTGlEYXRhID0gZ2V0R3JvdXBlZERhdGEoZGF0YSwgZ3JvdXBieSwgbWF0Y2gsIG9yZGVyYnksIGRhdGVmb3JtYXQsIGRhdGVQaXBlLCBpbm5lckl0ZW0sIEFwcERlZmF1bHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0U29ydGVkR3JvdXBlZERhdGEoZ3JvdXBlZExpRGF0YSwgZ3JvdXBieSwgb3JkZXJieSk7XG59O1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHByZXBhcmVzIHRoZSBncm91cGVkIGRhdGEuXG4gKlxuICogQHBhcmFtIGZpZWxkRGVmcyBhcnJheSBvZiBvYmplY3RzIGkuZS4gZGF0YXNldFxuICogQHBhcmFtIGdyb3VwYnkgc3RyaW5nIGdyb3VwYnlcbiAqIEBwYXJhbSBtYXRjaCBzdHJpbmcgbWF0Y2hcbiAqIEBwYXJhbSBvcmRlcmJ5IHN0cmluZyBvcmRlcmJ5XG4gKiBAcGFyYW0gZGF0ZUZvcm1hdCBzdHJpbmcgZGF0ZSBmb3JtYXRcbiAqIEBwYXJhbSBpbm5lckl0ZW0sIGl0ZW0gdG8gbG9vayBmb3IgaW4gdGhlIHBhc3NlZCBkYXRhXG4gKi9cbmNvbnN0IGdldEdyb3VwZWREYXRhID0gKGZpZWxkRGVmczogQXJyYXk8T2JqZWN0IHwgRGF0YVNldEl0ZW0+LCBncm91cGJ5OiBzdHJpbmcsIG1hdGNoOiBzdHJpbmcsIG9yZGVyYnk6IHN0cmluZywgZGF0ZUZvcm1hdDogc3RyaW5nLCBkYXRlUGlwZTogVG9EYXRlUGlwZSwgaW5uZXJJdGVtPzogc3RyaW5nLCBBcHBEZWZhdWx0cz86IGFueSkgPT4ge1xuICAgIC8vIEZvciBkYXksIHNldCB0aGUgcmVsZXZhbnQgbW9tZW50IGNhbGVuZGFyIG9wdGlvbnNcbiAgICBpZiAobWF0Y2ggPT09IFRJTUVfUk9MTFVQX09QVElPTlMuREFZKSB7XG4gICAgICAgIG1vbWVudExvY2FsZS5fY2FsZW5kYXIgPSBtb21lbnRDYWxlbmRhckRheU9wdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxpbmcgY2FzZS1pbi1zZW5zaXRpdmUgc2NlbmFyaW9cbiAgICAvLyBvcmRlcmluZyB0aGUgZGF0YSBiYXNlZCBvbiBncm91cGJ5IGZpZWxkLiBJZiB0aGVyZSBpcyBpbm5lckl0ZW0gdGhlbiBhcHBseSBvcmRlcmJ5IHVzaW5nIHRoZSBpbm5lckl0ZW0ncyBjb250YWluaW5nIHRoZSBncm91cGJ5IGZpZWxkLlxuICAgIGZpZWxkRGVmcyA9IF9vcmRlckJ5KGZpZWxkRGVmcywgZmllbGREZWYgPT4ge1xuICAgICAgICBjb25zdCBncm91cEtleSA9IGdldChpbm5lckl0ZW0gPyBmaWVsZERlZltpbm5lckl0ZW1dIDogZmllbGREZWYsIGdyb3VwYnkpO1xuICAgICAgICBpZiAoZ3JvdXBLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0b0xvd2VyKGdyb3VwS2V5KTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gZXh0cmFjdCB0aGUgZ3JvdXBlZCBkYXRhIGJhc2VkIG9uIHRoZSBmaWVsZCBvYnRhaW5lZCBmcm9tICdncm91cERhdGFCeUZpZWxkJy5cbiAgICBjb25zdCBncm91cGVkTGlEYXRhID0gZ3JvdXBCeShmaWVsZERlZnMsIGdyb3VwRGF0YUJ5RmllbGQuYmluZCh1bmRlZmluZWQsIGdyb3VwYnksIG1hdGNoLCBpbm5lckl0ZW0sIGRhdGVGb3JtYXQsIGRhdGVQaXBlLCBBcHBEZWZhdWx0cykpO1xuICAgIG1vbWVudExvY2FsZS5fY2FsZW5kYXIgPSBtb21lbnRDYWxlbmRhck9wdGlvbnM7IC8vIFJlc2V0IHRvIGRlZmF1bHQgbW9tZW50IGNhbGVuZGFyIG9wdGlvbnNcblxuICAgIHJldHVybiBncm91cGVkTGlEYXRhO1xufTtcblxuLy8gRm9ybWF0IHRoZSBkYXRlIHdpdGggZ2l2ZW4gZGF0ZSBmb3JtYXRcbmV4cG9ydCBjb25zdCBmaWx0ZXJEYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIGZvcm1hdDogc3RyaW5nLCBkZWZhdWx0Rm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlOiBUb0RhdGVQaXBlKSA9PiB7XG4gICAgaWYgKGZvcm1hdCA9PT0gJ3RpbWVzdGFtcCcpIHsgLy8gRm9yIHRpbWVzdGFtcCBmb3JtYXQsIHJldHVybiB0aGUgZXBvY2ggdmFsdWVcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKGRhdGVQaXBlLCB2YWx1ZSwgZm9ybWF0IHx8IGRlZmF1bHRGb3JtYXQpO1xufTtcblxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGdyb3Vwa2V5IGJhc2VkIG9uIHRoZSByb2xsdXAgKG1hdGNoKSBwYXNzZWRcbiAqXG4gKiBAcGFyYW0gY29uY2F0U3RyLCBzdHJpbmcgY29udGFpbmluZyBncm91cGJ5IGZpZWxkIHZhbHVlXG4gKiBAcGFyYW0gcm9sbFVwIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXRjaCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBkYXRlZm9ybWF0IHN0cmluZyBjb250YWluaW5nIHRoZSBkYXRlIGZvcm1hdCB0byBkaXNwbGF5IHRoZSBkYXRlLlxuICovXG5jb25zdCBnZXRUaW1lUm9sbGVkVXBTdHJpbmcgPSAoY29uY2F0U3RyOiBzdHJpbmcsIHJvbGxVcDogc3RyaW5nLCBkYXRlZm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlPzogVG9EYXRlUGlwZSwgQXBwRGVmYXVsdHM/OiBhbnkpID0+IHtcbiAgICBsZXQgZ3JvdXBCeUtleSxcbiAgICAgICAgc3RyTW9tZW50ICA9IG1vbWVudChjb25jYXRTdHIpLFxuICAgICAgICBkYXRlRm9ybWF0ID0gZGF0ZWZvcm1hdDtcblxuICAgIGNvbnN0IGN1cnJNb21lbnQgPSBtb21lbnQoKSxcbiAgICAgICAgZ2V0U2FtZUVsc2VGb3JtYXQgPSBmdW5jdGlvbiAoKSB7IC8vIFNldCB0aGUgc2FtZUVsc2Ugb3B0aW9uIG9mIG1vbWVudCBjYWxlbmRhciB0byB1c2VyIGRlZmluZWQgcGF0dGVyblxuICAgICAgICAgICAgcmV0dXJuICdbJyArIGZpbHRlckRhdGUodGhpcy52YWx1ZU9mKCksIGRhdGVGb3JtYXQsIFJPTExVUF9QQVRURVJOUy5EQVksIGRhdGVQaXBlKSArICddJztcbiAgICAgICAgfTtcblxuICAgIHN3aXRjaCAocm9sbFVwKSB7XG4gICAgICAgIGNhc2UgVElNRV9ST0xMVVBfT1BUSU9OUy5IT1VSOlxuICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQgfHwgQXBwRGVmYXVsdHMudGltZUZvcm1hdDtcblxuICAgICAgICAgICAgLy8gSWYgZGF0ZSBpcyBpbnZhbGlkLCBjaGVjayBpZiBkYXRhIGlzIGluIGZvcm0gb2YgaGg6bW0gYVxuICAgICAgICAgICAgaWYgKCFzdHJNb21lbnQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgc3RyTW9tZW50ID0gbW9tZW50KG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCkgKyAnICcgKyBjb25jYXRTdHIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHN0ck1vbWVudC5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQXMgb25seSB0aW1lIGlzIHByZXNlbnQsIHJvbGwgdXAgYXQgdGhlIGhvdXIgbGV2ZWwgd2l0aCBnaXZlbiB0aW1lIGZvcm1hdFxuICAgICAgICAgICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVEYXkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ1snICsgZmlsdGVyRGF0ZSh0aGlzLnZhbHVlT2YoKSwgZGF0ZUZvcm1hdCwgUk9MTFVQX1BBVFRFUk5TLkhPVVIsIGRhdGVQaXBlKSArICddJztcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByb3VuZCBvZmYgdG8gbmVhcmVzdCBsYXN0IGhvdXJcbiAgICAgICAgICAgIHN0ck1vbWVudCA9IHN0ck1vbWVudC5zdGFydE9mKCdob3VyJyk7XG4gICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVFbHNlID0gZ2V0U2FtZUVsc2VGb3JtYXQ7XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gc3RyTW9tZW50LmNhbGVuZGFyKGN1cnJNb21lbnQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgVElNRV9ST0xMVVBfT1BUSU9OUy5XRUVLOlxuICAgICAgICAgICAgZ3JvdXBCeUtleSA9IGZpbHRlckRhdGUoc3RyTW9tZW50LnZhbHVlT2YoKSwgZGF0ZUZvcm1hdCwgUk9MTFVQX1BBVFRFUk5TLldFRUssIGRhdGVQaXBlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuTU9OVEg6XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gZmlsdGVyRGF0ZShzdHJNb21lbnQudmFsdWVPZigpLCBkYXRlRm9ybWF0LCBST0xMVVBfUEFUVEVSTlMuTU9OVEgsIGRhdGVQaXBlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuWUVBUjpcbiAgICAgICAgICAgIGdyb3VwQnlLZXkgPSBzdHJNb21lbnQuZm9ybWF0KFJPTExVUF9QQVRURVJOUy5ZRUFSKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFRJTUVfUk9MTFVQX09QVElPTlMuREFZOlxuICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQgfHwgQXBwRGVmYXVsdHMuZGF0ZUZvcm1hdDtcbiAgICAgICAgICAgIHN0ck1vbWVudCA9IHN0ck1vbWVudC5zdGFydE9mKCdkYXknKTsgLy8gcm91bmQgb2ZmIHRvIGN1cnJlbnQgZGF5XG4gICAgICAgICAgICBtb21lbnRMb2NhbGUuX2NhbGVuZGFyLnNhbWVFbHNlID0gZ2V0U2FtZUVsc2VGb3JtYXQ7XG4gICAgICAgICAgICBncm91cEJ5S2V5ID0gc3RyTW9tZW50LmNhbGVuZGFyKGN1cnJNb21lbnQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIElmIGludmFsaWQgZGF0ZSBpcyByZXR1cm5lZCwgQ2F0ZWdvcml6ZSBpdCBhcyBPdGhlcnMuXG4gICAgaWYgKGdyb3VwQnlLZXkgPT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICAgIHJldHVybiBHUk9VUF9CWV9PUFRJT05TLk9USEVSUztcbiAgICB9XG4gICAgcmV0dXJuIGdyb3VwQnlLZXk7XG59O1xuXG5cbi8vIGdyb3VwcyB0aGUgZmllbGRzIGJhc2VkIG9uIHRoZSBncm91cGJ5IHZhbHVlLlxuY29uc3QgZ3JvdXBEYXRhQnlGaWVsZCA9IChncm91cGJ5OiBzdHJpbmcsIG1hdGNoOiBzdHJpbmcsIGlubmVySXRlbTogc3RyaW5nLCBkYXRlRm9ybWF0OiBzdHJpbmcsIGRhdGVQaXBlOiBUb0RhdGVQaXBlLCBBcHBEZWZhdWx0czogYW55LCBsaURhdGE6IE9iamVjdCkgPT4ge1xuICAgIC8vIGdldCB0aGUgZ3JvdXBieSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBsaURhdGEgb3IgaW5uZXJJdGVtIGluIHRoZSBsaURhdGEuXG4gICAgbGV0IGNvbmNhdFN0ciA9IGdldChpbm5lckl0ZW0gPyBsaURhdGFbaW5uZXJJdGVtXSA6IGxpRGF0YSwgZ3JvdXBieSk7XG5cbiAgICAvLyBieSBkZWZhdWx0IHNldCB0aGUgdW5kZWZpbmVkIGdyb3VwS2V5IGFzICdvdGhlcnMnXG4gICAgaWYgKGlzVW5kZWZpbmVkKGNvbmNhdFN0cikgfHwgaXNOdWxsKGNvbmNhdFN0cikgfHwgY29uY2F0U3RyLnRvU3RyaW5nKCkudHJpbSgpID09PSAnJykge1xuICAgICAgICByZXR1cm4gR1JPVVBfQllfT1BUSU9OUy5PVEhFUlM7XG4gICAgfVxuXG4gICAgLy8gaWYgbWF0Y2ggcHJvcCBpcyBhbHBoYWJldGljICxnZXQgdGhlIHN0YXJ0aW5nIGFscGhhYmV0IG9mIHRoZSB3b3JkIGFzIGtleS5cbiAgICBpZiAobWF0Y2ggPT09IEdST1VQX0JZX09QVElPTlMuQUxQSEFCRVQpIHtcbiAgICAgICAgY29uY2F0U3RyID0gY29uY2F0U3RyLnN1YnN0cigwLCAxKTtcbiAgICB9XG5cbiAgICAvLyBpZiBtYXRjaCBjb250YWlucyB0aGUgdGltZSBvcHRpb25zIHRoZW4gZ2V0IHRoZSBjb25jYXRTdHIgdXNpbmcgJ2dldFRpbWVSb2xsZWRVcFN0cmluZydcbiAgICBpZiAoaW5jbHVkZXModmFsdWVzKFRJTUVfUk9MTFVQX09QVElPTlMpLCBtYXRjaCkpIHtcbiAgICAgICAgY29uY2F0U3RyID0gZ2V0VGltZVJvbGxlZFVwU3RyaW5nKGNvbmNhdFN0ciwgbWF0Y2gsIGRhdGVGb3JtYXQsIGRhdGVQaXBlLCBBcHBEZWZhdWx0cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmNhdFN0cjtcbn07XG5cbi8qKlxuICogVGhpcyBtZXRob2QgdG9nZ2xlcyBhbGwgdGhlIGxpc3QgaXRlbXMgaW5zaWRlIHRoZSBlYWNoIGxpc3QgZ3JvdXAuXG4gKiBAcGFyYW0gZWwsIGNvbXBvbmVudCByZWZlcmVuY2Ugb24gd2hpY2ggZ3JvdXBieSBpcyBhcHBsaWVkLlxuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlQWxsSGVhZGVycyA9IChlbDogYW55KSA9PiB7XG4gICAgY29uc3QgZ3JvdXBzID0gJChlbC5uYXRpdmVFbGVtZW50KS5maW5kKCcuaXRlbS1ncm91cCcpO1xuXG4gICAgZ3JvdXBzLmZpbmQoJy5ncm91cC1saXN0LWl0ZW0nKS50b2dnbGUoKTtcblxuICAgIC8vIHRvZ2dsZSB0aGUgY29sbGFwc2UgaWNvbiBvbiBsaXN0IGhlYWRlci5cbiAgICBjb25zdCBncm91cEljb25zID0gZ3JvdXBzLmZpbmQoJ2xpLmxpc3QtZ3JvdXAtaGVhZGVyIC5hcHAtaWNvbicpO1xuXG4gICAgaWYgKGdyb3VwSWNvbnMpIHtcbiAgICAgICAgZm9yRWFjaChncm91cEljb25zLCAoaWNvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgJGljb24gPSAkKGljb24pO1xuICAgICAgICAgICAgaWYgKCRpY29uLmhhc0NsYXNzKCd3aS1jaGV2cm9uLWRvd24nKSkge1xuICAgICAgICAgICAgICAgICRpY29uLnJlbW92ZUNsYXNzKCd3aS1jaGV2cm9uLWRvd24nKS5hZGRDbGFzcygnd2ktY2hldnJvbi11cCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaWNvbi5yZW1vdmVDbGFzcygnd2ktY2hldnJvbi11cCcpLmFkZENsYXNzKCd3aS1jaGV2cm9uLWRvd24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuLyoqXG4gKiBPbiBsaXN0IGhlYWRlciBjbGljaywgdG9nZ2xlIHRoZSBsaXN0IGl0ZW1zIGluIHRoaXMgZ3JvdXAuXG4gKiBhbmQgYWxzbyB0b2dnbGUgdGhlIGhlYWRlciBpY29uLlxuICogQHBhcmFtICRldmVudFxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlSGVhZGVyQ2xpY2sgPSAoJGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkR3JvdXAgICA9ICQoJGV2ZW50LnRhcmdldCBhcyBhbnkpLmNsb3Nlc3QoJy5pdGVtLWdyb3VwJyksXG4gICAgICAgIHNlbGVjdGVkQXBwSWNvbiA9IHNlbGVjdGVkR3JvdXAuZmluZCgnbGkubGlzdC1ncm91cC1oZWFkZXIgLmFwcC1pY29uJyk7XG5cbiAgICBpZiAoc2VsZWN0ZWRBcHBJY29uLmhhc0NsYXNzKCd3aS1jaGV2cm9uLWRvd24nKSkge1xuICAgICAgICBzZWxlY3RlZEFwcEljb24ucmVtb3ZlQ2xhc3MoJ3dpLWNoZXZyb24tZG93bicpLmFkZENsYXNzKCd3aS1jaGV2cm9uLXVwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRBcHBJY29uLnJlbW92ZUNsYXNzKCd3aS1jaGV2cm9uLXVwJykuYWRkQ2xhc3MoJ3dpLWNoZXZyb24tZG93bicpO1xuICAgIH1cblxuICAgIHNlbGVjdGVkR3JvdXAuZmluZCgnLmdyb3VwLWxpc3QtaXRlbScpLnRvZ2dsZSgpO1xufTtcblxuLyoqXG4gKiBjb25maWd1cmVzIHJlb3JkZXJpbmcgdGhlIGl0ZW1zLlxuICogQHBhcmFtICRlbCBlbGVtZW50IHRvIGJlIHNvcnRhYmxlXG4gKiBAcGFyYW0gb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgc29ydGFibGUgb3B0aW9ucy5cbiAqIEBwYXJhbSBzdGFydENiIGNhbGxiYWNrIG9uIGRyYWcgc3RhcnQgb24gdGhlIGVsZW1lbnQuXG4gKiBAcGFyYW0gdXBkYXRlQ2IgY2FsbGJhY2sgdHJpZ2dlcnJlZCB3aGVuIHNvcnRpbmcgaXMgc3RvcHBlZCBhbmQgdGhlIERPTSBwb3NpdGlvbiBoYXMgY2hhbmdlZC5cbiAqIEBwYXJhbSBzb3J0Q2IgY2FsbGJhY2sgdHJpZ2dlcnJlZCBkdXJpbmcgdGhlIHNvcnRpbmcgb2YgYW4gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZURuRCA9ICgkZWw6IGFueSwgb3B0aW9uczogb2JqZWN0LCBzdGFydENiOiBGdW5jdGlvbiwgdXBkYXRlQ2I6IEZ1bmN0aW9uLCBzb3J0Q2I/OiBGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHNvcnRPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgIGNvbnRhaW5tZW50OiAkZWwsXG4gICAgICAgIGRlbGF5OiAxMDAsXG4gICAgICAgIG9wYWNpdHk6IDAuOCxcbiAgICAgICAgaGVscGVyOiAnY2xvbmUnLFxuICAgICAgICB6SW5kZXg6IDEwNTAsXG4gICAgICAgIHRvbGVyYW5jZTogJ3BvaW50ZXInLFxuICAgICAgICBzdGFydDogc3RhcnRDYixcbiAgICAgICAgdXBkYXRlOiB1cGRhdGVDYixcbiAgICAgICAgc29ydDogc29ydENiXG4gICAgfSwgb3B0aW9ucyk7XG5cbiAgICAkZWwuc29ydGFibGUoc29ydE9wdGlvbnMpO1xufTtcblxuLy8gVG9kbzogY29udmVydCB0byBDbGFzc1xuaW50ZXJmYWNlIERhdGFTZXRQcm9wcyB7XG4gICAgZGF0YWZpZWxkOiBzdHJpbmc7XG4gICAgZGlzcGxheWZpZWxkPzogc3RyaW5nO1xuICAgIGRpc3BsYXlleHByZXNzaW9uPzogc3RyaW5nO1xuICAgIHVzZWtleXM/OiBib29sZWFuO1xuICAgIG9yZGVyYnk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICoga2V5IHJlcHJlc2VudHMgdGhlIGRhdGFmaWVsZCB2YWx1ZVxuICogbGFiZWwgcmVwcmVzZW50cyBkaXNwbGF5IHZhbHVlIG9yIGV4cHJlc3Npb24gdmFsdWVcbiAqIHZhbHVlIGRpc3BsYXlWYWx1ZSBmb3IgcHJpbWl0aXZlcyBhbmQgZGF0YSBvYmplY3QgZm9yIGFsbEZpZWxkc1xuICogZGF0YU9iamVjdCByZXByZXNlbnQgdGhlIG9iamVjdCBmcm9tIHRoZSBkYXRhc2V0IHdoZW4gZGF0YWZpZWxkIGlzIEFMTEZJRUxEUy4gVGhpcyBpcyB1c2VkIGFzIGlubmVySXRlbSB3aGlsZSBncm91cGluZyB0aGUgZGF0YXNldEl0ZW1zLlxuICogaW1nU3JjIHBpY3R1cmUgc291cmNlXG4gKiBzZWxlY3RlZCByZXByZXNlbnRzIGJvb2xlYW4gdG8gbm90aWZ5IHNlbGVjdGVkIGl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhU2V0SXRlbSB7XG4gICAga2V5OiBhbnk7XG4gICAgbGFiZWw6IGFueTtcbiAgICB2YWx1ZTogYW55O1xuICAgIGRhdGFPYmplY3Q/OiBPYmplY3Q7XG4gICAgaW5kZXg/OiBudW1iZXI7XG4gICAgaW1nU3JjPzogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { isNumberType, FormWidgetType, DataType, isMobileApp, isAndroid } from '@wm/core';
1
+ import { isNumberType, FormWidgetType, DataType, isAndroid } from '@wm/core';
2
2
  import { forEach, get, includes, split } from "lodash-es";
3
3
  const VIEW_MODE_OPTIONS = {
4
4
  DEFAULT: 'default',
@@ -65,13 +65,9 @@ export const getFieldLayoutConfig = (captionWidth, captionPosition, os) => {
65
65
  let captionCls = '', widgetCls = '';
66
66
  captionPosition = captionPosition || 'top';
67
67
  if (captionPosition === 'top' || captionPosition === 'floating') {
68
- if ((os && os === 'android') || !isMobileApp() || isAndroid()) { // Is android or not a mobile application
68
+ if ((os && os === 'android') || isAndroid()) { // Is android or not a mobile application
69
69
  captionCls = widgetCls = 'col-xs-12';
70
70
  }
71
- else if (isMobileApp()) { // Is a mobile application and not android
72
- captionCls = 'col-xs-4';
73
- widgetCls = 'col-xs-8';
74
- }
75
71
  }
76
72
  else if (captionWidth) {
77
73
  // handling itemsperrow containing string of classes
@@ -214,4 +210,4 @@ export const getDefaultValue = (value, type, widget) => {
214
210
  }
215
211
  return value;
216
212
  };
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvdXRpbHMvbGl2ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxRixPQUFPLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXhELE1BQU8saUJBQWlCLEdBQUc7SUFDdkIsT0FBTyxFQUFHLFNBQVM7SUFDbkIsS0FBSyxFQUFHLE9BQU87Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixVQUFVLEVBQUcsV0FBVztJQUN4QixNQUFNLEVBQUcsUUFBUTtJQUNqQixJQUFJLEVBQUcsTUFBTTtJQUNiLE1BQU0sRUFBRyxRQUFRO0NBQ3BCLENBQUM7QUFFRixvREFBb0Q7QUFDcEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBYyxFQUFRLEVBQUU7SUFDakYsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRTtRQUN6QixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUM5QixDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsWUFBaUIsRUFBRSxNQUFXLEVBQUUsU0FBaUIsRUFBRSxLQUFjLEVBQVEsRUFBRTtJQUMvRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1osZUFBZSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7U0FBTSxDQUFDO1FBQ0osWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBUSxFQUFFO0lBQzVDLE9BQU87UUFDSCxPQUFPLEVBQVcsZUFBZTtRQUNqQyxNQUFNLEVBQVksUUFBUTtRQUMxQixhQUFhLEVBQUssU0FBUztRQUMzQixPQUFPLEVBQVcsT0FBTztRQUN6QixVQUFVLEVBQVEsSUFBSTtRQUN0QixVQUFVLEVBQVEsS0FBSztRQUN2QixZQUFZLEVBQU0sS0FBSztRQUN2QixXQUFXLEVBQU8sS0FBSztRQUN2QixZQUFZLEVBQU0sS0FBSztRQUN2QixNQUFNLEVBQVksSUFBSTtRQUN0QixZQUFZLEVBQU0sRUFBRTtRQUNwQixVQUFVLEVBQVEsRUFBRTtRQUNwQixXQUFXLEVBQU8sSUFBSTtRQUN0QixlQUFlLEVBQUcsSUFBSTtRQUN0QixlQUFlLEVBQUcsSUFBSTtRQUN0QixTQUFTLEVBQVMsSUFBSTtRQUN0QixnQkFBZ0IsRUFBRSxJQUFJO0tBQ3pCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQU8sRUFBRTtJQUMzRSxJQUFJLFVBQVUsR0FBRyxFQUFFLEVBQ2YsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVuQixlQUFlLEdBQUcsZUFBZSxJQUFJLEtBQUssQ0FBQztJQUUzQyxJQUFJLGVBQWUsS0FBSyxLQUFLLElBQUksZUFBZSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztZQUN0RyxVQUFVLEdBQUcsU0FBUyxHQUFHLFdBQVcsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsMENBQTBDO1lBQ2xFLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDeEIsU0FBUyxHQUFHLFVBQVUsQ0FBQztRQUMzQixDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEIsb0RBQW9EO1FBQ3BELE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFLFVBQVUsR0FBRztZQUMzQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUN4QixJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLElBQUksYUFBYSxFQUNiLFdBQVcsQ0FBQztZQUNoQixhQUFhLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0QyxXQUFXLEdBQUksRUFBRSxHQUFHLGFBQWEsQ0FBQztZQUNsQyxXQUFXLEdBQUksV0FBVyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDbkQsVUFBVSxJQUFJLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUM7WUFDeEQsU0FBUyxJQUFLLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTztRQUNILFlBQVksRUFBRyxVQUFVO1FBQ3pCLFdBQVcsRUFBSSxTQUFTO0tBQzNCLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsRUFBRTtJQUM3QyxJQUFJLFFBQVEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztJQUNyQyxDQUFDO0lBQ0QsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsRUFBRTtJQUM5QixJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsMkRBQTJEO1FBQ2xGLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsWUFBYSxFQUFFLEVBQUU7SUFDbkUsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNULElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxNQUFNLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3RyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsUUFBUSxJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFJLElBQUksS0FBSyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRztJQUMzQixTQUFTLEVBQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUM7SUFDL0gsYUFBYSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQy9ILE9BQU8sRUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILE9BQU8sRUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILFFBQVEsRUFBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILFFBQVEsRUFBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILE1BQU0sRUFBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUMvSCxNQUFNLEVBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQztJ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QUFNLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtYmVyVHlwZSwgRm9ybVdpZGdldFR5cGUsIERhdGFUeXBlLCBpc01vYmlsZUFwcCwgaXNBbmRyb2lkIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtmb3JFYWNoLCBnZXQsIGluY2x1ZGVzLCBzcGxpdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCAgVklFV19NT0RFX09QVElPTlMgPSB7XG4gICAgREVGQVVMVCA6ICdkZWZhdWx0JyxcbiAgICBMQUJFTCA6ICdsYWJlbCdcbn07XG5cbmV4cG9ydCBjb25zdCBFRElUX01PREUgPSB7XG4gICAgUVVJQ0tfRURJVCA6ICdxdWlja2VkaXQnLFxuICAgIElOTElORSA6ICdpbmxpbmUnLFxuICAgIEZPUk0gOiAnZm9ybScsXG4gICAgRElBTE9HIDogJ2RpYWxvZydcbn07XG5cbi8vIE1ldGhvZCB0byBzZXQgdGhlIGhlYWRlciBjb25maWcgb2YgdGhlIGRhdGEgdGFibGVcbmV4cG9ydCBjb25zdCBzZXRIZWFkZXJDb25maWcgPSAoaGVhZGVyQ29uZmlnLCBjb25maWcsIGZpZWxkLCBpbmRleD86IG51bWJlcik6IHZvaWQgPT4ge1xuICAgIGZvckVhY2goaGVhZGVyQ29uZmlnLCBjb2xzID0+IHtcbiAgICAgICAgaWYgKGdldChjb2xzLCAnaXNHcm91cCcpKSB7XG4gICAgICAgICAgICBpZiAoY29scy5maWVsZCA9PT0gZmllbGQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZCA9IGNvbHMuY29sdW1ucz8uZmluZEluZGV4KChjb2wpID0+IGNvbD8uZmllbGQgPT09IGNvbmZpZy5maWVsZCk7XG4gICAgICAgICAgICAgICAgaWYgKGlkID09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHMuY29sdW1uc1tpbmRleF0gPSBjb25maWc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29scy5jb2x1bW5zW2lkXSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEhlYWRlckNvbmZpZyhjb2xzLmNvbHVtbnMsIGNvbmZpZywgZmllbGQsIGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEhlYWRlckNvbmZpZ0ZvclRhYmxlID0gKGhlYWRlckNvbmZpZzogYW55LCBjb25maWc6IGFueSwgZmllbGROYW1lOiBzdHJpbmcsIGluZGV4PzogbnVtYmVyKTogdm9pZCA9PiB7XG4gICAgaWYgKGZpZWxkTmFtZSkge1xuICAgICAgICBzZXRIZWFkZXJDb25maWcoaGVhZGVyQ29uZmlnLCBjb25maWcsIGZpZWxkTmFtZSwgaW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYWRlckNvbmZpZ1tpbmRleF0gPSBjb25maWc7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFJvd09wZXJhdGlvbnNDb2x1bW4gPSAoKTogYW55ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICAnZmllbGQnICAgICAgICAgOiAncm93T3BlcmF0aW9ucycsXG4gICAgICAgICd0eXBlJyAgICAgICAgICA6ICdjdXN0b20nLFxuICAgICAgICAnZGlzcGxheU5hbWUnICAgOiAnQWN0aW9ucycsXG4gICAgICAgICd3aWR0aCcgICAgICAgICA6ICcxMjBweCcsXG4gICAgICAgICdyZWFkb25seScgICAgICA6IHRydWUsXG4gICAgICAgICdzb3J0YWJsZScgICAgICA6IGZhbHNlLFxuICAgICAgICAnc2VhcmNoYWJsZScgICAgOiBmYWxzZSxcbiAgICAgICAgJ3Jlc2l6YWJsZScgICAgIDogZmFsc2UsXG4gICAgICAgICdzZWxlY3RhYmxlJyAgICA6IGZhbHNlLFxuICAgICAgICAnc2hvdycgICAgICAgICAgOiB0cnVlLFxuICAgICAgICAnb3BlcmF0aW9ucycgICAgOiBbXSxcbiAgICAgICAgJ29wQ29uZmlnJyAgICAgIDoge30sXG4gICAgICAgICdwY0Rpc3BsYXknICAgICA6IHRydWUsXG4gICAgICAgICdtb2JpbGVEaXNwbGF5JyA6IHRydWUsXG4gICAgICAgICd0YWJsZXREaXNwbGF5JyA6IHRydWUsXG4gICAgICAgICdpbmNsdWRlJyAgICAgICA6IHRydWUsXG4gICAgICAgICdpc1Jvd09wZXJhdGlvbic6IHRydWVcbiAgICB9O1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGNhcHRpb24gYW5kIHdpZGdldCBib290c3RyYXAgY2xhc3NlcyBmb3IgdGhlIGZpZWxkXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGaWVsZExheW91dENvbmZpZyA9IChjYXB0aW9uV2lkdGgsIGNhcHRpb25Qb3NpdGlvbiwgb3MpOiBhbnkgPT4ge1xuICAgIGxldCBjYXB0aW9uQ2xzID0gJycsXG4gICAgICAgIHdpZGdldENscyA9ICcnO1xuXG4gICAgY2FwdGlvblBvc2l0aW9uID0gY2FwdGlvblBvc2l0aW9uIHx8ICd0b3AnO1xuXG4gICAgaWYgKGNhcHRpb25Qb3NpdGlvbiA9PT0gJ3RvcCcgfHwgY2FwdGlvblBvc2l0aW9uID09PSAnZmxvYXRpbmcnKSB7XG4gICAgICAgIGlmICgob3MgJiYgb3MgPT09ICdhbmRyb2lkJykgfHwgIWlzTW9iaWxlQXBwKCkgfHwgaXNBbmRyb2lkKCkpIHsgLy8gSXMgYW5kcm9pZCBvciBub3QgYSBtb2JpbGUgYXBwbGljYXRpb25cbiAgICAgICAgICAgIGNhcHRpb25DbHMgPSB3aWRnZXRDbHMgPSAnY29sLXhzLTEyJztcbiAgICAgICAgfSBlbHNlIGlmIChpc01vYmlsZUFwcCgpKSB7IC8vIElzIGEgbW9iaWxlIGFwcGxpY2F0aW9uIGFuZCBub3QgYW5kcm9pZFxuICAgICAgICAgICAgY2FwdGlvbkNscyA9ICdjb2wteHMtNCc7XG4gICAgICAgICAgICB3aWRnZXRDbHMgPSAnY29sLXhzLTgnO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChjYXB0aW9uV2lkdGgpIHtcbiAgICAgICAgLy8gaGFuZGxpbmcgaXRlbXNwZXJyb3cgY29udGFpbmluZyBzdHJpbmcgb2YgY2xhc3Nlc1xuICAgICAgICBmb3JFYWNoKHNwbGl0KGNhcHRpb25XaWR0aCwgJyAnKSwgZnVuY3Rpb24gKGNscykge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IHNwbGl0KGNscywgJy0nKSxcbiAgICAgICAgICAgICAgICB0aWVyID0ga2V5c1swXTtcbiAgICAgICAgICAgIGxldCBfY2FwdGlvbldpZHRoLFxuICAgICAgICAgICAgICAgIHdpZGdldFdpZHRoO1xuICAgICAgICAgICAgX2NhcHRpb25XaWR0aCA9IHBhcnNlSW50KGtleXNbMV0sIDEwKTtcbiAgICAgICAgICAgIHdpZGdldFdpZHRoICA9IDEyIC0gX2NhcHRpb25XaWR0aDtcbiAgICAgICAgICAgIHdpZGdldFdpZHRoICA9IHdpZGdldFdpZHRoIDw9IDAgPyAxMiA6IHdpZGdldFdpZHRoO1xuICAgICAgICAgICAgY2FwdGlvbkNscyArPSAnICcgKyAnY29sLScgKyB0aWVyICsgJy0nICsgX2NhcHRpb25XaWR0aDtcbiAgICAgICAgICAgIHdpZGdldENscyAgKz0gJyAnICsgJ2NvbC0nICsgdGllciArICctJyArIHdpZGdldFdpZHRoO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgJ2NhcHRpb25DbHMnIDogY2FwdGlvbkNscyxcbiAgICAgICAgJ3dpZGdldENscycgIDogd2lkZ2V0Q2xzXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0Vmlld01vZGVXaWRnZXQgPSB3aWRnZXQgPT4ge1xuICAgIGlmIChpbmNsdWRlcyhbJ2NoZWNrYm94JywgJ3RvZ2dsZScsICdyYXRpbmcnXSwgd2lkZ2V0KSkge1xuICAgICAgICByZXR1cm4gVklFV19NT0RFX09QVElPTlMuREVGQVVMVDtcbiAgICB9XG4gICAgcmV0dXJuIFZJRVdfTU9ERV9PUFRJT05TLkxBQkVMO1xufTtcblxuY29uc3QgcGFyc2VCb29sZWFuVmFsdWUgPSB2YWx1ZSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICgvXlxcZCskLy50ZXN0KHZhbHVlKSkgeyAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBzdHJpbmcgb2YgbnVtYmVyIHR5cGUgbGlrZSAnMTIzJ1xuICAgICAgICByZXR1cm4gK3ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VWYWx1ZUJ5VHlwZSA9ICh2YWx1ZSwgdHlwZSwgd2lkZ2V0LCB0cmFpbGluZ3plcm8/KSA9PiB7XG4gICAgaWYgKHdpZGdldCkge1xuICAgICAgICBpZiAod2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5OVU1CRVIgfHwgd2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5TTElERVIgfHwgd2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5DVVJSRU5DWSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IHRyYWlsaW5nemVybyA/IHZhbHVlIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAod2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWCB8fCB3aWRnZXQgPT09IEZvcm1XaWRnZXRUeXBlLlRPR0dMRSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlQm9vbGVhblZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmIChpc051bWJlclR5cGUodHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IE51bWJlcih2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBEYXRhVHlwZS5CT09MRUFOKSB7XG4gICAgICAgIHJldHVybiBwYXJzZUJvb2xlYW5WYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn07XG5cbmNvbnN0IGZpZWxkVHlwZVdpZGdldFR5cGVNYXAgPSB7XG4gICAgJ2ludGVnZXInICAgIDogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAncmF0aW5nJywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYmlnX2ludGVnZXInOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdyYXRpbmcnLCAnc2xpZGVyJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcyddLFxuICAgICdzaG9ydCcgICAgICA6IFsnbnVtYmVyJywgJ3RleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnZmxvYXQnICAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2JpZ19kZWNpbWFsJzogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnc2xpZGVyJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcyddLFxuICAgICdudW1iZXInICAgICA6IFsnbnVtYmVyJywgJ3RleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnZG91YmxlJyAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2xvbmcnICAgICAgIDogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAncmF0aW5nJywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYnl0ZScgICAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3N0cmluZycgICAgIDogWyd0ZXh0JywgJ251bWJlcicsICAndGV4dGFyZWEnLCAncGFzc3dvcmQnLCAncmljaHRleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ2RhdGUnLCAndGltZScsICd0aW1lc3RhbXAnLCAnc3dpdGNoJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcycsICdjb2xvcnBpY2tlciddLFxuICAgICdjaGFyYWN0ZXInICA6IFsndGV4dCcsICdudW1iZXInLCAgJ3RleHRhcmVhJywgJ3Bhc3N3b3JkJywgJ3JpY2h0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzd2l0Y2gnLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3RleHQnICAgICAgIDogWyd0ZXh0JywgJ251bWJlcicsICAndGV4dGFyZWEnLCAncGFzc3dvcmQnLCAncmljaHRleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ2RhdGUnLCAndGltZScsICd0aW1lc3RhbXAnLCAnc3dpdGNoJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcycsICdjb2xvcnBpY2tlciddLFxuICAgICdkYXRlJyAgICAgICA6IFsnZGF0ZScsICd0ZXh0JywgJ251bWJlcicsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3RpbWUnICAgICAgIDogWyd0aW1lJywgJ3RleHQnLCAnbnVtYmVyJywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAndGltZXN0YW1wJyAgOiBbJ3RpbWVzdGFtcCcsICd0ZXh0JywgJ251bWJlcicsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2RhdGV0aW1lJyAgIDogWydkYXRldGltZScsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYm9vbGVhbicgICAgOiBbJ2NoZWNrYm94JywgJ3JhZGlvc2V0JywgJ3RvZ2dsZScsICdzZWxlY3QnXSxcbiAgICAnbGlzdCcgICAgICAgOiBbJ3NlbGVjdCcsICdyYWRpb3NldCcsICdjaGVja2JveHNldCcsICdzd2l0Y2gnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2Nsb2InICAgICAgIDogWyd0ZXh0JywgJ3RleHRhcmVhJywgJ3JpY2h0ZXh0J10sXG4gICAgJ2Jsb2InICAgICAgIDogWyd1cGxvYWQnXSxcbiAgICAnZmlsZScgICAgICAgOiBbJ3VwbG9hZCddLFxuICAgICdjdXN0b20nICAgICA6IFsndGV4dCcsICdudW1iZXInLCAgJ3RleHRhcmVhJywgJ3Bhc3N3b3JkJywgJ2NoZWNrYm94JywgJ3RvZ2dsZScsICdzbGlkZXInLCAncmljaHRleHQnLCAnY3VycmVuY3knLCAnc3dpdGNoJyxcbiAgICAgICAgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdkYXRlJywgJ3RpbWUnLCAndGltZXN0YW1wJywgJ3JhdGluZycsICdkYXRldGltZScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnLCAnY29sb3JwaWNrZXInXVxufTtcblxuLy8gR2V0IHdpZGdldHMgYXBwbGljYWJsZSB0byB0aGUgZ2l2ZW4gdHlwZVxuZXhwb3J0IGNvbnN0IGdldEZpZWxkVHlwZVdpZGdldFR5cGVzTWFwID0gKCkgPT4ge1xuICAgIHJldHVybiBmaWVsZFR5cGVXaWRnZXRUeXBlTWFwO1xufTtcblxuLy8gR2V0IGZpbHRlciB3aWRnZXQgYXBwbGljYWJsZSB0byB0aGUgZ2l2ZW4gdHlwZVxuZXhwb3J0IGNvbnN0IGdldERhdGFUYWJsZUZpbHRlcldpZGdldCA9IHR5cGUgPT4ge1xuICAgIGxldCB3aWRnZXQgPSBmaWVsZFR5cGVXaWRnZXRUeXBlTWFwW3R5cGVdICYmIGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbdHlwZV1bMF07XG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLkJPT0xFQU4pIHtcbiAgICAgICAgd2lkZ2V0ID0gRm9ybVdpZGdldFR5cGUuU0VMRUNUO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZXMoW0Zvcm1XaWRnZXRUeXBlLlRFWFQsIEZvcm1XaWRnZXRUeXBlLk5VTUJFUiwgRm9ybVdpZGdldFR5cGUuU0VMRUNULCBGb3JtV2lkZ2V0VHlwZS5BVVRPQ09NUExFVEUsXG4gICAgICAgICAgICBGb3JtV2lkZ2V0VHlwZS5EQVRFLCBGb3JtV2lkZ2V0VHlwZS5USU1FLCBGb3JtV2lkZ2V0VHlwZS5EQVRFVElNRV0sIHdpZGdldCkpIHtcbiAgICAgICAgcmV0dXJuIHdpZGdldDtcbiAgICB9XG4gICAgcmV0dXJuIEZvcm1XaWRnZXRUeXBlLlRFWFQ7XG59O1xuXG4vKipcbiAqIEBuZ2RvYyBmdW5jdGlvblxuICogQG5hbWUgd20ud2lkZ2V0cy5saXZlLmdldEVkaXRNb2RlV2lkZ2V0XG4gKiBAbWV0aG9kT2Ygd20ud2lkZ2V0cy5saXZlLkxpdmVXaWRnZXRVdGlsc1xuICogQGZ1bmN0aW9uXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgd2lkZ2V0IGZvciBncmlkXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGNvbERlZiBmaWVsZCBkZWZpbml0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRFZGl0TW9kZVdpZGdldCA9IGNvbERlZiA9PiB7XG4gICAgaWYgKGNvbERlZlsncmVsYXRlZC1lbnRpdHktbmFtZSddICYmIGNvbERlZlsncHJpbWFyeS1rZXknXSkge1xuICAgICAgICByZXR1cm4gRm9ybVdpZGdldFR5cGUuU0VMRUNUO1xuICAgIH1cbiAgICByZXR1cm4gKGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbY29sRGVmLnR5cGVdICYmIGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbY29sRGVmLnR5cGVdWzBdKSB8fCBGb3JtV2lkZ2V0VHlwZS5URVhUO1xufTtcblxuLyoqXG4gKiBAbmdkb2MgZnVuY3Rpb25cbiAqIEBuYW1lIHdtLndpZGdldHMubGl2ZS5MaXZlV2lkZ2V0VXRpbHMjZ2V0RGVmYXVsdFZhbHVlXG4gKiBAbWV0aG9kT2Ygd20ud2lkZ2V0cy5saXZlLkxpdmVXaWRnZXRVdGlsc1xuICogQGZ1bmN0aW9uXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiByZXR1cm4gdGhlIGZvcm1hdHRlZCBkZWZhdWx0IHZhbHVlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgY29sdW1uIHR5cGUgb2YgdGhlIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0VmFsdWUgPSAodmFsdWUsIHR5cGUsIHdpZGdldCkgPT4ge1xuICAgIGlmICh3aWRnZXQpIHtcbiAgICAgICAgaWYgKHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuTlVNQkVSIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuU0xJREVSIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuQ1VSUkVOQ1kpIHtcbiAgICAgICAgICAgIHJldHVybiBpc05hTihOdW1iZXIodmFsdWUpKSA/IG51bGwgOiBOdW1iZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3aWRnZXQgPT09IEZvcm1XaWRnZXRUeXBlLkNIRUNLQk9YIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuVE9HR0xFKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VCb29sZWFuVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgaWYgKGlzTnVtYmVyVHlwZSh0eXBlKSkge1xuICAgICAgICByZXR1cm4gaXNOYU4oTnVtYmVyKHZhbHVlKSkgPyBudWxsIDogTnVtYmVyKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLkJPT0xFQU4pIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlQm9vbGVhblZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufTtcbiJdfQ==
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvYmFzZS9zcmMvdXRpbHMvbGl2ZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFeEQsTUFBTyxpQkFBaUIsR0FBRztJQUN2QixPQUFPLEVBQUcsU0FBUztJQUNuQixLQUFLLEVBQUcsT0FBTztDQUNsQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLFVBQVUsRUFBRyxXQUFXO0lBQ3hCLE1BQU0sRUFBRyxRQUFRO0lBQ2pCLElBQUksRUFBRyxNQUFNO0lBQ2IsTUFBTSxFQUFHLFFBQVE7Q0FDcEIsQ0FBQztBQUVGLG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFjLEVBQVEsRUFBRTtJQUNqRixPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQ3pCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNYLElBQUks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QVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILE9BQU8sRUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILFFBQVEsRUFBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILFFBQVEsRUFBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDO0lBQ3JILE1BQU0sRUFBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUMvSCxNQUFNLEVBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUNySCxRQUFRLEVBQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFHLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEs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QUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8saUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTnVtYmVyVHlwZSwgRm9ybVdpZGdldFR5cGUsIERhdGFUeXBlLCBpc0FuZHJvaWQgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge2ZvckVhY2gsIGdldCwgaW5jbHVkZXMsIHNwbGl0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmNvbnN0ICBWSUVXX01PREVfT1BUSU9OUyA9IHtcbiAgICBERUZBVUxUIDogJ2RlZmF1bHQnLFxuICAgIExBQkVMIDogJ2xhYmVsJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVESVRfTU9ERSA9IHtcbiAgICBRVUlDS19FRElUIDogJ3F1aWNrZWRpdCcsXG4gICAgSU5MSU5FIDogJ2lubGluZScsXG4gICAgRk9STSA6ICdmb3JtJyxcbiAgICBESUFMT0cgOiAnZGlhbG9nJ1xufTtcblxuLy8gTWV0aG9kIHRvIHNldCB0aGUgaGVhZGVyIGNvbmZpZyBvZiB0aGUgZGF0YSB0YWJsZVxuZXhwb3J0IGNvbnN0IHNldEhlYWRlckNvbmZpZyA9IChoZWFkZXJDb25maWcsIGNvbmZpZywgZmllbGQsIGluZGV4PzogbnVtYmVyKTogdm9pZCA9PiB7XG4gICAgZm9yRWFjaChoZWFkZXJDb25maWcsIGNvbHMgPT4ge1xuICAgICAgICBpZiAoZ2V0KGNvbHMsICdpc0dyb3VwJykpIHtcbiAgICAgICAgICAgIGlmIChjb2xzLmZpZWxkID09PSBmaWVsZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkID0gY29scy5jb2x1bW5zPy5maW5kSW5kZXgoKGNvbCkgPT4gY29sPy5maWVsZCA9PT0gY29uZmlnLmZpZWxkKTtcbiAgICAgICAgICAgICAgICBpZiAoaWQgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29scy5jb2x1bW5zW2luZGV4XSA9IGNvbmZpZztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb2xzLmNvbHVtbnNbaWRdID0gY29uZmlnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0SGVhZGVyQ29uZmlnKGNvbHMuY29sdW1ucywgY29uZmlnLCBmaWVsZCwgaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SGVhZGVyQ29uZmlnRm9yVGFibGUgPSAoaGVhZGVyQ29uZmlnOiBhbnksIGNvbmZpZzogYW55LCBmaWVsZE5hbWU6IHN0cmluZywgaW5kZXg/OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICBpZiAoZmllbGROYW1lKSB7XG4gICAgICAgIHNldEhlYWRlckNvbmZpZyhoZWFkZXJDb25maWcsIGNvbmZpZywgZmllbGROYW1lLCBpbmRleCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaGVhZGVyQ29uZmlnW2luZGV4XSA9IGNvbmZpZztcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Um93T3BlcmF0aW9uc0NvbHVtbiA9ICgpOiBhbnkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgICdmaWVsZCcgICAgICAgICA6ICdyb3dPcGVyYXRpb25zJyxcbiAgICAgICAgJ3R5cGUnICAgICAgICAgIDogJ2N1c3RvbScsXG4gICAgICAgICdkaXNwbGF5TmFtZScgICA6ICdBY3Rpb25zJyxcbiAgICAgICAgJ3dpZHRoJyAgICAgICAgIDogJzEyMHB4JyxcbiAgICAgICAgJ3JlYWRvbmx5JyAgICAgIDogdHJ1ZSxcbiAgICAgICAgJ3NvcnRhYmxlJyAgICAgIDogZmFsc2UsXG4gICAgICAgICdzZWFyY2hhYmxlJyAgICA6IGZhbHNlLFxuICAgICAgICAncmVzaXphYmxlJyAgICAgOiBmYWxzZSxcbiAgICAgICAgJ3NlbGVjdGFibGUnICAgIDogZmFsc2UsXG4gICAgICAgICdzaG93JyAgICAgICAgICA6IHRydWUsXG4gICAgICAgICdvcGVyYXRpb25zJyAgICA6IFtdLFxuICAgICAgICAnb3BDb25maWcnICAgICAgOiB7fSxcbiAgICAgICAgJ3BjRGlzcGxheScgICAgIDogdHJ1ZSxcbiAgICAgICAgJ21vYmlsZURpc3BsYXknIDogdHJ1ZSxcbiAgICAgICAgJ3RhYmxldERpc3BsYXknIDogdHJ1ZSxcbiAgICAgICAgJ2luY2x1ZGUnICAgICAgIDogdHJ1ZSxcbiAgICAgICAgJ2lzUm93T3BlcmF0aW9uJzogdHJ1ZVxuICAgIH07XG59O1xuXG4vKipcbiAqIFJldHVybnMgY2FwdGlvbiBhbmQgd2lkZ2V0IGJvb3RzdHJhcCBjbGFzc2VzIGZvciB0aGUgZmllbGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZpZWxkTGF5b3V0Q29uZmlnID0gKGNhcHRpb25XaWR0aCwgY2FwdGlvblBvc2l0aW9uLCBvcyk6IGFueSA9PiB7XG4gICAgbGV0IGNhcHRpb25DbHMgPSAnJyxcbiAgICAgICAgd2lkZ2V0Q2xzID0gJyc7XG5cbiAgICBjYXB0aW9uUG9zaXRpb24gPSBjYXB0aW9uUG9zaXRpb24gfHwgJ3RvcCc7XG5cbiAgICBpZiAoY2FwdGlvblBvc2l0aW9uID09PSAndG9wJyB8fCBjYXB0aW9uUG9zaXRpb24gPT09ICdmbG9hdGluZycpIHtcbiAgICAgICAgaWYgKChvcyAmJiBvcyA9PT0gJ2FuZHJvaWQnKSB8fCBpc0FuZHJvaWQoKSkgeyAvLyBJcyBhbmRyb2lkIG9yIG5vdCBhIG1vYmlsZSBhcHBsaWNhdGlvblxuICAgICAgICAgICAgY2FwdGlvbkNscyA9IHdpZGdldENscyA9ICdjb2wteHMtMTInO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChjYXB0aW9uV2lkdGgpIHtcbiAgICAgICAgLy8gaGFuZGxpbmcgaXRlbXNwZXJyb3cgY29udGFpbmluZyBzdHJpbmcgb2YgY2xhc3Nlc1xuICAgICAgICBmb3JFYWNoKHNwbGl0KGNhcHRpb25XaWR0aCwgJyAnKSwgZnVuY3Rpb24gKGNscykge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IHNwbGl0KGNscywgJy0nKSxcbiAgICAgICAgICAgICAgICB0aWVyID0ga2V5c1swXTtcbiAgICAgICAgICAgIGxldCBfY2FwdGlvbldpZHRoLFxuICAgICAgICAgICAgICAgIHdpZGdldFdpZHRoO1xuICAgICAgICAgICAgX2NhcHRpb25XaWR0aCA9IHBhcnNlSW50KGtleXNbMV0sIDEwKTtcbiAgICAgICAgICAgIHdpZGdldFdpZHRoICA9IDEyIC0gX2NhcHRpb25XaWR0aDtcbiAgICAgICAgICAgIHdpZGdldFdpZHRoICA9IHdpZGdldFdpZHRoIDw9IDAgPyAxMiA6IHdpZGdldFdpZHRoO1xuICAgICAgICAgICAgY2FwdGlvbkNscyArPSAnICcgKyAnY29sLScgKyB0aWVyICsgJy0nICsgX2NhcHRpb25XaWR0aDtcbiAgICAgICAgICAgIHdpZGdldENscyAgKz0gJyAnICsgJ2NvbC0nICsgdGllciArICctJyArIHdpZGdldFdpZHRoO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgJ2NhcHRpb25DbHMnIDogY2FwdGlvbkNscyxcbiAgICAgICAgJ3dpZGdldENscycgIDogd2lkZ2V0Q2xzXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0Vmlld01vZGVXaWRnZXQgPSB3aWRnZXQgPT4ge1xuICAgIGlmIChpbmNsdWRlcyhbJ2NoZWNrYm94JywgJ3RvZ2dsZScsICdyYXRpbmcnXSwgd2lkZ2V0KSkge1xuICAgICAgICByZXR1cm4gVklFV19NT0RFX09QVElPTlMuREVGQVVMVDtcbiAgICB9XG4gICAgcmV0dXJuIFZJRVdfTU9ERV9PUFRJT05TLkxBQkVMO1xufTtcblxuY29uc3QgcGFyc2VCb29sZWFuVmFsdWUgPSB2YWx1ZSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICgvXlxcZCskLy50ZXN0KHZhbHVlKSkgeyAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBzdHJpbmcgb2YgbnVtYmVyIHR5cGUgbGlrZSAnMTIzJ1xuICAgICAgICByZXR1cm4gK3ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VWYWx1ZUJ5VHlwZSA9ICh2YWx1ZSwgdHlwZSwgd2lkZ2V0LCB0cmFpbGluZ3plcm8/KSA9PiB7XG4gICAgaWYgKHdpZGdldCkge1xuICAgICAgICBpZiAod2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5OVU1CRVIgfHwgd2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5TTElERVIgfHwgd2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5DVVJSRU5DWSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IHRyYWlsaW5nemVybyA/IHZhbHVlIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAod2lkZ2V0ID09PSBGb3JtV2lkZ2V0VHlwZS5DSEVDS0JPWCB8fCB3aWRnZXQgPT09IEZvcm1XaWRnZXRUeXBlLlRPR0dMRSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlQm9vbGVhblZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmIChpc051bWJlclR5cGUodHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzTmFOKE51bWJlcih2YWx1ZSkpID8gbnVsbCA6IE51bWJlcih2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBEYXRhVHlwZS5CT09MRUFOKSB7XG4gICAgICAgIHJldHVybiBwYXJzZUJvb2xlYW5WYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbn07XG5cbmNvbnN0IGZpZWxkVHlwZVdpZGdldFR5cGVNYXAgPSB7XG4gICAgJ2ludGVnZXInICAgIDogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAncmF0aW5nJywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYmlnX2ludGVnZXInOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdyYXRpbmcnLCAnc2xpZGVyJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcyddLFxuICAgICdzaG9ydCcgICAgICA6IFsnbnVtYmVyJywgJ3RleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnZmxvYXQnICAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2JpZ19kZWNpbWFsJzogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnc2xpZGVyJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcyddLFxuICAgICdudW1iZXInICAgICA6IFsnbnVtYmVyJywgJ3RleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnZG91YmxlJyAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2xvbmcnICAgICAgIDogWydudW1iZXInLCAndGV4dCcsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAncmF0aW5nJywgJ3NsaWRlcicsICdjdXJyZW5jeScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYnl0ZScgICAgICAgOiBbJ251bWJlcicsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzbGlkZXInLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3N0cmluZycgICAgIDogWyd0ZXh0JywgJ251bWJlcicsICAndGV4dGFyZWEnLCAncGFzc3dvcmQnLCAncmljaHRleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ2RhdGUnLCAndGltZScsICd0aW1lc3RhbXAnLCAnc3dpdGNoJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcycsICdjb2xvcnBpY2tlciddLFxuICAgICdjaGFyYWN0ZXInICA6IFsndGV4dCcsICdudW1iZXInLCAgJ3RleHRhcmVhJywgJ3Bhc3N3b3JkJywgJ3JpY2h0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdzd2l0Y2gnLCAnY3VycmVuY3knLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3RleHQnICAgICAgIDogWyd0ZXh0JywgJ251bWJlcicsICAndGV4dGFyZWEnLCAncGFzc3dvcmQnLCAncmljaHRleHQnLCAnc2VsZWN0JywgJ2NoZWNrYm94c2V0JywgJ3JhZGlvc2V0JywgJ2RhdGUnLCAndGltZScsICd0aW1lc3RhbXAnLCAnc3dpdGNoJywgJ2N1cnJlbmN5JywgJ2F1dG9jb21wbGV0ZScsICdjaGlwcycsICdjb2xvcnBpY2tlciddLFxuICAgICdkYXRlJyAgICAgICA6IFsnZGF0ZScsICd0ZXh0JywgJ251bWJlcicsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ3RpbWUnICAgICAgIDogWyd0aW1lJywgJ3RleHQnLCAnbnVtYmVyJywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAndGltZXN0YW1wJyAgOiBbJ3RpbWVzdGFtcCcsICd0ZXh0JywgJ251bWJlcicsICdzZWxlY3QnLCAnY2hlY2tib3hzZXQnLCAncmFkaW9zZXQnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2RhdGV0aW1lJyAgIDogWydkYXRldGltZScsICd0ZXh0JywgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnXSxcbiAgICAnYm9vbGVhbicgICAgOiBbJ2NoZWNrYm94JywgJ3JhZGlvc2V0JywgJ3RvZ2dsZScsICdzZWxlY3QnXSxcbiAgICAnbGlzdCcgICAgICAgOiBbJ3NlbGVjdCcsICdyYWRpb3NldCcsICdjaGVja2JveHNldCcsICdzd2l0Y2gnLCAnYXV0b2NvbXBsZXRlJywgJ2NoaXBzJ10sXG4gICAgJ2Nsb2InICAgICAgIDogWyd0ZXh0JywgJ3RleHRhcmVhJywgJ3JpY2h0ZXh0J10sXG4gICAgJ2Jsb2InICAgICAgIDogWyd1cGxvYWQnXSxcbiAgICAnZmlsZScgICAgICAgOiBbJ3VwbG9hZCddLFxuICAgICdjdXN0b20nICAgICA6IFsndGV4dCcsICdudW1iZXInLCAgJ3RleHRhcmVhJywgJ3Bhc3N3b3JkJywgJ2NoZWNrYm94JywgJ3RvZ2dsZScsICdzbGlkZXInLCAncmljaHRleHQnLCAnY3VycmVuY3knLCAnc3dpdGNoJyxcbiAgICAgICAgJ3NlbGVjdCcsICdjaGVja2JveHNldCcsICdyYWRpb3NldCcsICdkYXRlJywgJ3RpbWUnLCAndGltZXN0YW1wJywgJ3JhdGluZycsICdkYXRldGltZScsICdhdXRvY29tcGxldGUnLCAnY2hpcHMnLCAnY29sb3JwaWNrZXInXVxufTtcblxuLy8gR2V0IHdpZGdldHMgYXBwbGljYWJsZSB0byB0aGUgZ2l2ZW4gdHlwZVxuZXhwb3J0IGNvbnN0IGdldEZpZWxkVHlwZVdpZGdldFR5cGVzTWFwID0gKCkgPT4ge1xuICAgIHJldHVybiBmaWVsZFR5cGVXaWRnZXRUeXBlTWFwO1xufTtcblxuLy8gR2V0IGZpbHRlciB3aWRnZXQgYXBwbGljYWJsZSB0byB0aGUgZ2l2ZW4gdHlwZVxuZXhwb3J0IGNvbnN0IGdldERhdGFUYWJsZUZpbHRlcldpZGdldCA9IHR5cGUgPT4ge1xuICAgIGxldCB3aWRnZXQgPSBmaWVsZFR5cGVXaWRnZXRUeXBlTWFwW3R5cGVdICYmIGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbdHlwZV1bMF07XG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLkJPT0xFQU4pIHtcbiAgICAgICAgd2lkZ2V0ID0gRm9ybVdpZGdldFR5cGUuU0VMRUNUO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZXMoW0Zvcm1XaWRnZXRUeXBlLlRFWFQsIEZvcm1XaWRnZXRUeXBlLk5VTUJFUiwgRm9ybVdpZGdldFR5cGUuU0VMRUNULCBGb3JtV2lkZ2V0VHlwZS5BVVRPQ09NUExFVEUsXG4gICAgICAgICAgICBGb3JtV2lkZ2V0VHlwZS5EQVRFLCBGb3JtV2lkZ2V0VHlwZS5USU1FLCBGb3JtV2lkZ2V0VHlwZS5EQVRFVElNRV0sIHdpZGdldCkpIHtcbiAgICAgICAgcmV0dXJuIHdpZGdldDtcbiAgICB9XG4gICAgcmV0dXJuIEZvcm1XaWRnZXRUeXBlLlRFWFQ7XG59O1xuXG4vKipcbiAqIEBuZ2RvYyBmdW5jdGlvblxuICogQG5hbWUgd20ud2lkZ2V0cy5saXZlLmdldEVkaXRNb2RlV2lkZ2V0XG4gKiBAbWV0aG9kT2Ygd20ud2lkZ2V0cy5saXZlLkxpdmVXaWRnZXRVdGlsc1xuICogQGZ1bmN0aW9uXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGRlZmF1bHQgd2lkZ2V0IGZvciBncmlkXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IGNvbERlZiBmaWVsZCBkZWZpbml0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRFZGl0TW9kZVdpZGdldCA9IGNvbERlZiA9PiB7XG4gICAgaWYgKGNvbERlZlsncmVsYXRlZC1lbnRpdHktbmFtZSddICYmIGNvbERlZlsncHJpbWFyeS1rZXknXSkge1xuICAgICAgICByZXR1cm4gRm9ybVdpZGdldFR5cGUuU0VMRUNUO1xuICAgIH1cbiAgICByZXR1cm4gKGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbY29sRGVmLnR5cGVdICYmIGZpZWxkVHlwZVdpZGdldFR5cGVNYXBbY29sRGVmLnR5cGVdWzBdKSB8fCBGb3JtV2lkZ2V0VHlwZS5URVhUO1xufTtcblxuLyoqXG4gKiBAbmdkb2MgZnVuY3Rpb25cbiAqIEBuYW1lIHdtLndpZGdldHMubGl2ZS5MaXZlV2lkZ2V0VXRpbHMjZ2V0RGVmYXVsdFZhbHVlXG4gKiBAbWV0aG9kT2Ygd20ud2lkZ2V0cy5saXZlLkxpdmVXaWRnZXRVdGlsc1xuICogQGZ1bmN0aW9uXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiByZXR1cm4gdGhlIGZvcm1hdHRlZCBkZWZhdWx0IHZhbHVlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgY29sdW1uIHR5cGUgb2YgdGhlIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0VmFsdWUgPSAodmFsdWUsIHR5cGUsIHdpZGdldCkgPT4ge1xuICAgIGlmICh3aWRnZXQpIHtcbiAgICAgICAgaWYgKHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuTlVNQkVSIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuU0xJREVSIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuQ1VSUkVOQ1kpIHtcbiAgICAgICAgICAgIHJldHVybiBpc05hTihOdW1iZXIodmFsdWUpKSA/IG51bGwgOiBOdW1iZXIodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh3aWRnZXQgPT09IEZvcm1XaWRnZXRUeXBlLkNIRUNLQk9YIHx8IHdpZGdldCA9PT0gRm9ybVdpZGdldFR5cGUuVE9HR0xFKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VCb29sZWFuVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgaWYgKGlzTnVtYmVyVHlwZSh0eXBlKSkge1xuICAgICAgICByZXR1cm4gaXNOYU4oTnVtYmVyKHZhbHVlKSkgPyBudWxsIDogTnVtYmVyKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHR5cGUgPT09IERhdGFUeXBlLkJPT0xFQU4pIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlQm9vbGVhblZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufTtcbiJdfQ==