@wavemaker/app-ng-runtime 11.14.1-rc.6310 → 11.14.2-rc.6311

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 (412) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +15 -1
  2. package/components/advanced/carousel/carousel.directive.d.ts +1 -0
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
  4. package/components/advanced/carousel/fesm2022/index.mjs +15 -1
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +24 -3
  7. package/components/advanced/login/esm2022/login.component.mjs +25 -4
  8. package/components/advanced/login/fesm2022/index.mjs +24 -3
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +5 -2
  11. package/components/base/bundles/index.umd.js +331 -36
  12. package/components/base/directives/show-in-device.directive.d.ts +2 -1
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
  15. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  16. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +27 -1
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
  29. package/components/base/fesm2022/index.mjs +327 -34
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/pipes/custom-pipes.d.ts +5 -5
  32. package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
  33. package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
  34. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
  35. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
  36. package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
  37. package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
  38. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  39. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +3 -2
  40. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
  41. package/components/basic/anchor/bundles/index.umd.js +13 -1
  42. package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
  43. package/components/basic/anchor/fesm2022/index.mjs +13 -1
  44. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  45. package/components/basic/html/bundles/index.umd.js +13 -1
  46. package/components/basic/html/esm2022/html.directive.mjs +14 -2
  47. package/components/basic/html/fesm2022/index.mjs +13 -1
  48. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  49. package/components/basic/label/bundles/index.umd.js +17 -1
  50. package/components/basic/label/esm2022/label.directive.mjs +18 -2
  51. package/components/basic/label/fesm2022/index.mjs +17 -1
  52. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  53. package/components/basic/label/label.directive.d.ts +3 -2
  54. package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
  55. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
  56. package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
  57. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  58. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -2
  59. package/components/basic/search/bundles/index.umd.js +31 -5
  60. package/components/basic/search/esm2022/scrollable.directive.mjs +13 -4
  61. package/components/basic/search/esm2022/search.component.mjs +20 -3
  62. package/components/basic/search/fesm2022/index.mjs +31 -5
  63. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  64. package/components/basic/search/scrollable.directive.d.ts +5 -3
  65. package/components/basic/search/search.component.d.ts +3 -2
  66. package/components/basic/spinner/bundles/index.umd.js +9 -1
  67. package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
  68. package/components/basic/spinner/fesm2022/index.mjs +9 -1
  69. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  70. package/components/basic/spinner/spinner.component.d.ts +4 -2
  71. package/components/chart/bundles/index.umd.js +21 -3
  72. package/components/chart/esm2022/chart.component.mjs +22 -4
  73. package/components/chart/fesm2022/index.mjs +21 -3
  74. package/components/chart/fesm2022/index.mjs.map +1 -1
  75. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
  76. package/components/containers/accordion/accordion.directive.d.ts +5 -2
  77. package/components/containers/accordion/bundles/index.umd.js +49 -2
  78. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
  79. package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
  80. package/components/containers/accordion/fesm2022/index.mjs +49 -2
  81. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  82. package/components/containers/panel/bundles/index.umd.js +13 -0
  83. package/components/containers/panel/esm2022/panel.component.mjs +14 -1
  84. package/components/containers/panel/fesm2022/index.mjs +13 -0
  85. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  86. package/components/containers/panel/panel.component.d.ts +3 -2
  87. package/components/containers/tabs/bundles/index.umd.js +54 -2
  88. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
  89. package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
  90. package/components/containers/tabs/fesm2022/index.mjs +54 -2
  91. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  92. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
  93. package/components/containers/tabs/tabs.component.d.ts +5 -2
  94. package/components/containers/wizard/bundles/index.umd.js +47 -3
  95. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
  96. package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
  97. package/components/containers/wizard/fesm2022/index.mjs +47 -3
  98. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  99. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
  100. package/components/containers/wizard/wizard.component.d.ts +4 -2
  101. package/components/data/card/bundles/index.umd.js +17 -1
  102. package/components/data/card/card-content/card-content.component.d.ts +3 -2
  103. package/components/data/card/card.component.d.ts +4 -2
  104. package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
  105. package/components/data/card/esm2022/card.component.mjs +13 -2
  106. package/components/data/card/fesm2022/index.mjs +17 -1
  107. package/components/data/card/fesm2022/index.mjs.map +1 -1
  108. package/components/data/form/bundles/index.umd.js +92 -0
  109. package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
  110. package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
  111. package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
  112. package/components/data/form/esm2022/form.component.mjs +27 -1
  113. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
  114. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
  115. package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
  116. package/components/data/form/fesm2022/index.mjs +92 -0
  117. package/components/data/form/fesm2022/index.mjs.map +1 -1
  118. package/components/data/form/form-action/form-action.directive.d.ts +3 -2
  119. package/components/data/form/form-field/form-field.directive.d.ts +3 -2
  120. package/components/data/form/form-widget.directive.d.ts +3 -2
  121. package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
  122. package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
  123. package/components/data/form/live-form/live-form.directive.d.ts +3 -1
  124. package/components/data/list/bundles/index.umd.js +213 -19
  125. package/components/data/list/esm2022/list-item.directive.mjs +95 -11
  126. package/components/data/list/esm2022/list.component.mjs +120 -10
  127. package/components/data/list/fesm2022/index.mjs +213 -19
  128. package/components/data/list/fesm2022/index.mjs.map +1 -1
  129. package/components/data/list/list-item.directive.d.ts +7 -2
  130. package/components/data/list/list.component.d.ts +7 -0
  131. package/components/data/live-table/bundles/index.umd.js +13 -1
  132. package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
  133. package/components/data/live-table/fesm2022/index.mjs +13 -1
  134. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  135. package/components/data/live-table/live-table.component.d.ts +4 -2
  136. package/components/data/pagination/bundles/index.umd.js +57 -4
  137. package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
  138. package/components/data/pagination/fesm2022/index.mjs +57 -4
  139. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  140. package/components/data/pagination/pagination.component.d.ts +4 -2
  141. package/components/data/table/bundles/index.umd.js +345 -15
  142. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  143. package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
  144. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  145. package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
  146. package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
  147. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  148. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  149. package/components/data/table/esm2022/table.component.mjs +193 -12
  150. package/components/data/table/fesm2022/index.mjs +345 -15
  151. package/components/data/table/fesm2022/index.mjs.map +1 -1
  152. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  153. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  154. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  155. package/components/data/table/table-cud.directive.d.ts +3 -1
  156. package/components/data/table/table-filter.directive.d.ts +3 -1
  157. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  158. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  159. package/components/data/table/table.component.d.ts +6 -2
  160. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
  161. package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
  162. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
  164. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  165. package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
  166. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
  167. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
  169. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  170. package/components/dialogs/default/bundles/index.umd.js +15 -2
  171. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
  172. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
  173. package/components/dialogs/default/fesm2022/index.mjs +15 -2
  174. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  175. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
  176. package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  177. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
  179. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  180. package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
  181. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
  183. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  184. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
  185. package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
  186. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
  188. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  189. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
  190. package/components/input/base-form/base-form.component.d.ts +4 -2
  191. package/components/input/base-form/bundles/index.umd.js +16 -2
  192. package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
  193. package/components/input/base-form/fesm2022/index.mjs +16 -2
  194. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  195. package/components/input/base-form-custom/base-form-custom.component.d.ts +3 -2
  196. package/components/input/base-form-custom/bundles/index.umd.js +13 -2
  197. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
  198. package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
  199. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  200. package/components/input/checkbox/bundles/index.umd.js +7 -0
  201. package/components/input/checkbox/checkbox.component.d.ts +3 -2
  202. package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
  203. package/components/input/checkbox/fesm2022/index.mjs +7 -0
  204. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  205. package/components/input/checkboxset/bundles/index.umd.js +18 -2
  206. package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
  207. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
  208. package/components/input/checkboxset/fesm2022/index.mjs +18 -2
  209. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  210. package/components/input/chips/bundles/index.umd.js +45 -5
  211. package/components/input/chips/chips.component.d.ts +3 -2
  212. package/components/input/chips/esm2022/chips.component.mjs +46 -6
  213. package/components/input/chips/fesm2022/index.mjs +45 -5
  214. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  215. package/components/input/color-picker/bundles/index.umd.js +8 -0
  216. package/components/input/color-picker/color-picker.component.d.ts +3 -2
  217. package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
  218. package/components/input/color-picker/fesm2022/index.mjs +8 -0
  219. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  220. package/components/input/composite/bundles/index.umd.js +10 -1
  221. package/components/input/composite/composite.directive.d.ts +3 -2
  222. package/components/input/composite/esm2022/composite.directive.mjs +11 -2
  223. package/components/input/composite/fesm2022/index.mjs +10 -1
  224. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  225. package/components/input/currency/bundles/index.umd.js +7 -0
  226. package/components/input/currency/currency.component.d.ts +3 -2
  227. package/components/input/currency/esm2022/currency.component.mjs +8 -1
  228. package/components/input/currency/fesm2022/index.mjs +7 -0
  229. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  230. package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
  231. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
  233. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  234. package/components/input/epoch/date/bundles/index.umd.js +22 -0
  235. package/components/input/epoch/date/date.component.d.ts +1 -0
  236. package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
  237. package/components/input/epoch/date/fesm2022/index.mjs +22 -0
  238. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  239. package/components/input/file-upload/bundles/index.umd.js +25 -8
  240. package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
  241. package/components/input/file-upload/fesm2022/index.mjs +25 -8
  242. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  243. package/components/input/file-upload/file-upload.component.d.ts +3 -0
  244. package/components/input/number/bundles/index.umd.js +8 -0
  245. package/components/input/number/esm2022/number.component.mjs +9 -1
  246. package/components/input/number/fesm2022/index.mjs +8 -0
  247. package/components/input/number/fesm2022/index.mjs.map +1 -1
  248. package/components/input/number/number.component.d.ts +3 -2
  249. package/components/input/radioset/bundles/index.umd.js +18 -2
  250. package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
  251. package/components/input/radioset/fesm2022/index.mjs +18 -2
  252. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  253. package/components/input/radioset/radioset.component.d.ts +4 -2
  254. package/components/input/rating/bundles/index.umd.js +10 -0
  255. package/components/input/rating/esm2022/rating.component.mjs +11 -1
  256. package/components/input/rating/fesm2022/index.mjs +10 -0
  257. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  258. package/components/input/rating/rating.component.d.ts +3 -2
  259. package/components/input/select/bundles/index.umd.js +6 -0
  260. package/components/input/select/esm2022/select.component.mjs +7 -1
  261. package/components/input/select/fesm2022/index.mjs +6 -0
  262. package/components/input/select/fesm2022/index.mjs.map +1 -1
  263. package/components/input/select/select.component.d.ts +3 -2
  264. package/components/input/slider/bundles/index.umd.js +10 -0
  265. package/components/input/slider/esm2022/slider.component.mjs +11 -1
  266. package/components/input/slider/fesm2022/index.mjs +10 -0
  267. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  268. package/components/input/slider/slider.component.d.ts +3 -2
  269. package/components/input/switch/bundles/index.umd.js +22 -2
  270. package/components/input/switch/esm2022/switch.component.mjs +23 -3
  271. package/components/input/switch/fesm2022/index.mjs +22 -2
  272. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  273. package/components/input/switch/switch.component.d.ts +3 -2
  274. package/components/input/text/bundles/index.umd.js +36 -0
  275. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
  276. package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
  277. package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
  278. package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
  279. package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
  280. package/components/input/text/fesm2022/index.mjs +36 -0
  281. package/components/input/text/fesm2022/index.mjs.map +1 -1
  282. package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
  283. package/components/input/text/input-color/input-color.component.d.ts +3 -2
  284. package/components/input/text/input-email/input-email.component.d.ts +3 -2
  285. package/components/input/text/input-number/input-number.component.d.ts +3 -2
  286. package/components/input/text/input-text/input-text.component.d.ts +3 -2
  287. package/components/input/textarea/bundles/index.umd.js +7 -0
  288. package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
  289. package/components/input/textarea/fesm2022/index.mjs +7 -0
  290. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  291. package/components/input/textarea/textarea.component.d.ts +3 -2
  292. package/components/navigation/menu/bundles/index.umd.js +55 -6
  293. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
  294. package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
  295. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
  296. package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
  297. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
  298. package/components/navigation/menu/fesm2022/index.mjs +55 -6
  299. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  300. package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
  301. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
  302. package/components/navigation/menu/nav/nav.component.d.ts +3 -2
  303. package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
  304. package/components/navigation/navbar/bundles/index.umd.js +5 -0
  305. package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
  306. package/components/navigation/navbar/fesm2022/index.mjs +5 -0
  307. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  308. package/components/navigation/navbar/navbar.component.d.ts +3 -2
  309. package/components/navigation/popover/bundles/index.umd.js +65 -13
  310. package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
  311. package/components/navigation/popover/fesm2022/index.mjs +62 -10
  312. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  313. package/components/navigation/popover/popover.component.d.ts +11 -3
  314. package/components/page/default/bundles/index.umd.js +30 -6
  315. package/components/page/default/esm2022/layout.directive.mjs +9 -1
  316. package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
  317. package/components/page/default/esm2022/router-outlet.directive.mjs +13 -6
  318. package/components/page/default/fesm2022/index.mjs +30 -6
  319. package/components/page/default/fesm2022/index.mjs.map +1 -1
  320. package/components/page/default/layout.directive.d.ts +3 -2
  321. package/components/page/default/page-content/page-content.component.d.ts +3 -2
  322. package/components/page/default/router-outlet.directive.d.ts +5 -2
  323. package/components/page/left-panel/bundles/index.umd.js +16 -0
  324. package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
  325. package/components/page/left-panel/fesm2022/index.mjs +16 -0
  326. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  327. package/components/page/left-panel/left-panel.directive.d.ts +3 -2
  328. package/components/page/top-nav/bundles/index.umd.js +2 -1
  329. package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  330. package/components/page/top-nav/fesm2022/index.mjs +2 -1
  331. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  332. package/components/prefab/bundles/index.umd.js +4 -0
  333. package/components/prefab/esm2022/prefab.directive.mjs +5 -1
  334. package/components/prefab/fesm2022/index.mjs +4 -0
  335. package/components/prefab/fesm2022/index.mjs.map +1 -1
  336. package/core/bundles/index.umd.js +391 -94
  337. package/core/esm2022/public_api.mjs +3 -3
  338. package/core/esm2022/services/viewport.service.mjs +24 -10
  339. package/core/esm2022/types/types.mjs +1 -1
  340. package/core/esm2022/utils/dom.mjs +18 -2
  341. package/core/esm2022/utils/event-notifier.mjs +5 -2
  342. package/core/esm2022/utils/lru-cache.mjs +16 -2
  343. package/core/esm2022/utils/utils.mjs +6 -2
  344. package/core/esm2022/utils/watcher.mjs +323 -81
  345. package/core/fesm2022/index.mjs +390 -96
  346. package/core/fesm2022/index.mjs.map +1 -1
  347. package/core/public_api.d.ts +2 -2
  348. package/core/services/viewport.service.d.ts +5 -2
  349. package/core/types/types.d.ts +1 -0
  350. package/core/utils/lru-cache.d.ts +6 -0
  351. package/core/utils/utils.d.ts +1 -0
  352. package/core/utils/watcher.d.ts +26 -5
  353. package/http/bundles/index.umd.js +31 -1
  354. package/http/esm2022/http.service.mjs +32 -2
  355. package/http/fesm2022/index.mjs +31 -1
  356. package/http/fesm2022/index.mjs.map +1 -1
  357. package/http/http.service.d.ts +6 -2
  358. package/npm-shrinkwrap.json +2 -2
  359. package/oAuth/bundles/index.umd.js +9 -0
  360. package/oAuth/esm2022/oAuth.service.mjs +10 -1
  361. package/oAuth/fesm2022/index.mjs +9 -0
  362. package/oAuth/fesm2022/index.mjs.map +1 -1
  363. package/oAuth/oAuth.service.d.ts +3 -1
  364. package/package-lock.json +2 -2
  365. package/package.json +1 -1
  366. package/runtime/base/bundles/index.umd.js +367 -32
  367. package/runtime/base/components/app-component/app.component.d.ts +4 -0
  368. package/runtime/base/components/prefab-preview.component.d.ts +5 -2
  369. package/runtime/base/directives/accessroles.directive.d.ts +4 -3
  370. package/runtime/base/directives/prefab.directive.d.ts +3 -2
  371. package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
  372. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
  373. package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
  374. package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
  375. package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
  376. package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
  377. package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
  378. package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
  379. package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
  380. package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
  381. package/runtime/base/esm2022/services/app.manager.service.mjs +40 -12
  382. package/runtime/base/esm2022/services/app.service.mjs +34 -2
  383. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
  384. package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
  385. package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
  386. package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
  387. package/runtime/base/fesm2022/index.mjs +368 -33
  388. package/runtime/base/fesm2022/index.mjs.map +1 -1
  389. package/runtime/base/runtime-base.module.d.ts +2 -2
  390. package/runtime/base/services/app.manager.service.d.ts +6 -1
  391. package/runtime/base/services/app.service.d.ts +12 -2
  392. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
  393. package/runtime/base/services/spinner.service.d.ts +3 -1
  394. package/runtime/base/util/fragment-monitor.d.ts +6 -0
  395. package/runtime/dynamic/bundles/index.umd.js +5 -0
  396. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
  397. package/runtime/dynamic/fesm2022/index.mjs +5 -0
  398. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  399. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  400. package/scripts/datatable/datatable.js +100 -14
  401. package/security/bundles/index.umd.js +41 -2
  402. package/security/esm2022/security.service.mjs +42 -3
  403. package/security/fesm2022/index.mjs +41 -2
  404. package/security/fesm2022/index.mjs.map +1 -1
  405. package/security/security.service.d.ts +5 -2
  406. package/variables/bundles/index.umd.js +50 -6
  407. package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
  408. package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
  409. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
  410. package/variables/esm2022/service/variables.service.mjs +8 -2
  411. package/variables/fesm2022/index.mjs +50 -6
  412. package/variables/fesm2022/index.mjs.map +1 -1
