@pega/angular-sdk-components 23.1.10 → 24.2.10

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 (238) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +18 -6
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +6 -13
  3. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +3 -1
  4. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +1 -1
  5. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +4 -4
  6. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +4 -4
  7. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +4 -4
  8. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +5 -5
  9. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +9 -6
  11. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +5 -5
  12. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +10 -7
  13. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +5 -5
  14. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +4 -4
  15. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +5 -5
  16. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +5 -5
  17. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +16 -9
  18. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +9 -9
  19. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +4 -4
  20. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +14 -12
  22. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +5 -7
  23. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +111 -45
  24. package/esm2022/lib/_components/field/currency/currency.component.mjs +48 -18
  25. package/esm2022/lib/_components/field/date/date.component.mjs +21 -41
  26. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +26 -45
  27. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +41 -11
  28. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +126 -31
  29. package/esm2022/lib/_components/field/email/email.component.mjs +15 -8
  30. package/esm2022/lib/_components/field/group/group.component.mjs +11 -8
  31. package/esm2022/lib/_components/field/integer/integer.component.mjs +15 -10
  32. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +3 -3
  33. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +314 -0
  34. package/esm2022/lib/_components/field/multiselect/utils.mjs +187 -0
  35. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +41 -14
  36. package/esm2022/lib/_components/field/phone/phone.component.mjs +12 -19
  37. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +12 -19
  38. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +10 -11
  39. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +9 -9
  40. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +5 -5
  41. package/esm2022/lib/_components/field/text/text.component.mjs +7 -5
  42. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +15 -13
  43. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +5 -5
  44. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +15 -10
  45. package/esm2022/lib/_components/field/time/time.component.mjs +23 -12
  46. package/esm2022/lib/_components/field/url/url.component.mjs +17 -10
  47. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +69 -37
  48. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +18 -0
  49. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +71 -0
  50. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +40 -41
  51. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +1 -1
  52. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  53. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +41 -13
  54. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +4 -4
  55. package/esm2022/lib/_components/infra/Containers/view-container/helper.mjs +22 -0
  56. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +10 -18
  57. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +35 -40
  59. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +4 -4
  60. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +5 -6
  61. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +13 -16
  62. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  63. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +6 -6
  64. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +12 -8
  65. package/esm2022/lib/_components/infra/reference/reference.component.mjs +5 -5
  66. package/esm2022/lib/_components/infra/region/region.component.mjs +4 -4
  67. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +5 -5
  68. package/esm2022/lib/_components/infra/stages/stages.component.mjs +6 -6
  69. package/esm2022/lib/_components/infra/view/view.component.mjs +24 -9
  70. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +21 -5
  71. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +5 -5
  72. package/esm2022/lib/_components/template/base/details-template-base.mjs +56 -0
  73. package/esm2022/lib/_components/template/base/form-template-base.mjs +13 -0
  74. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +38 -9
  75. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +12 -23
  76. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +6 -6
  77. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +15 -12
  78. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +9 -21
  79. package/esm2022/lib/_components/template/details/details.component.mjs +12 -39
  80. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +11 -38
  81. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +12 -41
  82. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +13 -40
  83. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +12 -41
  84. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +13 -42
  85. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +12 -41
  86. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +9 -9
  87. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +4 -4
  88. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +9 -21
  89. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +10 -5
  90. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +4 -4
  91. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +6 -6
  92. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +4 -4
  93. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +1 -1
  94. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +54 -35
  95. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +2 -3
  96. package/esm2022/lib/_components/template/list-view/utils.mjs +1 -1
  97. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +5 -5
  98. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +4 -4
  99. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +6 -5
  100. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +4 -4
  101. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +4 -4
  102. package/esm2022/lib/_components/template/page/page.component.mjs +5 -5
  103. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +5 -5
  104. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +5 -6
  105. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +5 -7
  106. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +3 -3
  107. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +51 -32
  108. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +8 -10
  109. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +4 -4
  110. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +5 -5
  111. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +6 -5
  112. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +4 -4
  113. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +6 -5
  114. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +5 -5
  115. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +4 -4
  116. package/esm2022/lib/_components/template/utils.mjs +1 -1
  117. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +6 -5
  118. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +5 -5
  119. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +9 -7
  120. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +4 -4
  121. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +229 -424
  122. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +6 -7
  123. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +6 -10
  124. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +18 -22
  125. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +6 -6
  126. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +5 -5
  127. package/esm2022/lib/_components/widget/todo/todo.component.mjs +79 -64
  128. package/esm2022/lib/_components/widget/utility/utility.component.mjs +5 -5
  129. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +5 -5
  130. package/esm2022/lib/_helpers/case-utils.mjs +1 -1
  131. package/esm2022/lib/_helpers/createstage-utils.mjs +15 -0
  132. package/esm2022/lib/_helpers/currency-utils.mjs +1 -1
  133. package/esm2022/lib/_helpers/event-util.mjs +1 -1
  134. package/esm2022/lib/_helpers/field-group-utils.mjs +3 -3
  135. package/esm2022/lib/_helpers/filter-utils.mjs +1 -2
  136. package/esm2022/lib/_helpers/formatters/boolean.mjs +1 -1
  137. package/esm2022/lib/_helpers/formatters/common.mjs +3 -5
  138. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  139. package/esm2022/lib/_helpers/formatters/date.mjs +4 -4
  140. package/esm2022/lib/_helpers/formatters/format-utils.mjs +3 -3
  141. package/esm2022/lib/_helpers/formatters/index.mjs +17 -3
  142. package/esm2022/lib/_helpers/instructions-utils.mjs +36 -0
  143. package/esm2022/lib/_helpers/tab-utils.mjs +1 -1
  144. package/esm2022/lib/_helpers/template-utils.mjs +4 -4
  145. package/esm2022/lib/_helpers/utils.mjs +6 -6
  146. package/esm2022/lib/_messages/error-messages.service.mjs +4 -4
  147. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  148. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  149. package/esm2022/lib/_services/case.service.mjs +4 -4
  150. package/esm2022/lib/_services/datapage.service.mjs +5 -5
  151. package/esm2022/lib/_services/endpoints.mjs +1 -2
  152. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  153. package/esm2022/public-api.mjs +6 -4
  154. package/fesm2022/pega-angular-sdk-components.mjs +2722 -2143
  155. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  156. package/lib/_bridge/angular-pconnect.d.ts +2 -0
  157. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +2 -0
  158. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +2 -0
  159. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -1
  160. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -1
  161. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +2 -2
  162. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +3 -2
  163. package/lib/_components/field/check-box/check-box.component.d.ts +18 -0
  164. package/lib/_components/field/currency/currency.component.d.ts +10 -5
  165. package/lib/_components/field/date/date.component.d.ts +17 -6
  166. package/lib/_components/field/date-time/date-time.component.d.ts +10 -3
  167. package/lib/_components/field/decimal/decimal.component.d.ts +9 -1
  168. package/lib/_components/field/dropdown/dropdown.component.d.ts +13 -2
  169. package/lib/_components/field/email/email.component.d.ts +2 -0
  170. package/lib/_components/field/integer/integer.component.d.ts +3 -1
  171. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -1
  172. package/lib/_components/field/multiselect/multiselect.component.d.ts +65 -0
  173. package/lib/_components/field/multiselect/utils.d.ts +8 -0
  174. package/lib/_components/field/percentage/percentage.component.d.ts +11 -1
  175. package/lib/_components/field/phone/phone.component.d.ts +3 -1
  176. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +2 -1
  177. package/lib/_components/field/rich-text/rich-text.component.d.ts +2 -0
  178. package/lib/_components/field/text/text.component.d.ts +3 -1
  179. package/lib/_components/field/text-area/text-area.component.d.ts +3 -1
  180. package/lib/_components/field/text-input/text-input.component.d.ts +3 -1
  181. package/lib/_components/field/time/time.component.d.ts +5 -1
  182. package/lib/_components/field/url/url.component.d.ts +4 -1
  183. package/lib/_components/field/user-reference/user-reference.component.d.ts +16 -4
  184. package/lib/_components/infra/Containers/base-components/flow-container-base.component.d.ts +8 -0
  185. package/lib/_components/infra/Containers/base-components/helper.d.ts +1 -0
  186. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +6 -7
  187. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +3 -2
  188. package/lib/_components/infra/Containers/view-container/helper.d.ts +2 -0
  189. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  190. package/lib/_components/infra/assignment/assignment.component.d.ts +2 -2
  191. package/lib/_components/infra/defer-load/defer-load.component.d.ts +2 -2
  192. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  193. package/lib/_components/infra/navbar/navbar.component.d.ts +4 -2
  194. package/lib/_components/infra/view/view.component.d.ts +1 -0
  195. package/lib/_components/template/base/details-template-base.d.ts +22 -0
  196. package/lib/_components/template/base/form-template-base.d.ts +8 -0
  197. package/lib/_components/template/case-summary/case-summary.component.d.ts +2 -0
  198. package/lib/_components/template/case-view/case-view.component.d.ts +1 -2
  199. package/lib/_components/template/default-form/default-form.component.d.ts +2 -5
  200. package/lib/_components/template/details/details.component.d.ts +3 -11
  201. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +3 -11
  202. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +3 -13
  203. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +3 -13
  204. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +3 -13
  205. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +3 -13
  206. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +3 -13
  207. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +1 -0
  208. package/lib/_components/template/field-value-list/field-value-list.component.d.ts +2 -1
  209. package/lib/_components/template/list-view/list-view.component.d.ts +12 -3
  210. package/lib/_components/template/list-view/listViewHelpers.d.ts +1 -1
  211. package/lib/_components/template/one-column/one-column.component.d.ts +2 -1
  212. package/lib/_components/template/simple-table-manual/helpers.d.ts +2 -2
  213. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +4 -0
  214. package/lib/_components/template/three-column/three-column.component.d.ts +2 -1
  215. package/lib/_components/template/two-column/two-column.component.d.ts +2 -1
  216. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +2 -1
  217. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +1 -1
  218. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +4 -2
  219. package/lib/_components/widget/attachment/attachment.component.d.ts +30 -54
  220. package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -2
  221. package/lib/_components/widget/file-utility/file-utility.component.d.ts +2 -2
  222. package/lib/_components/widget/todo/todo.component.d.ts +8 -10
  223. package/lib/_helpers/createstage-utils.d.ts +1 -0
  224. package/lib/_helpers/field-group-utils.d.ts +1 -1
  225. package/lib/_helpers/filter-utils.d.ts +1 -1
  226. package/lib/_helpers/formatters/common.d.ts +1 -1
  227. package/lib/_helpers/instructions-utils.d.ts +4 -0
  228. package/lib/_messages/error-messages.service.d.ts +1 -1
  229. package/lib/_services/endpoints.d.ts +0 -1
  230. package/lib/doc/KeyReleaseUpdates.md +35 -1
  231. package/package.json +3 -3
  232. package/public-api.d.ts +5 -3
  233. package/esm2022/lib/_messages/get-login-status.service.mjs +0 -26
  234. package/esm2022/lib/_messages/oauth-response.service.mjs +0 -30
  235. package/esm2022/lib/_messages/reset-pconnect.service.mjs +0 -31
  236. package/lib/_messages/get-login-status.service.d.ts +0 -10
  237. package/lib/_messages/oauth-response.service.d.ts +0 -14
  238. package/lib/_messages/reset-pconnect.service.d.ts +0 -15
