@pega/angular-sdk-components 0.23.1

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 (300) hide show
  1. package/README.md +24 -0
  2. package/_shared/styles.scss +28 -0
  3. package/esm2022/lib/_bridge/angular-pconnect.mjs +416 -0
  4. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +114 -0
  5. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +228 -0
  6. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +142 -0
  7. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +50 -0
  8. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +29 -0
  9. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +31 -0
  10. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +51 -0
  11. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +80 -0
  12. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +37 -0
  13. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +31 -0
  14. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +36 -0
  15. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +25 -0
  16. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +28 -0
  17. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +42 -0
  18. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +136 -0
  19. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +33 -0
  20. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +93 -0
  21. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +18 -0
  22. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +286 -0
  23. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +98 -0
  24. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +157 -0
  25. package/esm2022/lib/_components/field/currency/currency.component.mjs +160 -0
  26. package/esm2022/lib/_components/field/date/date.component.mjs +219 -0
  27. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +200 -0
  28. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +157 -0
  29. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +197 -0
  30. package/esm2022/lib/_components/field/email/email.component.mjs +150 -0
  31. package/esm2022/lib/_components/field/integer/integer.component.mjs +155 -0
  32. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +44 -0
  33. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +155 -0
  34. package/esm2022/lib/_components/field/phone/phone.component.mjs +167 -0
  35. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +189 -0
  36. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +103 -0
  37. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +95 -0
  38. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +57 -0
  39. package/esm2022/lib/_components/field/text/text.component.mjs +138 -0
  40. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +155 -0
  41. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +69 -0
  42. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +152 -0
  43. package/esm2022/lib/_components/field/time/time.component.mjs +151 -0
  44. package/esm2022/lib/_components/field/url/url.component.mjs +150 -0
  45. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +175 -0
  46. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +491 -0
  47. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +68 -0
  48. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +24 -0
  49. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +314 -0
  50. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +32 -0
  51. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +219 -0
  52. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +31 -0
  53. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +387 -0
  54. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +47 -0
  55. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +88 -0
  56. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +144 -0
  57. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +18 -0
  58. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +80 -0
  59. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +132 -0
  60. package/esm2022/lib/_components/infra/reference/reference.component.mjs +133 -0
  61. package/esm2022/lib/_components/infra/region/region.component.mjs +33 -0
  62. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +228 -0
  63. package/esm2022/lib/_components/infra/stages/stages.component.mjs +62 -0
  64. package/esm2022/lib/_components/infra/view/view.component.mjs +173 -0
  65. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +140 -0
  66. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +43 -0
  67. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +72 -0
  68. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +196 -0
  69. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +68 -0
  70. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +239 -0
  71. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +61 -0
  72. package/esm2022/lib/_components/template/details/details.component.mjs +102 -0
  73. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +72 -0
  74. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +71 -0
  75. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +66 -0
  76. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +80 -0
  77. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +77 -0
  78. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +77 -0
  79. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +65 -0
  80. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +23 -0
  81. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +134 -0
  82. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +19 -0
  83. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +22 -0
  84. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +40 -0
  85. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +14 -0
  86. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +208 -0
  87. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +1198 -0
  88. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +61 -0
  89. package/esm2022/lib/_components/template/list-view/utils.mjs +660 -0
  90. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +44 -0
  91. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +30 -0
  92. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +30 -0
  93. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +16 -0
  94. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +30 -0
  95. package/esm2022/lib/_components/template/page/page.component.mjs +52 -0
  96. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +149 -0
  97. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +139 -0
  98. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +106 -0
  99. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +270 -0
  100. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +760 -0
  101. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +131 -0
  102. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +16 -0
  103. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +67 -0
  104. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +30 -0
  105. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +16 -0
  106. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +30 -0
  107. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +40 -0
  108. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +30 -0
  109. package/esm2022/lib/_components/template/utils.mjs +22 -0
  110. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +30 -0
  111. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +53 -0
  112. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +135 -0
  113. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +24 -0
  114. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +588 -0
  115. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +81 -0
  116. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +525 -0
  117. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +631 -0
  118. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +57 -0
  119. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +75 -0
  120. package/esm2022/lib/_components/widget/todo/todo.component.mjs +213 -0
  121. package/esm2022/lib/_components/widget/utility/utility.component.mjs +34 -0
  122. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +28 -0
  123. package/esm2022/lib/_helpers/case-utils.mjs +71 -0
  124. package/esm2022/lib/_helpers/common.mjs +20 -0
  125. package/esm2022/lib/_helpers/currency-utils.mjs +57 -0
  126. package/esm2022/lib/_helpers/date-format-utils.mjs +68 -0
  127. package/esm2022/lib/_helpers/event-util.mjs +19 -0
  128. package/esm2022/lib/_helpers/field-group-utils.mjs +47 -0
  129. package/esm2022/lib/_helpers/filter-utils.mjs +106 -0
  130. package/esm2022/lib/_helpers/formatters/currency-map.mjs +903 -0
  131. package/esm2022/lib/_helpers/formatters/format-utils.mjs +68 -0
  132. package/esm2022/lib/_helpers/tab-utils.mjs +59 -0
  133. package/esm2022/lib/_helpers/template-utils.mjs +56 -0
  134. package/esm2022/lib/_helpers/utils.mjs +386 -0
  135. package/esm2022/lib/_helpers/versionHelpers.mjs +12 -0
  136. package/esm2022/lib/_messages/error-messages.service.mjs +31 -0
  137. package/esm2022/lib/_messages/get-login-status.service.mjs +26 -0
  138. package/esm2022/lib/_messages/oauth-response.service.mjs +30 -0
  139. package/esm2022/lib/_messages/progress-spinner.service.mjs +30 -0
  140. package/esm2022/lib/_messages/reset-pconnect.service.mjs +31 -0
  141. package/esm2022/lib/_messages/update-worklist.service.mjs +30 -0
  142. package/esm2022/lib/_services/case.service.mjs +32 -0
  143. package/esm2022/lib/_services/datapage.service.mjs +52 -0
  144. package/esm2022/lib/_services/endpoints.mjs +61 -0
  145. package/esm2022/lib/_services/server-config.service.mjs +52 -0
  146. package/esm2022/lib/_types/PConnProps.interface.mjs +2 -0
  147. package/esm2022/pega-angular-sdk-components.mjs +5 -0
  148. package/esm2022/public-api.mjs +138 -0
  149. package/esm2022/sdk-local-component-map.mjs +9 -0
  150. package/fesm2022/pega-angular-sdk-components.mjs +17380 -0
  151. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -0
  152. package/index.d.ts +5 -0
  153. package/lib/_bridge/angular-pconnect.d.ts +140 -0
  154. package/lib/_bridge/component-mapper/component-mapper.component.d.ts +20 -0
  155. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +213 -0
  156. package/lib/_bridge/helpers/sdk_component_map.d.ts +3 -0
  157. package/lib/_components/designSystemExtension/alert/alert.component.d.ts +12 -0
  158. package/lib/_components/designSystemExtension/alert-banner/alert-banner.component.d.ts +13 -0
  159. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +15 -0
  160. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +20 -0
  161. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +18 -0
  162. package/lib/_components/designSystemExtension/material-details/material-details.component.d.ts +15 -0
  163. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +12 -0
  164. package/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.d.ts +15 -0
  165. package/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.d.ts +9 -0
  166. package/lib/_components/designSystemExtension/material-utility/material-utility.component.d.ts +16 -0
  167. package/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.d.ts +11 -0
  168. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +25 -0
  169. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +16 -0
  170. package/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.d.ts +23 -0
  171. package/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.d.ts +7 -0
  172. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +74 -0
  173. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +24 -0
  174. package/lib/_components/field/check-box/check-box.component.d.ts +48 -0
  175. package/lib/_components/field/currency/currency.component.d.ts +50 -0
  176. package/lib/_components/field/date/date.component.d.ts +65 -0
  177. package/lib/_components/field/date-time/date-time.component.d.ts +55 -0
  178. package/lib/_components/field/decimal/decimal.component.d.ts +46 -0
  179. package/lib/_components/field/dropdown/dropdown.component.d.ts +60 -0
  180. package/lib/_components/field/email/email.component.d.ts +44 -0
  181. package/lib/_components/field/integer/integer.component.d.ts +44 -0
  182. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +15 -0
  183. package/lib/_components/field/percentage/percentage.component.d.ts +44 -0
  184. package/lib/_components/field/phone/phone.component.d.ts +48 -0
  185. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +60 -0
  186. package/lib/_components/field/rich-text/rich-text.component.d.ts +42 -0
  187. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +37 -0
  188. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +30 -0
  189. package/lib/_components/field/text/text.component.d.ts +40 -0
  190. package/lib/_components/field/text-area/text-area.component.d.ts +45 -0
  191. package/lib/_components/field/text-content/text-content.component.d.ts +30 -0
  192. package/lib/_components/field/text-input/text-input.component.d.ts +45 -0
  193. package/lib/_components/field/time/time.component.d.ts +43 -0
  194. package/lib/_components/field/url/url.component.d.ts +43 -0
  195. package/lib/_components/field/user-reference/user-reference.component.d.ts +39 -0
  196. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +85 -0
  197. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +2 -0
  198. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +15 -0
  199. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +71 -0
  200. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +15 -0
  201. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +51 -0
  202. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +12 -0
  203. package/lib/_components/infra/assignment/assignment.component.d.ts +72 -0
  204. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +18 -0
  205. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +20 -0
  206. package/lib/_components/infra/defer-load/defer-load.component.d.ts +46 -0
  207. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +8 -0
  208. package/lib/_components/infra/multi-step/multi-step.component.d.ts +31 -0
  209. package/lib/_components/infra/navbar/navbar.component.d.ts +51 -0
  210. package/lib/_components/infra/reference/reference.component.d.ts +16 -0
  211. package/lib/_components/infra/region/region.component.d.ts +14 -0
  212. package/lib/_components/infra/root-container/root-container.component.d.ts +35 -0
  213. package/lib/_components/infra/stages/stages.component.d.ts +29 -0
  214. package/lib/_components/infra/view/view.component.d.ts +40 -0
  215. package/lib/_components/template/app-shell/app-shell.component.d.ts +55 -0
  216. package/lib/_components/template/banner-page/banner-page.component.d.ts +27 -0
  217. package/lib/_components/template/case-summary/case-summary.component.d.ts +34 -0
  218. package/lib/_components/template/case-view/case-view.component.d.ts +56 -0
  219. package/lib/_components/template/confirmation/confirmation.component.d.ts +38 -0
  220. package/lib/_components/template/data-reference/data-reference.component.d.ts +41 -0
  221. package/lib/_components/template/default-form/default-form.component.d.ts +21 -0
  222. package/lib/_components/template/details/details.component.d.ts +20 -0
  223. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +21 -0
  224. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +22 -0
  225. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +24 -0
  226. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +25 -0
  227. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +25 -0
  228. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +24 -0
  229. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +20 -0
  230. package/lib/_components/template/field-group-list/field-group-list.component.d.ts +9 -0
  231. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +52 -0
  232. package/lib/_components/template/field-value-list/field-value-list.component.d.ts +8 -0
  233. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +16 -0
  234. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +25 -0
  235. package/lib/_components/template/list-page/list-page.component.d.ts +7 -0
  236. package/lib/_components/template/list-view/DefaultViewMeta.d.ts +1 -0
  237. package/lib/_components/template/list-view/list-view.component.d.ts +157 -0
  238. package/lib/_components/template/list-view/listViewHelpers.d.ts +1 -0
  239. package/lib/_components/template/list-view/utils.d.ts +118 -0
  240. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +25 -0
  241. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +14 -0
  242. package/lib/_components/template/one-column/one-column.component.d.ts +14 -0
  243. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +9 -0
  244. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +14 -0
  245. package/lib/_components/template/page/page.component.d.ts +25 -0
  246. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +35 -0
  247. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +37 -0
  248. package/lib/_components/template/simple-table/simple-table.component.d.ts +43 -0
  249. package/lib/_components/template/simple-table-manual/helpers.d.ts +81 -0
  250. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +159 -0
  251. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +32 -0
  252. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +9 -0
  253. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +26 -0
  254. package/lib/_components/template/three-column/three-column.component.d.ts +14 -0
  255. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +9 -0
  256. package/lib/_components/template/two-column/two-column.component.d.ts +14 -0
  257. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +17 -0
  258. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +14 -0
  259. package/lib/_components/template/utils.d.ts +2 -0
  260. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +14 -0
  261. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +20 -0
  262. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +50 -0
  263. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +19 -0
  264. package/lib/_components/widget/attachment/attachment.component.d.ts +99 -0
  265. package/lib/_components/widget/case-history/case-history.component.d.ts +24 -0
  266. package/lib/_components/widget/feed-container/feed-container.component.d.ts +49 -0
  267. package/lib/_components/widget/file-utility/file-utility.component.d.ts +150 -0
  268. package/lib/_components/widget/list-utility/list-utility.component.d.ts +23 -0
  269. package/lib/_components/widget/quick-create/quick-create.component.d.ts +29 -0
  270. package/lib/_components/widget/todo/todo.component.d.ts +64 -0
  271. package/lib/_components/widget/utility/utility.component.d.ts +25 -0
  272. package/lib/_directives/thousand-seperator.directive.d.ts +9 -0
  273. package/lib/_helpers/case-utils.d.ts +19 -0
  274. package/lib/_helpers/common.d.ts +3 -0
  275. package/lib/_helpers/currency-utils.d.ts +10 -0
  276. package/lib/_helpers/date-format-utils.d.ts +12 -0
  277. package/lib/_helpers/event-util.d.ts +2 -0
  278. package/lib/_helpers/field-group-utils.d.ts +16 -0
  279. package/lib/_helpers/filter-utils.d.ts +46 -0
  280. package/lib/_helpers/formatters/currency-map.d.ts +1132 -0
  281. package/lib/_helpers/formatters/format-utils.d.ts +8 -0
  282. package/lib/_helpers/tab-utils.d.ts +4 -0
  283. package/lib/_helpers/template-utils.d.ts +16 -0
  284. package/lib/_helpers/utils.d.ts +32 -0
  285. package/lib/_helpers/versionHelpers.d.ts +8 -0
  286. package/lib/_messages/error-messages.service.d.ts +15 -0
  287. package/lib/_messages/get-login-status.service.d.ts +10 -0
  288. package/lib/_messages/oauth-response.service.d.ts +14 -0
  289. package/lib/_messages/progress-spinner.service.d.ts +14 -0
  290. package/lib/_messages/reset-pconnect.service.d.ts +15 -0
  291. package/lib/_messages/update-worklist.service.d.ts +14 -0
  292. package/lib/_services/case.service.d.ts +12 -0
  293. package/lib/_services/datapage.service.d.ts +14 -0
  294. package/lib/_services/endpoints.d.ts +39 -0
  295. package/lib/_services/server-config.service.d.ts +31 -0
  296. package/lib/_types/PConnProps.interface.d.ts +17 -0
  297. package/package.json +28 -0
  298. package/public-api.d.ts +133 -0
  299. package/sdk-local-component-map.d.ts +2 -0
  300. package/sdk-local-component-map.ts +12 -0
@@ -0,0 +1,88 @@
1
+ import { Component, Input, forwardRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatNativeDateModule } from '@angular/material/core';
5
+ import { MatDatepickerModule } from '@angular/material/datepicker';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import { debounceTime } from 'rxjs/operators';
9
+ import { Subject } from 'rxjs';
10
+ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
11
+ import { getFilterExpression, getFormattedDate, createFilter, combineFilters } from '../../../_helpers/filter-utils';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common";
14
+ import * as i2 from "@angular/material/form-field";
15
+ import * as i3 from "@angular/forms";
16
+ import * as i4 from "@angular/material/datepicker";
17
+ import * as i5 from "@angular/material/button";
18
+ export class DashboardFilterComponent {
19
+ constructor() {
20
+ this.filterChangeSubject = new Subject();
21
+ this.filterChangeSubject.pipe(debounceTime(500)).subscribe(val => this.fireFilterChange(val));
22
+ }
23
+ ngOnInit() {
24
+ if (this.filtersFormGroup$ != null) {
25
+ this.filtersFormGroup$.addControl('start', new FormControl(null));
26
+ this.filtersFormGroup$.addControl('end', new FormControl(null));
27
+ }
28
+ }
29
+ clearFilters() {
30
+ this.filtersFormGroup$.reset();
31
+ // @ts-ignore - second parameter “payload” for publish method should be optional
32
+ PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CLEAR_ALL);
33
+ }
34
+ updateTmpData(filterData) {
35
+ this.filterChangeSubject.next(filterData);
36
+ }
37
+ dateRangeChangeHandler(field) {
38
+ const { filterId, name } = field;
39
+ const start = this.filtersFormGroup$.get('start').value;
40
+ const end = this.filtersFormGroup$.get('end').value;
41
+ if (start && end) {
42
+ let startDate = getFormattedDate(start);
43
+ let endDate = getFormattedDate(end);
44
+ if (startDate && endDate) {
45
+ startDate = `${startDate}T00:00:00`;
46
+ endDate = `${endDate}T00:00:00`;
47
+ const startFilter = createFilter(startDate, name, 'GT');
48
+ const endFilter = createFilter(endDate, name, 'LT');
49
+ const filterData = {
50
+ filterId,
51
+ filterExpression: combineFilters([startFilter, endFilter], null)
52
+ };
53
+ PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
54
+ }
55
+ }
56
+ }
57
+ fireFilterChange(data) {
58
+ const { event, field } = data;
59
+ const filterData = {
60
+ filterId: field.filterId,
61
+ filterExpression: getFilterExpression(event.target.value, field.name, field.metadata)
62
+ };
63
+ PCore.getPubSubUtils().publish(PCore.getConstants().PUB_SUB_EVENTS.EVENT_DASHBOARD_FILTER_CHANGE, filterData);
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DashboardFilterComponent, isStandalone: true, selector: "app-dashboard-filter", inputs: { pConn$: "pConn$", filtersFormGroup$: "filtersFormGroup$", inlineProps: "inlineProps", children: "children" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatFormFieldModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i2.MatFormField; }), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.MatLabel; }), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(function () { return i2.MatSuffix; }), selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return ReactiveFormsModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i3.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i3.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatDatepickerModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDatepickerToggle; }), selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDateRangeInput; }), selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.MatStartDate; }), selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.MatEndDate; }), selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i0.forwardRef(function () { return i4.MatDateRangePicker; }), selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatButtonModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i5.MatButton; }), selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatNativeDateModule; }) }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DashboardFilterComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'app-dashboard-filter', standalone: true, imports: [
71
+ CommonModule,
72
+ MatFormFieldModule,
73
+ ReactiveFormsModule,
74
+ MatDatepickerModule,
75
+ MatButtonModule,
76
+ MatNativeDateModule,
77
+ forwardRef(() => ComponentMapperComponent)
78
+ ], template: "<div\n [ngClass]=\"{\n 'psdk-block-style': inlineProps.filterPosition === 'block-start'\n }\"\n>\n <div *ngFor=\"let kid of children\">\n <div *ngIf=\"kid.type === 'DateTime'\" [formGroup]=\"filtersFormGroup$\">\n <mat-form-field class=\"psdk-full-width\">\n <mat-label>{{ kid.label }}</mat-label>\n <mat-date-range-input [rangePicker]=\"picker\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\" />\n <input matEndDate placeholder=\"End date\" formControlName=\"end\" (dateChange)=\"dateRangeChangeHandler(kid)\" />\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-date-range-picker #picker></mat-date-range-picker>\n </mat-form-field>\n </div>\n <div *ngIf=\"kid.c11nEnv\">\n <span (input)=\"updateTmpData({ event: $event, field: kid })\">\n <component-mapper\n [name]=\"kid.c11nEnv.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.c11nEnv.getPConnect(),\n formGroup$: filtersFormGroup$\n }\"\n errorMsg=\"Dashboard filter wants component not yet available: {{ kid.c11nEnv.getPConnect().getComponentName() }}\"\n >\n </component-mapper>\n </span>\n </div>\n </div>\n <div>\n <button mat-button color=\"primary\" (click)=\"clearFilters()\">Clear All</button>\n </div>\n</div>\n", styles: [".psdk-full-width{width:100%}.psdk-block-style{display:grid;direction:column-reverse;gap:1rem;grid-template-columns:repeat(7,1fr)}::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\n"] }]
79
+ }], ctorParameters: function () { return []; }, propDecorators: { pConn$: [{
80
+ type: Input
81
+ }], filtersFormGroup$: [{
82
+ type: Input
83
+ }], inlineProps: [{
84
+ type: Input
85
+ }], children: [{
86
+ type: Input
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGFzaGJvYXJkLWZpbHRlci9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kYXNoYm9hcmQtZmlsdGVyL2Rhc2hib2FyZC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENB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Y0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEgsQ0FBQzsrR0E3RFUsd0JBQXdCO21HQUF4Qix3QkFBd0Isd01DM0JyQyxxN0NBbUNBLHdSRGpCSSxZQUFZLHlmQUNaLGtCQUFrQix1a0JBQ2xCLG1CQUFtQiw2a0NBQ25CLG1CQUFtQiw0bENBQ25CLGVBQWUseVZBQ2YsbUJBQW1CLHNFQUNGLHdCQUF3Qjs7NEZBR2hDLHdCQUF3QjtrQkFmcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDM0M7MEVBR1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IGdldEZpbHRlckV4cHJlc3Npb24sIGdldEZvcm1hdHRlZERhdGUsIGNyZWF0ZUZpbHRlciwgY29tYmluZUZpbHRlcnMgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy9maWx0ZXItdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGFzaGJvYXJkLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLWZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZpbHRlcnNGb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGlubGluZVByb3BzO1xuICBASW5wdXQoKSBjaGlsZHJlbjtcblxuICBhckNoaWxkcmVuJDogYW55W107XG4gIHByaXZhdGUgZmlsdGVyQ2hhbmdlU3ViamVjdCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3QucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbCA9PiB0aGlzLmZpcmVGaWx0ZXJDaGFuZ2UodmFsKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWx0ZXJzRm9ybUdyb3VwJCAhPSBudWxsKSB7XG4gICAgICB0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmFkZENvbnRyb2woJ3N0YXJ0JywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICAgIHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQuYWRkQ29udHJvbCgnZW5kJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5maWx0ZXJzRm9ybUdyb3VwJC5yZXNldCgpO1xuICAgIC8vIEB0cy1pZ25vcmUgLSBzZWNvbmQgcGFyYW1ldGVyIOKAnHBheWxvYWTigJ0gZm9yIHB1Ymxpc2ggbWV0aG9kIHNob3VsZCBiZSBvcHRpb25hbFxuICAgIFBDb3JlLmdldFB1YlN1YlV0aWxzKCkucHVibGlzaChQQ29yZS5nZXRDb25zdGFudHMoKS5QVUJfU1VCX0VWRU5UUy5FVkVOVF9EQVNIQk9BUkRfRklMVEVSX0NMRUFSX0FMTCk7XG4gIH1cblxuICB1cGRhdGVUbXBEYXRhKGZpbHRlckRhdGEpIHtcbiAgICB0aGlzLmZpbHRlckNoYW5nZVN1YmplY3QubmV4dChmaWx0ZXJEYXRhKTtcbiAgfVxuXG4gIGRhdGVSYW5nZUNoYW5nZUhhbmRsZXIoZmllbGQpIHtcbiAgICBjb25zdCB7IGZpbHRlcklkLCBuYW1lIH0gPSBmaWVsZDtcbiAgICBjb25zdCBzdGFydCA9ICh0aGlzLmZpbHRlcnNGb3JtR3JvdXAkLmdldCgnc3RhcnQnKSBhcyBGb3JtQ29udHJvbCkudmFsdWU7XG4gICAgY29uc3QgZW5kID0gKHRoaXMuZmlsdGVyc0Zvcm1Hcm91cCQuZ2V0KCdlbmQnKSBhcyBGb3JtQ29udHJvbCkudmFsdWU7XG4gICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgbGV0IHN0YXJ0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGUoc3RhcnQpO1xuICAgICAgbGV0IGVuZERhdGUgPSBnZXRGb3JtYXR0ZWREYXRlKGVuZCk7XG5cbiAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICBzdGFydERhdGUgPSBgJHtzdGFydERhdGV9VDAwOjAwOjAwYDtcbiAgICAgICAgZW5kRGF0ZSA9IGAke2VuZERhdGV9VDAwOjAwOjAwYDtcbiAgICAgICAgY29uc3Qgc3RhcnRGaWx0ZXIgPSBjcmVhdGVGaWx0ZXIoc3RhcnREYXRlLCBuYW1lLCAnR1QnKTtcbiAgICAgICAgY29uc3QgZW5kRmlsdGVyID0gY3JlYXRlRmlsdGVyKGVuZERhdGUsIG5hbWUsICdMVCcpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlckRhdGEgPSB7XG4gICAgICAgICAgZmlsdGVySWQsXG4gICAgICAgICAgZmlsdGVyRXhwcmVzc2lvbjogY29tYmluZUZpbHRlcnMoW3N0YXJ0RmlsdGVyLCBlbmRGaWx0ZXJdLCBudWxsKVxuICAgICAgICB9O1xuICAgICAgICBQQ29yZS5nZXRQdWJTdWJVdGlscygpLnB1Ymxpc2goUENvcmUuZ2V0Q29uc3RhbnRzKCkuUFVCX1NVQl9FVkVOVFMuRVZFTlRfREFTSEJPQVJEX0ZJTFRFUl9DSEFOR0UsIGZpbHRlckRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZpcmVGaWx0ZXJDaGFuZ2UoZGF0YTogYW55KSB7XG4gICAgY29uc3QgeyBldmVudCwgZmllbGQgfSA9IGRhdGE7XG4gICAgY29uc3QgZmlsdGVyRGF0YSA9IHtcbiAgICAgIGZpbHRlcklkOiBmaWVsZC5maWx0ZXJJZCxcbiAgICAgIGZpbHRlckV4cHJlc3Npb246IGdldEZpbHRlckV4cHJlc3Npb24oZXZlbnQudGFyZ2V0LnZhbHVlLCBmaWVsZC5uYW1lLCBmaWVsZC5tZXRhZGF0YSlcbiAgICB9O1xuXG4gICAgUENvcmUuZ2V0UHViU3ViVXRpbHMoKS5wdWJsaXNoKFBDb3JlLmdldENvbnN0YW50cygpLlBVQl9TVUJfRVZFTlRTLkVWRU5UX0RBU0hCT0FSRF9GSUxURVJfQ0hBTkdFLCBmaWx0ZXJEYXRhKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3BzZGstYmxvY2stc3R5bGUnOiBpbmxpbmVQcm9wcy5maWx0ZXJQb3NpdGlvbiA9PT0gJ2Jsb2NrLXN0YXJ0J1xuICB9XCJcbj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGNoaWxkcmVuXCI+XG4gICAgPGRpdiAqbmdJZj1cImtpZC50eXBlID09PSAnRGF0ZVRpbWUnXCIgW2Zvcm1Hcm91cF09XCJmaWx0ZXJzRm9ybUdyb3VwJFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1mdWxsLXdpZHRoXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sga2lkLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCI+XG4gICAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBwbGFjZWhvbGRlcj1cIlN0YXJ0IGRhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiIC8+XG4gICAgICAgICAgPGlucHV0IG1hdEVuZERhdGUgcGxhY2Vob2xkZXI9XCJFbmQgZGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cImVuZFwiIChkYXRlQ2hhbmdlKT1cImRhdGVSYW5nZUNoYW5nZUhhbmRsZXIoa2lkKVwiIC8+XG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJraWQuYzExbkVudlwiPlxuICAgICAgPHNwYW4gKGlucHV0KT1cInVwZGF0ZVRtcERhdGEoeyBldmVudDogJGV2ZW50LCBmaWVsZDoga2lkIH0pXCI+XG4gICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgW25hbWVdPVwia2lkLmMxMW5FbnYuZ2V0UENvbm5lY3QoKS5nZXRDb21wb25lbnROYW1lKClcIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBwQ29ubiQ6IGtpZC5jMTFuRW52LmdldFBDb25uZWN0KCksXG4gICAgICAgICAgICBmb3JtR3JvdXAkOiBmaWx0ZXJzRm9ybUdyb3VwJFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIGVycm9yTXNnPVwiRGFzaGJvYXJkIGZpbHRlciB3YW50cyBjb21wb25lbnQgbm90IHlldCBhdmFpbGFibGU6IHt7IGtpZC5jMTFuRW52LmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpIH19XCJcbiAgICAgICAgPlxuICAgICAgICA8L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5DbGVhciBBbGw8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { Component, Input, forwardRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReferenceComponent } from '../../infra/reference/reference.component';
4
+ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../_bridge/angular-pconnect";
7
+ import * as i2 from "@angular/common";
8
+ /**
9
+ * WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
10
+ * Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
11
+ * is totally at your own risk.
12
+ */
13
+ export class DeferLoadComponent {
14
+ constructor(angularPConnect) {
15
+ this.angularPConnect = angularPConnect;
16
+ this.bShowDefer$ = false;
17
+ this.angularPConnectData = {};
18
+ this.currentLoadedAssignment = '';
19
+ this.getViewOptions = () => ({
20
+ viewContext: this.resourceType,
21
+ // @ts-ignore - parameter “contextName” for getDataObject method should be optional
22
+ pageClass: this.loadViewCaseID ? '' : this.pConn$.getDataObject().pyPortal.classID,
23
+ container: this.isContainerPreview ? 'preview' : null,
24
+ containerName: this.isContainerPreview ? 'preview' : null,
25
+ updateData: this.isContainerPreview
26
+ });
27
+ this.constants = PCore.getConstants();
28
+ }
29
+ ngOnInit() {
30
+ this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
31
+ this.loadActiveTab();
32
+ }
33
+ ngOnDestroy() {
34
+ if (this.angularPConnectData.unsubscribeFn) {
35
+ this.angularPConnectData.unsubscribeFn();
36
+ }
37
+ }
38
+ onStateChange() {
39
+ // Should always check the bridge to see if the component should
40
+ // update itself (re-render)
41
+ // @ts-ignore - second parameter pageReference for getValue method should be optional
42
+ const theRequestedAssignment = this.pConn$.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL);
43
+ if (theRequestedAssignment !== this.currentLoadedAssignment) {
44
+ this.currentLoadedAssignment = theRequestedAssignment;
45
+ this.loadActiveTab();
46
+ }
47
+ }
48
+ ngOnChanges() {
49
+ // @ts-ignore - second parameter pageReference for getValue method should be optional
50
+ this.loadViewCaseID = this.pConn$.getValue(this.constants.PZINSKEY) || this.pConn$.getValue(this.constants.CASE_INFO.CASE_INFO_ID);
51
+ let containerItemData;
52
+ const targetName = this.pConn$.getTarget();
53
+ if (targetName) {
54
+ this.containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);
55
+ containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, this.containerName);
56
+ }
57
+ const { CASE, PAGE, DATA } = this.constants.RESOURCE_TYPES;
58
+ this.CASE = CASE;
59
+ this.PAGE = PAGE;
60
+ this.DATA = DATA;
61
+ const { resourceType = this.CASE } = containerItemData || { resourceType: this.loadViewCaseID ? this.CASE : this.PAGE };
62
+ this.resourceType = resourceType;
63
+ this.isContainerPreview = /preview_[0-9]*/g.test(this.pConn$.getContextName());
64
+ const theConfigProps = this.pConn$.getConfigProps();
65
+ this.deferLoadId = theConfigProps.deferLoadId;
66
+ this.name = this.name || theConfigProps.name;
67
+ this.loadActiveTab();
68
+ }
69
+ onResponse(data) {
70
+ if (this.deferLoadId) {
71
+ PCore.getDeferLoadManager().start(this.name, this.pConn$.getCaseInfo().getKey(), this.pConn$.getPageReference().replace('caseInfo.content', ''), this.pConn$.getContextName(), this.deferLoadId);
72
+ }
73
+ if (data && !(data.type && data.type === 'error')) {
74
+ const config = {
75
+ meta: data,
76
+ options: {
77
+ context: this.pConn$.getContextName(),
78
+ pageReference: this.pConn$.getPageReference()
79
+ }
80
+ };
81
+ const configObject = PCore.createPConnect(config);
82
+ configObject.getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
83
+ this.loadedPConn$ = ReferenceComponent.normalizePConn(configObject.getPConnect());
84
+ this.componentName$ = this.loadedPConn$.getComponentName();
85
+ if (this.deferLoadId) {
86
+ PCore.getDeferLoadManager().stop(this.deferLoadId, this.pConn$.getContextName());
87
+ }
88
+ }
89
+ // this.cdRef.detectChanges();
90
+ }
91
+ loadActiveTab() {
92
+ if (this.resourceType === this.DATA) {
93
+ // Rendering defer loaded tabs in data context
94
+ if (this.containerName) {
95
+ const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', this.containerName);
96
+ const dataContextParameters = PCore.getStoreValue('.dataContextParameters', 'dataInfo', this.containerName);
97
+ this.pConn$
98
+ .getActionsApi()
99
+ .showData(this.name, dataContext, dataContextParameters, {
100
+ // @ts-ignore - skipSemanticUrl should be boolean type
101
+ skipSemanticUrl: true,
102
+ // @ts-ignore
103
+ isDeferLoaded: true
104
+ })
105
+ .then(data => {
106
+ this.onResponse(data);
107
+ });
108
+ }
109
+ else {
110
+ console.error('Cannot load the defer loaded view without container information');
111
+ }
112
+ }
113
+ else if (this.resourceType === this.PAGE) {
114
+ // Rendering defer loaded tabs in case/ page context
115
+ this.pConn$
116
+ .getActionsApi()
117
+ .loadView(encodeURI(this.loadViewCaseID), this.name, this.getViewOptions())
118
+ .then(data => {
119
+ this.onResponse(data);
120
+ });
121
+ }
122
+ else {
123
+ this.pConn$
124
+ .getActionsApi()
125
+ .refreshCaseView(encodeURI(this.loadViewCaseID), this.name, null)
126
+ .then(data => {
127
+ this.onResponse(data.root);
128
+ });
129
+ }
130
+ }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
133
+ }
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DeferLoadComponent, decorators: [{
135
+ type: Component,
136
+ args: [{ selector: 'app-defer-load', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n" }]
137
+ }], ctorParameters: function () { return [{ type: i1.AngularPConnectService }]; }, propDecorators: { pConn$: [{
138
+ type: Input
139
+ }], loadData$: [{
140
+ type: Input
141
+ }], name: [{
142
+ type: Input
143
+ }] } });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWIzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQTREN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixtRkFBbUY7WUFDbkYsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztZQUNsRixT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SSxFQUFFO1lBQzFDLG9EQUFvRDtZQUNwRCxJQUFJLENBQUMsTUFBTTtpQkFDUixhQUFhLEVBQUU7aUJBQ2YsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNO2lCQUNSLGFBQWEsRUFBRTtpQkFDZixlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztpQkFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDSCxDQUFDOytHQW5KVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixtS0NwQi9CLHNNQUdBLDRGRGVZLFlBQVksaU5BQW1CLHdCQUF3Qjs7NEZBRXRELGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7NkdBRzFELE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25EZXN0cm95LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBwdWJsaWNDb25zdGFudHMgfSBmcm9tICdAcGVnYS9wY29yZS1wY29ubmVjdC10eXBlZGVmcy9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVmZXJlbmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5mcmEvcmVmZXJlbmNlL3JlZmVyZW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuXG4vKipcbiAqIFdBUk5JTkc6ICBJdCBpcyBub3QgZXhwZWN0ZWQgdGhhdCB0aGlzIGZpbGUgc2hvdWxkIGJlIG1vZGlmaWVkLiAgSXQgaXMgcGFydCBvZiBpbmZyYXN0cnVjdHVyZSBjb2RlIHRoYXQgd29ya3Mgd2l0aFxuICogUmVkdXggYW5kIGNyZWF0aW9uL3VwZGF0ZSBvZiBSZWR1eCBjb250YWluZXJzIGFuZCBQQ29ubmVjdC4gIE1vZGlmeWluZyB0aGlzIGNvZGUgY291bGQgaGF2ZSB1bmRlc2lyZWFibGUgcmVzdWx0cyBhbmRcbiAqIGlzIHRvdGFsbHkgYXQgeW91ciBvd24gcmlzay5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGVmZXItbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWZlci1sb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVmZXItbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIERlZmVyTG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcbiAgQElucHV0KCkgbG9hZERhdGEkOiBhbnk7XG4gIEBJbnB1dCgpIG5hbWU7XG5cbiAgY29tcG9uZW50TmFtZSQ6IHN0cmluZztcbiAgbG9hZGVkUENvbm4kOiBhbnk7XG4gIGJTaG93RGVmZXIkID0gZmFsc2U7XG5cbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBjb25zdGFudHM6IHR5cGVvZiBwdWJsaWNDb25zdGFudHM7XG4gIGN1cnJlbnRMb2FkZWRBc3NpZ25tZW50ID0gJyc7XG4gIGlzQ29udGFpbmVyUHJldmlldzogYm9vbGVhbjtcbiAgbG9hZFZpZXdDYXNlSUQ6IGFueTtcbiAgcmVzb3VyY2VUeXBlOiBhbnk7XG4gIGRlZmVyTG9hZElkOiBhbnk7XG4gIGNvbnRhaW5lck5hbWU6IGFueTtcbiAgQ0FTRTogYW55O1xuICBQQUdFOiBhbnk7XG4gIERBVEE6IGFueTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UpIHtcbiAgICB0aGlzLmNvbnN0YW50cyA9IFBDb3JlLmdldENvbnN0YW50cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcbiAgICB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgLy8gQHRzLWlnbm9yZSAtIHNlY29uZCBwYXJhbWV0ZXIgcGFnZVJlZmVyZW5jZSBmb3IgZ2V0VmFsdWUgbWV0aG9kIHNob3VsZCBiZSBvcHRpb25hbFxuICAgIGNvbnN0IHRoZVJlcXVlc3RlZEFzc2lnbm1lbnQgPSB0aGlzLnBDb25uJC5nZXRWYWx1ZShQQ29yZS5nZXRDb25zdGFudHMoKS5DQVNFX0lORk8uQVNTSUdOTUVOVF9MQUJFTCk7XG4gICAgaWYgKHRoZVJlcXVlc3RlZEFzc2lnbm1lbnQgIT09IHRoaXMuY3VycmVudExvYWRlZEFzc2lnbm1lbnQpIHtcbiAgICAgIHRoaXMuY3VycmVudExvYWRlZEFzc2lnbm1lbnQgPSB0aGVSZXF1ZXN0ZWRBc3NpZ25tZW50O1xuICAgICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgLy8gQHRzLWlnbm9yZSAtIHNlY29uZCBwYXJhbWV0ZXIgcGFnZVJlZmVyZW5jZSBmb3IgZ2V0VmFsdWUgbWV0aG9kIHNob3VsZCBiZSBvcHRpb25hbFxuICAgIHRoaXMubG9hZFZpZXdDYXNlSUQgPSB0aGlzLnBDb25uJC5nZXRWYWx1ZSh0aGlzLmNvbnN0YW50cy5QWklOU0tFWSkgfHwgdGhpcy5wQ29ubiQuZ2V0VmFsdWUodGhpcy5jb25zdGFudHMuQ0FTRV9JTkZPLkNBU0VfSU5GT19JRCk7XG4gICAgbGV0IGNvbnRhaW5lckl0ZW1EYXRhO1xuICAgIGNvbnN0IHRhcmdldE5hbWUgPSB0aGlzLnBDb25uJC5nZXRUYXJnZXQoKTtcbiAgICBpZiAodGFyZ2V0TmFtZSkge1xuICAgICAgdGhpcy5jb250YWluZXJOYW1lID0gUENvcmUuZ2V0Q29udGFpbmVyVXRpbHMoKS5nZXRBY3RpdmVDb250YWluZXJJdGVtTmFtZSh0YXJnZXROYW1lKTtcbiAgICAgIGNvbnRhaW5lckl0ZW1EYXRhID0gUENvcmUuZ2V0Q29udGFpbmVyVXRpbHMoKS5nZXRDb250YWluZXJJdGVtRGF0YSh0YXJnZXROYW1lLCB0aGlzLmNvbnRhaW5lck5hbWUpO1xuICAgIH1cbiAgICBjb25zdCB7IENBU0UsIFBBR0UsIERBVEEgfSA9IHRoaXMuY29uc3RhbnRzLlJFU09VUkNFX1RZUEVTO1xuICAgIHRoaXMuQ0FTRSA9IENBU0U7XG4gICAgdGhpcy5QQUdFID0gUEFHRTtcbiAgICB0aGlzLkRBVEEgPSBEQVRBO1xuXG4gICAgY29uc3QgeyByZXNvdXJjZVR5cGUgPSB0aGlzLkNBU0UgfSA9IGNvbnRhaW5lckl0ZW1EYXRhIHx8IHsgcmVzb3VyY2VUeXBlOiB0aGlzLmxvYWRWaWV3Q2FzZUlEID8gdGhpcy5DQVNFIDogdGhpcy5QQUdFIH07XG4gICAgdGhpcy5yZXNvdXJjZVR5cGUgPSByZXNvdXJjZVR5cGU7XG4gICAgdGhpcy5pc0NvbnRhaW5lclByZXZpZXcgPSAvcHJldmlld19bMC05XSovZy50ZXN0KHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCkpO1xuXG4gICAgY29uc3QgdGhlQ29uZmlnUHJvcHM6IGFueSA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgdGhpcy5kZWZlckxvYWRJZCA9IHRoZUNvbmZpZ1Byb3BzLmRlZmVyTG9hZElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMubmFtZSB8fCB0aGVDb25maWdQcm9wcy5uYW1lO1xuXG4gICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gIH1cblxuICBnZXRWaWV3T3B0aW9ucyA9ICgpID0+ICh7XG4gICAgdmlld0NvbnRleHQ6IHRoaXMucmVzb3VyY2VUeXBlLFxuICAgIC8vIEB0cy1pZ25vcmUgLSBwYXJhbWV0ZXIg4oCcY29udGV4dE5hbWXigJ0gZm9yIGdldERhdGFPYmplY3QgbWV0aG9kIHNob3VsZCBiZSBvcHRpb25hbFxuICAgIHBhZ2VDbGFzczogdGhpcy5sb2FkVmlld0Nhc2VJRCA/ICcnIDogdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpLnB5UG9ydGFsLmNsYXNzSUQsXG4gICAgY29udGFpbmVyOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IG51bGwsXG4gICAgY29udGFpbmVyTmFtZTogdGhpcy5pc0NvbnRhaW5lclByZXZpZXcgPyAncHJldmlldycgOiBudWxsLFxuICAgIHVwZGF0ZURhdGE6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3XG4gIH0pO1xuXG4gIG9uUmVzcG9uc2UoZGF0YSkge1xuICAgIGlmICh0aGlzLmRlZmVyTG9hZElkKSB7XG4gICAgICBQQ29yZS5nZXREZWZlckxvYWRNYW5hZ2VyKCkuc3RhcnQoXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRLZXkoKSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpLnJlcGxhY2UoJ2Nhc2VJbmZvLmNvbnRlbnQnLCAnJyksXG4gICAgICAgIHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgIHRoaXMuZGVmZXJMb2FkSWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEgJiYgIShkYXRhLnR5cGUgJiYgZGF0YS50eXBlID09PSAnZXJyb3InKSkge1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICBtZXRhOiBkYXRhLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgY29udGV4dDogdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSxcbiAgICAgICAgICBwYWdlUmVmZXJlbmNlOiB0aGlzLnBDb25uJC5nZXRQYWdlUmVmZXJlbmNlKClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbmZpZ09iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG4gICAgICBjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKS5zZXRJbmhlcml0ZWRQcm9wKCdkaXNwbGF5TW9kZScsICdMQUJFTFNfTEVGVCcpO1xuICAgICAgdGhpcy5sb2FkZWRQQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4oY29uZmlnT2JqZWN0LmdldFBDb25uZWN0KCkpO1xuICAgICAgdGhpcy5jb21wb25lbnROYW1lJCA9IHRoaXMubG9hZGVkUENvbm4kLmdldENvbXBvbmVudE5hbWUoKTtcbiAgICAgIGlmICh0aGlzLmRlZmVyTG9hZElkKSB7XG4gICAgICAgIFBDb3JlLmdldERlZmVyTG9hZE1hbmFnZXIoKS5zdG9wKHRoaXMuZGVmZXJMb2FkSWQsIHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGxvYWRBY3RpdmVUYWIoKSB7XG4gICAgaWYgKHRoaXMucmVzb3VyY2VUeXBlID09PSB0aGlzLkRBVEEpIHtcbiAgICAgIC8vIFJlbmRlcmluZyBkZWZlciBsb2FkZWQgdGFicyBpbiBkYXRhIGNvbnRleHRcbiAgICAgIGlmICh0aGlzLmNvbnRhaW5lck5hbWUpIHtcbiAgICAgICAgY29uc3QgZGF0YUNvbnRleHQgPSBQQ29yZS5nZXRTdG9yZVZhbHVlKCcuZGF0YUNvbnRleHQnLCAnZGF0YUluZm8nLCB0aGlzLmNvbnRhaW5lck5hbWUpO1xuICAgICAgICBjb25zdCBkYXRhQ29udGV4dFBhcmFtZXRlcnMgPSBQQ29yZS5nZXRTdG9yZVZhbHVlKCcuZGF0YUNvbnRleHRQYXJhbWV0ZXJzJywgJ2RhdGFJbmZvJywgdGhpcy5jb250YWluZXJOYW1lKTtcblxuICAgICAgICB0aGlzLnBDb25uJFxuICAgICAgICAgIC5nZXRBY3Rpb25zQXBpKClcbiAgICAgICAgICAuc2hvd0RhdGEodGhpcy5uYW1lLCBkYXRhQ29udGV4dCwgZGF0YUNvbnRleHRQYXJhbWV0ZXJzLCB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIC0gc2tpcFNlbWFudGljVXJsIHNob3VsZCBiZSBib29sZWFuIHR5cGVcbiAgICAgICAgICAgIHNraXBTZW1hbnRpY1VybDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGlzRGVmZXJMb2FkZWQ6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IGxvYWQgdGhlIGRlZmVyIGxvYWRlZCB2aWV3IHdpdGhvdXQgY29udGFpbmVyIGluZm9ybWF0aW9uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5QQUdFKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gY2FzZS8gcGFnZSBjb250ZXh0XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5sb2FkVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgdGhpcy5nZXRWaWV3T3B0aW9ucygpKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5yZWZyZXNoQ2FzZVZpZXcoZW5jb2RlVVJJKHRoaXMubG9hZFZpZXdDYXNlSUQpLCB0aGlzLm5hbWUsIG51bGwpXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNwb25zZShkYXRhLnJvb3QpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJsb2FkZWRQQ29ubiRcIj5cbiAgPGNvbXBvbmVudC1tYXBwZXIgW25hbWVdPVwiY29tcG9uZW50TmFtZSRcIiBbcHJvcHNdPVwieyBwQ29ubiQ6IGxvYWRlZFBDb25uJCB9XCIgZXJyb3JNc2c9XCJEZWZlciBMb2FkIE1pc3Npbmc6IHt7IGNvbXBvbmVudE5hbWUkIH19XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class ErrorBoundaryComponent {
5
+ constructor() {
6
+ this.localizedVal = window.PCore.getLocaleUtils().getLocaleValue;
7
+ this.localeCategory = 'Messages';
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'app-error-boundary', standalone: true, imports: [CommonModule], template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n" }]
15
+ }], propDecorators: { message: [{
16
+ type: Input
17
+ }] } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYm91bmRhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2luZnJhL2Vycm9yLWJvdW5kYXJ5L2Vycm9yLWJvdW5kYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9lcnJvci1ib3VuZGFyeS9lcnJvci1ib3VuZGFyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFVRSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQzVELG1CQUFjLEdBQUcsVUFBVSxDQUFDO0tBQzdCOytHQUxZLHNCQUFzQjttR0FBdEIsc0JBQXNCLDhHQ1ZuQyxzREFDQSx5RERPWSxZQUFZOzs0RkFFWCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFHZCxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZXJyb3ItYm91bmRhcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3ItYm91bmRhcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lcnJvci1ib3VuZGFyeS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIGxvY2FsaXplZFZhbCA9IHdpbmRvdy5QQ29yZS5nZXRMb2NhbGVVdGlscygpLmdldExvY2FsZVZhbHVlO1xuICBsb2NhbGVDYXRlZ29yeSA9ICdNZXNzYWdlcyc7XG59XG4iLCI8cD57eyBsb2NhbGl6ZWRWYWwobWVzc2FnZSwgbG9jYWxlQ2F0ZWdvcnkpIH19PC9wPlxuIl19
@@ -0,0 +1,80 @@
1
+ import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Utils } from '../../../_helpers/utils';
4
+ import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../_helpers/utils";
7
+ import * as i2 from "@angular/common";
8
+ export class MultiStepComponent {
9
+ constructor(utils) {
10
+ this.utils = utils;
11
+ this.actionButtonClick = new EventEmitter();
12
+ this.bShow$ = true;
13
+ }
14
+ ngOnInit() {
15
+ // svg icons
16
+ this.svgCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
17
+ this.svgNotCurrent$ = this.utils.getImageSrc('circle-solid', this.utils.getSDKStaticContentUrl());
18
+ }
19
+ onActionButtonClick(oData) {
20
+ this.actionButtonClick.emit(oData);
21
+ }
22
+ _getVIconClass(status) {
23
+ if (status == 'current') {
24
+ return 'psdk-vertical-step-icon-selected';
25
+ }
26
+ return 'psdk-vertical-step-icon';
27
+ }
28
+ _getVLabelClass(status) {
29
+ if (status == 'current') {
30
+ return 'psdk-vertical-step-label-selected';
31
+ }
32
+ return 'psdk-vertical-step-label';
33
+ }
34
+ _getVBodyClass(index) {
35
+ if (index < this.arNavigationSteps$.length - 1) {
36
+ return 'psdk-vertical-step-body psdk-vertical-step-line';
37
+ }
38
+ return 'psdk-vertical-step-body';
39
+ }
40
+ _getHIconClass(status) {
41
+ if (status == 'current') {
42
+ return 'psdk-horizontal-step-icon-selected';
43
+ }
44
+ return 'psdk-horizontal-step-icon';
45
+ }
46
+ _getHLabelClass(status) {
47
+ if (status == 'current') {
48
+ return 'psdk-horizontal-step-label-selected';
49
+ }
50
+ return 'psdk-horizontal-step-label';
51
+ }
52
+ _showHLine(index) {
53
+ return index < this.arNavigationSteps$.length - 1;
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiStepComponent, deps: [{ token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiStepComponent, isStandalone: true, selector: "app-multi-step", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", bIsVertical$: "bIsVertical$", arCurrentStepIndicies$: "arCurrentStepIndicies$", arNavigationSteps$: "arNavigationSteps$" }, outputs: { actionButtonClick: "actionButtonClick" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid lightgrey}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:#673ab7}.psdk-icon-not-current{color:gray}.psdk-current-svg-icon{width:1rem;filter:invert(23%) sepia(23%) saturate(6785%) hue-rotate(250deg) brightness(93%) contrast(88%)}.psdk-not-current-svg-icon{width:1rem;filter:invert(55%) sepia(25%) saturate(0%) hue-rotate(269deg) brightness(87%) contrast(91%)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:#000000de}.psdk-sub-step-not-current{padding-left:.625rem;color:#0000008a}.psdk-flow-container-top{background-color:#fff;padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:gray;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:#673ab7;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:#0000008a;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:#000000de;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:#0000001f}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:gray;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:#673ab7;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:#0000008a;display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:#000000de;display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:#0000001f;border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiStepComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'app-multi-step', providers: [Utils], standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid lightgrey}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:#673ab7}.psdk-icon-not-current{color:gray}.psdk-current-svg-icon{width:1rem;filter:invert(23%) sepia(23%) saturate(6785%) hue-rotate(250deg) brightness(93%) contrast(88%)}.psdk-not-current-svg-icon{width:1rem;filter:invert(55%) sepia(25%) saturate(0%) hue-rotate(269deg) brightness(87%) contrast(91%)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:#000000de}.psdk-sub-step-not-current{padding-left:.625rem;color:#0000008a}.psdk-flow-container-top{background-color:#fff;padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:gray;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:#673ab7;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:#0000008a;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:#000000de;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:#0000001f}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:gray;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:#673ab7;color:#fff;border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:#0000008a;display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:#000000de;display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:#0000001f;border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"] }]
61
+ }], ctorParameters: function () { return [{ type: i1.Utils }]; }, propDecorators: { pConn$: [{
62
+ type: Input
63
+ }], formGroup$: [{
64
+ type: Input
65
+ }], arMainButtons$: [{
66
+ type: Input
67
+ }], arSecondaryButtons$: [{
68
+ type: Input
69
+ }], arChildren$: [{
70
+ type: Input
71
+ }], bIsVertical$: [{
72
+ type: Input
73
+ }], arCurrentStepIndicies$: [{
74
+ type: Input
75
+ }], arNavigationSteps$: [{
76
+ type: Input
77
+ }], actionButtonClick: [{
78
+ type: Output
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvbXVsdGktc3RlcC9tdWx0aS1zdGVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9tdWx0aS1zdGVwL211bHRpLXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQVV4RyxNQUFNLE9BQU8sa0JBQWtCO0lBZTdCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBTnRCLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBSXBFLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFFcUIsQ0FBQztJQUVwQyxRQUFRO1FBQ04sWUFBWTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFNO1FBQ25CLElBQUksTUFBTSxJQUFJLFNBQVMsRUFBRTtZQUN2QixPQUFPLGtDQUFrQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQU07UUFDcEIsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sbUNBQW1DLENBQUM7U0FDNUM7UUFFRCxPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYTtRQUMxQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QyxPQUFPLGlEQUFpRCxDQUFDO1NBQzFEO1FBRUQsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQU07UUFDbkIsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sb0NBQW9DLENBQUM7U0FDN0M7UUFFRCxPQUFPLDJCQUEyQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBTTtRQUNwQixJQUFJLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDdkIsT0FBTyxxQ0FBcUMsQ0FBQztTQUM5QztRQUVELE9BQU8sNEJBQTRCLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7K0dBckVVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDhZQUpsQixDQUFDLEtBQUssQ0FBQywwQkNWcEIsMjNKQWtHQSxta0hEdEZZLFlBQVkscVhBQW1CLHdCQUF3Qjs7NEZBRXRELGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZixDQUFDLEtBQUssQ0FBQyxjQUNOLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzs0RkFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLW11bHRpLXN0ZXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc3RlcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXN0ZXAuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVXRpbHNdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU3RlcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGFyTWFpbkJ1dHRvbnMkOiBhbnlbXTtcbiAgQElucHV0KCkgYXJTZWNvbmRhcnlCdXR0b25zJDogYW55W107XG4gIEBJbnB1dCgpIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgQElucHV0KCkgYklzVmVydGljYWwkOiBib29sZWFuO1xuICBASW5wdXQoKSBhckN1cnJlbnRTdGVwSW5kaWNpZXMkOiBudW1iZXJbXTtcbiAgQElucHV0KCkgYXJOYXZpZ2F0aW9uU3RlcHMkOiBhbnlbXTtcbiAgQE91dHB1dCgpIGFjdGlvbkJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdmdDdXJyZW50JDogc3RyaW5nO1xuICBzdmdOb3RDdXJyZW50JDogc3RyaW5nO1xuICBiU2hvdyQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXRpbHM6IFV0aWxzKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHN2ZyBpY29uc1xuICAgIHRoaXMuc3ZnQ3VycmVudCQgPSB0aGlzLnV0aWxzLmdldEltYWdlU3JjKCdjaXJjbGUtc29saWQnLCB0aGlzLnV0aWxzLmdldFNES1N0YXRpY0NvbnRlbnRVcmwoKSk7XG4gICAgdGhpcy5zdmdOb3RDdXJyZW50JCA9IHRoaXMudXRpbHMuZ2V0SW1hZ2VTcmMoJ2NpcmNsZS1zb2xpZCcsIHRoaXMudXRpbHMuZ2V0U0RLU3RhdGljQ29udGVudFVybCgpKTtcbiAgfVxuXG4gIG9uQWN0aW9uQnV0dG9uQ2xpY2sob0RhdGE6IGFueSkge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uQ2xpY2suZW1pdChvRGF0YSk7XG4gIH1cblxuICBfZ2V0Vkljb25DbGFzcyhzdGF0dXMpOiBzdHJpbmcge1xuICAgIGlmIChzdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1pY29uLXNlbGVjdGVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1pY29uJztcbiAgfVxuXG4gIF9nZXRWTGFiZWxDbGFzcyhzdGF0dXMpOiBzdHJpbmcge1xuICAgIGlmIChzdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICByZXR1cm4gJ3BzZGstdmVydGljYWwtc3RlcC1sYWJlbC1zZWxlY3RlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdwc2RrLXZlcnRpY2FsLXN0ZXAtbGFiZWwnO1xuICB9XG5cbiAgX2dldFZCb2R5Q2xhc3MoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGluZGV4IDwgdGhpcy5hck5hdmlnYXRpb25TdGVwcyQubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuICdwc2RrLXZlcnRpY2FsLXN0ZXAtYm9keSBwc2RrLXZlcnRpY2FsLXN0ZXAtbGluZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdwc2RrLXZlcnRpY2FsLXN0ZXAtYm9keSc7XG4gIH1cblxuICBfZ2V0SEljb25DbGFzcyhzdGF0dXMpOiBzdHJpbmcge1xuICAgIGlmIChzdGF0dXMgPT0gJ2N1cnJlbnQnKSB7XG4gICAgICByZXR1cm4gJ3BzZGstaG9yaXpvbnRhbC1zdGVwLWljb24tc2VsZWN0ZWQnO1xuICAgIH1cblxuICAgIHJldHVybiAncHNkay1ob3Jpem9udGFsLXN0ZXAtaWNvbic7XG4gIH1cblxuICBfZ2V0SExhYmVsQ2xhc3Moc3RhdHVzKTogc3RyaW5nIHtcbiAgICBpZiAoc3RhdHVzID09ICdjdXJyZW50Jykge1xuICAgICAgcmV0dXJuICdwc2RrLWhvcml6b250YWwtc3RlcC1sYWJlbC1zZWxlY3RlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdwc2RrLWhvcml6b250YWwtc3RlcC1sYWJlbCc7XG4gIH1cblxuICBfc2hvd0hMaW5lKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaW5kZXggPCB0aGlzLmFyTmF2aWdhdGlvblN0ZXBzJC5sZW5ndGggLSAxO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiYlNob3ckXCI+XG4gIDxkaXYgKm5nSWY9XCJiSXNWZXJ0aWNhbCRcIiBjbGFzcz1cInBzZGstdmVydGljYWwtc3RlcHBlclwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG1haW5TdGVwIG9mIGFyTmF2aWdhdGlvblN0ZXBzJDsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicHNkay12ZXJ0aWNhbC1zdGVwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicHNkay12ZXJ0aWNhbC1zdGVwLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwie3sgX2dldFZJY29uQ2xhc3MobWFpblN0ZXAudmlzaXRlZF9zdGF0dXMpIH19XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBzZGstdmVydGljYWwtc3RlcC1pY29uLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IGkgKyAxIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInt7IF9nZXRWTGFiZWxDbGFzcyhtYWluU3RlcC52aXNpdGVkX3N0YXR1cykgfX1cIj5cbiAgICAgICAgICB7eyBtYWluU3RlcC5uYW1lIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwie3sgX2dldFZCb2R5Q2xhc3MoaSkgfX1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1haW5TdGVwPy5zdGVwc1wiPlxuICAgICAgICAgIDx1bCBzdHlsZT1cInBhZGRpbmctaW5saW5lLXN0YXJ0OiAwcmVtOyBtYXJnaW4tbGVmdDogLTdweFwiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdWJTdGVwIG9mIG1haW5TdGVwLnN0ZXBzXCIgY2xhc3M9XCJwc2RrLXN1Yi1zdGVwLWxpc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1mbGV4XCI+XG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLWN1cnJlbnQtc3ZnLWljb25cIiBzcmM9XCJ7eyBzdmdDdXJyZW50JCB9fVwiIC8+XG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgIT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLW5vdC1jdXJyZW50LXN2Zy1pY29uXCIgc3JjPVwie3sgc3ZnTm90Q3VycmVudCQgfX1cIiAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLXN1Yi1zdGVwLWN1cnJlbnRcIj57eyBzdWJTdGVwLm5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgIT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLXN1Yi1zdGVwLW5vdC1jdXJyZW50XCI+e3sgc3ViU3RlcC5uYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJTdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50J1wiPlxuICAgICAgICAgICAgICAgIDxjb21wb25lbnQtbWFwcGVyXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiQXNzaWdubWVudENhcmRcIlxuICAgICAgICAgICAgICAgICAgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgICAgICAgICAgICAgICBbcGFyZW50XT1cInRoaXNcIlxuICAgICAgICAgICAgICAgICAgW291dHB1dEV2ZW50c109XCJ7IGFjdGlvbkJ1dHRvbkNsaWNrOiBvbkFjdGlvbkJ1dHRvbkNsaWNrIH1cIlxuICAgICAgICAgICAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1haW5TdGVwPy5zdGVwcyAmJiBtYWluU3RlcC52aXNpdGVkX3N0YXR1cyA9PSAnY3VycmVudCdcIj5cbiAgICAgICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAgICAgbmFtZT1cIkFzc2lnbm1lbnRDYXJkXCJcbiAgICAgICAgICAgIFtwcm9wc109XCJ7IHBDb25uJCwgZm9ybUdyb3VwJCwgYXJDaGlsZHJlbiQsIGFyTWFpbkJ1dHRvbnMkLCBhclNlY29uZGFyeUJ1dHRvbnMkIH1cIlxuICAgICAgICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgIFtvdXRwdXRFdmVudHNdPVwieyBhY3Rpb25CdXR0b25DbGljazogb25BY3Rpb25CdXR0b25DbGljayB9XCJcbiAgICAgICAgICA+PC9jb21wb25lbnQtbWFwcGVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiIWJJc1ZlcnRpY2FsJFwiIGNsYXNzPVwicHNkay1ob3Jpem9udGFsLXN0ZXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHNkay1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWFpblN0ZXAgb2YgYXJOYXZpZ2F0aW9uU3RlcHMkOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcC1oZWFkZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwie3sgX2dldEhJY29uQ2xhc3MobWFpblN0ZXAudmlzaXRlZF9zdGF0dXMpIH19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHNkay1ob3Jpem9udGFsLXN0ZXAtaWNvbi1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt7IGkgKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInt7IF9nZXRITGFiZWxDbGFzcyhtYWluU3RlcC52aXNpdGVkX3N0YXR1cykgfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwc2RrLWhvcml6b250YWwtc3RlcC10ZXh0LWxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7IG1haW5TdGVwLm5hbWUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIl9zaG93SExpbmUoaSlcIiBjbGFzcz1cInBzZGstaG9yaXpvbnRhbC1zdGVwLWxpbmVcIj48L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG1haW5TdGVwIG9mIGFyTmF2aWdhdGlvblN0ZXBzJFwiIGNsYXNzPVwicHNkay1ob3Jpem9udGFsLXN0ZXBwZXItYm9keVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1haW5TdGVwPy5zdGVwc1wiPlxuICAgICAgICA8dWwgc3R5bGU9XCJwYWRkaW5nLWlubGluZS1zdGFydDogMHJlbTsgbWFyZ2luLWxlZnQ6IDM1cHhcIj5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHN1YlN0ZXAgb2YgbWFpblN0ZXAuc3RlcHNcIiBjbGFzcz1cInBzZGstc3ViLXN0ZXAtbGlzdFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1mbGV4XCI+XG4gICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJzdWJTdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50J1wiIGNsYXNzPVwicHNkay1jdXJyZW50LXN2Zy1pY29uXCIgc3JjPVwie3sgc3ZnQ3VycmVudCQgfX1cIiAvPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwic3ViU3RlcC52aXNpdGVkX3N0YXR1cyAhPSAnY3VycmVudCdcIiBjbGFzcz1cInBzZGstbm90LWN1cnJlbnQtc3ZnLWljb25cIiBzcmM9XCJ7eyBzdmdOb3RDdXJyZW50JCB9fVwiIC8+XG4gICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cInN1YlN0ZXAudmlzaXRlZF9zdGF0dXMgPT0gJ2N1cnJlbnQnXCIgY2xhc3M9XCJwc2RrLXN1Yi1zdGVwLWN1cnJlbnRcIj57eyBzdWJTdGVwLm5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJzdWJTdGVwLnZpc2l0ZWRfc3RhdHVzICE9ICdjdXJyZW50J1wiIGNsYXNzPVwicHNkay1zdWItc3RlcC1ub3QtY3VycmVudFwiPnt7IHN1YlN0ZXAubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdWJTdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50J1wiPlxuICAgICAgICAgICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAgICAgICAgIG5hbWU9XCJBc3NpZ25tZW50Q2FyZFwiXG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgICAgICAgICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgICAgICAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWFpblN0ZXA/LnN0ZXBzICYmIG1haW5TdGVwLnZpc2l0ZWRfc3RhdHVzID09ICdjdXJyZW50J1wiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlclxuICAgICAgICAgIG5hbWU9XCJBc3NpZ25tZW50Q2FyZFwiXG4gICAgICAgICAgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtR3JvdXAkLCBhckNoaWxkcmVuJCwgYXJNYWluQnV0dG9ucyQsIGFyU2Vjb25kYXJ5QnV0dG9ucyQgfVwiXG4gICAgICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgICAgICBbb3V0cHV0RXZlbnRzXT1cInsgYWN0aW9uQnV0dG9uQ2xpY2s6IG9uQWN0aW9uQnV0dG9uQ2xpY2sgfVwiXG4gICAgICAgID48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==