@@ -50,7 +50,8 @@ class CardComponent extends MenuAdapterComponent {
50
50
  super.ngOnInit();
51
51
  removeAttr(this.nativeElement.parentElement, 'tabindex');
52
52
  setAttr(this.nativeElement, 'tabindex', 0);
53
- this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
53
+ // MEMORY LEAK FIX: Store listener reference for cleanup
54
+ this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {
54
55
  e.preventDefault();
55
56
  this.nativeElement.click();
56
57
  });
@@ -63,6 +64,16 @@ class CardComponent extends MenuAdapterComponent {
63
64
  super.onPropertyChange(key, nv, ov);
64
65
  }
65
66
  }
67
+ ngOnDestroy() {
68
+ // MEMORY LEAK FIX: Remove event listener
69
+ if (this.keydownListener) {
70
+ this.keydownListener();
71
+ this.keydownListener = null;
72
+ }
73
+ // MEMORY LEAK FIX: Clear ViewChild reference
74
+ this.cardContainerElRef = null;
75
+ super.ngOnDestroy();
76
+ }
66
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardComponent, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
67
78
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CardComponent, isStandalone: true, selector: "[wmCard]", providers: [
68
79
  provideAsWidgetRef(CardComponent)
@@ -141,6 +152,11 @@ class CardContentComponent extends StylableComponent {
141
152
  super.ngAfterViewInit();
142
153
  styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);
143
154
  }
155
+ ngOnDestroy() {
156
+ // MEMORY LEAK FIX: Clear ViewChild reference
157
+ this.cardContentContainerElRef = null;
158
+ super.ngOnDestroy();
159
+ }
144
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardContentComponent, deps: [{ token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
145
161
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CardContentComponent, isStandalone: true, selector: "div[wmCardContent]", providers: [
146
162
  provideAsWidgetRef(CardContentComponent)
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/card/src/card.props.ts","../../../../../projects/components/widgets/data/card/src/card.component.ts","../../../../../projects/components/widgets/data/card/src/card.component.html","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.props.ts","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.directive.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.props.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.html","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.props.ts","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.directive.ts","../../../../../projects/components/widgets/data/card/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card',\n new Map(\n [\n ['actions', PROP_STRING],\n ['animation', PROP_STRING],\n ['class', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['imageheight', {value: '200px', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['picturesource', PROP_STRING],\n ['picturetitle', {value: '', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective } from \"@wm/components/base\";\nimport { PictureDirective } from '@wm/components/basic/picture';\nimport { MenuComponent } from '@wm/components/navigation/menu';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Injector,\n OnInit,\n Renderer2,\n Optional,\n ViewChild,\n Inject\n} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { MenuAdapterComponent } from '@wm/components/navigation/menu';\n\nimport { registerProps } from './card.props';\nimport {removeAttr, setAttr} from '@wm/core';\n\nconst DEFAULT_CLS = 'app-card card app-panel';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent],\n selector: '[wmCard]',\n templateUrl: './card.component.html',\n providers: [\n provideAsWidgetRef(CardComponent)\n ]\n})\nexport class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit {\n static initializeProps = registerProps();\n\n public showHeader: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public iconurl: string;\n public actions: string;\n public picturesource;\n\n @ViewChild('cardContainerWrapper', { static: true }) private cardContainerElRef: ElementRef;\n\n constructor(inj: Injector, private render2: Renderer2, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n ngOnInit() {\n super.ngOnInit();\n removeAttr(this.nativeElement.parentElement, 'tabindex');\n setAttr(this.nativeElement, 'tabindex', 0);\n this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {\n e.preventDefault();\n this.nativeElement.click();\n });\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'title' || key === 'subheading' || key === 'iconclass' || key === 'iconurl' || key === 'actions') {\n this.showHeader = !!(this.title || this.subheading || this.iconclass || this.iconurl || this.actions);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n\n// Todo(swathi) - menu\n","@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n @if (iconclass && !iconurl) {\n <i class=\"app-icon\" [ngClass]=\"iconclass\"></i>\n }\n @if (iconurl) {\n <img class=\"img-circle\" [src]=\"iconurl\" />\n }\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-actions',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-actions.props';\n\nconst DEFAULT_CLS = 'app-card-actions';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-actions',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardActions]'\n})\nexport class CardActionsDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ElementRef, Inject, Injector, Optional, ViewChild} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-content.props';\n\nconst DEFAULT_CLS = 'app-card-content card-body card-block';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-content',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n selector: 'div[wmCardContent]',\n templateUrl: './card-content.component.html',\n providers: [\n provideAsWidgetRef(CardContentComponent)\n ]\n})\nexport class CardContentComponent extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n @ViewChild('cardContentContainer') private cardContentContainerElRef: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","<div partial-container-target #cardContentContainer>\n <ng-content></ng-content>\n</div>","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-footer',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-footer.props';\n\nconst DEFAULT_CLS = 'app-card-footer text-muted card-footer';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-footer',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardFooter]'\n})\nexport class CardFooterDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/card/src/card.props.ts","../../../../../projects/components/widgets/data/card/src/card.component.ts","../../../../../projects/components/widgets/data/card/src/card.component.html","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.props.ts","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.directive.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.props.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.html","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.props.ts","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.directive.ts","../../../../../projects/components/widgets/data/card/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card',\n new Map(\n [\n ['actions', PROP_STRING],\n ['animation', PROP_STRING],\n ['class', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['imageheight', {value: '200px', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['picturesource', PROP_STRING],\n ['picturetitle', {value: '', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective } from \"@wm/components/base\";\nimport { PictureDirective } from '@wm/components/basic/picture';\nimport { MenuComponent } from '@wm/components/navigation/menu';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Injector,\n OnInit,\n OnDestroy,\n Renderer2,\n Optional,\n ViewChild,\n Inject\n} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { MenuAdapterComponent } from '@wm/components/navigation/menu';\n\nimport { registerProps } from './card.props';\nimport {removeAttr, setAttr} from '@wm/core';\n\nconst DEFAULT_CLS = 'app-card card app-panel';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent],\n selector: '[wmCard]',\n templateUrl: './card.component.html',\n providers: [\n provideAsWidgetRef(CardComponent)\n ]\n})\nexport class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public showHeader: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public iconurl: string;\n public actions: string;\n public picturesource;\n\n @ViewChild('cardContainerWrapper', { static: true }) private cardContainerElRef: ElementRef;\n private keydownListener: () => void;\n\n constructor(inj: Injector, private render2: Renderer2, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n ngOnInit() {\n super.ngOnInit();\n removeAttr(this.nativeElement.parentElement, 'tabindex');\n setAttr(this.nativeElement, 'tabindex', 0);\n \n // MEMORY LEAK FIX: Store listener reference for cleanup\n this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {\n e.preventDefault();\n this.nativeElement.click();\n });\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'title' || key === 'subheading' || key === 'iconclass' || key === 'iconurl' || key === 'actions') {\n this.showHeader = !!(this.title || this.subheading || this.iconclass || this.iconurl || this.actions);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener\n if (this.keydownListener) {\n this.keydownListener();\n this.keydownListener = null;\n }\n\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n\n// Todo(swathi) - menu\n","@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n @if (iconclass && !iconurl) {\n <i class=\"app-icon\" [ngClass]=\"iconclass\"></i>\n }\n @if (iconurl) {\n <img class=\"img-circle\" [src]=\"iconurl\" />\n }\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-actions',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-actions.props';\n\nconst DEFAULT_CLS = 'app-card-actions';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-actions',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardActions]'\n})\nexport class CardActionsDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ElementRef, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-content.props';\n\nconst DEFAULT_CLS = 'app-card-content card-body card-block';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-content',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n selector: 'div[wmCardContent]',\n templateUrl: './card-content.component.html',\n providers: [\n provideAsWidgetRef(CardContentComponent)\n ]\n})\nexport class CardContentComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n @ViewChild('cardContentContainer') private cardContentContainerElRef: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContentContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n","<div partial-container-target #cardContentContainer>\n <ng-content></ng-content>\n</div>","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-footer',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-footer.props';\n\nconst DEFAULT_CLS = 'app-card-footer text-muted card-footer';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-footer',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardFooter]'\n})\nexport class CardFooterDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
@@ -1192,6 +1192,32 @@
1192
1192
  this.parentForm.ngform.removeControl(this.name);
1193
1193
  }
1194
1194
  }
1195
+ // MEMORY LEAK FIX: Clear ViewContainerRef for dynamically generated form fields
1196
+ if (this.dynamicFormRef) {
1197
+ this.dynamicFormRef.clear();
1198
+ }
1199
+ // MEMORY LEAK FIX: Clear dynamic context object
1200
+ if (this._dynamicContext) {
1201
+ Object.keys(this._dynamicContext).forEach(key => {
1202
+ delete this._dynamicContext[key];
1203
+ });
1204
+ this._dynamicContext = null;
1205
+ }
1206
+ // MEMORY LEAK FIX: Clear all data arrays and objects
1207
+ this.formFields = [];
1208
+ this.formWidgets = {};
1209
+ this.filterWidgets = {};
1210
+ this.buttonArray = [];
1211
+ this.validationMessages = [];
1212
+ this.formdata = {};
1213
+ this.dataoutput = {};
1214
+ this.formfields = {};
1215
+ this.prevDataValues = null;
1216
+ this.prevDataObject = null;
1217
+ this.prevformFields = null;
1218
+ // MEMORY LEAK FIX: Nullify debounced function closures
1219
+ this._debouncedUpdateFieldSource = null;
1220
+ this._debouncedSubmitForm = null;
1195
1221
  super.ngOnDestroy();
1196
1222
  }
1197
1223
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: FormComponent, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace.FormBuilder }, { token: i1$1__namespace.App }, { token: i1$1__namespace.AbstractDialogService }, { token: i1$1__namespace.DynamicComponentRefProvider }, { token: i0__namespace.NgZone }, { token: i3__namespace.ListComponent, optional: true }, { token: FormComponent, optional: true, skipSelf: true }, { token: i4__namespace.PrefabDirective, optional: true, skipSelf: true }, { token: i5__namespace.PartialDirective, optional: true, skipSelf: true }, { token: 'beforesubmit.event', attribute: true }, { token: 'submit.event', attribute: true }, { token: 'beforerender.event', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'formdata.bind', attribute: true }, { token: 'wmLiveForm', attribute: true }, { token: 'wmLiveFilter', attribute: true }, { token: 'data-role', attribute: true }, { token: 'key', attribute: true }, { token: 'name', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
@@ -1313,6 +1339,13 @@
1313
1339
  this.parent.registerFormWidget(this.componentInstance);
1314
1340
  }
1315
1341
  }
1342
+ ngOnDestroy() {
1343
+ // MEMORY LEAK FIX: Clear all references
1344
+ this.ngform = null;
1345
+ this.fb = null;
1346
+ this.parent = null;
1347
+ this.componentInstance = null;
1348
+ }
1316
1349
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: FormWidgetDirective, deps: [{ token: FormComponent, optional: true }, { token: table.TableComponent, optional: true }, { token: i5.WidgetRef, self: true }, { token: i1__namespace.FormBuilder }, { token: 'name', attribute: true }, { token: 'key', attribute: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
1317
1350
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FormWidgetDirective, isStandalone: true, selector: "[wmFormWidget]", ngImport: i0__namespace }); }
1318
1351
  }
@@ -1419,6 +1452,12 @@
1419
1452
  break;
1420
1453
  }
1421
1454
  }
1455
+ ngOnDestroy() {
1456
+ // MEMORY LEAK FIX: Clear references
1457
+ this.form = null;
1458
+ this.buttonDef = null;
1459
+ super.ngOnDestroy();
1460
+ }
1422
1461
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: FormActionDirective, deps: [{ token: i0__namespace.Injector }, { token: FormComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
1423
1462
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FormActionDirective, isStandalone: true, selector: "[wmFormAction]", providers: [
1424
1463
  i5.provideAsWidgetRef(FormActionDirective)
@@ -1975,6 +2014,33 @@
1975
2014
  }
1976
2015
  }
1977
2016
  }
2017
+ ngOnDestroy() {
2018
+ // MEMORY LEAK FIX: Destroy BaseFieldValidations instance
2019
+ if (this.fieldValidations) {
2020
+ try {
2021
+ this.fieldValidations.destroy();
2022
+ }
2023
+ catch (e) {
2024
+ // Silently handle cleanup errors
2025
+ }
2026
+ this.fieldValidations = null;
2027
+ }
2028
+ // MEMORY LEAK FIX: Clear notifyForFields array
2029
+ if (this.notifyForFields) {
2030
+ this.notifyForFields = [];
2031
+ }
2032
+ // MEMORY LEAK FIX: Nullify debounced function closure
2033
+ this._debounceSetUpValidators = null;
2034
+ // MEMORY LEAK FIX: Clear form widget references
2035
+ this.formWidget = null;
2036
+ this.formWidgetMax = null;
2037
+ // MEMORY LEAK FIX: Clear field definition config
2038
+ if (this.fieldDefConfig) {
2039
+ this.fieldDefConfig = {};
2040
+ }
2041
+ // Call parent ngOnDestroy (StylableComponent extends BaseComponent which has cleanup)
2042
+ super.ngOnDestroy();
2043
+ }
1978
2044
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: FormFieldDirective, deps: [{ token: i0__namespace.Injector }, { token: FormComponent }, { token: i1__namespace.FormBuilder }, { token: i1$1__namespace.Viewport }, { token: i1$1__namespace.App }, { token: i3__namespace.ListComponent, optional: true }, { token: 'chipclass.bind', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'displayexpression.bind', attribute: true }, { token: 'displaylabel.bind', attribute: true }, { token: 'widgettype', attribute: true }, { token: 'name', attribute: true }, { token: 'displayimagesrc.bind', attribute: true }, { token: 'key', attribute: true }, { token: 'is-range', attribute: true }, { token: 'pc-display', attribute: true }, { token: 'mobile-display', attribute: true }, { token: 'tablet-display', attribute: true }, { token: i5.Context, self: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
1979
2045
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldDirective, isStandalone: true, selector: "[wmFormField]", host: { listeners: { "keydown": "onKeydownHandler($event)", "click": "handleClick($event)" } }, providers: [
1980
2046
  i5.provideAsWidgetRef(FormFieldDirective),
@@ -2201,6 +2267,12 @@
2201
2267
  options.error = error;
2202
2268
  this.performOperation(operation, options);
2203
2269
  }
2270
+ ngOnDestroy() {
2271
+ // MEMORY LEAK FIX: Clear references
2272
+ this.subscribedWidget = null;
2273
+ this.app = null;
2274
+ this.dialogService = null;
2275
+ }
2204
2276
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: LiveActionsDirective, deps: [{ token: i3.ListComponent, self: true }, { token: i1$1__namespace.App }, { token: i1$1__namespace.AbstractDialogService }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
2205
2277
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LiveActionsDirective, isStandalone: true, selector: "[wmLiveActions]", ngImport: i0__namespace }); }
2206
2278
  }
@@ -2682,6 +2754,17 @@
2682
2754
  const name = widget.key || widget.name;
2683
2755
  this.form.filterWidgets[name] = widget;
2684
2756
  }
2757
+ ngOnDestroy() {
2758
+ // MEMORY LEAK FIX: Cancel debounced function
2759
+ if (this._filter && this._filter.cancel) {
2760
+ this._filter.cancel();
2761
+ this._filter = null;
2762
+ }
2763
+ // MEMORY LEAK FIX: Clear form reference
2764
+ this.form = null;
2765
+ this._options = null;
2766
+ this.orderBy = null;
2767
+ }
2685
2768
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: LiveFilterDirective, deps: [{ token: FormComponent, self: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
2686
2769
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LiveFilterDirective, isStandalone: true, selector: "[wmLiveFilter]", ngImport: i0__namespace }); }
2687
2770
  }
@@ -3156,6 +3239,15 @@
3156
3239
  this.form.onResultCb(response.result, response.status, event);
3157
3240
  });
3158
3241
  }
3242
+ ngOnDestroy() {
3243
+ // MEMORY LEAK FIX: Cancel debounced function
3244
+ if (this._debouncedSavePrevDataValues && this._debouncedSavePrevDataValues.cancel) {
3245
+ this._debouncedSavePrevDataValues.cancel();
3246
+ this._debouncedSavePrevDataValues = null;
3247
+ }
3248
+ // MEMORY LEAK FIX: Clear form reference
3249
+ this.form = null;
3250
+ }
3159
3251
  static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0__namespace, type: LiveFormDirective, deps: [{ token: FormComponent, self: true }, { token: i1$2__namespace.LiveTableComponent, optional: true }, { token: i5__namespace.ToDatePipe }, { token: i1$1__namespace.AbstractDialogService }, { token: 'formlayout', attribute: true }], target: i0__namespace.ɵɵFactoryTarget.Directive }); }
3160
3252
  static { this.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: LiveFormDirective, isStandalone: true, selector: "[wmLiveForm]", host: { listeners: { "keydown": "onKeydownHandler($event)" } }, ngImport: i0__namespace }); }
3161
3253
  }
@@ -55,6 +55,12 @@ export class FormActionDirective extends BaseComponent {
55
55
  break;
56
56
  }
57
57
  }
58
+ ngOnDestroy() {
59
+ // MEMORY LEAK FIX: Clear references
60
+ this.form = null;
61
+ this.buttonDef = null;
62
+ super.ngOnDestroy();
63
+ }
58
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormActionDirective, deps: [{ token: i0.Injector }, { token: i1.FormComponent, optional: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
59
65
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FormActionDirective, isStandalone: true, selector: "[wmFormAction]", providers: [
60
66
  provideAsWidgetRef(FormActionDirective)
@@ -77,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
83
  }, {
78
84
  type: Optional
79
85
  }] }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvZm9ybS9zcmMvZm9ybS1hY3Rpb24vZm9ybS1hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBVSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7O0FBRXRDLE1BQU0sYUFBYSxHQUFHLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUMsQ0FBQztBQVNwRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTthQUMzQyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQXdCekMsWUFBWSxHQUFhLEVBQXFCLElBQW1CLEVBQTBDLGVBQW9CO1FBQzNILEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBREQsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUVqRSxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDYixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTztZQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFO1lBQy9CLEtBQUssRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDMUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzNDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDL0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1gsQ0FBQztRQUNELFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQy9DLE1BQU07WUFDVixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3BDO2dCQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixNQUFNO1FBQ1YsQ0FBQztJQUNMLENBQUM7K0dBekVRLG1CQUFtQix1RkF5QitDLGtCQUFrQjttR0F6QnBGLG1CQUFtQiw2REFKakI7WUFDUCxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztTQUMxQzs7NEZBRVEsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNkLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IscUJBQXFCO3FCQUMxQztpQkFDSjs7MEJBMEIrQixRQUFROzswQkFBZ0MsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudCwgcHJvdmlkZUFzV2lkZ2V0UmVmfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL2Zvcm0tYWN0aW9uLnByb3BzJztcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtpc1VuZGVmaW5lZH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS1mb3JtLWFjdGlvbicsIGhvc3RDbGFzczogJyd9O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t3bUZvcm1BY3Rpb25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKEZvcm1BY3Rpb25EaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQWN0aW9uRGlyZWN0aXZlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIGFjY2Vzc3JvbGVzO1xuICAgIGFjdGlvbjtcbiAgICBiaW5kaW5nO1xuICAgIGNsYXNzO1xuICAgIGRpc2FibGVkO1xuICAgIGRpc3BsYXlOYW1lO1xuICAgIGljb25jbGFzcztcbiAgICBpY29ubmFtZTtcbiAgICBrZXk7XG4gICAgcG9zaXRpb247XG4gICAgc2hvcnRjdXRrZXk7XG4gICAgc2hvdztcbiAgICB0YWJpbmRleDtcbiAgICB0aXRsZTtcbiAgICB0eXBlO1xuICAgIHVwZGF0ZU1vZGU7XG4gICAgYnV0dG9uRGVmO1xuICAgIGh5cGVybGluaztcbiAgICB0YXJnZXQ7XG5cbiAgICBwcml2YXRlIF9wcm9wc0luaXRpYWxpemVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgcHVibGljIGZvcm06IEZvcm1Db21wb25lbnQsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgcG9wdWxhdGVBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uRGVmID0ge1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSB8fCB0aGlzLmJpbmRpbmcsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogdGhpc1snZGlzcGxheS1uYW1lJ10sXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3csXG4gICAgICAgICAgICBjbGFzczogdGhpcy5jbGFzcyA/IHRoaXMuY2xhc3MgOiAodGhpc1snd2lkZ2V0LXR5cGUnXSA9PT0gJ2J1dHRvbicgPyAnYnRuLXNlY29uZGFyeScgOiAnJyksXG4gICAgICAgICAgICBpY29uY2xhc3M6IHRoaXMuaWNvbmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgdGl0bGU6IGlzVW5kZWZpbmVkKHRoaXMudGl0bGUpID8gKHRoaXNbJ2Rpc3BsYXktbmFtZSddIHx8ICcnKSA6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgICAgICAgICAgYWNjZXNzcm9sZXM6IHRoaXMuYWNjZXNzcm9sZXMsXG4gICAgICAgICAgICBzaG9ydGN1dGtleTogdGhpcy5zaG9ydGN1dGtleSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkfHx0aGlzLmZvcm0ucmVhZG9ubHksXG4gICAgICAgICAgICB0YWJpbmRleDogdGhpcy50YWJpbmRleCxcbiAgICAgICAgICAgIGljb25uYW1lOiB0aGlzLmljb25uYW1lLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgdXBkYXRlTW9kZTogdGhpc1sndXBkYXRlLW1vZGUnXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgd2lkZ2V0VHlwZTogdGhpc1snd2lkZ2V0LXR5cGUnXSxcbiAgICAgICAgICAgIGh5cGVybGluazogdGhpcy5oeXBlcmxpbmssXG4gICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3Byb3BzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aW9uKCk7XG4gICAgICAgIHRoaXMuZm9ybS5yZWdpc3RlckFjdGlvbnModGhpcy5idXR0b25EZWYpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9wc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2FibGVkJzpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZltrZXldID0gbnYgfHwgdGhpcy5mb3JtLnJlYWRvbmx5O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGlzcGxheS1uYW1lJzpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZi5kaXNwbGF5TmFtZSA9IG52O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZltrZXldID0gbnY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2RhdGEvZm9ybS9zcmMvZm9ybS1hY3Rpb24vZm9ybS1hY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUV0QyxNQUFNLGFBQWEsR0FBRyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFTcEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7YUFDM0Msb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUF3QnpDLFlBQVksR0FBYSxFQUFxQixJQUFtQixFQUEwQyxlQUFvQjtRQUMzSCxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQURELFNBQUksR0FBSixJQUFJLENBQWU7SUFFakUsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2IsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU87WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUYsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtZQUMvQixLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQzFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUMzQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNYLENBQUM7UUFDRCxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ1YsS0FBSyxVQUFVO2dCQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQyxNQUFNO1lBQ1YsS0FBSyxjQUFjO2dCQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUNwQztnQkFDSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDN0IsTUFBTTtRQUNWLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FqRlEsbUJBQW1CLHVGQXlCK0Msa0JBQWtCO21HQXpCcEYsbUJBQW1CLDZEQUpqQjtZQUNQLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO1NBQzFDOzs0RkFFUSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixxQkFBcUI7cUJBQzFDO2lCQUNKOzswQkEwQitCLFFBQVE7OzBCQUFnQyxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0Jhc2VDb21wb25lbnQsIHByb3ZpZGVBc1dpZGdldFJlZn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9mb3JtLWFjdGlvbi5wcm9wcyc7XG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gJy4uL2Zvcm0uY29tcG9uZW50JztcbmltcG9ydCB7aXNVbmRlZmluZWR9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tZm9ybS1hY3Rpb24nLCBob3N0Q2xhc3M6ICcnfTtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbd21Gb3JtQWN0aW9uXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihGb3JtQWN0aW9uRGlyZWN0aXZlKVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbkRpcmVjdGl2ZSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIGFjY2Vzc3JvbGVzO1xuICAgIGFjdGlvbjtcbiAgICBiaW5kaW5nO1xuICAgIGNsYXNzO1xuICAgIGRpc2FibGVkO1xuICAgIGRpc3BsYXlOYW1lO1xuICAgIGljb25jbGFzcztcbiAgICBpY29ubmFtZTtcbiAgICBrZXk7XG4gICAgcG9zaXRpb247XG4gICAgc2hvcnRjdXRrZXk7XG4gICAgc2hvdztcbiAgICB0YWJpbmRleDtcbiAgICB0aXRsZTtcbiAgICB0eXBlO1xuICAgIHVwZGF0ZU1vZGU7XG4gICAgYnV0dG9uRGVmO1xuICAgIGh5cGVybGluaztcbiAgICB0YXJnZXQ7XG5cbiAgICBwcml2YXRlIF9wcm9wc0luaXRpYWxpemVkOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQE9wdGlvbmFsKCkgcHVibGljIGZvcm06IEZvcm1Db21wb25lbnQsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgcG9wdWxhdGVBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uRGVmID0ge1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSB8fCB0aGlzLmJpbmRpbmcsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogdGhpc1snZGlzcGxheS1uYW1lJ10sXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3csXG4gICAgICAgICAgICBjbGFzczogdGhpcy5jbGFzcyA/IHRoaXMuY2xhc3MgOiAodGhpc1snd2lkZ2V0LXR5cGUnXSA9PT0gJ2J1dHRvbicgPyAnYnRuLXNlY29uZGFyeScgOiAnJyksXG4gICAgICAgICAgICBpY29uY2xhc3M6IHRoaXMuaWNvbmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgdGl0bGU6IGlzVW5kZWZpbmVkKHRoaXMudGl0bGUpID8gKHRoaXNbJ2Rpc3BsYXktbmFtZSddIHx8ICcnKSA6IHRoaXMudGl0bGUsXG4gICAgICAgICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgICAgICAgICAgYWNjZXNzcm9sZXM6IHRoaXMuYWNjZXNzcm9sZXMsXG4gICAgICAgICAgICBzaG9ydGN1dGtleTogdGhpcy5zaG9ydGN1dGtleSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkfHx0aGlzLmZvcm0ucmVhZG9ubHksXG4gICAgICAgICAgICB0YWJpbmRleDogdGhpcy50YWJpbmRleCxcbiAgICAgICAgICAgIGljb25uYW1lOiB0aGlzLmljb25uYW1lLFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgdXBkYXRlTW9kZTogdGhpc1sndXBkYXRlLW1vZGUnXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uLFxuICAgICAgICAgICAgd2lkZ2V0VHlwZTogdGhpc1snd2lkZ2V0LXR5cGUnXSxcbiAgICAgICAgICAgIGh5cGVybGluazogdGhpcy5oeXBlcmxpbmssXG4gICAgICAgICAgICB0YXJnZXQ6IHRoaXMudGFyZ2V0XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuX3Byb3BzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aW9uKCk7XG4gICAgICAgIHRoaXMuZm9ybS5yZWdpc3RlckFjdGlvbnModGhpcy5idXR0b25EZWYpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9wc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Rpc2FibGVkJzpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZltrZXldID0gbnYgfHwgdGhpcy5mb3JtLnJlYWRvbmx5O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGlzcGxheS1uYW1lJzpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZi5kaXNwbGF5TmFtZSA9IG52O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkRlZltrZXldID0gbnY7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IENsZWFyIHJlZmVyZW5jZXNcbiAgICAgICAgdGhpcy5mb3JtID0gbnVsbDtcbiAgICAgICAgdGhpcy5idXR0b25EZWYgPSBudWxsO1xuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19