@@ -34,6 +34,22 @@ export class AppShellComponent {
34
34
  if (this.pages$) {
35
35
  this.bShowAppShell$ = true;
36
36
  }
37
+ // @ts-ignore - Property 'pyCaseTypesAvailableToCreateDP' does not exist on type pxApplication
38
+ const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;
39
+ if (caseTypesAvailableToCreateDP) {
40
+ const portalID = this.pConn$.getValue('.pyOwner');
41
+ PCore.getDataPageUtils()
42
+ .getPageDataAsync(caseTypesAvailableToCreateDP, this.pConn$.getContextName(), {
43
+ PortalName: portalID
44
+ })
45
+ .then((response) => {
46
+ if (response?.pyCaseTypesAvailableToCreate) {
47
+ this.pConn$.replaceState('.pyCaseTypesAvailableToCreate', response.pyCaseTypesAvailableToCreate, {
48
+ skipDirtyValidation: true
49
+ });
50
+ }
51
+ });
52
+ }
37
53
  this.caseTypes$ = this.configProps$.caseTypes;
38
54
  this.arChildren$ = this.pConn$.getChildren();
39
55
  this.portalTemplate = this.configProps$.portalTemplate;
@@ -128,13 +144,13 @@ export class AppShellComponent {
128
144
  break;
129
145
  }
130
146
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppShellComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ErrorMessagesService }, { token: i3.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AppShellComponent, isStandalone: true, selector: "app-app-shell", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"appshell-top\">\n <div *ngIf=\"bShowAppShell$ && portalTemplate !== 'wss'\">\n <component-mapper name=\"NavBar\" [props]=\"{ pConn$, appName$, pages$, caseTypes$ }\"></component-mapper>\n </div>\n <div *ngIf=\"bShowAppShell$ && portalTemplate === 'wss'\">\n <component-mapper name=\"WssNavBar\" [props]=\"{ pConn$, appName$, homePage: pages$[0], pages$: links, caseTypes$ }\"></component-mapper>\n </div>\n <div [ngClass]=\"{ 'appshell-main': portalTemplate !== 'wss', 'appshell-main-wss': portalTemplate === 'wss' }\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getComponentName() == 'ViewContainer'\">\n <component-mapper name=\"ViewContainer\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n</div>\n", styles: [".appshell-top,.appshell-top-wss{background-color:var(--app-background-color)}.appshell-main{position:relative;margin-left:var(--app-nav-width);min-height:100vh;display:block}.appshell-main-wss{position:relative;min-height:100vh;display:block;width:100%}.psdk-icon{padding:0rem .125rem;min-width:unset}.progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}::ng-deep snack-bar-container.snackbar-newline{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatSnackBarModule; }) }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppShellComponent, deps: [{ token: i1.AngularPConnectService }, { token: i2.ErrorMessagesService }, { token: i3.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
148
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: AppShellComponent, isStandalone: true, selector: "app-app-shell", inputs: { pConn$: "pConn$" }, ngImport: i0, template: "<div class=\"appshell-top\">\n <div *ngIf=\"bShowAppShell$ && portalTemplate !== 'wss'\">\n <component-mapper name=\"NavBar\" [props]=\"{ pConn$, appName$, pages$, caseTypes$ }\"></component-mapper>\n </div>\n <div *ngIf=\"bShowAppShell$ && portalTemplate === 'wss'\">\n <component-mapper name=\"WssNavBar\" [props]=\"{ pConn$, appName$, homePage: pages$[0], pages$: links, caseTypes$ }\"></component-mapper>\n </div>\n <div [ngClass]=\"{ 'appshell-main': portalTemplate !== 'wss', 'appshell-main-wss': portalTemplate === 'wss' }\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getComponentName() == 'ViewContainer'\">\n <component-mapper name=\"ViewContainer\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n</div>\n", styles: [".appshell-top,.appshell-top-wss{background-color:var(--app-background-color)}.appshell-main{position:relative;margin-left:var(--app-nav-width);min-height:100vh;display:block}.appshell-main-wss{position:relative;min-height:100vh;display:block;width:100%}.psdk-icon{padding:0rem .125rem;min-width:unset}.progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}::ng-deep snack-bar-container.snackbar-newline{white-space:pre-line}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatSnackBarModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
133
149
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppShellComponent, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppShellComponent, decorators: [{
135
151
  type: Component,
136
152
  args: [{ selector: 'app-app-shell', standalone: true, imports: [CommonModule, MatSnackBarModule, forwardRef(() => ComponentMapperComponent)], template: "<div class=\"appshell-top\">\n <div *ngIf=\"bShowAppShell$ && portalTemplate !== 'wss'\">\n <component-mapper name=\"NavBar\" [props]=\"{ pConn$, appName$, pages$, caseTypes$ }\"></component-mapper>\n </div>\n <div *ngIf=\"bShowAppShell$ && portalTemplate === 'wss'\">\n <component-mapper name=\"WssNavBar\" [props]=\"{ pConn$, appName$, homePage: pages$[0], pages$: links, caseTypes$ }\"></component-mapper>\n </div>\n <div [ngClass]=\"{ 'appshell-main': portalTemplate !== 'wss', 'appshell-main-wss': portalTemplate === 'wss' }\">\n <div *ngFor=\"let kid of arChildren$\">\n <div *ngIf=\"kid.getPConnect().getComponentName() == 'ViewContainer'\">\n <component-mapper name=\"ViewContainer\" [props]=\"{ pConn$: kid.getPConnect() }\"></component-mapper>\n </div>\n </div>\n </div>\n</div>\n", styles: [".appshell-top,.appshell-top-wss{background-color:var(--app-background-color)}.appshell-main{position:relative;margin-left:var(--app-nav-width);min-height:100vh;display:block}.appshell-main-wss{position:relative;min-height:100vh;display:block;width:100%}.psdk-icon{padding:0rem .125rem;min-width:unset}.progress-box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--app-background-color);position:fixed;z-index:999;top:0rem;left:0rem;opacity:.5}.progress-spinner{text-align:center}::ng-deep snack-bar-container.snackbar-newline{white-space:pre-line}\n"] }]
137
- }], ctorParameters: function () { return [{ type: i1.AngularPConnectService }, { type: i2.ErrorMessagesService }, { type: i3.MatSnackBar }, { type: i0.NgZone }]; }, propDecorators: { pConn$: [{
153
+ }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i2.ErrorMessagesService }, { type: i3.MatSnackBar }, { type: i0.NgZone }], propDecorators: { pConn$: [{
138
154
  type: Input
139
155
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7OztBQThCeEcsTUFBTSxPQUFPLGlCQUFpQjtJQW1CNUIsWUFDVSxlQUF1QyxFQUN2QyxTQUErQixFQUMvQixRQUFxQixFQUNyQixNQUFjO1FBSGQsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXBCeEIsdUNBQXVDO1FBQ3ZDLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFNOUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUVsQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQVEsRUFBRSxDQUFDO0lBT2IsQ0FBQztJQUVKLFFBQVE7UUFDTiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4Ryw4Q0FBOEM7UUFFOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQWtCLENBQUM7UUFFbEcsaUNBQWlDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFFdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM5QyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFFOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBVyxDQUFDO1FBRXRELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7UUFFdkQsaURBQWlEO1FBQ2pELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxxSEFBcUg7UUFDckgsa0lBQWtJO1FBQ2xJLCtFQUErRTtRQUMvRSxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYztRQUNaLGdFQUFnRTtRQUNoRSw0QkFBNEI7UUFDNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSx3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFrQixDQUFDO1FBRWxHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixpQ0FBaUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7YUFDNUI7WUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQVcsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwyREFBMkQ7SUFDM0Qsd0JBQXdCLENBQUMsYUFBa0I7UUFDekMsUUFBUSxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQzVCLEtBQUssUUFBUTtnQkFDWCx5Q0FBeUM7Z0JBQ3pDLDhEQUE4RDtnQkFDOUQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRTNGLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTt3QkFDeEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQzt3QkFDcEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztxQkFDMUU7aUJBQ0Y7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCx1Q0FBdUM7Z0JBQ3ZDLHlDQUF5QztnQkFDekMsOERBQThEO2dCQUM5RCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUY7Z0JBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBRTVCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDeEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDMUU7Z0JBQ0QseURBQXlEO2dCQUN6RCxnQ0FBZ0M7Z0JBQ2hDLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLDZDQUE2QztnQkFDN0MsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRTtvQkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2lCQUM5QjtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLHNEQUFzRDtnQkFDdEQsMkVBQTJFO2dCQUUzRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDOytHQTFKVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1R0NwQzlCLDJ6QkFlQSwyc0JEbUJZLFlBQVkseWZBQUUsaUJBQWlCLHNFQUFtQix3QkFBd0I7OzRGQUV6RSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsrTEFHN0UsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBOZ1pvbmUsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgSVBhZ2Uge1xuICBjbGFzc0lEOiBzdHJpbmc7XG4gIHB4UGFnZVZpZXdJY29uOiBzdHJpbmc7XG4gIHB5Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHB5TGFiZWw6IHN0cmluZztcbiAgcHlSdWxlTmFtZTogc3RyaW5nO1xuICBweVVSTENvbnRlbnQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFwcFNoZWxsUHJvcHMge1xuICAvLyBJZiBhbnksIGVudGVyIGFkZGl0aW9uYWwgcHJvcHMgdGhhdCBvbmx5IGV4aXN0IG9uIHRoaXMgY29tcG9uZW50XG4gIHBhZ2VzOiBJUGFnZVtdO1xuICBjYXNlVHlwZXM/OiBvYmplY3RbXTtcbiAgcG9ydGFsTG9nbzogc3RyaW5nO1xuICBwb3J0YWxOYW1lOiBzdHJpbmc7XG4gIHBvcnRhbFRlbXBsYXRlOiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2hvd0FwcEhlYWRlckJhcjogYm9vbGVhbjtcbiAgc2hvd0FwcE5hbWU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hcHAtc2hlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFNuYWNrQmFyTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNoZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcblxuICAvLyBGb3IgaW50ZXJhY3Rpb24gd2l0aCBBbmd1bGFyUENvbm5lY3RcbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBjb25maWdQcm9wcyQ6IEFwcFNoZWxsUHJvcHM7XG5cbiAgcGFnZXMkOiBJUGFnZVtdO1xuICBjYXNlVHlwZXMkPzogb2JqZWN0W107XG4gIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgYlNob3dBcHBTaGVsbCQgPSBmYWxzZTtcbiAgYXBwTmFtZSQgPSAnUEVHQSc7XG4gIGVycm9yTWVzc2FnZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgc0Vycm9yTWVzc2FnZXMgPSAnJztcbiAgc25hY2tCYXJSZWY6IGFueTtcbiAgYk9rRGlzcGxheUVycm9yID0gZmFsc2U7XG4gIHBvcnRhbFRlbXBsYXRlOiBzdHJpbmc7XG4gIGxpbmtzOiBhbnkgPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIGVyU2VydmljZTogRXJyb3JNZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICAvLyBUaGVuLCBjb250aW51ZSBvbiB3aXRoIG90aGVyIGluaXRpYWxpemF0aW9uXG5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBBcHBTaGVsbFByb3BzO1xuXG4gICAgLy8gbWFraW5nIGEgY29weSwgc28gY2FuIGFkZCBpbmZvXG4gICAgdGhpcy5wYWdlcyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5wYWdlcztcblxuICAgIHRoaXMubGlua3MgPSB0aGlzLnBhZ2VzJC5maWx0ZXIoKHBhZ2UsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggIT09IDA7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wYWdlcyQpIHtcbiAgICAgIHRoaXMuYlNob3dBcHBTaGVsbCQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmNhc2VUeXBlcyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5jYXNlVHlwZXM7XG5cbiAgICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBhbnlbXTtcblxuICAgIHRoaXMucG9ydGFsVGVtcGxhdGUgPSB0aGlzLmNvbmZpZ1Byb3BzJC5wb3J0YWxUZW1wbGF0ZTtcblxuICAgIC8vIGhhbmRsZSBzaG93aW5nIGFuZCBoaWRpbmcgdGhlIHByb2dyZXNzIHNwaW5uZXJcbiAgICB0aGlzLmVycm9yTWVzc2FnZXNTdWJzY3JpcHRpb24gPSB0aGlzLmVyU2VydmljZS5nZXRNZXNzYWdlKCkuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xuICAgICAgdGhpcy5zaG93RGlzbWlzc0Vycm9yTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgfSk7XG5cbiAgICAvLyBjYW5ub3QgY2FsbCBjaGVja0FuZFVwZGF0ZSBiZWNhc3VlIGZpcnN0IHRpbWUgdGhyb3VnaCwgd2lsbCBjYWxsIHVwZGF0ZVNlbGYgYW5kIHRoYXQgaXMgaW5jb3JyZWN0IChjYXVzZXMgaXNzdWVzKS5cbiAgICAvLyBob3dldmVyLCBuZWVkIGFuZ3VsYXJQQ29ubmVjdCB0byBiZSBpbml0aWFsaXplZCB3aXRoIGN1cnJlbnRQcm9wcyBmb3IgZnV0dXJlIHVwZGF0ZXMsIHNvIGNhbGxpbmcgc2hvdWxkQ29tcG9uZW50VXBkYXRlIGRpcmVjdGx5XG4gICAgLy8gd2l0aG91dCBjaGVja2luZyB0byB1cGRhdGUgaGVyZSBpbiBpbml0LCB3aWxsIGluaXRpYWxpemUgYW5kIHRoaXMgaXMgY29ycmVjdFxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxsYmFjayBwYXNzZWQgd2hlbiBzdWJzY3JpYmluZyB0byBzdG9yZSBjaGFuZ2VcbiAgb25TdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG4gIH1cblxuICBjaGVja0FuZFVwZGF0ZSgpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGNoZWNrIHRoZSBicmlkZ2UgdG8gc2VlIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkXG4gICAgLy8gdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT05MWSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVNlbGYoKSB7XG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgQXBwU2hlbGxQcm9wcztcblxuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAvLyBtYWtpbmcgYSBjb3B5LCBzbyBjYW4gYWRkIGluZm9cbiAgICAgIHRoaXMucGFnZXMkID0gdGhpcy5jb25maWdQcm9wcyQucGFnZXM7XG5cbiAgICAgIGlmICh0aGlzLnBhZ2VzJCkge1xuICAgICAgICB0aGlzLmJTaG93QXBwU2hlbGwkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jYXNlVHlwZXMkID0gdGhpcy5jb25maWdQcm9wcyQuY2FzZVR5cGVzO1xuICAgICAgdGhpcy5hckNoaWxkcmVuJCA9IHRoaXMucENvbm4kLmdldENoaWxkcmVuKCkgYXMgYW55W107XG4gICAgfSk7XG4gIH1cblxuICAvLyBmcHIgc2hvdy9oaWRpbmcgZXJyb3IgbWVzc2FnZXMgaW4gdGhlIFNuYWNrQmFyIGNvbXBvbmVudFxuICBzaG93RGlzbWlzc0Vycm9yTWVzc2FnZXMoZXJyb3JNZXNzYWdlczogYW55KSB7XG4gICAgc3dpdGNoIChlcnJvck1lc3NhZ2VzLmFjdGlvbikge1xuICAgICAgY2FzZSAndXBkYXRlJzpcbiAgICAgICAgLy8gd29uJ3Qgc2hvdyB1bmxlc3MgcHVibGlzaCBpcyB0dXJuZWQgb25cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItaW5jbHVkZXNcbiAgICAgICAgaWYgKHRoaXMuc0Vycm9yTWVzc2FnZXMuaW5kZXhPZihlcnJvck1lc3NhZ2VzLmFjdGlvbk1lc3NhZ2UpIDwgMCkge1xuICAgICAgICAgIHRoaXMuc0Vycm9yTWVzc2FnZXMgPSB0aGlzLnNFcnJvck1lc3NhZ2VzLmNvbmNhdChlcnJvck1lc3NhZ2VzLmFjdGlvbk1lc3NhZ2UpLmNvbmNhdCgnXFxuJyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5iT2tEaXNwbGF5RXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgcGFuZWxDbGFzczogWydzbmFja2Jhci1uZXdsaW5lJ10sIGR1cmF0aW9uOiA1MDAwIH07XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmID0gdGhpcy5zbmFja0Jhci5vcGVuKHRoaXMuc0Vycm9yTWVzc2FnZXMsICdPaycsIGNvbmZpZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2hvdyc6XG4gICAgICAgIC8vIGFkZCBlcnJvciBtZXNzYWdlIGlmIG5vdCBpbiB0aGUgbGlzdFxuICAgICAgICAvLyB3b24ndCBzaG93IHVubGVzcyBwdWJsaXNoIGlzIHR1cm5lZCBvblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1pbmNsdWRlc1xuICAgICAgICBpZiAodGhpcy5zRXJyb3JNZXNzYWdlcy5pbmRleE9mKGVycm9yTWVzc2FnZXMuYWN0aW9uTWVzc2FnZSkgPCAwKSB7XG4gICAgICAgICAgdGhpcy5zRXJyb3JNZXNzYWdlcyA9IHRoaXMuc0Vycm9yTWVzc2FnZXMuY29uY2F0KGVycm9yTWVzc2FnZXMuYWN0aW9uTWVzc2FnZSkuY29uY2F0KCdcXG4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYk9rRGlzcGxheUVycm9yID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5iT2tEaXNwbGF5RXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBjb25maWcgPSB7IHBhbmVsQ2xhc3M6IFsnc25hY2tiYXItbmV3bGluZSddLCBkdXJhdGlvbjogNTAwMCB9O1xuICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4odGhpcy5zRXJyb3JNZXNzYWdlcywgJ09rJywgY29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGlzLnNuYWNrQmFyUmVmLmFmdGVyRGlzbWlzc2VkKCkuc3Vic2NyaWJlKCBpbmZvID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuc0Vycm9yTWVzc2FnZXMgPSBcIlwiO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rpc21pc3MnOlxuICAgICAgICAvLyBjbG9zZXMgc25hY2sgYmFyXG4gICAgICAgIC8vIHR1cm5zIHB1Ymxpc2ggb2ZmXG4gICAgICAgIC8vIGNsZWFycyBvdXQgZXJyb3JzXG4gICAgICAgIC8vIHNob3VsZCBiZSBjYWxsZWQgdG8gZGltaXNzIGFuZCBhdCBcImNhbmNlbFwiXG4gICAgICAgIGlmICh0aGlzLnNuYWNrQmFyUmVmICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmLmRpc21pc3MoKTtcbiAgICAgICAgICB0aGlzLnNFcnJvck1lc3NhZ2VzID0gJyc7XG4gICAgICAgICAgdGhpcy5iT2tEaXNwbGF5RXJyb3IgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3B1Ymxpc2gnOlxuICAgICAgICAvLyBhbGxvd3MgZXJyb3JzIHRvIGJlIHNob3duLCBjbGVhcnMgb3V0IGV4aXN0aW5nIG9uZXNcbiAgICAgICAgLy8gc2hvdWxkIGJlIHR1cm5lZCBvbiBhdCBcInN1Ym1pdFwiIChmaW5pc2hBc3NpZ25tZW50LCBuZXh0QXNzaWdubWVudCwgZXRjLilcblxuICAgICAgICB0aGlzLmJPa0Rpc3BsYXlFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuc0Vycm9yTWVzc2FnZXMgPSAnJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhcHBzaGVsbC10b3BcIj5cbiAgPGRpdiAqbmdJZj1cImJTaG93QXBwU2hlbGwkICYmIHBvcnRhbFRlbXBsYXRlICE9PSAnd3NzJ1wiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJOYXZCYXJcIiBbcHJvcHNdPVwieyBwQ29ubiQsIGFwcE5hbWUkLCBwYWdlcyQsIGNhc2VUeXBlcyQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJiU2hvd0FwcFNoZWxsJCAmJiBwb3J0YWxUZW1wbGF0ZSA9PT0gJ3dzcydcIj5cbiAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiV3NzTmF2QmFyXCIgW3Byb3BzXT1cInsgcENvbm4kLCBhcHBOYW1lJCwgaG9tZVBhZ2U6IHBhZ2VzJFswXSwgcGFnZXMkOiBsaW5rcywgY2FzZVR5cGVzJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdhcHBzaGVsbC1tYWluJzogcG9ydGFsVGVtcGxhdGUgIT09ICd3c3MnLCAnYXBwc2hlbGwtbWFpbi13c3MnOiBwb3J0YWxUZW1wbGF0ZSA9PT0gJ3dzcycgfVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGtpZCBvZiBhckNoaWxkcmVuJFwiPlxuICAgICAgPGRpdiAqbmdJZj1cImtpZC5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSA9PSAnVmlld0NvbnRhaW5lcidcIj5cbiAgICAgICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIlZpZXdDb250YWluZXJcIiBbcHJvcHNdPVwieyBwQ29ubiQ6IGtpZC5nZXRQQ29ubmVjdCgpIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFlLE1BQU0sNkJBQTZCLENBQUM7QUFJN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7OztBQThCeEcsTUFBTSxPQUFPLGlCQUFpQjtJQW1CNUIsWUFDVSxlQUF1QyxFQUN2QyxTQUErQixFQUMvQixRQUFxQixFQUNyQixNQUFjO1FBSGQsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXBCeEIsdUNBQXVDO1FBQ3ZDLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFNOUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsYUFBUSxHQUFHLE1BQU0sQ0FBQztRQUVsQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQVEsRUFBRSxDQUFDO0lBT2IsQ0FBQztJ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O29CQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztvQkFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixzREFBc0Q7Z0JBQ3RELDJFQUEyRTtnQkFFM0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDOytHQTVLVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1R0NwQzlCLDJ6QkFlQSw0ckJEbUJZLFlBQVksaWJBQUUsaUJBQWlCLG9EQUFtQix3QkFBd0I7OzRGQUV6RSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzs2S0FHN0UsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBOZ1pvbmUsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fbWVzc2FnZXMvZXJyb3ItbWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgSVBhZ2Uge1xuICBjbGFzc0lEOiBzdHJpbmc7XG4gIHB4UGFnZVZpZXdJY29uOiBzdHJpbmc7XG4gIHB5Q2xhc3NOYW1lOiBzdHJpbmc7XG4gIHB5TGFiZWw6IHN0cmluZztcbiAgcHlSdWxlTmFtZTogc3RyaW5nO1xuICBweVVSTENvbnRlbnQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEFwcFNoZWxsUHJvcHMge1xuICAvLyBJZiBhbnksIGVudGVyIGFkZGl0aW9uYWwgcHJvcHMgdGhhdCBvbmx5IGV4aXN0IG9uIHRoaXMgY29tcG9uZW50XG4gIHBhZ2VzOiBJUGFnZVtdO1xuICBjYXNlVHlwZXM/OiBvYmplY3RbXTtcbiAgcG9ydGFsTG9nbzogc3RyaW5nO1xuICBwb3J0YWxOYW1lOiBzdHJpbmc7XG4gIHBvcnRhbFRlbXBsYXRlOiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2hvd0FwcEhlYWRlckJhcjogYm9vbGVhbjtcbiAgc2hvd0FwcE5hbWU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hcHAtc2hlbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFNuYWNrQmFyTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNoZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwQ29ubiQ6IHR5cGVvZiBQQ29ubmVjdDtcblxuICAvLyBGb3IgaW50ZXJhY3Rpb24gd2l0aCBBbmd1bGFyUENvbm5lY3RcbiAgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBjb25maWdQcm9wcyQ6IEFwcFNoZWxsUHJvcHM7XG5cbiAgcGFnZXMkOiBJUGFnZVtdO1xuICBjYXNlVHlwZXMkPzogb2JqZWN0W107XG4gIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgYlNob3dBcHBTaGVsbCQgPSBmYWxzZTtcbiAgYXBwTmFtZSQgPSAnUEVHQSc7XG4gIGVycm9yTWVzc2FnZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgc0Vycm9yTWVzc2FnZXMgPSAnJztcbiAgc25hY2tCYXJSZWY6IGFueTtcbiAgYk9rRGlzcGxheUVycm9yID0gZmFsc2U7XG4gIHBvcnRhbFRlbXBsYXRlOiBzdHJpbmc7XG4gIGxpbmtzOiBhbnkgPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIGVyU2VydmljZTogRXJyb3JNZXNzYWdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICAvLyBUaGVuLCBjb250aW51ZSBvbiB3aXRoIG90aGVyIGluaXRpYWxpemF0aW9uXG5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBBcHBTaGVsbFByb3BzO1xuXG4gICAgLy8gbWFraW5nIGEgY29weSwgc28gY2FuIGFkZCBpbmZvXG4gICAgdGhpcy5wYWdlcyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5wYWdlcztcblxuICAgIHRoaXMubGlua3MgPSB0aGlzLnBhZ2VzJC5maWx0ZXIoKHBhZ2UsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gaW5kZXggIT09IDA7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wYWdlcyQpIHtcbiAgICAgIHRoaXMuYlNob3dBcHBTaGVsbCQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIEB0cy1pZ25vcmUgLSBQcm9wZXJ0eSAncHlDYXNlVHlwZXNBdmFpbGFibGVUb0NyZWF0ZURQJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIHB4QXBwbGljYXRpb25cbiAgICBjb25zdCBjYXNlVHlwZXNBdmFpbGFibGVUb0NyZWF0ZURQID0gUENvcmUuZ2V0RW52aXJvbm1lbnRJbmZvKCkuZW52aXJvbm1lbnRJbmZvT2JqZWN0Py5weEFwcGxpY2F0aW9uPy5weUNhc2VUeXBlc0F2YWlsYWJsZVRvQ3JlYXRlRFA7XG4gICAgaWYgKGNhc2VUeXBlc0F2YWlsYWJsZVRvQ3JlYXRlRFApIHtcbiAgICAgIGNvbnN0IHBvcnRhbElEID0gdGhpcy5wQ29ubiQuZ2V0VmFsdWUoJy5weU93bmVyJyk7XG4gICAgICBQQ29yZS5nZXREYXRhUGFnZVV0aWxzKClcbiAgICAgICAgLmdldFBhZ2VEYXRhQXN5bmMoY2FzZVR5cGVzQXZhaWxhYmxlVG9DcmVhdGVEUCwgdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSwge1xuICAgICAgICAgIFBvcnRhbE5hbWU6IHBvcnRhbElEXG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5weUNhc2VUeXBlc0F2YWlsYWJsZVRvQ3JlYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnBDb25uJC5yZXBsYWNlU3RhdGUoJy5weUNhc2VUeXBlc0F2YWlsYWJsZVRvQ3JlYXRlJywgcmVzcG9uc2UucHlDYXNlVHlwZXNBdmFpbGFibGVUb0NyZWF0ZSwge1xuICAgICAgICAgICAgICBza2lwRGlydHlWYWxpZGF0aW9uOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuY2FzZVR5cGVzJCA9IHRoaXMuY29uZmlnUHJvcHMkLmNhc2VUeXBlcztcblxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSB0aGlzLnBDb25uJC5nZXRDaGlsZHJlbigpO1xuXG4gICAgdGhpcy5wb3J0YWxUZW1wbGF0ZSA9IHRoaXMuY29uZmlnUHJvcHMkLnBvcnRhbFRlbXBsYXRlO1xuXG4gICAgLy8gaGFuZGxlIHNob3dpbmcgYW5kIGhpZGluZyB0aGUgcHJvZ3Jlc3Mgc3Bpbm5lclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuZXJTZXJ2aWNlLmdldE1lc3NhZ2UoKS5zdWJzY3JpYmUobWVzc2FnZSA9PiB7XG4gICAgICB0aGlzLnNob3dEaXNtaXNzRXJyb3JNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICB9KTtcblxuICAgIC8vIGNhbm5vdCBjYWxsIGNoZWNrQW5kVXBkYXRlIGJlY2FzdWUgZmlyc3QgdGltZSB0aHJvdWdoLCB3aWxsIGNhbGwgdXBkYXRlU2VsZiBhbmQgdGhhdCBpcyBpbmNvcnJlY3QgKGNhdXNlcyBpc3N1ZXMpLlxuICAgIC8vIGhvd2V2ZXIsIG5lZWQgYW5ndWxhclBDb25uZWN0IHRvIGJlIGluaXRpYWxpemVkIHdpdGggY3VycmVudFByb3BzIGZvciBmdXR1cmUgdXBkYXRlcywgc28gY2FsbGluZyBzaG91bGRDb21wb25lbnRVcGRhdGUgZGlyZWN0bHlcbiAgICAvLyB3aXRob3V0IGNoZWNraW5nIHRvIHVwZGF0ZSBoZXJlIGluIGluaXQsIHdpbGwgaW5pdGlhbGl6ZSBhbmQgdGhpcyBpcyBjb3JyZWN0XG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBBcHBTaGVsbFByb3BzO1xuXG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIC8vIG1ha2luZyBhIGNvcHksIHNvIGNhbiBhZGQgaW5mb1xuICAgICAgdGhpcy5wYWdlcyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5wYWdlcztcblxuICAgICAgaWYgKHRoaXMucGFnZXMkKSB7XG4gICAgICAgIHRoaXMuYlNob3dBcHBTaGVsbCQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNhc2VUeXBlcyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5jYXNlVHlwZXM7XG4gICAgICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGZwciBzaG93L2hpZGluZyBlcnJvciBtZXNzYWdlcyBpbiB0aGUgU25hY2tCYXIgY29tcG9uZW50XG4gIHNob3dEaXNtaXNzRXJyb3JNZXNzYWdlcyhlcnJvck1lc3NhZ2VzOiBhbnkpIHtcbiAgICBzd2l0Y2ggKGVycm9yTWVzc2FnZXMuYWN0aW9uKSB7XG4gICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICAvLyB3b24ndCBzaG93IHVubGVzcyBwdWJsaXNoIGlzIHR1cm5lZCBvblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1pbmNsdWRlc1xuICAgICAgICBpZiAodGhpcy5zRXJyb3JNZXNzYWdlcy5pbmRleE9mKGVycm9yTWVzc2FnZXMuYWN0aW9uTWVzc2FnZSkgPCAwKSB7XG4gICAgICAgICAgdGhpcy5zRXJyb3JNZXNzYWdlcyA9IHRoaXMuc0Vycm9yTWVzc2FnZXMuY29uY2F0KGVycm9yTWVzc2FnZXMuYWN0aW9uTWVzc2FnZSkuY29uY2F0KCdcXG4nKTtcblxuICAgICAgICAgIGlmICh0aGlzLmJPa0Rpc3BsYXlFcnJvcikge1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0geyBwYW5lbENsYXNzOiBbJ3NuYWNrYmFyLW5ld2xpbmUnXSwgZHVyYXRpb246IDUwMDAgfTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4odGhpcy5zRXJyb3JNZXNzYWdlcywgJ09rJywgY29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzaG93JzpcbiAgICAgICAgLy8gYWRkIGVycm9yIG1lc3NhZ2UgaWYgbm90IGluIHRoZSBsaXN0XG4gICAgICAgIC8vIHdvbid0IHNob3cgdW5sZXNzIHB1Ymxpc2ggaXMgdHVybmVkIG9uXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWluY2x1ZGVzXG4gICAgICAgIGlmICh0aGlzLnNFcnJvck1lc3NhZ2VzLmluZGV4T2YoZXJyb3JNZXNzYWdlcy5hY3Rpb25NZXNzYWdlKSA8IDApIHtcbiAgICAgICAgICB0aGlzLnNFcnJvck1lc3NhZ2VzID0gdGhpcy5zRXJyb3JNZXNzYWdlcy5jb25jYXQoZXJyb3JNZXNzYWdlcy5hY3Rpb25NZXNzYWdlKS5jb25jYXQoJ1xcbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iT2tEaXNwbGF5RXJyb3IgPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLmJPa0Rpc3BsYXlFcnJvcikge1xuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgcGFuZWxDbGFzczogWydzbmFja2Jhci1uZXdsaW5lJ10sIGR1cmF0aW9uOiA1MDAwIH07XG4gICAgICAgICAgdGhpcy5zbmFja0JhclJlZiA9IHRoaXMuc25hY2tCYXIub3Blbih0aGlzLnNFcnJvck1lc3NhZ2VzLCAnT2snLCBjb25maWcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuc25hY2tCYXJSZWYuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoIGluZm8gPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5zRXJyb3JNZXNzYWdlcyA9IFwiXCI7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyApXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGlzbWlzcyc6XG4gICAgICAgIC8vIGNsb3NlcyBzbmFjayBiYXJcbiAgICAgICAgLy8gdHVybnMgcHVibGlzaCBvZmZcbiAgICAgICAgLy8gY2xlYXJzIG91dCBlcnJvcnNcbiAgICAgICAgLy8gc2hvdWxkIGJlIGNhbGxlZCB0byBkaW1pc3MgYW5kIGF0IFwiY2FuY2VsXCJcbiAgICAgICAgaWYgKHRoaXMuc25hY2tCYXJSZWYgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc25hY2tCYXJSZWYuZGlzbWlzcygpO1xuICAgICAgICAgIHRoaXMuc0Vycm9yTWVzc2FnZXMgPSAnJztcbiAgICAgICAgICB0aGlzLmJPa0Rpc3BsYXlFcnJvciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncHVibGlzaCc6XG4gICAgICAgIC8vIGFsbG93cyBlcnJvcnMgdG8gYmUgc2hvd24sIGNsZWFycyBvdXQgZXhpc3Rpbmcgb25lc1xuICAgICAgICAvLyBzaG91bGQgYmUgdHVybmVkIG9uIGF0IFwic3VibWl0XCIgKGZpbmlzaEFzc2lnbm1lbnQsIG5leHRBc3NpZ25tZW50LCBldGMuKVxuXG4gICAgICAgIHRoaXMuYk9rRGlzcGxheUVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zRXJyb3JNZXNzYWdlcyA9ICcnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFwcHNoZWxsLXRvcFwiPlxuICA8ZGl2ICpuZ0lmPVwiYlNob3dBcHBTaGVsbCQgJiYgcG9ydGFsVGVtcGxhdGUgIT09ICd3c3MnXCI+XG4gICAgPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIk5hdkJhclwiIFtwcm9wc109XCJ7IHBDb25uJCwgYXBwTmFtZSQsIHBhZ2VzJCwgY2FzZVR5cGVzJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImJTaG93QXBwU2hlbGwkICYmIHBvcnRhbFRlbXBsYXRlID09PSAnd3NzJ1wiPlxuICAgIDxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJXc3NOYXZCYXJcIiBbcHJvcHNdPVwieyBwQ29ubiQsIGFwcE5hbWUkLCBob21lUGFnZTogcGFnZXMkWzBdLCBwYWdlcyQ6IGxpbmtzLCBjYXNlVHlwZXMkIH1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG4gIDwvZGl2PlxuICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2FwcHNoZWxsLW1haW4nOiBwb3J0YWxUZW1wbGF0ZSAhPT0gJ3dzcycsICdhcHBzaGVsbC1tYWluLXdzcyc6IHBvcnRhbFRlbXBsYXRlID09PSAnd3NzJyB9XCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQga2lkIG9mIGFyQ2hpbGRyZW4kXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwia2lkLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpID09ICdWaWV3Q29udGFpbmVyJ1wiPlxuICAgICAgICA8Y29tcG9uZW50LW1hcHBlciBuYW1lPVwiVmlld0NvbnRhaW5lclwiIFtwcm9wc109XCJ7IHBDb25uJDoga2lkLmdldFBDb25uZWN0KCkgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -29,15 +29,15 @@ export class BannerPageComponent {
29
29
  // The children may contain 'reference' components, so normalize the children...
30
30
  this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BannerPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BannerPageComponent, isStandalone: true, selector: "app-banner-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<component-mapper\n name=\"Banner\"\n [props]=\"{\n configProps$,\n arChildren$,\n title,\n message,\n backgroundImage,\n layout$,\n divClass$\n }\"\n></component-mapper>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BannerPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BannerPageComponent, isStandalone: true, selector: "app-banner-page", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<component-mapper\n name=\"Banner\"\n [props]=\"{\n configProps$,\n arChildren$,\n title,\n message,\n backgroundImage,\n layout$,\n divClass$\n }\"\n></component-mapper>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BannerPageComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BannerPageComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'app-banner-page', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<component-mapper\n name=\"Banner\"\n [props]=\"{\n configProps$,\n arChildren$,\n title,\n message,\n backgroundImage,\n layout$,\n divClass$\n }\"\n></component-mapper>\n" }]
38
- }], ctorParameters: function () { return []; }, propDecorators: { pConn$: [{
38
+ }], ctorParameters: () => [], propDecorators: { pConn$: [{
39
39
  type: Input
40
40
  }], formGroup$: [{
41
41
  type: Input
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhbm5lci1wYWdlL2Jhbm5lci1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9iYW5uZXItcGFnZS9iYW5uZXItcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFpQnhHLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFDRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ04sOERBQThEO1FBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO1FBRTFELElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDeEUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBb0IsQ0FBQztRQUNwRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUV6RCxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQzsrR0ExQ1UsbUJBQW1CO21HQUFuQixtQkFBbUIsd0pDckJoQyxzTUFZQSw0RkRPWSxZQUFZLHNFQUFtQix3QkFBd0I7OzRGQUV0RCxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzBFQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZnJhL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQmFubmVyUGFnZVByb3BzIHtcbiAgLy8gSWYgYW55LCBlbnRlciBhZGRpdGlvbmFsIHByb3BzIHRoYXQgb25seSBleGlzdCBvbiB0aGlzIGNvbXBvbmVudFxuICBsYXlvdXQ/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kSW1hZ2U/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iYW5uZXItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9iYW5uZXItcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhbm5lci1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQmFubmVyUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IGFueTtcblxuICBjb25maWdQcm9wcyQ6IEJhbm5lclBhZ2VQcm9wcztcbiAgYXJDaGlsZHJlbiQ6IGFueVtdO1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZTogYW55O1xuICBiYWNrZ3JvdW5kSW1hZ2U/OiBzdHJpbmc7XG4gIGxheW91dCQ/OiBzdHJpbmc7XG4gIGRpdkNsYXNzJDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gdGhpcy5jb25maWdQcm9wcyQ/LmJhY2tncm91bmRJbWFnZTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGBuZ09uSW5pdCAobm8gcmVnaXN0ZXJBbmRTdWJzY3JpYmUhKTogUmVnaW9uYCk7XG4gICAgdGhpcy5iYWNrZ3JvdW5kSW1hZ2UgPSB0aGlzLmNvbmZpZ1Byb3BzJD8uYmFja2dyb3VuZEltYWdlO1xuICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgcENvbm4kIH0gPSBjaGFuZ2VzO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gdGhpcy5jb25maWdQcm9wcyQ/LmJhY2tncm91bmRJbWFnZTtcblxuICAgIGlmIChwQ29ubiQucHJldmlvdXNWYWx1ZSAmJiBwQ29ubiQucHJldmlvdXNWYWx1ZSAhPT0gcENvbm4kLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlU2VsZigpIHtcbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBCYW5uZXJQYWdlUHJvcHM7XG4gICAgY29uc29sZS5sb2coYHVybCgke3RoaXMuYmFja2dyb3VuZEltYWdlfSlgKTtcblxuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuY29uZmlnUHJvcHMkLmxheW91dDtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5jb25maWdQcm9wcyQudGl0bGU7XG4gICAgdGhpcy5tZXNzYWdlID0gdGhpcy5jb25maWdQcm9wcyQubWVzc2FnZTtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IHRoaXMuY29uZmlnUHJvcHMkLmJhY2tncm91bmRJbWFnZTtcblxuICAgIC8vIFRoZSBjaGlsZHJlbiBtYXkgY29udGFpbiAncmVmZXJlbmNlJyBjb21wb25lbnRzLCBzbyBub3JtYWxpemUgdGhlIGNoaWxkcmVuLi4uXG4gICAgdGhpcy5hckNoaWxkcmVuJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubkFycmF5KHRoaXMucENvbm4kLmdldENoaWxkcmVuKCkpO1xuICB9XG59XG4iLCI8Y29tcG9uZW50LW1hcHBlclxuICBuYW1lPVwiQmFubmVyXCJcbiAgW3Byb3BzXT1cIntcbiAgICBjb25maWdQcm9wcyQsXG4gICAgYXJDaGlsZHJlbiQsXG4gICAgdGl0bGUsXG4gICAgbWVzc2FnZSxcbiAgICBiYWNrZ3JvdW5kSW1hZ2UsXG4gICAgbGF5b3V0JCxcbiAgICBkaXZDbGFzcyRcbiAgfVwiXG4+PC9jb21wb25lbnQtbWFwcGVyPlxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhbm5lci1wYWdlL2Jhbm5lci1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9iYW5uZXItcGFnZS9iYW5uZXItcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7QUFpQnhHLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUI7UUFDRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ04sOERBQThEO1FBQzlELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO1FBRTFELElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQW9CLENBQUM7UUFDcEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7UUFFekQsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7K0dBMUNVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHdKQ3JCaEMsc01BWUEsNkVET1ksWUFBWSxvREFBbUIsd0JBQXdCOzs0RkFFdEQsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzt3REFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9jb21wb25lbnQtbWFwcGVyL2NvbXBvbmVudC1tYXBwZXIuY29tcG9uZW50JztcblxuaW50ZXJmYWNlIEJhbm5lclBhZ2VQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgbGF5b3V0Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmFubmVyLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFubmVyLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYW5uZXItcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIEJhbm5lclBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBhbnk7XG5cbiAgY29uZmlnUHJvcHMkOiBCYW5uZXJQYWdlUHJvcHM7XG4gIGFyQ2hpbGRyZW4kOiBhbnlbXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IGFueTtcbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICBsYXlvdXQkPzogc3RyaW5nO1xuICBkaXZDbGFzcyQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IHRoaXMuY29uZmlnUHJvcHMkPy5iYWNrZ3JvdW5kSW1hZ2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgbmdPbkluaXQgKG5vIHJlZ2lzdGVyQW5kU3Vic2NyaWJlISk6IFJlZ2lvbmApO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gdGhpcy5jb25maWdQcm9wcyQ/LmJhY2tncm91bmRJbWFnZTtcbiAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IHBDb25uJCB9ID0gY2hhbmdlcztcbiAgICB0aGlzLmJhY2tncm91bmRJbWFnZSA9IHRoaXMuY29uZmlnUHJvcHMkPy5iYWNrZ3JvdW5kSW1hZ2U7XG5cbiAgICBpZiAocENvbm4kLnByZXZpb3VzVmFsdWUgJiYgcENvbm4kLnByZXZpb3VzVmFsdWUgIT09IHBDb25uJC5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZigpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVNlbGYoKSB7XG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgQmFubmVyUGFnZVByb3BzO1xuICAgIGNvbnNvbGUubG9nKGB1cmwoJHt0aGlzLmJhY2tncm91bmRJbWFnZX0pYCk7XG5cbiAgICB0aGlzLmxheW91dCQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5sYXlvdXQ7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuY29uZmlnUHJvcHMkLnRpdGxlO1xuICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuY29uZmlnUHJvcHMkLm1lc3NhZ2U7XG4gICAgdGhpcy5iYWNrZ3JvdW5kSW1hZ2UgPSB0aGlzLmNvbmZpZ1Byb3BzJC5iYWNrZ3JvdW5kSW1hZ2U7XG5cbiAgICAvLyBUaGUgY2hpbGRyZW4gbWF5IGNvbnRhaW4gJ3JlZmVyZW5jZScgY29tcG9uZW50cywgc28gbm9ybWFsaXplIHRoZSBjaGlsZHJlbi4uLlxuICAgIHRoaXMuYXJDaGlsZHJlbiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm5BcnJheSh0aGlzLnBDb25uJC5nZXRDaGlsZHJlbigpKTtcbiAgfVxufVxuIiwiPGNvbXBvbmVudC1tYXBwZXJcbiAgbmFtZT1cIkJhbm5lclwiXG4gIFtwcm9wc109XCJ7XG4gICAgY29uZmlnUHJvcHMkLFxuICAgIGFyQ2hpbGRyZW4kLFxuICAgIHRpdGxlLFxuICAgIG1lc3NhZ2UsXG4gICAgYmFja2dyb3VuZEltYWdlLFxuICAgIGxheW91dCQsXG4gICAgZGl2Q2xhc3MkXG4gIH1cIlxuPjwvY29tcG9uZW50LW1hcHBlcj5cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { AngularPConnectService } from '../../../_bridge/angular-pconnect';
3
+ import * as i0 from "@angular/core";
4
+ export class DetailsTemplateBase {
5
+ constructor(injector) {
6
+ // For interaction with AngularPConnect
7
+ this.angularPConnectData = {};
8
+ this.angularPConnect = injector.get(AngularPConnectService);
9
+ }
10
+ ngOnInit() {
11
+ // First thing in initialization is registering and subscribing to the AngularPConnect service
12
+ this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
13
+ this.checkAndUpdate();
14
+ }
15
+ ngOnDestroy() {
16
+ if (this.angularPConnectData.unsubscribeFn) {
17
+ this.angularPConnectData.unsubscribeFn();
18
+ }
19
+ }
20
+ onStateChange() {
21
+ this.checkAndUpdate();
22
+ }
23
+ checkAndUpdate() {
24
+ // Should always check the bridge to see if the component should update itself (re-render)
25
+ const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
26
+ // Only call updateSelf when the component should update
27
+ if (bUpdateSelf || this.hasRawMetadataChanged()) {
28
+ this.updateSelf();
29
+ }
30
+ }
31
+ // this method will get overriden by the child component
32
+ updateSelf() { }
33
+ hasRawMetadataChanged() {
34
+ const newChildrenMetadata = this.fetchChildrenMetadata();
35
+ if (!PCore.isDeepEqual(newChildrenMetadata, this.childrenMetadataOld)) {
36
+ this.childrenMetadataOld = newChildrenMetadata;
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+ fetchChildrenMetadata() {
42
+ const children = this.pConn$.getChildren() || [];
43
+ return children.map(child => {
44
+ const pConnect = child.getPConnect();
45
+ return pConnect.resolveConfigProps(pConnect.getRawMetadata());
46
+ });
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: DetailsTemplateBase, inputs: { pConn$: "pConn$" }, ngImport: i0 }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DetailsTemplateBase, decorators: [{
52
+ type: Directive
53
+ }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { pConn$: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy10ZW1wbGF0ZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhc2UvZGV0YWlscy10ZW1wbGF0ZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQStCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQXVCLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBR2hHLE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsWUFBWSxRQUFrQjtRQU45Qix1Q0FBdUM7UUFDN0Isd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU10RCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsUUFBUTtRQUNOLDhGQUE4RjtRQUM5RixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWiwwRkFBMEY7UUFDMUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRSx3REFBd0Q7UUFDeEQsSUFBSSxXQUFXLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsVUFBVSxLQUFJLENBQUM7SUFFZixxQkFBcUI7UUFDbkIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUV6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztZQUMvQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFakQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBN0RVLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTOzZFQUVDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25Jbml0LCBPbkRlc3Ryb3ksIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIERldGFpbHNUZW1wbGF0ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuXG4gIC8vIEZvciBpbnRlcmFjdGlvbiB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBwcm90ZWN0ZWQgYW5ndWxhclBDb25uZWN0RGF0YTogQW5ndWxhclBDb25uZWN0RGF0YSA9IHt9O1xuICBwcm90ZWN0ZWQgYW5ndWxhclBDb25uZWN0O1xuXG4gIGNoaWxkcmVuTWV0YWRhdGFPbGQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3QgPSBpbmplY3Rvci5nZXQoQW5ndWxhclBDb25uZWN0U2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcblxuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlIGl0c2VsZiAocmUtcmVuZGVyKVxuICAgIGNvbnN0IGJVcGRhdGVTZWxmID0gdGhpcy5hbmd1bGFyUENvbm5lY3Quc2hvdWxkQ29tcG9uZW50VXBkYXRlKHRoaXMpO1xuXG4gICAgLy8gT25seSBjYWxsIHVwZGF0ZVNlbGYgd2hlbiB0aGUgY29tcG9uZW50IHNob3VsZCB1cGRhdGVcbiAgICBpZiAoYlVwZGF0ZVNlbGYgfHwgdGhpcy5oYXNSYXdNZXRhZGF0YUNoYW5nZWQoKSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcyBtZXRob2Qgd2lsbCBnZXQgb3ZlcnJpZGVuIGJ5IHRoZSBjaGlsZCBjb21wb25lbnRcbiAgdXBkYXRlU2VsZigpIHt9XG5cbiAgaGFzUmF3TWV0YWRhdGFDaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5ld0NoaWxkcmVuTWV0YWRhdGEgPSB0aGlzLmZldGNoQ2hpbGRyZW5NZXRhZGF0YSgpO1xuXG4gICAgaWYgKCFQQ29yZS5pc0RlZXBFcXVhbChuZXdDaGlsZHJlbk1ldGFkYXRhLCB0aGlzLmNoaWxkcmVuTWV0YWRhdGFPbGQpKSB7XG4gICAgICB0aGlzLmNoaWxkcmVuTWV0YWRhdGFPbGQgPSBuZXdDaGlsZHJlbk1ldGFkYXRhO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZmV0Y2hDaGlsZHJlbk1ldGFkYXRhKCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSB8fCBbXTtcblxuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgY29uc3QgcENvbm5lY3QgPSBjaGlsZC5nZXRQQ29ubmVjdCgpO1xuICAgICAgcmV0dXJuIHBDb25uZWN0LnJlc29sdmVDb25maWdQcm9wcyhwQ29ubmVjdC5nZXRSYXdNZXRhZGF0YSgpKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormTemplateBase {
4
+ ngOnDestroy() {
5
+ PCore.getContextTreeManager().removeContextTreeNode(this.pConn$.getContextName());
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FormTemplateBase, ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormTemplateBase, decorators: [{
11
+ type: Directive
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL3RlbXBsYXRlL2Jhc2UvZm9ybS10ZW1wbGF0ZS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBR3JELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsV0FBVztRQUNULEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDOytHQUxVLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRm9ybVRlbXBsYXRlQmFzZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHBDb25uJDogYW55O1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIFBDb3JlLmdldENvbnRleHRUcmVlTWFuYWdlcigpLnJlbW92ZUNvbnRleHRUcmVlTm9kZSh0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpKTtcbiAgfVxufVxuIl19
@@ -53,20 +53,49 @@ export class CaseSummaryComponent {
53
53
  const kid = oField.getPConnect();
54
54
  this.primaryFields$.push(kid.resolveConfigProps(kid.getRawMetadata()));
55
55
  }
56
- for (const oField of this.arChildren$[1].getPConnect().getChildren()) {
56
+ const secondarySummaryFields = this.prepareCaseSummaryData(this.arChildren$[1].getPConnect());
57
+ const secondaryChildren = this.arChildren$[1].getPConnect().getChildren();
58
+ secondaryChildren.forEach((oField, index) => {
57
59
  const kid = oField.getPConnect();
58
- this.secondaryFields$.push({ ...kid.resolveConfigProps(kid.getRawMetadata()), kid });
59
- }
60
+ const displayLabel = secondarySummaryFields[index].value.getPConnect().getConfigProps().label;
61
+ this.secondaryFields$.push({ ...kid.resolveConfigProps(kid.getRawMetadata()), kid, displayLabel });
62
+ });
63
+ }
64
+ prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
65
+ const { config, children } = pConnectMeta;
66
+ const pConnect = getPConnect();
67
+ const caseSummaryComponentObject = {};
68
+ const { type } = pConnectMeta;
69
+ const createdComponent = pConnect.createComponent({
70
+ type,
71
+ children: children ? [...children] : [],
72
+ config: {
73
+ ...config
74
+ }
75
+ });
76
+ caseSummaryComponentObject.value = createdComponent;
77
+ return caseSummaryComponentObject;
78
+ }
79
+ prepareCaseSummaryData(summaryFieldChildren) {
80
+ const convertChildrenToSummaryData = kid => {
81
+ return kid?.map((childItem, index) => {
82
+ const childMeta = childItem.getPConnect().meta;
83
+ const caseSummaryComponentObject = this.prepareComponentInCaseSummary(childMeta, childItem.getPConnect);
84
+ caseSummaryComponentObject.id = index + 1;
85
+ return caseSummaryComponentObject;
86
+ });
87
+ };
88
+ return summaryFieldChildren ? convertChildrenToSummaryData(summaryFieldChildren?.getChildren()) : undefined;
60
89
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseSummaryComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseSummaryComponent, isStandalone: true, selector: "app-case-summary", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<component-mapper name=\"CaseSummaryFields\" [props]=\"{ status$, bShowStatus$, primaryFields$, secondaryFields$ }\"></component-mapper>\n", styles: [".psdk-case-summary-info-box{display:flex;flex-direction:row;justify-content:space-evenly}.psdk-case-summary-data{flex:1}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-status{background-color:var(--app-primary-color);color:var(--app-form-color);padding:0;margin-top:.625rem;width:-moz-fit-content;width:fit-content}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(function () { return ComponentMapperComponent; }), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseSummaryComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: CaseSummaryComponent, isStandalone: true, selector: "app-case-summary", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<component-mapper name=\"CaseSummaryFields\" [props]=\"{ status$, bShowStatus$, primaryFields$, secondaryFields$ }\"></component-mapper>\n", styles: [".psdk-case-summary-info-box{display:flex;flex-direction:row;justify-content:space-evenly}.psdk-case-summary-data{flex:1}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-status{background-color:var(--app-primary-color);color:var(--app-form-color);padding:0;margin-top:.625rem;width:fit-content}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
63
92
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseSummaryComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CaseSummaryComponent, decorators: [{
65
94
  type: Component,
66
- args: [{ selector: 'app-case-summary', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper name=\"CaseSummaryFields\" [props]=\"{ status$, bShowStatus$, primaryFields$, secondaryFields$ }\"></component-mapper>\n", styles: [".psdk-case-summary-info-box{display:flex;flex-direction:row;justify-content:space-evenly}.psdk-case-summary-data{flex:1}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-status{background-color:var(--app-primary-color);color:var(--app-form-color);padding:0;margin-top:.625rem;width:-moz-fit-content;width:fit-content}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
67
- }], ctorParameters: function () { return [{ type: i1.AngularPConnectService }]; }, propDecorators: { pConn$: [{
95
+ args: [{ selector: 'app-case-summary', standalone: true, imports: [forwardRef(() => ComponentMapperComponent)], template: "<component-mapper name=\"CaseSummaryFields\" [props]=\"{ status$, bShowStatus$, primaryFields$, secondaryFields$ }\"></component-mapper>\n", styles: [".psdk-case-summary-info-box{display:flex;flex-direction:row;justify-content:space-evenly}.psdk-case-summary-data{flex:1}.psdk-case-view-label{font-size:1rem;display:block;transform:translateY(.2em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(.2em) scale(.75);width:133.33333%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}.psdk-status{background-color:var(--app-primary-color);color:var(--app-form-color);padding:0;margin-top:.625rem;width:fit-content}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
96
+ }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
68
97
  type: Input
69
98
  }], formGroup$: [{
70
99
  type: Input
71
100
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jYXNlLXN1bW1hcnkvY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jYXNlLXN1bW1hcnkvY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7OztBQWlCeEcsTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUFvQixlQUF1QztRQUF2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFWM0Qsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU85QyxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7SUFFaUMsQ0FBQztJQUUvRCxRQUFRO1FBQ04sOEZBQThGO1FBQzlGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3RCw4Q0FBOEM7UUFFOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQXFCLENBQUM7UUFDckcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBVyxDQUFDO1FBRXRELElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELGFBQWE7UUFDWCxnRUFBZ0U7UUFDaEUsNEJBQTRCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckUsd0RBQXdEO1FBQ3hELElBQUksV0FBVyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUNBQWlDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFM0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RTtRQUVELEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNwRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDOytHQTdFVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix5SkNyQmpDLDRJQUNBLGkxQkRrQjZCLHdCQUF3Qjs7NEZBRXhDLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEIsSUFBSSxXQUNQLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7NkdBRzVDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQ2FzZVN1bW1hcnlQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBzaG93U3RhdHVzPzogYm9vbGVhbjtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2Utc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW2ZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQ2FzZVN1bW1hcnlQcm9wcztcblxuICBhckNoaWxkcmVuJDogYW55W107XG5cbiAgc3RhdHVzJD86IHN0cmluZztcbiAgYlNob3dTdGF0dXMkPzogYm9vbGVhbjtcbiAgcHJpbWFyeUZpZWxkcyQ6IGFueVtdID0gW107XG4gIHNlY29uZGFyeUZpZWxkcyQ6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICB0aGlzLmluaXRDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBpbml0Q29tcG9uZW50KCkge1xuICAgIC8vIGRlcmVmZXJlbmNlIHRoZSBWaWV3IGluIGNhc2UgdGhlIGluY29taW5nIHBDb25uJCBpcyBhICdyZWZlcmVuY2UnXG4gICAgdGhpcy5wQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgLy8gVGhlbiwgY29udGludWUgb24gd2l0aCBvdGhlciBpbml0aWFsaXphdGlvblxuXG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgQ2FzZVN1bW1hcnlQcm9wcztcbiAgICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKSBhcyBhbnlbXTtcblxuICAgIHRoaXMuZ2VuZXJhdGVQcmltYXJ5QW5kU2Vjb25kYXJ5RmllbGRzKCk7XG5cbiAgICB0aGlzLnN0YXR1cyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5zdGF0dXM7XG4gICAgdGhpcy5iU2hvd1N0YXR1cyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5zaG93U3RhdHVzO1xuICB9XG5cbiAgLy8gQ2FsbGJhY2sgcGFzc2VkIHdoZW4gc3Vic2NyaWJpbmcgdG8gc3RvcmUgY2hhbmdlXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVQcmltYXJ5QW5kU2Vjb25kYXJ5RmllbGRzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmluaXRDb21wb25lbnQoKTtcbiAgfVxuXG4gIGdlbmVyYXRlUHJpbWFyeUFuZFNlY29uZGFyeUZpZWxkcygpIHtcbiAgICB0aGlzLnByaW1hcnlGaWVsZHMkID0gW107XG4gICAgdGhpcy5zZWNvbmRhcnlGaWVsZHMkID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG9GaWVsZCBvZiB0aGlzLmFyQ2hpbGRyZW4kWzBdLmdldFBDb25uZWN0KCkuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgY29uc3Qga2lkID0gb0ZpZWxkLmdldFBDb25uZWN0KCk7XG4gICAgICB0aGlzLnByaW1hcnlGaWVsZHMkLnB1c2goa2lkLnJlc29sdmVDb25maWdQcm9wcyhraWQuZ2V0UmF3TWV0YWRhdGEoKSkpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qgb0ZpZWxkIG9mIHRoaXMuYXJDaGlsZHJlbiRbMV0uZ2V0UENvbm5lY3QoKS5nZXRDaGlsZHJlbigpKSB7XG4gICAgICBjb25zdCBraWQgPSBvRmllbGQuZ2V0UENvbm5lY3QoKTtcbiAgICAgIHRoaXMuc2Vjb25kYXJ5RmllbGRzJC5wdXNoKHsgLi4ua2lkLnJlc29sdmVDb25maWdQcm9wcyhraWQuZ2V0UmF3TWV0YWRhdGEoKSksIGtpZCB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjb21wb25lbnQtbWFwcGVyIG5hbWU9XCJDYXNlU3VtbWFyeUZpZWxkc1wiIFtwcm9wc109XCJ7IHN0YXR1cyQsIGJTaG93U3RhdHVzJCwgcHJpbWFyeUZpZWxkcyQsIHNlY29uZGFyeUZpZWxkcyQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jYXNlLXN1bW1hcnkvY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy90ZW1wbGF0ZS9jYXNlLXN1bW1hcnkvY2FzZS1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFHM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7OztBQWlCeEcsTUFBTSxPQUFPLG9CQUFvQjtJQWMvQixZQUFvQixlQUF1QztRQUF2QyxvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFWM0Qsd0JBQW1CLEdBQXdCLEVBQUUsQ0FBQztRQU85QyxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7SUFFaUMsQ0FBQztJQUUvRCxRQUFRO1FBQ04sOEZBQThGO1FBQzlGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0QsOENBQThDO1FBRTlDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFxQixDQUFDO1FBQ3JHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3QyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDbkQsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxhQUFhO1FBQ1gsZ0VBQWdFO1FBQ2hFLDRCQUE0QjtRQUM1QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLHdEQUF3RDtRQUN4RCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUNBQWlDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFM0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDOUYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFFLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM5RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsWUFBWSxFQUFFLFdBQVc7UUFDckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFFL0IsTUFBTSwwQkFBMEIsR0FBUSxFQUFFLENBQUM7UUFFM0MsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksQ0FBQztRQUM5QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDaEQsSUFBSTtZQUNKLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QyxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxNQUFNO2FBQ1Y7U0FDRixDQUFDLENBQUM7UUFFSCwwQkFBMEIsQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEQsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsb0JBQW9CO1FBQ3pDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDekMsT0FBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUMvQyxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4RywwQkFBMEIsQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsT0FBTywwQkFBMEIsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUNGLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RyxDQUFDOytHQS9HVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix5SkNyQmpDLDRJQUNBLDJ5QkRrQjZCLHdCQUF3Qjs7NEZBRXhDLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEIsSUFBSSxXQUNQLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7MkZBRzVDLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgQ2FzZVN1bW1hcnlQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gdGhpcyBjb21wb25lbnRcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBzaG93U3RhdHVzPzogYm9vbGVhbjtcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2Utc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLXN1bW1hcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXNlLXN1bW1hcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW2ZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVN1bW1hcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogQ2FzZVN1bW1hcnlQcm9wcztcblxuICBhckNoaWxkcmVuJDogYW55W107XG5cbiAgc3RhdHVzJD86IHN0cmluZztcbiAgYlNob3dTdGF0dXMkPzogYm9vbGVhbjtcbiAgcHJpbWFyeUZpZWxkcyQ6IGFueVtdID0gW107XG4gIHNlY29uZGFyeUZpZWxkcyQ6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbmd1bGFyUENvbm5lY3Q6IEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG5cbiAgICB0aGlzLmluaXRDb21wb25lbnQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBpbml0Q29tcG9uZW50KCkge1xuICAgIC8vIGRlcmVmZXJlbmNlIHRoZSBWaWV3IGluIGNhc2UgdGhlIGluY29taW5nIHBDb25uJCBpcyBhICdyZWZlcmVuY2UnXG4gICAgdGhpcy5wQ29ubiQgPSBSZWZlcmVuY2VDb21wb25lbnQubm9ybWFsaXplUENvbm4odGhpcy5wQ29ubiQpO1xuXG4gICAgLy8gVGhlbiwgY29udGludWUgb24gd2l0aCBvdGhlciBpbml0aWFsaXphdGlvblxuXG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgQ2FzZVN1bW1hcnlQcm9wcztcbiAgICB0aGlzLmFyQ2hpbGRyZW4kID0gdGhpcy5wQ29ubiQuZ2V0Q2hpbGRyZW4oKTtcblxuICAgIHRoaXMuZ2VuZXJhdGVQcmltYXJ5QW5kU2Vjb25kYXJ5RmllbGRzKCk7XG5cbiAgICB0aGlzLnN0YXR1cyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5zdGF0dXM7XG4gICAgdGhpcy5iU2hvd1N0YXR1cyQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5zaG93U3RhdHVzO1xuICB9XG5cbiAgLy8gQ2FsbGJhY2sgcGFzc2VkIHdoZW4gc3Vic2NyaWJpbmcgdG8gc3RvcmUgY2hhbmdlXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVTZWxmKCkge1xuICAgIHRoaXMuZ2VuZXJhdGVQcmltYXJ5QW5kU2Vjb25kYXJ5RmllbGRzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmluaXRDb21wb25lbnQoKTtcbiAgfVxuXG4gIGdlbmVyYXRlUHJpbWFyeUFuZFNlY29uZGFyeUZpZWxkcygpIHtcbiAgICB0aGlzLnByaW1hcnlGaWVsZHMkID0gW107XG4gICAgdGhpcy5zZWNvbmRhcnlGaWVsZHMkID0gW107XG5cbiAgICBmb3IgKGNvbnN0IG9GaWVsZCBvZiB0aGlzLmFyQ2hpbGRyZW4kWzBdLmdldFBDb25uZWN0KCkuZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgY29uc3Qga2lkID0gb0ZpZWxkLmdldFBDb25uZWN0KCk7XG4gICAgICB0aGlzLnByaW1hcnlGaWVsZHMkLnB1c2goa2lkLnJlc29sdmVDb25maWdQcm9wcyhraWQuZ2V0UmF3TWV0YWRhdGEoKSkpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZGFyeVN1bW1hcnlGaWVsZHMgPSB0aGlzLnByZXBhcmVDYXNlU3VtbWFyeURhdGEodGhpcy5hckNoaWxkcmVuJFsxXS5nZXRQQ29ubmVjdCgpKTtcbiAgICBjb25zdCBzZWNvbmRhcnlDaGlsZHJlbiA9IHRoaXMuYXJDaGlsZHJlbiRbMV0uZ2V0UENvbm5lY3QoKS5nZXRDaGlsZHJlbigpO1xuICAgIHNlY29uZGFyeUNoaWxkcmVuLmZvckVhY2goKG9GaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGtpZCA9IG9GaWVsZC5nZXRQQ29ubmVjdCgpO1xuICAgICAgY29uc3QgZGlzcGxheUxhYmVsID0gc2Vjb25kYXJ5U3VtbWFyeUZpZWxkc1tpbmRleF0udmFsdWUuZ2V0UENvbm5lY3QoKS5nZXRDb25maWdQcm9wcygpLmxhYmVsO1xuICAgICAgdGhpcy5zZWNvbmRhcnlGaWVsZHMkLnB1c2goeyAuLi5raWQucmVzb2x2ZUNvbmZpZ1Byb3BzKGtpZC5nZXRSYXdNZXRhZGF0YSgpKSwga2lkLCBkaXNwbGF5TGFiZWwgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcmVwYXJlQ29tcG9uZW50SW5DYXNlU3VtbWFyeShwQ29ubmVjdE1ldGEsIGdldFBDb25uZWN0KSB7XG4gICAgY29uc3QgeyBjb25maWcsIGNoaWxkcmVuIH0gPSBwQ29ubmVjdE1ldGE7XG4gICAgY29uc3QgcENvbm5lY3QgPSBnZXRQQ29ubmVjdCgpO1xuXG4gICAgY29uc3QgY2FzZVN1bW1hcnlDb21wb25lbnRPYmplY3Q6IGFueSA9IHt9O1xuXG4gICAgY29uc3QgeyB0eXBlIH0gPSBwQ29ubmVjdE1ldGE7XG4gICAgY29uc3QgY3JlYXRlZENvbXBvbmVudCA9IHBDb25uZWN0LmNyZWF0ZUNvbXBvbmVudCh7XG4gICAgICB0eXBlLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuID8gWy4uLmNoaWxkcmVuXSA6IFtdLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIC4uLmNvbmZpZ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY2FzZVN1bW1hcnlDb21wb25lbnRPYmplY3QudmFsdWUgPSBjcmVhdGVkQ29tcG9uZW50O1xuICAgIHJldHVybiBjYXNlU3VtbWFyeUNvbXBvbmVudE9iamVjdDtcbiAgfVxuXG4gIHByZXBhcmVDYXNlU3VtbWFyeURhdGEoc3VtbWFyeUZpZWxkQ2hpbGRyZW4pIHtcbiAgICBjb25zdCBjb252ZXJ0Q2hpbGRyZW5Ub1N1bW1hcnlEYXRhID0ga2lkID0+IHtcbiAgICAgIHJldHVybiBraWQ/Lm1hcCgoY2hpbGRJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZE1ldGEgPSBjaGlsZEl0ZW0uZ2V0UENvbm5lY3QoKS5tZXRhO1xuICAgICAgICBjb25zdCBjYXNlU3VtbWFyeUNvbXBvbmVudE9iamVjdCA9IHRoaXMucHJlcGFyZUNvbXBvbmVudEluQ2FzZVN1bW1hcnkoY2hpbGRNZXRhLCBjaGlsZEl0ZW0uZ2V0UENvbm5lY3QpO1xuICAgICAgICBjYXNlU3VtbWFyeUNvbXBvbmVudE9iamVjdC5pZCA9IGluZGV4ICsgMTtcbiAgICAgICAgcmV0dXJuIGNhc2VTdW1tYXJ5Q29tcG9uZW50T2JqZWN0O1xuICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gc3VtbWFyeUZpZWxkQ2hpbGRyZW4gPyBjb252ZXJ0Q2hpbGRyZW5Ub1N1bW1hcnlEYXRhKHN1bW1hcnlGaWVsZENoaWxkcmVuPy5nZXRDaGlsZHJlbigpKSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPGNvbXBvbmVudC1tYXBwZXIgbmFtZT1cIkNhc2VTdW1tYXJ5RmllbGRzXCIgW3Byb3BzXT1cInsgc3RhdHVzJCwgYlNob3dTdGF0dXMkLCBwcmltYXJ5RmllbGRzJCwgc2Vjb25kYXJ5RmllbGRzJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuIl19