@hmcts/ccd-case-ui-toolkit 7.0.39-exui-2007-rc1 → 7.0.39-task-event-completion-fix

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 (1170) hide show
  1. package/esm2020/lib/app.config.mjs +45 -0
  2. package/esm2020/lib/components/banners/alert/alert-icon-class.pipe.mjs +25 -0
  3. package/esm2020/lib/components/banners/alert/alert.component.mjs +95 -0
  4. package/esm2020/lib/components/banners/alert/alert.module.mjs +32 -0
  5. package/esm2020/lib/components/banners/banners.module.mjs +32 -0
  6. package/esm2020/lib/components/banners/notification-banner/notification-banner.component.mjs +120 -0
  7. package/esm2020/lib/components/banners/notification-banner/notification-banner.module.mjs +19 -0
  8. package/esm2020/lib/components/body/body.component.mjs +20 -0
  9. package/esm2020/lib/components/body/body.module.mjs +20 -0
  10. package/esm2020/lib/components/footer/footer.component.mjs +105 -0
  11. package/esm2020/lib/components/footer/footers.module.mjs +25 -0
  12. package/esm2020/lib/components/form/date-input/date-input.component.mjs +331 -0
  13. package/esm2020/lib/components/form/form.module.mjs +29 -0
  14. package/esm2020/lib/components/header/header-bar/header-bar.component.mjs +97 -0
  15. package/esm2020/lib/components/header/headers.module.mjs +25 -0
  16. package/esm2020/lib/components/header/navigation/navigation-item.component.mjs +41 -0
  17. package/esm2020/lib/components/header/navigation/navigation.component.mjs +24 -0
  18. package/esm2020/lib/components/header/phase/phase.component.mjs +45 -0
  19. package/esm2020/lib/components/tabs/tab.component.mjs +28 -0
  20. package/esm2020/lib/components/tabs/tabs.component.mjs +79 -0
  21. package/esm2020/lib/components/tabs/tabs.module.mjs +38 -0
  22. package/esm2020/lib/shared/commons/address-validation-constants.mjs +13 -0
  23. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +19 -0
  24. package/esm2020/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +47 -0
  25. package/esm2020/lib/shared/commons/constants.mjs +13 -0
  26. package/esm2020/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +39 -0
  27. package/esm2020/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +33 -0
  28. package/esm2020/lib/shared/components/activity/activity.component.mjs +151 -0
  29. package/esm2020/lib/shared/components/activity/activity.module.mjs +55 -0
  30. package/esm2020/lib/shared/components/case-editor/case-access-utils/index.mjs +105 -0
  31. package/esm2020/lib/shared/components/case-editor/case-create/case-create.component.mjs +87 -0
  32. package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +463 -0
  33. package/esm2020/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +125 -0
  34. package/esm2020/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +135 -0
  35. package/esm2020/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +69 -0
  36. package/esm2020/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +779 -0
  37. package/esm2020/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +587 -0
  38. package/esm2020/lib/shared/components/case-editor/case-editor.module.mjs +214 -0
  39. package/esm2020/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +86 -0
  40. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +80 -0
  41. package/esm2020/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +153 -0
  42. package/esm2020/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +77 -0
  43. package/esm2020/lib/shared/components/case-editor/domain/confirmation.model.mjs +21 -0
  44. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +4 -0
  45. package/esm2020/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +3 -0
  46. package/esm2020/lib/shared/components/case-editor/domain/wizard-page.model.mjs +26 -0
  47. package/esm2020/lib/shared/components/case-editor/domain/wizard.model.mjs +54 -0
  48. package/esm2020/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +93 -0
  49. package/esm2020/lib/shared/components/case-editor/services/case-flag-state.service.mjs +19 -0
  50. package/esm2020/lib/shared/components/case-editor/services/case-worker.service.mjs +32 -0
  51. package/esm2020/lib/shared/components/case-editor/services/case.notifier.mjs +51 -0
  52. package/esm2020/lib/shared/components/case-editor/services/cases.service.mjs +292 -0
  53. package/esm2020/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +41 -0
  54. package/esm2020/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +143 -0
  55. package/esm2020/lib/shared/components/case-editor/services/event-trigger.service.mjs +20 -0
  56. package/esm2020/lib/shared/components/case-editor/services/judicial-worker.service.mjs +32 -0
  57. package/esm2020/lib/shared/components/case-editor/services/page-validation.service.mjs +58 -0
  58. package/esm2020/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +39 -0
  59. package/esm2020/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +117 -0
  60. package/esm2020/lib/shared/components/case-editor/services/work-allocation.service.mjs +214 -0
  61. package/esm2020/lib/shared/components/case-header/case-header.component.mjs +61 -0
  62. package/esm2020/lib/shared/components/case-header/case-header.module.mjs +33 -0
  63. package/esm2020/lib/shared/components/case-history/case-history.component.mjs +242 -0
  64. package/esm2020/lib/shared/components/case-history/case-history.module.mjs +64 -0
  65. package/esm2020/lib/shared/components/case-history/domain/case-history.model.mjs +29 -0
  66. package/esm2020/lib/shared/components/case-history/services/case-history.service.mjs +40 -0
  67. package/esm2020/lib/shared/components/case-list/case-list.component.mjs +362 -0
  68. package/esm2020/lib/shared/components/case-list/case-list.module.mjs +47 -0
  69. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.component.mjs +52 -0
  70. package/esm2020/lib/shared/components/case-list-filters/case-list-filters.module.mjs +64 -0
  71. package/esm2020/lib/shared/components/case-timeline/case-timeline.component.mjs +109 -0
  72. package/esm2020/lib/shared/components/case-timeline/case-timeline.module.mjs +52 -0
  73. package/esm2020/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +247 -0
  74. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +298 -0
  75. package/esm2020/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +72 -0
  76. package/esm2020/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +141 -0
  77. package/esm2020/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +670 -0
  78. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +58 -0
  79. package/esm2020/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +241 -0
  80. package/esm2020/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +199 -0
  81. package/esm2020/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +47 -0
  82. package/esm2020/lib/shared/components/case-viewer/case-view/case-view.component.mjs +98 -0
  83. package/esm2020/lib/shared/components/case-viewer/case-viewer.component.mjs +125 -0
  84. package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +191 -0
  85. package/esm2020/lib/shared/components/case-viewer/printer/case-printer.component.mjs +110 -0
  86. package/esm2020/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +60 -0
  87. package/esm2020/lib/shared/components/case-viewer/services/case.resolver.mjs +128 -0
  88. package/esm2020/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +77 -0
  89. package/esm2020/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +8 -0
  90. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.component.mjs +275 -0
  91. package/esm2020/lib/shared/components/create-case-filters/create-case-filters.module.mjs +44 -0
  92. package/esm2020/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +57 -0
  93. package/esm2020/lib/shared/components/dialogs/dialogs.module.mjs +51 -0
  94. package/esm2020/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +59 -0
  95. package/esm2020/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +57 -0
  96. package/esm2020/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +61 -0
  97. package/esm2020/lib/shared/components/error/callback-errors.component.mjs +149 -0
  98. package/esm2020/lib/shared/components/error/domain/error-context.mjs +3 -0
  99. package/esm2020/lib/shared/components/error/errors.module.mjs +33 -0
  100. package/esm2020/lib/shared/components/error-message/error-message.component.mjs +43 -0
  101. package/esm2020/lib/shared/components/error-message/error-message.module.mjs +41 -0
  102. package/esm2020/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +59 -0
  103. package/esm2020/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +53 -0
  104. package/esm2020/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +104 -0
  105. package/esm2020/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +68 -0
  106. package/esm2020/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +58 -0
  107. package/esm2020/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +53 -0
  108. package/esm2020/lib/shared/components/event-start/event-guard/event-start.guard.mjs +101 -0
  109. package/esm2020/lib/shared/components/event-start/event-start.component.mjs +49 -0
  110. package/esm2020/lib/shared/components/event-start/event-start.module.mjs +71 -0
  111. package/esm2020/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +29 -0
  112. package/esm2020/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +170 -0
  113. package/esm2020/lib/shared/components/event-trigger/event-trigger.component.mjs +123 -0
  114. package/esm2020/lib/shared/components/event-trigger/event-trigger.module.mjs +37 -0
  115. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.component.mjs +27 -0
  116. package/esm2020/lib/shared/components/loading-spinner/loading-spinner.module.mjs +29 -0
  117. package/esm2020/lib/shared/components/pagination/pagination.component.mjs +262 -0
  118. package/esm2020/lib/shared/components/pagination/pagination.module.mjs +35 -0
  119. package/esm2020/lib/shared/components/palette/address/address-option.model.mjs +21 -0
  120. package/esm2020/lib/shared/components/palette/address/write-address-field.component.mjs +280 -0
  121. package/esm2020/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +31 -0
  122. package/esm2020/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +44 -0
  123. package/esm2020/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +83 -0
  124. package/esm2020/lib/shared/components/palette/base-field/field-read-label.component.mjs +86 -0
  125. package/esm2020/lib/shared/components/palette/base-field/field-read.component.mjs +85 -0
  126. package/esm2020/lib/shared/components/palette/base-field/field-write.component.mjs +74 -0
  127. package/esm2020/lib/shared/components/palette/base-field/payment-field.component.mjs +35 -0
  128. package/esm2020/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +171 -0
  129. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +48 -0
  130. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +48 -0
  131. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +342 -0
  132. package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +154 -0
  133. package/esm2020/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +94 -0
  134. package/esm2020/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +190 -0
  135. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +288 -0
  136. package/esm2020/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +207 -0
  137. package/esm2020/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +165 -0
  138. package/esm2020/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +219 -0
  139. package/esm2020/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +306 -0
  140. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +200 -0
  141. package/esm2020/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +343 -0
  142. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +267 -0
  143. package/esm2020/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +510 -0
  144. package/esm2020/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +41 -0
  145. package/esm2020/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +41 -0
  146. package/esm2020/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +109 -0
  147. package/esm2020/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +77 -0
  148. package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +246 -0
  149. package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +686 -0
  150. package/esm2020/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +32 -0
  151. package/esm2020/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +122 -0
  152. package/esm2020/lib/shared/components/palette/collection/collection-create-checker.service.mjs +42 -0
  153. package/esm2020/lib/shared/components/palette/collection/read-collection-field.component.mjs +81 -0
  154. package/esm2020/lib/shared/components/palette/collection/write-collection-field.component.mjs +441 -0
  155. package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +379 -0
  156. package/esm2020/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +53 -0
  157. package/esm2020/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +78 -0
  158. package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +75 -0
  159. package/esm2020/lib/shared/components/palette/complex/write-complex-field.component.mjs +169 -0
  160. package/esm2020/lib/shared/components/palette/date/read-date-field.component.mjs +28 -0
  161. package/esm2020/lib/shared/components/palette/date/write-date-container-field.component.mjs +33 -0
  162. package/esm2020/lib/shared/components/palette/date/write-date-field.component.mjs +76 -0
  163. package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +309 -0
  164. package/esm2020/lib/shared/components/palette/document/document-url.pipe.mjs +24 -0
  165. package/esm2020/lib/shared/components/palette/document/file-upload-progress.guard.mjs +29 -0
  166. package/esm2020/lib/shared/components/palette/document/file-upload-state.service.mjs +16 -0
  167. package/esm2020/lib/shared/components/palette/document/read-document-field.component.mjs +81 -0
  168. package/esm2020/lib/shared/components/palette/document/write-document-field.component.mjs +408 -0
  169. package/esm2020/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +18 -0
  170. package/esm2020/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +36 -0
  171. package/esm2020/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +124 -0
  172. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +43 -0
  173. package/esm2020/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +145 -0
  174. package/esm2020/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +25 -0
  175. package/esm2020/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +42 -0
  176. package/esm2020/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +124 -0
  177. package/esm2020/lib/shared/components/palette/email/read-email-field.component.mjs +35 -0
  178. package/esm2020/lib/shared/components/palette/email/write-email-field.component.mjs +73 -0
  179. package/esm2020/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +23 -0
  180. package/esm2020/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +26 -0
  181. package/esm2020/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +106 -0
  182. package/esm2020/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +18 -0
  183. package/esm2020/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +26 -0
  184. package/esm2020/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +95 -0
  185. package/esm2020/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +16 -0
  186. package/esm2020/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +97 -0
  187. package/esm2020/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +225 -0
  188. package/esm2020/lib/shared/components/palette/history/event-log/event-log.component.mjs +72 -0
  189. package/esm2020/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +45 -0
  190. package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +242 -0
  191. package/esm2020/lib/shared/components/palette/label/label-field.component.mjs +50 -0
  192. package/esm2020/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +108 -0
  193. package/esm2020/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +189 -0
  194. package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +530 -0
  195. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +204 -0
  196. package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +280 -0
  197. package/esm2020/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +66 -0
  198. package/esm2020/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +201 -0
  199. package/esm2020/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +22 -0
  200. package/esm2020/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +163 -0
  201. package/esm2020/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +132 -0
  202. package/esm2020/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +27 -0
  203. package/esm2020/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +229 -0
  204. package/esm2020/lib/shared/components/palette/markdown/markdown-component.module.mjs +49 -0
  205. package/esm2020/lib/shared/components/palette/markdown/markdown.component.mjs +78 -0
  206. package/esm2020/lib/shared/components/palette/markdown/routerlink.component.mjs +23 -0
  207. package/esm2020/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +123 -0
  208. package/esm2020/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +47 -0
  209. package/esm2020/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +78 -0
  210. package/esm2020/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +45 -0
  211. package/esm2020/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +126 -0
  212. package/esm2020/lib/shared/components/palette/number/read-number-field.component.mjs +24 -0
  213. package/esm2020/lib/shared/components/palette/number/write-number-field.component.mjs +73 -0
  214. package/esm2020/lib/shared/components/palette/order-summary/fee-value.model.mjs +3 -0
  215. package/esm2020/lib/shared/components/palette/order-summary/fee.model.mjs +4 -0
  216. package/esm2020/lib/shared/components/palette/order-summary/order-summary.model.mjs +3 -0
  217. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +73 -0
  218. package/esm2020/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +43 -0
  219. package/esm2020/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +44 -0
  220. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +83 -0
  221. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +87 -0
  222. package/esm2020/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +56 -0
  223. package/esm2020/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +33 -0
  224. package/esm2020/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +384 -0
  225. package/esm2020/lib/shared/components/palette/palette.module.mjs +738 -0
  226. package/esm2020/lib/shared/components/palette/palette.service.mjs +155 -0
  227. package/esm2020/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +24 -0
  228. package/esm2020/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +22 -0
  229. package/esm2020/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +73 -0
  230. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +42 -0
  231. package/esm2020/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +144 -0
  232. package/esm2020/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +64 -0
  233. package/esm2020/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +60 -0
  234. package/esm2020/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +281 -0
  235. package/esm2020/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +327 -0
  236. package/esm2020/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +22 -0
  237. package/esm2020/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +164 -0
  238. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +74 -0
  239. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +107 -0
  240. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +201 -0
  241. package/esm2020/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +101 -0
  242. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +21 -0
  243. package/esm2020/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +38 -0
  244. package/esm2020/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +121 -0
  245. package/esm2020/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +22 -0
  246. package/esm2020/lib/shared/components/palette/text/read-text-field.component.mjs +24 -0
  247. package/esm2020/lib/shared/components/palette/text/write-text-field.component.mjs +77 -0
  248. package/esm2020/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +24 -0
  249. package/esm2020/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +87 -0
  250. package/esm2020/lib/shared/components/palette/unsupported-field.component.mjs +17 -0
  251. package/esm2020/lib/shared/components/palette/utils/dash.pipe.mjs +16 -0
  252. package/esm2020/lib/shared/components/palette/utils/date.pipe.mjs +132 -0
  253. package/esm2020/lib/shared/components/palette/utils/field-label.pipe.mjs +29 -0
  254. package/esm2020/lib/shared/components/palette/utils/first-error.pipe.mjs +62 -0
  255. package/esm2020/lib/shared/components/palette/utils/is-compound.pipe.mjs +43 -0
  256. package/esm2020/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +21 -0
  257. package/esm2020/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +31 -0
  258. package/esm2020/lib/shared/components/palette/utils/is-read-only.pipe.mjs +21 -0
  259. package/esm2020/lib/shared/components/palette/utils/utils.module.mjs +71 -0
  260. package/esm2020/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +34 -0
  261. package/esm2020/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +34 -0
  262. package/esm2020/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +100 -0
  263. package/esm2020/lib/shared/components/palette/yes-no/yes-no.service.mjs +50 -0
  264. package/esm2020/lib/shared/components/search-filters/domain/search-input.model.mjs +10 -0
  265. package/esm2020/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +58 -0
  266. package/esm2020/lib/shared/components/search-filters/search-filters.component.mjs +326 -0
  267. package/esm2020/lib/shared/components/search-filters/search-filters.module.mjs +71 -0
  268. package/esm2020/lib/shared/components/search-result/search-result.component.mjs +815 -0
  269. package/esm2020/lib/shared/components/search-result/search-result.module.mjs +82 -0
  270. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +479 -0
  271. package/esm2020/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +67 -0
  272. package/esm2020/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +164 -0
  273. package/esm2020/lib/shared/directives/conditional-show/conditional-show.module.mjs +33 -0
  274. package/esm2020/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +200 -0
  275. package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +200 -0
  276. package/esm2020/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +19 -0
  277. package/esm2020/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +47 -0
  278. package/esm2020/lib/shared/directives/focus-element/focus-element.directive.mjs +36 -0
  279. package/esm2020/lib/shared/directives/focus-element/focus-element.module.mjs +21 -0
  280. package/esm2020/lib/shared/directives/substitutor/label-substitutor.directive.mjs +82 -0
  281. package/esm2020/lib/shared/directives/substitutor/label-substitutor.module.mjs +30 -0
  282. package/esm2020/lib/shared/directives/substitutor/services/placeholder.service.mjs +200 -0
  283. package/esm2020/lib/shared/domain/activity/activity.model.mjs +10 -0
  284. package/esm2020/lib/shared/domain/addresses/address.model.mjs +13 -0
  285. package/esm2020/lib/shared/domain/alert/alert.model.mjs +3 -0
  286. package/esm2020/lib/shared/domain/case-details.model.mjs +4 -0
  287. package/esm2020/lib/shared/domain/case-event-data.model.mjs +4 -0
  288. package/esm2020/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +3 -0
  289. package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +4 -0
  290. package/esm2020/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +7 -0
  291. package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +117 -0
  292. package/esm2020/lib/shared/domain/case-flag/flag-type.model.mjs +28 -0
  293. package/esm2020/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +10 -0
  294. package/esm2020/lib/shared/domain/case-view/case-event-trigger.model.mjs +23 -0
  295. package/esm2020/lib/shared/domain/case-view/case-print-document.model.mjs +3 -0
  296. package/esm2020/lib/shared/domain/case-view/case-tab.model.mjs +12 -0
  297. package/esm2020/lib/shared/domain/case-view/case-view-event.model.mjs +4 -0
  298. package/esm2020/lib/shared/domain/case-view/case-view-trigger.model.mjs +3 -0
  299. package/esm2020/lib/shared/domain/case-view/case-view.model.mjs +17 -0
  300. package/esm2020/lib/shared/domain/definition/access-control-list.model.mjs +3 -0
  301. package/esm2020/lib/shared/domain/definition/banner.model.mjs +3 -0
  302. package/esm2020/lib/shared/domain/definition/case-event.model.mjs +3 -0
  303. package/esm2020/lib/shared/domain/definition/case-field.model.mjs +200 -0
  304. package/esm2020/lib/shared/domain/definition/case-state.model.mjs +3 -0
  305. package/esm2020/lib/shared/domain/definition/case-type-lite.model.mjs +5 -0
  306. package/esm2020/lib/shared/domain/definition/case-type.model.mjs +12 -0
  307. package/esm2020/lib/shared/domain/definition/event-case-field.model.mjs +4 -0
  308. package/esm2020/lib/shared/domain/definition/field-type.model.mjs +22 -0
  309. package/esm2020/lib/shared/domain/definition/fixed-list-item.model.mjs +3 -0
  310. package/esm2020/lib/shared/domain/definition/jurisdiction.model.mjs +3 -0
  311. package/esm2020/lib/shared/domain/document/document-data.model.mjs +14 -0
  312. package/esm2020/lib/shared/domain/draft.model.mjs +11 -0
  313. package/esm2020/lib/shared/domain/http/http-error.model.mjs +40 -0
  314. package/esm2020/lib/shared/domain/organisation/organisation-converter.mjs +42 -0
  315. package/esm2020/lib/shared/domain/pagination-metadata.model.mjs +3 -0
  316. package/esm2020/lib/shared/domain/profile/profile.model.mjs +29 -0
  317. package/esm2020/lib/shared/domain/search/field.model.mjs +11 -0
  318. package/esm2020/lib/shared/domain/search/search-result-view-column.model.mjs +3 -0
  319. package/esm2020/lib/shared/domain/search/search-result-view-item.model.mjs +12 -0
  320. package/esm2020/lib/shared/domain/search/search-result-view.model.mjs +23 -0
  321. package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +7 -0
  322. package/esm2020/lib/shared/domain/workbasket/workbasket-input.model.mjs +5 -0
  323. package/esm2020/lib/shared/fixture/case-field-builder.mjs +69 -0
  324. package/esm2020/lib/shared/pipes/case-reference/case-reference.pipe.mjs +33 -0
  325. package/esm2020/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +29 -0
  326. package/esm2020/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +32 -0
  327. package/esm2020/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +29 -0
  328. package/esm2020/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +39 -0
  329. package/esm2020/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +173 -0
  330. package/esm2020/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +31 -0
  331. package/esm2020/lib/shared/pipes/complex/fields-filter.pipe.mjs +105 -0
  332. package/esm2020/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +16 -0
  333. package/esm2020/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +27 -0
  334. package/esm2020/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +27 -0
  335. package/esm2020/lib/shared/pipes/pipes.module.mjs +64 -0
  336. package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +24 -0
  337. package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +114 -0
  338. package/esm2020/lib/shared/services/activity/activity.service.mjs +82 -0
  339. package/esm2020/lib/shared/services/addresses/address-parser.mjs +76 -0
  340. package/esm2020/lib/shared/services/addresses/addresses.service.mjs +63 -0
  341. package/esm2020/lib/shared/services/alert/alert.service.mjs +142 -0
  342. package/esm2020/lib/shared/services/auth/auth.service.mjs +33 -0
  343. package/esm2020/lib/shared/services/banners/banners.service.mjs +33 -0
  344. package/esm2020/lib/shared/services/browser/browser.service.mjs +24 -0
  345. package/esm2020/lib/shared/services/case-fields/case-field.service.mjs +34 -0
  346. package/esm2020/lib/shared/services/case-fields/format-translator.service.mjs +242 -0
  347. package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +46 -0
  348. package/esm2020/lib/shared/services/case-flag/case-flag-refdata.service.mjs +102 -0
  349. package/esm2020/lib/shared/services/common-data-service/common-data-service.mjs +28 -0
  350. package/esm2020/lib/shared/services/definitions/definitions.module.mjs +19 -0
  351. package/esm2020/lib/shared/services/definitions/definitions.service.mjs +30 -0
  352. package/esm2020/lib/shared/services/document-management/document-management.service.mjs +112 -0
  353. package/esm2020/lib/shared/services/draft/draft.service.mjs +86 -0
  354. package/esm2020/lib/shared/services/error/error-notifier.service.mjs +18 -0
  355. package/esm2020/lib/shared/services/eventStatusService/event-status.service.mjs +21 -0
  356. package/esm2020/lib/shared/services/fields/fields.purger.mjs +304 -0
  357. package/esm2020/lib/shared/services/fields/fields.utils.mjs +615 -0
  358. package/esm2020/lib/shared/services/form/field-type-sanitiser.mjs +102 -0
  359. package/esm2020/lib/shared/services/form/form-error.service.mjs +46 -0
  360. package/esm2020/lib/shared/services/form/form-validators.service.mjs +82 -0
  361. package/esm2020/lib/shared/services/form/form-value.service.mjs +551 -0
  362. package/esm2020/lib/shared/services/http/http-error.service.mjs +65 -0
  363. package/esm2020/lib/shared/services/http/http.service.mjs +93 -0
  364. package/esm2020/lib/shared/services/jurisdiction/jurisdiction.service.mjs +33 -0
  365. package/esm2020/lib/shared/services/loading/loading.module.mjs +22 -0
  366. package/esm2020/lib/shared/services/loading/loading.service.mjs +33 -0
  367. package/esm2020/lib/shared/services/navigation/navigation-notifier.service.mjs +18 -0
  368. package/esm2020/lib/shared/services/order/order.service.mjs +39 -0
  369. package/esm2020/lib/shared/services/organisation/organisation.service.mjs +54 -0
  370. package/esm2020/lib/shared/services/profile/profile.notifier.mjs +19 -0
  371. package/esm2020/lib/shared/services/profile/profile.service.mjs +34 -0
  372. package/esm2020/lib/shared/services/request/request.options.builder.mjs +61 -0
  373. package/esm2020/lib/shared/services/router/router-helper.service.mjs +20 -0
  374. package/esm2020/lib/shared/services/search/search.service.mjs +89 -0
  375. package/esm2020/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +71 -0
  376. package/esm2020/lib/shared/services/session/session-storage.service.mjs +34 -0
  377. package/esm2020/lib/shared/services/utils/retry/retry.service.mjs +86 -0
  378. package/esm2020/lib/shared/services/window/window.service.mjs +40 -0
  379. package/esm2020/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +53 -0
  380. package/esm2020/lib/shared/test/test-route-snapshot-builder.mjs +40 -0
  381. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +38812 -0
  382. package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -0
  383. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +35830 -0
  384. package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -0
  385. package/lib/components/banners/alert/alert.component.d.ts +1 -1
  386. package/lib/components/banners/notification-banner/notification-banner.component.d.ts +1 -1
  387. package/lib/components/footer/footer.component.d.ts +1 -1
  388. package/lib/components/form/date-input/date-input.component.d.ts +1 -1
  389. package/lib/components/header/header-bar/header-bar.component.d.ts +1 -1
  390. package/lib/components/header/navigation/navigation-item.component.d.ts +1 -1
  391. package/lib/components/header/navigation/navigation.component.d.ts +1 -1
  392. package/lib/components/header/phase/phase.component.d.ts +1 -1
  393. package/lib/components/tabs/tab.component.d.ts +1 -1
  394. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts +1 -1
  395. package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
  396. package/lib/shared/components/activity/activity-banner/activity-banner.component.d.ts +1 -1
  397. package/lib/shared/components/activity/activity-icon/activity-icon.component.d.ts +1 -1
  398. package/lib/shared/components/activity/activity.component.d.ts +1 -1
  399. package/lib/shared/components/case-editor/case-create/case-create.component.d.ts +1 -1
  400. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +2 -1
  401. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  402. package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +1 -1
  403. package/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.d.ts +1 -1
  404. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  405. package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +1 -1
  406. package/lib/shared/components/case-editor/case-progress/case-progress.component.d.ts +1 -1
  407. package/lib/shared/components/case-header/case-header.component.d.ts +1 -1
  408. package/lib/shared/components/case-history/case-history.component.d.ts +1 -1
  409. package/lib/shared/components/case-list/case-list.component.d.ts +1 -1
  410. package/lib/shared/components/case-list-filters/case-list-filters.component.d.ts +1 -1
  411. package/lib/shared/components/case-timeline/case-timeline.component.d.ts +1 -1
  412. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +1 -1
  413. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -1
  414. package/lib/shared/components/case-viewer/case-view/case-view.component.d.ts +1 -1
  415. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +1 -1
  416. package/lib/shared/components/create-case-filters/create-case-filters.component.d.ts +1 -1
  417. package/lib/shared/components/error/callback-errors.component.d.ts +1 -1
  418. package/lib/shared/components/error-message/error-message.component.d.ts +1 -1
  419. package/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.d.ts +1 -1
  420. package/lib/shared/components/event-start/components/task-conflict/task-conflict.component.d.ts +1 -1
  421. package/lib/shared/components/event-trigger/event-trigger.component.d.ts +1 -1
  422. package/lib/shared/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  423. package/lib/shared/components/pagination/pagination.component.d.ts +1 -1
  424. package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
  425. package/lib/shared/components/palette/base-field/abstract-field-read.component.d.ts +1 -1
  426. package/lib/shared/components/palette/base-field/abstract-field-write.component.d.ts +1 -1
  427. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts +2 -2
  428. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  429. package/lib/shared/components/palette/base-field/field-read-label.component.d.ts +1 -1
  430. package/lib/shared/components/palette/base-field/field-read.component.d.ts +1 -1
  431. package/lib/shared/components/palette/base-field/field-write.component.d.ts +1 -1
  432. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +1 -1
  433. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +1 -1
  434. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +1 -1
  435. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +1 -1
  436. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +1 -1
  437. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +1 -1
  438. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +1 -1
  439. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +1 -1
  440. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +1 -1
  441. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +1 -1
  442. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +1 -1
  443. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +1 -1
  444. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +1 -1
  445. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +2 -2
  446. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  447. package/lib/shared/components/palette/complex/read-complex-field-raw.component.d.ts +1 -1
  448. package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts +1 -1
  449. package/lib/shared/components/palette/complex/read-complex-field.component.d.ts +1 -1
  450. package/lib/shared/components/palette/complex/write-complex-field.component.d.ts +1 -1
  451. package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +1 -1
  452. package/lib/shared/components/palette/history/event-log/event-log-details.component.d.ts +1 -1
  453. package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts +1 -1
  454. package/lib/shared/components/palette/history/event-log/event-log.component.d.ts +1 -1
  455. package/lib/shared/components/palette/label/label-field.component.d.ts +1 -1
  456. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +1 -1
  457. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +1 -1
  458. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +2 -2
  459. package/lib/shared/components/palette/markdown/markdown.component.d.ts +4 -2
  460. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  461. package/lib/shared/components/palette/money-gbp/money-gbp-input.component.d.ts +1 -1
  462. package/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.d.ts +1 -1
  463. package/lib/shared/components/palette/order-summary/read-order-summary-row.component.d.ts +1 -1
  464. package/lib/shared/components/palette/organisation/read-organisation-field-raw.component.d.ts +1 -1
  465. package/lib/shared/components/palette/organisation/read-organisation-field-table.component.d.ts +1 -1
  466. package/lib/shared/components/palette/organisation/read-organisation-field.component.d.ts +1 -1
  467. package/lib/shared/components/palette/organisation/write-organisation-complex-field.component.d.ts +1 -1
  468. package/lib/shared/components/palette/palette.module.d.ts +2 -2
  469. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  470. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +1 -1
  471. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +1 -1
  472. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +1 -1
  473. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +1 -1
  474. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +1 -1
  475. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +1 -1
  476. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +1 -1
  477. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +1 -1
  478. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +1 -1
  479. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +1 -1
  480. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +1 -1
  481. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +1 -1
  482. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -1
  483. package/lib/shared/components/search-filters/search-filters-wrapper.component.d.ts +1 -1
  484. package/lib/shared/components/search-filters/search-filters.component.d.ts +1 -1
  485. package/lib/shared/components/search-result/search-result.component.d.ts +1 -1
  486. package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -1
  487. package/lib/shared/directives/conditional-show/conditional-show-form.directive.d.ts +1 -1
  488. package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts +1 -1
  489. package/lib/shared/domain/alert/alert-level.model.d.ts +1 -1
  490. package/lib/shared/domain/alert/alert-level.model.d.ts.map +1 -1
  491. package/lib/shared/domain/case-view/access-types.model.d.ts +1 -1
  492. package/lib/shared/domain/case-view/access-types.model.d.ts.map +1 -1
  493. package/lib/shared/domain/case-view/role-request.model.d.ts +4 -4
  494. package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
  495. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  496. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  497. package/lib/shared/domain/predicate.model.d.ts +1 -1
  498. package/lib/shared/domain/predicate.model.d.ts.map +1 -1
  499. package/lib/shared/pipes/complex/fields-filter.pipe.d.ts.map +1 -1
  500. package/lib/shared/services/order/order.service.d.ts +2 -2
  501. package/lib/shared/services/order/order.service.d.ts.map +1 -1
  502. package/lib/shared/services/request/request.options.builder.d.ts +1 -1
  503. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  504. package/package.json +12 -6
  505. package/esm2022/lib/app.config.mjs +0 -93
  506. package/esm2022/lib/components/banners/alert/alert-icon-class.pipe.mjs +0 -25
  507. package/esm2022/lib/components/banners/alert/alert.component.mjs +0 -92
  508. package/esm2022/lib/components/banners/alert/alert.module.mjs +0 -32
  509. package/esm2022/lib/components/banners/banners.module.mjs +0 -32
  510. package/esm2022/lib/components/banners/notification-banner/notification-banner.component.mjs +0 -116
  511. package/esm2022/lib/components/banners/notification-banner/notification-banner.module.mjs +0 -19
  512. package/esm2022/lib/components/body/body.component.mjs +0 -21
  513. package/esm2022/lib/components/body/body.module.mjs +0 -20
  514. package/esm2022/lib/components/footer/footer.component.mjs +0 -109
  515. package/esm2022/lib/components/footer/footers.module.mjs +0 -25
  516. package/esm2022/lib/components/form/date-input/date-input.component.mjs +0 -341
  517. package/esm2022/lib/components/form/form.module.mjs +0 -29
  518. package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +0 -98
  519. package/esm2022/lib/components/header/headers.module.mjs +0 -25
  520. package/esm2022/lib/components/header/navigation/navigation-item.component.mjs +0 -45
  521. package/esm2022/lib/components/header/navigation/navigation.component.mjs +0 -26
  522. package/esm2022/lib/components/header/phase/phase.component.mjs +0 -49
  523. package/esm2022/lib/components/tabs/tab.component.mjs +0 -32
  524. package/esm2022/lib/components/tabs/tabs.component.mjs +0 -83
  525. package/esm2022/lib/components/tabs/tabs.module.mjs +0 -38
  526. package/esm2022/lib/shared/commons/address-validation-constants.mjs +0 -13
  527. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.module.mjs +0 -19
  528. package/esm2022/lib/shared/commons/case-edit-data/case-edit-data.service.mjs +0 -46
  529. package/esm2022/lib/shared/commons/constants.mjs +0 -13
  530. package/esm2022/lib/shared/components/activity/activity-banner/activity-banner.component.mjs +0 -43
  531. package/esm2022/lib/shared/components/activity/activity-icon/activity-icon.component.mjs +0 -36
  532. package/esm2022/lib/shared/components/activity/activity.component.mjs +0 -156
  533. package/esm2022/lib/shared/components/activity/activity.module.mjs +0 -55
  534. package/esm2022/lib/shared/components/case-editor/case-access-utils/index.mjs +0 -105
  535. package/esm2022/lib/shared/components/case-editor/case-create/case-create.component.mjs +0 -96
  536. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +0 -464
  537. package/esm2022/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.mjs +0 -130
  538. package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +0 -140
  539. package/esm2022/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.mjs +0 -70
  540. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +0 -806
  541. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +0 -606
  542. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +0 -214
  543. package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +0 -97
  544. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +0 -83
  545. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +0 -167
  546. package/esm2022/lib/shared/components/case-editor/case-progress/case-progress.component.mjs +0 -85
  547. package/esm2022/lib/shared/components/case-editor/domain/confirmation.model.mjs +0 -25
  548. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field-complex-override.model.mjs +0 -9
  549. package/esm2022/lib/shared/components/case-editor/domain/wizard-page-field.model.mjs +0 -7
  550. package/esm2022/lib/shared/components/case-editor/domain/wizard-page.model.mjs +0 -33
  551. package/esm2022/lib/shared/components/case-editor/domain/wizard.model.mjs +0 -55
  552. package/esm2022/lib/shared/components/case-editor/services/case-edit-wizard.guard.mjs +0 -98
  553. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +0 -19
  554. package/esm2022/lib/shared/components/case-editor/services/case-worker.service.mjs +0 -35
  555. package/esm2022/lib/shared/components/case-editor/services/case.notifier.mjs +0 -53
  556. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +0 -300
  557. package/esm2022/lib/shared/components/case-editor/services/convert-href-to-router.service.mjs +0 -42
  558. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +0 -153
  559. package/esm2022/lib/shared/components/case-editor/services/event-trigger.service.mjs +0 -18
  560. package/esm2022/lib/shared/components/case-editor/services/judicial-worker.service.mjs +0 -35
  561. package/esm2022/lib/shared/components/case-editor/services/page-validation.service.mjs +0 -59
  562. package/esm2022/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.mjs +0 -40
  563. package/esm2022/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.mjs +0 -117
  564. package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +0 -220
  565. package/esm2022/lib/shared/components/case-header/case-header.component.mjs +0 -64
  566. package/esm2022/lib/shared/components/case-header/case-header.module.mjs +0 -33
  567. package/esm2022/lib/shared/components/case-history/case-history.component.mjs +0 -252
  568. package/esm2022/lib/shared/components/case-history/case-history.module.mjs +0 -64
  569. package/esm2022/lib/shared/components/case-history/domain/case-history.model.mjs +0 -37
  570. package/esm2022/lib/shared/components/case-history/services/case-history.service.mjs +0 -43
  571. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +0 -368
  572. package/esm2022/lib/shared/components/case-list/case-list.module.mjs +0 -47
  573. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.component.mjs +0 -57
  574. package/esm2022/lib/shared/components/case-list-filters/case-list-filters.module.mjs +0 -64
  575. package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +0 -115
  576. package/esm2022/lib/shared/components/case-timeline/case-timeline.module.mjs +0 -52
  577. package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +0 -246
  578. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +0 -311
  579. package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +0 -75
  580. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +0 -156
  581. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +0 -698
  582. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +0 -61
  583. package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +0 -256
  584. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +0 -211
  585. package/esm2022/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.mjs +0 -50
  586. package/esm2022/lib/shared/components/case-viewer/case-view/case-view.component.mjs +0 -107
  587. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +0 -133
  588. package/esm2022/lib/shared/components/case-viewer/case-viewer.module.mjs +0 -191
  589. package/esm2022/lib/shared/components/case-viewer/printer/case-printer.component.mjs +0 -117
  590. package/esm2022/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.mjs +0 -61
  591. package/esm2022/lib/shared/components/case-viewer/services/case.resolver.mjs +0 -138
  592. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +0 -86
  593. package/esm2022/lib/shared/components/create-case-filters/create-case-filters-selection.model.mjs +0 -11
  594. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.component.mjs +0 -289
  595. package/esm2022/lib/shared/components/create-case-filters/create-case-filters.module.mjs +0 -44
  596. package/esm2022/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.mjs +0 -60
  597. package/esm2022/lib/shared/components/dialogs/dialogs.module.mjs +0 -51
  598. package/esm2022/lib/shared/components/dialogs/document-dialog/document-dialog.component.mjs +0 -62
  599. package/esm2022/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.mjs +0 -60
  600. package/esm2022/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.mjs +0 -64
  601. package/esm2022/lib/shared/components/error/callback-errors.component.mjs +0 -147
  602. package/esm2022/lib/shared/components/error/domain/error-context.mjs +0 -6
  603. package/esm2022/lib/shared/components/error/errors.module.mjs +0 -33
  604. package/esm2022/lib/shared/components/error-message/error-message.component.mjs +0 -45
  605. package/esm2022/lib/shared/components/error-message/error-message.module.mjs +0 -41
  606. package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +0 -62
  607. package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +0 -56
  608. package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +0 -112
  609. package/esm2022/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.mjs +0 -70
  610. package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +0 -61
  611. package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +0 -56
  612. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +0 -104
  613. package/esm2022/lib/shared/components/event-start/event-start.component.mjs +0 -56
  614. package/esm2022/lib/shared/components/event-start/event-start.module.mjs +0 -71
  615. package/esm2022/lib/shared/components/event-start/resolvers/event-tasks-resolver.service.mjs +0 -31
  616. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +0 -179
  617. package/esm2022/lib/shared/components/event-trigger/event-trigger.component.mjs +0 -129
  618. package/esm2022/lib/shared/components/event-trigger/event-trigger.module.mjs +0 -37
  619. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.component.mjs +0 -26
  620. package/esm2022/lib/shared/components/loading-spinner/loading-spinner.module.mjs +0 -29
  621. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +0 -260
  622. package/esm2022/lib/shared/components/pagination/pagination.module.mjs +0 -35
  623. package/esm2022/lib/shared/components/palette/address/address-option.model.mjs +0 -23
  624. package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +0 -286
  625. package/esm2022/lib/shared/components/palette/base-field/abstract-field-read.component.mjs +0 -30
  626. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write.component.mjs +0 -44
  627. package/esm2022/lib/shared/components/palette/base-field/abstract-form-field.component.mjs +0 -84
  628. package/esm2022/lib/shared/components/palette/base-field/field-read-label.component.mjs +0 -85
  629. package/esm2022/lib/shared/components/palette/base-field/field-read.component.mjs +0 -90
  630. package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +0 -78
  631. package/esm2022/lib/shared/components/palette/base-field/payment-field.component.mjs +0 -37
  632. package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +0 -181
  633. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.mjs +0 -50
  634. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +0 -51
  635. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +0 -358
  636. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +0 -158
  637. package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +0 -94
  638. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +0 -190
  639. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +0 -301
  640. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.mjs +0 -206
  641. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +0 -169
  642. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +0 -225
  643. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +0 -311
  644. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +0 -202
  645. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +0 -353
  646. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +0 -269
  647. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +0 -510
  648. package/esm2022/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.mjs +0 -43
  649. package/esm2022/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.mjs +0 -43
  650. package/esm2022/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.mjs +0 -111
  651. package/esm2022/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.mjs +0 -79
  652. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +0 -253
  653. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +0 -697
  654. package/esm2022/lib/shared/components/palette/case-link/read-case-link-field.component.mjs +0 -33
  655. package/esm2022/lib/shared/components/palette/case-link/write-case-link-field.component.mjs +0 -125
  656. package/esm2022/lib/shared/components/palette/collection/collection-create-checker.service.mjs +0 -42
  657. package/esm2022/lib/shared/components/palette/collection/read-collection-field.component.mjs +0 -78
  658. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +0 -447
  659. package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +0 -378
  660. package/esm2022/lib/shared/components/palette/complex/read-complex-field-raw.component.mjs +0 -51
  661. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +0 -76
  662. package/esm2022/lib/shared/components/palette/complex/read-complex-field.component.mjs +0 -71
  663. package/esm2022/lib/shared/components/palette/complex/write-complex-field.component.mjs +0 -173
  664. package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +0 -26
  665. package/esm2022/lib/shared/components/palette/date/write-date-container-field.component.mjs +0 -33
  666. package/esm2022/lib/shared/components/palette/date/write-date-field.component.mjs +0 -77
  667. package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +0 -312
  668. package/esm2022/lib/shared/components/palette/document/document-url.pipe.mjs +0 -25
  669. package/esm2022/lib/shared/components/palette/document/file-upload-progress.guard.mjs +0 -31
  670. package/esm2022/lib/shared/components/palette/document/file-upload-state.service.mjs +0 -17
  671. package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +0 -88
  672. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +0 -430
  673. package/esm2022/lib/shared/components/palette/dynamic-list/dynamic-list.pipe.mjs +0 -18
  674. package/esm2022/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.mjs +0 -37
  675. package/esm2022/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.mjs +0 -124
  676. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.mjs +0 -44
  677. package/esm2022/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.mjs +0 -146
  678. package/esm2022/lib/shared/components/palette/dynamic-radio-list/dynamic-radio-list.pipe.mjs +0 -25
  679. package/esm2022/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.mjs +0 -43
  680. package/esm2022/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.mjs +0 -123
  681. package/esm2022/lib/shared/components/palette/email/read-email-field.component.mjs +0 -36
  682. package/esm2022/lib/shared/components/palette/email/write-email-field.component.mjs +0 -74
  683. package/esm2022/lib/shared/components/palette/fixed-list/fixed-list.pipe.mjs +0 -23
  684. package/esm2022/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.mjs +0 -27
  685. package/esm2022/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.mjs +0 -107
  686. package/esm2022/lib/shared/components/palette/fixed-radio-list/fixed-radio-list.pipe.mjs +0 -18
  687. package/esm2022/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.mjs +0 -27
  688. package/esm2022/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.mjs +0 -96
  689. package/esm2022/lib/shared/components/palette/history/case-history-viewer-field.component.mjs +0 -17
  690. package/esm2022/lib/shared/components/palette/history/event-log/event-log-details.component.mjs +0 -99
  691. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +0 -224
  692. package/esm2022/lib/shared/components/palette/history/event-log/event-log.component.mjs +0 -72
  693. package/esm2022/lib/shared/components/palette/judicial-user/read-judicial-user-field.component.mjs +0 -49
  694. package/esm2022/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +0 -253
  695. package/esm2022/lib/shared/components/palette/label/label-field.component.mjs +0 -50
  696. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +0 -111
  697. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +0 -191
  698. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +0 -543
  699. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +0 -213
  700. package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +0 -287
  701. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +0 -69
  702. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +0 -209
  703. package/esm2022/lib/shared/components/palette/linked-cases/domain/linked-cases.model.mjs +0 -67
  704. package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +0 -168
  705. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +0 -138
  706. package/esm2022/lib/shared/components/palette/linked-cases/utils/validators.utils.mjs +0 -27
  707. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +0 -234
  708. package/esm2022/lib/shared/components/palette/markdown/markdown-component.module.mjs +0 -48
  709. package/esm2022/lib/shared/components/palette/markdown/markdown.component.mjs +0 -81
  710. package/esm2022/lib/shared/components/palette/markdown/routerlink.component.mjs +0 -25
  711. package/esm2022/lib/shared/components/palette/money-gbp/money-gbp-input.component.mjs +0 -128
  712. package/esm2022/lib/shared/components/palette/money-gbp/read-money-gbp-field.component.mjs +0 -50
  713. package/esm2022/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.mjs +0 -79
  714. package/esm2022/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.mjs +0 -46
  715. package/esm2022/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.mjs +0 -126
  716. package/esm2022/lib/shared/components/palette/number/read-number-field.component.mjs +0 -25
  717. package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +0 -74
  718. package/esm2022/lib/shared/components/palette/order-summary/fee-value.model.mjs +0 -4
  719. package/esm2022/lib/shared/components/palette/order-summary/fee.model.mjs +0 -8
  720. package/esm2022/lib/shared/components/palette/order-summary/order-summary.model.mjs +0 -6
  721. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-field.component.mjs +0 -74
  722. package/esm2022/lib/shared/components/palette/order-summary/read-order-summary-row.component.mjs +0 -45
  723. package/esm2022/lib/shared/components/palette/order-summary/write-order-summary-field.component.mjs +0 -45
  724. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-raw.component.mjs +0 -88
  725. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field-table.component.mjs +0 -92
  726. package/esm2022/lib/shared/components/palette/organisation/read-organisation-field.component.mjs +0 -52
  727. package/esm2022/lib/shared/components/palette/organisation/write-organisation-complex-field.component.mjs +0 -35
  728. package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +0 -397
  729. package/esm2022/lib/shared/components/palette/palette.module.mjs +0 -736
  730. package/esm2022/lib/shared/components/palette/palette.service.mjs +0 -153
  731. package/esm2022/lib/shared/components/palette/payment/case-payment-history-viewer-field.component.mjs +0 -25
  732. package/esm2022/lib/shared/components/palette/phone-uk/read-phone-uk-field.component.mjs +0 -23
  733. package/esm2022/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.mjs +0 -74
  734. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.mjs +0 -44
  735. package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +0 -150
  736. package/esm2022/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.mjs +0 -67
  737. package/esm2022/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.mjs +0 -61
  738. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +0 -292
  739. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +0 -330
  740. package/esm2022/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.mjs +0 -24
  741. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +0 -165
  742. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +0 -78
  743. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +0 -121
  744. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.mjs +0 -202
  745. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.mjs +0 -107
  746. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +0 -24
  747. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +0 -45
  748. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +0 -124
  749. package/esm2022/lib/shared/components/palette/query-management/utils/query-management.utils.mjs +0 -22
  750. package/esm2022/lib/shared/components/palette/text/read-text-field.component.mjs +0 -25
  751. package/esm2022/lib/shared/components/palette/text/write-text-field.component.mjs +0 -78
  752. package/esm2022/lib/shared/components/palette/text-area/read-text-area-field.component.mjs +0 -25
  753. package/esm2022/lib/shared/components/palette/text-area/write-text-area-field.component.mjs +0 -89
  754. package/esm2022/lib/shared/components/palette/unsupported-field.component.mjs +0 -18
  755. package/esm2022/lib/shared/components/palette/utils/dash.pipe.mjs +0 -16
  756. package/esm2022/lib/shared/components/palette/utils/date.pipe.mjs +0 -133
  757. package/esm2022/lib/shared/components/palette/utils/field-label.pipe.mjs +0 -30
  758. package/esm2022/lib/shared/components/palette/utils/first-error.pipe.mjs +0 -65
  759. package/esm2022/lib/shared/components/palette/utils/is-compound.pipe.mjs +0 -43
  760. package/esm2022/lib/shared/components/palette/utils/is-mandatory.pipe.mjs +0 -22
  761. package/esm2022/lib/shared/components/palette/utils/is-read-only-and-not-collection.pipe.mjs +0 -32
  762. package/esm2022/lib/shared/components/palette/utils/is-read-only.pipe.mjs +0 -22
  763. package/esm2022/lib/shared/components/palette/utils/utils.module.mjs +0 -71
  764. package/esm2022/lib/shared/components/palette/waystopay/waystopay-field.component.mjs +0 -35
  765. package/esm2022/lib/shared/components/palette/yes-no/read-yes-no-field.component.mjs +0 -37
  766. package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +0 -102
  767. package/esm2022/lib/shared/components/palette/yes-no/yes-no.service.mjs +0 -50
  768. package/esm2022/lib/shared/components/search-filters/domain/search-input.model.mjs +0 -15
  769. package/esm2022/lib/shared/components/search-filters/search-filters-wrapper.component.mjs +0 -63
  770. package/esm2022/lib/shared/components/search-filters/search-filters.component.mjs +0 -341
  771. package/esm2022/lib/shared/components/search-filters/search-filters.module.mjs +0 -71
  772. package/esm2022/lib/shared/components/search-result/search-result.component.mjs +0 -822
  773. package/esm2022/lib/shared/components/search-result/search-result.module.mjs +0 -82
  774. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +0 -497
  775. package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.module.mjs +0 -67
  776. package/esm2022/lib/shared/directives/conditional-show/conditional-show-form.directive.mjs +0 -169
  777. package/esm2022/lib/shared/directives/conditional-show/conditional-show.module.mjs +0 -33
  778. package/esm2022/lib/shared/directives/conditional-show/domain/conditional-show.model.mjs +0 -201
  779. package/esm2022/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +0 -200
  780. package/esm2022/lib/shared/directives/conditional-show/services/conditional-show-registrar.service.mjs +0 -17
  781. package/esm2022/lib/shared/directives/conditional-show/services/grey-bar.service.mjs +0 -48
  782. package/esm2022/lib/shared/directives/focus-element/focus-element.directive.mjs +0 -38
  783. package/esm2022/lib/shared/directives/focus-element/focus-element.module.mjs +0 -21
  784. package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +0 -88
  785. package/esm2022/lib/shared/directives/substitutor/label-substitutor.module.mjs +0 -30
  786. package/esm2022/lib/shared/directives/substitutor/services/placeholder.service.mjs +0 -209
  787. package/esm2022/lib/shared/domain/activity/activity.model.mjs +0 -17
  788. package/esm2022/lib/shared/domain/addresses/address.model.mjs +0 -11
  789. package/esm2022/lib/shared/domain/alert/alert.model.mjs +0 -5
  790. package/esm2022/lib/shared/domain/case-details.model.mjs +0 -13
  791. package/esm2022/lib/shared/domain/case-event-data.model.mjs +0 -11
  792. package/esm2022/lib/shared/domain/case-file-view/case-file-view-category.model.mjs +0 -8
  793. package/esm2022/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +0 -10
  794. package/esm2022/lib/shared/domain/case-file-view/categories-and-documents.model.mjs +0 -10
  795. package/esm2022/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +0 -125
  796. package/esm2022/lib/shared/domain/case-flag/flag-type.model.mjs +0 -37
  797. package/esm2022/lib/shared/domain/case-flag/hmcts-service-detail.model.mjs +0 -18
  798. package/esm2022/lib/shared/domain/case-view/case-event-trigger.model.mjs +0 -34
  799. package/esm2022/lib/shared/domain/case-view/case-print-document.model.mjs +0 -6
  800. package/esm2022/lib/shared/domain/case-view/case-tab.model.mjs +0 -17
  801. package/esm2022/lib/shared/domain/case-view/case-view-event.model.mjs +0 -16
  802. package/esm2022/lib/shared/domain/case-view/case-view-trigger.model.mjs +0 -7
  803. package/esm2022/lib/shared/domain/case-view/case-view.model.mjs +0 -27
  804. package/esm2022/lib/shared/domain/definition/access-control-list.model.mjs +0 -8
  805. package/esm2022/lib/shared/domain/definition/banner.model.mjs +0 -8
  806. package/esm2022/lib/shared/domain/definition/case-event.model.mjs +0 -11
  807. package/esm2022/lib/shared/domain/definition/case-field.model.mjs +0 -218
  808. package/esm2022/lib/shared/domain/definition/case-state.model.mjs +0 -7
  809. package/esm2022/lib/shared/domain/definition/case-type-lite.model.mjs +0 -10
  810. package/esm2022/lib/shared/domain/definition/case-type.model.mjs +0 -20
  811. package/esm2022/lib/shared/domain/definition/event-case-field.model.mjs +0 -6
  812. package/esm2022/lib/shared/domain/definition/field-type.model.mjs +0 -30
  813. package/esm2022/lib/shared/domain/definition/fixed-list-item.model.mjs +0 -6
  814. package/esm2022/lib/shared/domain/definition/jurisdiction.model.mjs +0 -8
  815. package/esm2022/lib/shared/domain/document/document-data.model.mjs +0 -28
  816. package/esm2022/lib/shared/domain/draft.model.mjs +0 -16
  817. package/esm2022/lib/shared/domain/http/http-error.model.mjs +0 -49
  818. package/esm2022/lib/shared/domain/organisation/organisation-converter.mjs +0 -42
  819. package/esm2022/lib/shared/domain/pagination-metadata.model.mjs +0 -5
  820. package/esm2022/lib/shared/domain/profile/profile.model.mjs +0 -33
  821. package/esm2022/lib/shared/domain/search/field.model.mjs +0 -17
  822. package/esm2022/lib/shared/domain/search/search-result-view-column.model.mjs +0 -9
  823. package/esm2022/lib/shared/domain/search/search-result-view-item.model.mjs +0 -18
  824. package/esm2022/lib/shared/domain/search/search-result-view.model.mjs +0 -26
  825. package/esm2022/lib/shared/domain/search/sorting/sort-parameters.mjs +0 -9
  826. package/esm2022/lib/shared/domain/workbasket/workbasket-input.model.mjs +0 -11
  827. package/esm2022/lib/shared/fixture/case-field-builder.mjs +0 -67
  828. package/esm2022/lib/shared/pipes/case-reference/case-reference.pipe.mjs +0 -33
  829. package/esm2022/lib/shared/pipes/case-title/ccd-case-title.pipe.mjs +0 -31
  830. package/esm2022/lib/shared/pipes/complex/ccd-collection-table-value-case-fields.pipe.mjs +0 -32
  831. package/esm2022/lib/shared/pipes/complex/ccd-cyapage-label-filter.pipe.mjs +0 -27
  832. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +0 -39
  833. package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +0 -173
  834. package/esm2022/lib/shared/pipes/complex/ccd-tab-fields.pipe.mjs +0 -31
  835. package/esm2022/lib/shared/pipes/complex/fields-filter.pipe.mjs +0 -105
  836. package/esm2022/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.mjs +0 -16
  837. package/esm2022/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.mjs +0 -28
  838. package/esm2022/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.mjs +0 -28
  839. package/esm2022/lib/shared/pipes/pipes.module.mjs +0 -64
  840. package/esm2022/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +0 -24
  841. package/esm2022/lib/shared/services/activity/activity.polling.service.mjs +0 -122
  842. package/esm2022/lib/shared/services/activity/activity.service.mjs +0 -85
  843. package/esm2022/lib/shared/services/addresses/address-parser.mjs +0 -76
  844. package/esm2022/lib/shared/services/addresses/addresses.service.mjs +0 -65
  845. package/esm2022/lib/shared/services/alert/alert.service.mjs +0 -157
  846. package/esm2022/lib/shared/services/auth/auth.service.mjs +0 -35
  847. package/esm2022/lib/shared/services/banners/banners.service.mjs +0 -35
  848. package/esm2022/lib/shared/services/browser/browser.service.mjs +0 -24
  849. package/esm2022/lib/shared/services/case-fields/case-field.service.mjs +0 -34
  850. package/esm2022/lib/shared/services/case-fields/format-translator.service.mjs +0 -242
  851. package/esm2022/lib/shared/services/case-file-view/case-file-view.service.mjs +0 -48
  852. package/esm2022/lib/shared/services/case-flag/case-flag-refdata.service.mjs +0 -104
  853. package/esm2022/lib/shared/services/common-data-service/common-data-service.mjs +0 -29
  854. package/esm2022/lib/shared/services/definitions/definitions.module.mjs +0 -19
  855. package/esm2022/lib/shared/services/definitions/definitions.service.mjs +0 -32
  856. package/esm2022/lib/shared/services/document-management/document-management.service.mjs +0 -114
  857. package/esm2022/lib/shared/services/draft/draft.service.mjs +0 -89
  858. package/esm2022/lib/shared/services/error/error-notifier.service.mjs +0 -16
  859. package/esm2022/lib/shared/services/eventStatusService/event-status.service.mjs +0 -21
  860. package/esm2022/lib/shared/services/fields/fields.purger.mjs +0 -305
  861. package/esm2022/lib/shared/services/fields/fields.utils.mjs +0 -615
  862. package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +0 -102
  863. package/esm2022/lib/shared/services/form/form-error.service.mjs +0 -46
  864. package/esm2022/lib/shared/services/form/form-validators.service.mjs +0 -82
  865. package/esm2022/lib/shared/services/form/form-value.service.mjs +0 -552
  866. package/esm2022/lib/shared/services/http/http-error.service.mjs +0 -67
  867. package/esm2022/lib/shared/services/http/http.service.mjs +0 -95
  868. package/esm2022/lib/shared/services/jurisdiction/jurisdiction.service.mjs +0 -35
  869. package/esm2022/lib/shared/services/loading/loading.module.mjs +0 -22
  870. package/esm2022/lib/shared/services/loading/loading.service.mjs +0 -31
  871. package/esm2022/lib/shared/services/navigation/navigation-notifier.service.mjs +0 -16
  872. package/esm2022/lib/shared/services/order/order.service.mjs +0 -37
  873. package/esm2022/lib/shared/services/organisation/organisation.service.mjs +0 -57
  874. package/esm2022/lib/shared/services/profile/profile.notifier.mjs +0 -17
  875. package/esm2022/lib/shared/services/profile/profile.service.mjs +0 -36
  876. package/esm2022/lib/shared/services/request/request.options.builder.mjs +0 -61
  877. package/esm2022/lib/shared/services/router/router-helper.service.mjs +0 -20
  878. package/esm2022/lib/shared/services/search/search.service.mjs +0 -96
  879. package/esm2022/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.mjs +0 -71
  880. package/esm2022/lib/shared/services/session/session-storage.service.mjs +0 -34
  881. package/esm2022/lib/shared/services/utils/retry/retry.service.mjs +0 -87
  882. package/esm2022/lib/shared/services/window/window.service.mjs +0 -40
  883. package/esm2022/lib/shared/services/workbasket/workbasket-input-filter.service.mjs +0 -57
  884. package/esm2022/lib/shared/test/test-route-snapshot-builder.mjs +0 -38
  885. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +0 -37120
  886. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +0 -1
  887. /package/{esm2022 → esm2020}/hmcts-ccd-case-ui-toolkit.mjs +0 -0
  888. /package/{esm2022 → esm2020}/lib/components/banners/alert/index.mjs +0 -0
  889. /package/{esm2022 → esm2020}/lib/components/banners/index.mjs +0 -0
  890. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/domain/index.mjs +0 -0
  891. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/domain/notification-banner-config.model.mjs +0 -0
  892. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/enums/index.mjs +0 -0
  893. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/enums/notification-banner-style.enum.mjs +0 -0
  894. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/enums/notification-banner-type.enum.mjs +0 -0
  895. /package/{esm2022 → esm2020}/lib/components/banners/notification-banner/index.mjs +0 -0
  896. /package/{esm2022 → esm2020}/lib/components/body/index.mjs +0 -0
  897. /package/{esm2022 → esm2020}/lib/components/footer/index.mjs +0 -0
  898. /package/{esm2022 → esm2020}/lib/components/form/date-input/index.mjs +0 -0
  899. /package/{esm2022 → esm2020}/lib/components/form/index.mjs +0 -0
  900. /package/{esm2022 → esm2020}/lib/components/header/header-bar/index.mjs +0 -0
  901. /package/{esm2022 → esm2020}/lib/components/header/index.mjs +0 -0
  902. /package/{esm2022 → esm2020}/lib/components/header/navigation/index.mjs +0 -0
  903. /package/{esm2022 → esm2020}/lib/components/header/phase/index.mjs +0 -0
  904. /package/{esm2022 → esm2020}/lib/components/index.mjs +0 -0
  905. /package/{esm2022 → esm2020}/lib/components/tabs/index.mjs +0 -0
  906. /package/{esm2022 → esm2020}/lib/shared/commons/case-edit-data/case-edit-validation.model.mjs +0 -0
  907. /package/{esm2022 → esm2020}/lib/shared/commons/case-edit-data/index.mjs +0 -0
  908. /package/{esm2022 → esm2020}/lib/shared/components/activity/activity-banner/index.mjs +0 -0
  909. /package/{esm2022 → esm2020}/lib/shared/components/activity/activity-icon/index.mjs +0 -0
  910. /package/{esm2022 → esm2020}/lib/shared/components/activity/index.mjs +0 -0
  911. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-create/index.mjs +0 -0
  912. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit/index.mjs +0 -0
  913. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit-confirm/index.mjs +0 -0
  914. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit-form/index.mjs +0 -0
  915. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit-page/index.mjs +0 -0
  916. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.mjs +0 -0
  917. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-edit-submit/index.mjs +0 -0
  918. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-event-completion/index.mjs +0 -0
  919. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/case-progress/index.mjs +0 -0
  920. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/event-completion-params.model.mjs +0 -0
  921. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/event-completion-portal-types.model.mjs +0 -0
  922. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/event-completion-return-states.enum.model.mjs +0 -0
  923. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.mjs +0 -0
  924. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/event-completion-states.enum.model.mjs +0 -0
  925. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/domain/index.mjs +0 -0
  926. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/editor.routing.mjs +0 -0
  927. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/index.mjs +0 -0
  928. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/services/index.mjs +0 -0
  929. /package/{esm2022 → esm2020}/lib/shared/components/case-editor/services/wizard-factory.service.mjs +0 -0
  930. /package/{esm2022 → esm2020}/lib/shared/components/case-header/index.mjs +0 -0
  931. /package/{esm2022 → esm2020}/lib/shared/components/case-history/index.mjs +0 -0
  932. /package/{esm2022 → esm2020}/lib/shared/components/case-list/index.mjs +0 -0
  933. /package/{esm2022 → esm2020}/lib/shared/components/case-list-filters/index.mjs +0 -0
  934. /package/{esm2022 → esm2020}/lib/shared/components/case-timeline/index.mjs +0 -0
  935. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-basic-access-view/index.mjs +0 -0
  936. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-challenged-access-request/index.mjs +0 -0
  937. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-challenged-access-request/models/case-challenged-access-request.enum.mjs +0 -0
  938. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-challenged-access-request/models/index.mjs +0 -0
  939. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-challenged-access-success/index.mjs +0 -0
  940. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-event-trigger/index.mjs +0 -0
  941. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-full-access-view/index.mjs +0 -0
  942. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-review-specific-access-reject/index.mjs +0 -0
  943. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-review-specific-access-request/index.mjs +0 -0
  944. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-review-specific-access-request/models/case-review-specific-access-request.enum.mjs +0 -0
  945. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-review-specific-access-request/models/index.mjs +0 -0
  946. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-specific-access-request/index.mjs +0 -0
  947. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-specific-access-request/models/case-specific-access-request.enum.mjs +0 -0
  948. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-specific-access-request/models/index.mjs +0 -0
  949. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-specific-access-success/index.mjs +0 -0
  950. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/case-view/index.mjs +0 -0
  951. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/index.mjs +0 -0
  952. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/printer/index.mjs +0 -0
  953. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/printer/pipes/index.mjs +0 -0
  954. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/services/index.mjs +0 -0
  955. /package/{esm2022 → esm2020}/lib/shared/components/case-viewer/viewer.routing.mjs +0 -0
  956. /package/{esm2022 → esm2020}/lib/shared/components/create-case-filters/index.mjs +0 -0
  957. /package/{esm2022 → esm2020}/lib/shared/components/dialogs/delete-or-cancel-dialog/index.mjs +0 -0
  958. /package/{esm2022 → esm2020}/lib/shared/components/dialogs/document-dialog/index.mjs +0 -0
  959. /package/{esm2022 → esm2020}/lib/shared/components/dialogs/index.mjs +0 -0
  960. /package/{esm2022 → esm2020}/lib/shared/components/dialogs/remove-dialog/index.mjs +0 -0
  961. /package/{esm2022 → esm2020}/lib/shared/components/dialogs/save-or-discard-dialog/index.mjs +0 -0
  962. /package/{esm2022 → esm2020}/lib/shared/components/error/domain/index.mjs +0 -0
  963. /package/{esm2022 → esm2020}/lib/shared/components/error/index.mjs +0 -0
  964. /package/{esm2022 → esm2020}/lib/shared/components/error-message/index.mjs +0 -0
  965. /package/{esm2022 → esm2020}/lib/shared/components/event-start/index.mjs +0 -0
  966. /package/{esm2022 → esm2020}/lib/shared/components/event-start/models/event-start-state-machine-context.model.mjs +0 -0
  967. /package/{esm2022 → esm2020}/lib/shared/components/event-start/models/event-start-states-enum.model.mjs +0 -0
  968. /package/{esm2022 → esm2020}/lib/shared/components/event-start/models/index.mjs +0 -0
  969. /package/{esm2022 → esm2020}/lib/shared/components/event-start/services/index.mjs +0 -0
  970. /package/{esm2022 → esm2020}/lib/shared/components/event-trigger/index.mjs +0 -0
  971. /package/{esm2022 → esm2020}/lib/shared/components/helpers/index.mjs +0 -0
  972. /package/{esm2022 → esm2020}/lib/shared/components/helpers/init-dialog-helper.mjs +0 -0
  973. /package/{esm2022 → esm2020}/lib/shared/components/index.mjs +0 -0
  974. /package/{esm2022 → esm2020}/lib/shared/components/loading-spinner/index.mjs +0 -0
  975. /package/{esm2022 → esm2020}/lib/shared/components/pagination/index.mjs +0 -0
  976. /package/{esm2022 → esm2020}/lib/shared/components/palette/address/index.mjs +0 -0
  977. /package/{esm2022 → esm2020}/lib/shared/components/palette/base-field/index.mjs +0 -0
  978. /package/{esm2022 → esm2020}/lib/shared/components/palette/base-field/palette-context.enum.mjs +0 -0
  979. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-file-view/components/index.mjs +0 -0
  980. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.mjs +0 -0
  981. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-file-view/components/shared/index.mjs +0 -0
  982. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-file-view/index.mjs +0 -0
  983. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +0 -0
  984. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/components/index.mjs +0 -0
  985. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.mjs +0 -0
  986. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/domain/case-flag-state.model.mjs +0 -0
  987. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/domain/case-flag.model.mjs +0 -0
  988. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/domain/index.mjs +0 -0
  989. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/domain/language.model.mjs +0 -0
  990. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.mjs +0 -0
  991. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.mjs +0 -0
  992. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.mjs +0 -0
  993. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.mjs +0 -0
  994. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.mjs +0 -0
  995. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.mjs +0 -0
  996. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-summary-list-display-mode.enum.mjs +0 -0
  997. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.mjs +0 -0
  998. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.mjs +0 -0
  999. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.mjs +0 -0
  1000. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/index.mjs +0 -0
  1001. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-error-message.enum.mjs +0 -0
  1002. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/search-language-interpreter-step.enum.mjs +0 -0
  1003. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.mjs +0 -0
  1004. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/select-flag-location-error-message.enum.mjs +0 -0
  1005. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.mjs +0 -0
  1006. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.mjs +0 -0
  1007. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.mjs +0 -0
  1008. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.mjs +0 -0
  1009. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.mjs +0 -0
  1010. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.mjs +0 -0
  1011. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/index.mjs +0 -0
  1012. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-flag/pipes/index.mjs +0 -0
  1013. /package/{esm2022 → esm2020}/lib/shared/components/palette/case-link/index.mjs +0 -0
  1014. /package/{esm2022 → esm2020}/lib/shared/components/palette/collection/index.mjs +0 -0
  1015. /package/{esm2022 → esm2020}/lib/shared/components/palette/complex/index.mjs +0 -0
  1016. /package/{esm2022 → esm2020}/lib/shared/components/palette/complex/sort-order.mjs +0 -0
  1017. /package/{esm2022 → esm2020}/lib/shared/components/palette/date/index.mjs +0 -0
  1018. /package/{esm2022 → esm2020}/lib/shared/components/palette/datetime-picker/datetime-picker-utils.mjs +0 -0
  1019. /package/{esm2022 → esm2020}/lib/shared/components/palette/datetime-picker/index.mjs +0 -0
  1020. /package/{esm2022 → esm2020}/lib/shared/components/palette/document/index.mjs +0 -0
  1021. /package/{esm2022 → esm2020}/lib/shared/components/palette/dynamic-list/index.mjs +0 -0
  1022. /package/{esm2022 → esm2020}/lib/shared/components/palette/dynamic-multi-select-list/index.mjs +0 -0
  1023. /package/{esm2022 → esm2020}/lib/shared/components/palette/dynamic-radio-list/index.mjs +0 -0
  1024. /package/{esm2022 → esm2020}/lib/shared/components/palette/email/index.mjs +0 -0
  1025. /package/{esm2022 → esm2020}/lib/shared/components/palette/fixed-list/index.mjs +0 -0
  1026. /package/{esm2022 → esm2020}/lib/shared/components/palette/fixed-radio-list/index.mjs +0 -0
  1027. /package/{esm2022 → esm2020}/lib/shared/components/palette/history/event-log/index.mjs +0 -0
  1028. /package/{esm2022 → esm2020}/lib/shared/components/palette/history/index.mjs +0 -0
  1029. /package/{esm2022 → esm2020}/lib/shared/components/palette/index.mjs +0 -0
  1030. /package/{esm2022 → esm2020}/lib/shared/components/palette/judicial-user/index.mjs +0 -0
  1031. /package/{esm2022 → esm2020}/lib/shared/components/palette/label/index.mjs +0 -0
  1032. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/components/index.mjs +0 -0
  1033. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/domain/index.mjs +0 -0
  1034. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.mjs +0 -0
  1035. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/enums/index.mjs +0 -0
  1036. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.mjs +0 -0
  1037. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/index.mjs +0 -0
  1038. /package/{esm2022 → esm2020}/lib/shared/components/palette/linked-cases/services/index.mjs +0 -0
  1039. /package/{esm2022 → esm2020}/lib/shared/components/palette/markdown/index.mjs +0 -0
  1040. /package/{esm2022 → esm2020}/lib/shared/components/palette/money-gbp/index.mjs +0 -0
  1041. /package/{esm2022 → esm2020}/lib/shared/components/palette/multi-select-list/index.mjs +0 -0
  1042. /package/{esm2022 → esm2020}/lib/shared/components/palette/number/index.mjs +0 -0
  1043. /package/{esm2022 → esm2020}/lib/shared/components/palette/order-summary/index.mjs +0 -0
  1044. /package/{esm2022 → esm2020}/lib/shared/components/palette/organisation/index.mjs +0 -0
  1045. /package/{esm2022 → esm2020}/lib/shared/components/palette/payment/index.mjs +0 -0
  1046. /package/{esm2022 → esm2020}/lib/shared/components/palette/phone-uk/index.mjs +0 -0
  1047. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/__mocks__/index.mjs +0 -0
  1048. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/components/index.mjs +0 -0
  1049. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/enums/index.mjs +0 -0
  1050. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.mjs +0 -0
  1051. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.mjs +0 -0
  1052. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.mjs +0 -0
  1053. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.mjs +0 -0
  1054. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/index.mjs +0 -0
  1055. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/case-queries-collection.model.mjs +0 -0
  1056. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/index.mjs +0 -0
  1057. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.mjs +0 -0
  1058. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.mjs +0 -0
  1059. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/query-create-context.enum.mjs +0 -0
  1060. /package/{esm2022 → esm2020}/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.mjs +0 -0
  1061. /package/{esm2022 → esm2020}/lib/shared/components/palette/text/index.mjs +0 -0
  1062. /package/{esm2022 → esm2020}/lib/shared/components/palette/text-area/index.mjs +0 -0
  1063. /package/{esm2022 → esm2020}/lib/shared/components/palette/utils/index.mjs +0 -0
  1064. /package/{esm2022 → esm2020}/lib/shared/components/palette/waystopay/index.mjs +0 -0
  1065. /package/{esm2022 → esm2020}/lib/shared/components/palette/yes-no/index.mjs +0 -0
  1066. /package/{esm2022 → esm2020}/lib/shared/components/search-filters/domain/index.mjs +0 -0
  1067. /package/{esm2022 → esm2020}/lib/shared/components/search-filters/index.mjs +0 -0
  1068. /package/{esm2022 → esm2020}/lib/shared/components/search-result/index.mjs +0 -0
  1069. /package/{esm2022 → esm2020}/lib/shared/components/workbasket-filters/index.mjs +0 -0
  1070. /package/{esm2022 → esm2020}/lib/shared/directives/conditional-show/domain/index.mjs +0 -0
  1071. /package/{esm2022 → esm2020}/lib/shared/directives/conditional-show/index.mjs +0 -0
  1072. /package/{esm2022 → esm2020}/lib/shared/directives/conditional-show/services/condition.peg.mjs +0 -0
  1073. /package/{esm2022 → esm2020}/lib/shared/directives/conditional-show/services/index.mjs +0 -0
  1074. /package/{esm2022 → esm2020}/lib/shared/directives/focus-element/index.mjs +0 -0
  1075. /package/{esm2022 → esm2020}/lib/shared/directives/index.mjs +0 -0
  1076. /package/{esm2022 → esm2020}/lib/shared/directives/substitutor/index.mjs +0 -0
  1077. /package/{esm2022 → esm2020}/lib/shared/directives/substitutor/services/index.mjs +0 -0
  1078. /package/{esm2022 → esm2020}/lib/shared/domain/activity/index.mjs +0 -0
  1079. /package/{esm2022 → esm2020}/lib/shared/domain/addresses/index.mjs +0 -0
  1080. /package/{esm2022 → esm2020}/lib/shared/domain/alert/alert-level.model.mjs +0 -0
  1081. /package/{esm2022 → esm2020}/lib/shared/domain/alert/alert-status-params.model.mjs +0 -0
  1082. /package/{esm2022 → esm2020}/lib/shared/domain/alert/index.mjs +0 -0
  1083. /package/{esm2022 → esm2020}/lib/shared/domain/case-edit/case-edit.model.mjs +0 -0
  1084. /package/{esm2022 → esm2020}/lib/shared/domain/case-edit/index.mjs +0 -0
  1085. /package/{esm2022 → esm2020}/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +0 -0
  1086. /package/{esm2022 → esm2020}/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.mjs +0 -0
  1087. /package/{esm2022 → esm2020}/lib/shared/domain/case-file-view/index.mjs +0 -0
  1088. /package/{esm2022 → esm2020}/lib/shared/domain/case-flag/index.mjs +0 -0
  1089. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/access-types.model.mjs +0 -0
  1090. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/case-view-event-ids.enum.mjs +0 -0
  1091. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/challenged-access-request.model.mjs +0 -0
  1092. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/index.mjs +0 -0
  1093. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/review-specific-access-request.model.mjs +0 -0
  1094. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/role-assignment-response.model.mjs +0 -0
  1095. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/role-request.model.mjs +0 -0
  1096. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/service-org-response.model.mjs +0 -0
  1097. /package/{esm2022 → esm2020}/lib/shared/domain/case-view/specific-access-request.model.mjs +0 -0
  1098. /package/{esm2022 → esm2020}/lib/shared/domain/definition/display-context-enum.model.mjs +0 -0
  1099. /package/{esm2022 → esm2020}/lib/shared/domain/definition/field-type-enum.model.mjs +0 -0
  1100. /package/{esm2022 → esm2020}/lib/shared/domain/definition/index.mjs +0 -0
  1101. /package/{esm2022 → esm2020}/lib/shared/domain/document/index.mjs +0 -0
  1102. /package/{esm2022 → esm2020}/lib/shared/domain/error-message.model.mjs +0 -0
  1103. /package/{esm2022 → esm2020}/lib/shared/domain/http/index.mjs +0 -0
  1104. /package/{esm2022 → esm2020}/lib/shared/domain/index.mjs +0 -0
  1105. /package/{esm2022 → esm2020}/lib/shared/domain/jurisdiction/index.mjs +0 -0
  1106. /package/{esm2022 → esm2020}/lib/shared/domain/jurisdiction/judicial-user.model.mjs +0 -0
  1107. /package/{esm2022 → esm2020}/lib/shared/domain/order/index.mjs +0 -0
  1108. /package/{esm2022 → esm2020}/lib/shared/domain/order/orderable.model.mjs +0 -0
  1109. /package/{esm2022 → esm2020}/lib/shared/domain/organisation/index.mjs +0 -0
  1110. /package/{esm2022 → esm2020}/lib/shared/domain/organisation/simple-organisation.model.mjs +0 -0
  1111. /package/{esm2022 → esm2020}/lib/shared/domain/predicate.model.mjs +0 -0
  1112. /package/{esm2022 → esm2020}/lib/shared/domain/profile/index.mjs +0 -0
  1113. /package/{esm2022 → esm2020}/lib/shared/domain/search/index.mjs +0 -0
  1114. /package/{esm2022 → esm2020}/lib/shared/domain/search/sorting/search-result-view-item-comparator.mjs +0 -0
  1115. /package/{esm2022 → esm2020}/lib/shared/domain/sort-order.enum.mjs +0 -0
  1116. /package/{esm2022 → esm2020}/lib/shared/domain/user/user-details.model.mjs +0 -0
  1117. /package/{esm2022 → esm2020}/lib/shared/domain/user/user-info.model.mjs +0 -0
  1118. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/Task.mjs +0 -0
  1119. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/TaskPayload.mjs +0 -0
  1120. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/case-worker.model.mjs +0 -0
  1121. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/index.mjs +0 -0
  1122. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/judicial-worker.model.mjs +0 -0
  1123. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/task-response.model.mjs +0 -0
  1124. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/task-search-parameter.model.mjs +0 -0
  1125. /package/{esm2022 → esm2020}/lib/shared/domain/work-allocation/wa-service-config.model.mjs +0 -0
  1126. /package/{esm2022 → esm2020}/lib/shared/domain/workbasket/index.mjs +0 -0
  1127. /package/{esm2022 → esm2020}/lib/shared/fixture/shared.test.fixture.mjs +0 -0
  1128. /package/{esm2022 → esm2020}/lib/shared/index.mjs +0 -0
  1129. /package/{esm2022 → esm2020}/lib/shared/pipes/case-reference/index.mjs +0 -0
  1130. /package/{esm2022 → esm2020}/lib/shared/pipes/case-title/index.mjs +0 -0
  1131. /package/{esm2022 → esm2020}/lib/shared/pipes/complex/index.mjs +0 -0
  1132. /package/{esm2022 → esm2020}/lib/shared/pipes/generic/index.mjs +0 -0
  1133. /package/{esm2022 → esm2020}/lib/shared/pipes/index.mjs +0 -0
  1134. /package/{esm2022 → esm2020}/lib/shared/pipes/link-cases-from-reason-code/index.mjs +0 -0
  1135. /package/{esm2022 → esm2020}/lib/shared/pipes/link-cases-reason-code/index.mjs +0 -0
  1136. /package/{esm2022 → esm2020}/lib/shared/services/activity/index.mjs +0 -0
  1137. /package/{esm2022 → esm2020}/lib/shared/services/addresses/address-type.enum.mjs +0 -0
  1138. /package/{esm2022 → esm2020}/lib/shared/services/addresses/index.mjs +0 -0
  1139. /package/{esm2022 → esm2020}/lib/shared/services/alert/index.mjs +0 -0
  1140. /package/{esm2022 → esm2020}/lib/shared/services/auth/index.mjs +0 -0
  1141. /package/{esm2022 → esm2020}/lib/shared/services/banners/index.mjs +0 -0
  1142. /package/{esm2022 → esm2020}/lib/shared/services/browser/index.mjs +0 -0
  1143. /package/{esm2022 → esm2020}/lib/shared/services/case-fields/index.mjs +0 -0
  1144. /package/{esm2022 → esm2020}/lib/shared/services/case-file-view/index.mjs +0 -0
  1145. /package/{esm2022 → esm2020}/lib/shared/services/case-flag/index.mjs +0 -0
  1146. /package/{esm2022 → esm2020}/lib/shared/services/case-flag/refdata-case-flag-type.enum.mjs +0 -0
  1147. /package/{esm2022 → esm2020}/lib/shared/services/definitions/index.mjs +0 -0
  1148. /package/{esm2022 → esm2020}/lib/shared/services/document-management/index.mjs +0 -0
  1149. /package/{esm2022 → esm2020}/lib/shared/services/draft/index.mjs +0 -0
  1150. /package/{esm2022 → esm2020}/lib/shared/services/error/index.mjs +0 -0
  1151. /package/{esm2022 → esm2020}/lib/shared/services/eventStatusService/index.mjs +0 -0
  1152. /package/{esm2022 → esm2020}/lib/shared/services/fields/index.mjs +0 -0
  1153. /package/{esm2022 → esm2020}/lib/shared/services/form/index.mjs +0 -0
  1154. /package/{esm2022 → esm2020}/lib/shared/services/http/index.mjs +0 -0
  1155. /package/{esm2022 → esm2020}/lib/shared/services/index.mjs +0 -0
  1156. /package/{esm2022 → esm2020}/lib/shared/services/jurisdiction/index.mjs +0 -0
  1157. /package/{esm2022 → esm2020}/lib/shared/services/loading/index.mjs +0 -0
  1158. /package/{esm2022 → esm2020}/lib/shared/services/navigation/index.mjs +0 -0
  1159. /package/{esm2022 → esm2020}/lib/shared/services/navigation/navigation-origin.model.mjs +0 -0
  1160. /package/{esm2022 → esm2020}/lib/shared/services/order/index.mjs +0 -0
  1161. /package/{esm2022 → esm2020}/lib/shared/services/organisation/index.mjs +0 -0
  1162. /package/{esm2022 → esm2020}/lib/shared/services/profile/index.mjs +0 -0
  1163. /package/{esm2022 → esm2020}/lib/shared/services/request/index.mjs +0 -0
  1164. /package/{esm2022 → esm2020}/lib/shared/services/router/index.mjs +0 -0
  1165. /package/{esm2022 → esm2020}/lib/shared/services/search/index.mjs +0 -0
  1166. /package/{esm2022 → esm2020}/lib/shared/services/session/index.mjs +0 -0
  1167. /package/{esm2022 → esm2020}/lib/shared/services/utils/retry/index.mjs +0 -0
  1168. /package/{esm2022 → esm2020}/lib/shared/services/window/index.mjs +0 -0
  1169. /package/{esm2022 → esm2020}/lib/shared/services/workbasket/index.mjs +0 -0
  1170. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
@@ -0,0 +1,463 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
3
+ import { ActivatedRoute, Router } from '@angular/router';
4
+ import { Subject, of } from 'rxjs';
5
+ import { finalize, switchMap } from 'rxjs/operators';
6
+ import { ConditionalShowRegistrarService, GreyBarService } from '../../../directives';
7
+ import { CaseEventTrigger, CaseView } from '../../../domain';
8
+ import { AlertService, FieldsPurger, FieldsUtils, FormErrorService, FormValueService, LoadingService, SessionStorageService, WindowService } from '../../../services';
9
+ import { Confirmation } from '../domain';
10
+ import { CaseNotifier, WizardFactoryService, WorkAllocationService } from '../services';
11
+ import { ValidPageListCaseFieldsService } from '../services/valid-page-list-caseFields.service';
12
+ import { Constants } from '../../../commons/constants';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/forms";
15
+ import * as i2 from "../services";
16
+ import * as i3 from "@angular/router";
17
+ import * as i4 from "../../../services";
18
+ import * as i5 from "../../../directives";
19
+ import * as i6 from "../services/valid-page-list-caseFields.service";
20
+ export class CaseEditComponent {
21
+ constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService) {
22
+ this.fb = fb;
23
+ this.caseNotifier = caseNotifier;
24
+ this.router = router;
25
+ this.route = route;
26
+ this.fieldsUtils = fieldsUtils;
27
+ this.fieldsPurger = fieldsPurger;
28
+ this.registrarService = registrarService;
29
+ this.wizardFactory = wizardFactory;
30
+ this.sessionStorageService = sessionStorageService;
31
+ this.windowsService = windowsService;
32
+ this.formValueService = formValueService;
33
+ this.formErrorService = formErrorService;
34
+ this.loadingService = loadingService;
35
+ this.validPageListCaseFieldsService = validPageListCaseFieldsService;
36
+ this.workAllocationService = workAllocationService;
37
+ this.alertService = alertService;
38
+ this.cancelled = new EventEmitter();
39
+ this.submitted = new EventEmitter();
40
+ this.isEventCompletionChecksRequired = false;
41
+ this.isCaseFlagSubmission = false;
42
+ this.ignoreWarning = false;
43
+ this.isLinkedCasesSubmission = false;
44
+ this.callbackErrorsSubject = new Subject();
45
+ this.validPageList = [];
46
+ }
47
+ ngOnInit() {
48
+ this.wizard = this.wizardFactory.create(this.eventTrigger);
49
+ this.initialUrl = this.sessionStorageService.getItem('eventUrl');
50
+ this.isPageRefreshed = JSON.parse(this.sessionStorageService.getItem('isPageRefreshed'));
51
+ this.checkPageRefresh();
52
+ /* istanbul ignore else */
53
+ if (this.router.url && !this.isPageRefreshed) {
54
+ this.sessionStorageService.setItem('eventUrl', this.router.url);
55
+ }
56
+ this.form = this.fb.group({
57
+ data: new FormGroup({}),
58
+ event: this.fb.group({
59
+ id: [this.eventTrigger.id, Validators.required],
60
+ summary: [''],
61
+ description: ['']
62
+ })
63
+ });
64
+ this.route.queryParams.subscribe((params) => {
65
+ this.navigationOrigin = params[CaseEditComponent.ORIGIN_QUERY_PARAM];
66
+ });
67
+ }
68
+ ngOnDestroy() {
69
+ /* istanbul ignore else */
70
+ if (this.callbackErrorsSubject) {
71
+ this.callbackErrorsSubject.unsubscribe();
72
+ }
73
+ }
74
+ checkPageRefresh() {
75
+ if (this.isPageRefreshed && this.initialUrl) {
76
+ this.sessionStorageService.removeItem('eventUrl');
77
+ this.windowsService.alert(CaseEditComponent.ALERT_MESSAGE);
78
+ this.router.navigate([this.initialUrl], { relativeTo: this.route });
79
+ return true;
80
+ }
81
+ return false;
82
+ }
83
+ getPage(pageId) {
84
+ return this.wizard.getPage(pageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
85
+ }
86
+ first() {
87
+ const firstPage = this.wizard.firstPage(this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
88
+ return this.router.navigate([firstPage ? firstPage.id : 'submit'], { relativeTo: this.route });
89
+ }
90
+ navigateToPage(pageId) {
91
+ const page = this.getPage(pageId);
92
+ return this.router.navigate([page ? page.id : 'submit'], { relativeTo: this.route });
93
+ }
94
+ next(currentPageId) {
95
+ this.initialUrl = this.sessionStorageService.getItem('eventUrl');
96
+ /* istanbul ignore else */
97
+ if (this.router.url && !this.initialUrl) {
98
+ this.sessionStorageService.setItem('eventUrl', this.router.url);
99
+ }
100
+ this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
101
+ const nextPage = this.getNextPage({
102
+ currentPageId,
103
+ wizard: this.wizard,
104
+ eventTrigger: this.eventTrigger,
105
+ form: this.form,
106
+ });
107
+ /* istanbul ignore else */
108
+ if (!nextPage &&
109
+ !(this.eventTrigger.show_summary || this.eventTrigger.show_summary === null) &&
110
+ !this.eventTrigger.show_event_notes) {
111
+ this.submitForm({
112
+ eventTrigger: this.eventTrigger,
113
+ form: this.form,
114
+ submit: this.submit,
115
+ caseDetails: this.caseDetails,
116
+ });
117
+ return;
118
+ }
119
+ this.registrarService.reset();
120
+ const theQueryParams = {};
121
+ theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
122
+ return this.router.navigate([nextPage ? nextPage.id : 'submit'], { queryParams: theQueryParams, relativeTo: this.route });
123
+ }
124
+ previous(currentPageId) {
125
+ this.fieldsPurger.clearHiddenFields(this.form, this.wizard, this.eventTrigger, currentPageId);
126
+ this.registrarService.reset();
127
+ const previousPage = this.wizard.previousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
128
+ /* istanbul ignore else */
129
+ if (!previousPage) {
130
+ return Promise.resolve(false);
131
+ }
132
+ const theQueryParams = {};
133
+ theQueryParams[CaseEditComponent.ORIGIN_QUERY_PARAM] = this.navigationOrigin;
134
+ return this.router.navigate([previousPage.id], { queryParams: theQueryParams, relativeTo: this.route });
135
+ }
136
+ hasPrevious(currentPageId) {
137
+ return this.wizard.hasPreviousPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(this.eventTrigger, this.form));
138
+ }
139
+ cancel() {
140
+ this.cancelled.emit();
141
+ }
142
+ emitSubmitted(response) {
143
+ this.submitted.emit({ caseId: response['id'], status: this.getStatus(response) });
144
+ }
145
+ getNextPage({ wizard, currentPageId, eventTrigger, form }) {
146
+ return wizard.nextPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(eventTrigger, form));
147
+ }
148
+ confirm(confirmation) {
149
+ this.confirmation = confirmation;
150
+ return this.router.navigate(['confirm'], { relativeTo: this.route });
151
+ }
152
+ submitForm({ eventTrigger, form, caseDetails, submit }) {
153
+ this.isSubmitting = true;
154
+ // We have to run the event completion checks if task in session storage
155
+ // and if the task is in session storage, then is it associated to the case
156
+ let taskInSessionStorage;
157
+ let taskEventInSessionStorage;
158
+ const taskStr = this.sessionStorageService.getItem('taskToComplete');
159
+ const taskEventStr = this.sessionStorageService.getItem('taskEvent');
160
+ if (taskStr) {
161
+ taskInSessionStorage = JSON.parse(taskStr);
162
+ }
163
+ if (taskEventStr) {
164
+ taskEventInSessionStorage = JSON.parse(taskEventStr);
165
+ }
166
+ const eventId = this.getEventId(form);
167
+ const caseId = this.getCaseId(caseDetails);
168
+ if (this.taskExistsForThisEventAndCase(taskInSessionStorage, taskEventInSessionStorage, eventId, caseId)) {
169
+ // Show event completion component to perform event completion checks
170
+ this.eventCompletionParams = ({
171
+ caseId: this.getCaseId(caseDetails),
172
+ eventId,
173
+ task: taskInSessionStorage
174
+ });
175
+ const taskEvent = { eventId, taskId: taskInSessionStorage.id };
176
+ this.sessionStorageService.setItem('taskEvent', JSON.stringify(taskEvent));
177
+ this.isEventCompletionChecksRequired = true;
178
+ }
179
+ else {
180
+ // Task not in session storage, proceed to submit
181
+ const caseEventData = this.generateCaseEventData({
182
+ eventTrigger,
183
+ form
184
+ });
185
+ this.caseSubmit({ form,
186
+ caseEventData,
187
+ submit
188
+ });
189
+ }
190
+ }
191
+ getCaseId(caseDetails) {
192
+ return (caseDetails ? caseDetails.case_id : '');
193
+ }
194
+ getEventId(form) {
195
+ return form.value.event.id;
196
+ }
197
+ generateCaseEventData({ eventTrigger, form }) {
198
+ const caseEventData = {
199
+ data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields))),
200
+ event: form.value.event
201
+ };
202
+ this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
203
+ this.formValueService.removeNullLabels(caseEventData.data, eventTrigger.case_fields);
204
+ this.formValueService.removeEmptyDocuments(caseEventData.data, eventTrigger.case_fields);
205
+ // Remove collection fields that have "min" validation of greater than zero set on the FieldType but are empty;
206
+ // these will fail validation
207
+ this.formValueService.removeEmptyCollectionsWithMinValidation(caseEventData.data, eventTrigger.case_fields);
208
+ // For Case Flag submissions (where a FlagLauncher field is present in the event trigger), the flag details data
209
+ // needs populating for each Flags field, then the FlagLauncher field needs removing
210
+ this.formValueService.repopulateFormDataFromCaseFieldValues(caseEventData.data, eventTrigger.case_fields);
211
+ // Data population step required for Linked Cases
212
+ this.formValueService.populateLinkedCasesDetailsFromCaseFields(caseEventData.data, eventTrigger.case_fields);
213
+ // Remove "Launcher"-type fields (these have no values and are not intended to be persisted)
214
+ this.formValueService.removeCaseFieldsOfType(caseEventData.data, eventTrigger.case_fields, ['FlagLauncher', 'ComponentLauncher']);
215
+ // delete fields which are not part of the case event journey wizard pages case fields
216
+ this.validPageListCaseFieldsService.deleteNonValidatedFields(this.validPageList, caseEventData.data, eventTrigger.case_fields, false, form.controls['data'].value);
217
+ const pageListCaseFields = this.validPageListCaseFieldsService.validPageListCaseFields(this.validPageList, eventTrigger.case_fields, form.controls['data'].value);
218
+ // Remove unnecessary case fields which are hidden, only if the submission is *not* for Case Flags
219
+ if (!this.isCaseFlagSubmission) {
220
+ this.formValueService.removeUnnecessaryFields(caseEventData.data, pageListCaseFields, true, true);
221
+ }
222
+ caseEventData.event_token = eventTrigger.event_token;
223
+ caseEventData.ignore_warning = this.ignoreWarning;
224
+ if (this.confirmation) {
225
+ caseEventData.data = {};
226
+ }
227
+ return caseEventData;
228
+ }
229
+ /**
230
+ * Replaces non-array value objects with `null` for any Complex-type fields whose value is effectively empty, i.e.
231
+ * all its sub-fields and descendants are `null` or `undefined`.
232
+ *
233
+ * @param data The object tree representing all the form field data
234
+ * @returns The form field data modified accordingly
235
+ */
236
+ replaceEmptyComplexFieldValues(data) {
237
+ Object.keys(data).forEach((key) => {
238
+ if (!Array.isArray(data[key]) && typeof data[key] === 'object' && !FieldsUtils.containsNonEmptyValues(data[key])) {
239
+ data[key] = null;
240
+ }
241
+ });
242
+ return data;
243
+ }
244
+ /**
245
+ * Traverse *all* values of a {@link FormGroup}, including those for disabled fields (i.e. hidden ones), replacing the
246
+ * value of any that are hidden AND have `retain_hidden_value` set to `true` in the corresponding `CaseField`, with
247
+ * the *original* value held in the `CaseField` object.
248
+ *
249
+ * This is as per design in EUI-3622, where any user-driven updates to hidden fields with `retain_hidden_value` =
250
+ * `true` are ignored (thus retaining the value displayed originally).
251
+ *
252
+ * * For Complex field types, the replacement above is performed recursively for all hidden sub-fields with
253
+ * `retain_hidden_value` = `true`.
254
+ *
255
+ * * For Collection field types, including collections of Complex and Document field types, the replacement is
256
+ * performed for all fields in the collection.
257
+ *
258
+ * @param formGroup The `FormGroup` instance whose raw values are to be traversed
259
+ * @param caseFields The array of {@link CaseField} domain model objects corresponding to fields in `formGroup`
260
+ * @param parentField Reference to the parent `CaseField`. Used for retrieving the sub-field values of a Complex field
261
+ * to perform recursive replacement - the sub-field `CaseField`s themselves do *not* contain any values
262
+ * @returns An object with the *raw* form value data (as key-value pairs), with any value replacements as necessary
263
+ */
264
+ replaceHiddenFormValuesWithOriginalCaseData(formGroup, caseFields, parentField) {
265
+ // Get the raw form value data, which includes the values of any disabled controls, as key-value pairs
266
+ const rawFormValueData = formGroup.getRawValue();
267
+ // Place all case fields in a lookup object, so they can be retrieved by id
268
+ const caseFieldsLookup = {};
269
+ for (let i = 0, len = caseFields.length; i < len; i++) {
270
+ caseFieldsLookup[caseFields[i].id] = caseFields[i];
271
+ }
272
+ /**
273
+ * Replace any form value with the original, where its CaseField is hidden AND has the retain_hidden_value flag set
274
+ * to true.
275
+ *
276
+ * If the CaseField's `hidden` attribute is null or undefined, then check this attribute in the parent CaseField (if
277
+ * one exists). This is occurring (and is possibly a bug) when a CaseField is a sub-field of a Complex type, or an
278
+ * item in a Collection type.
279
+ *
280
+ * If the field is a Complex type with retain_hidden_value = true, perform a recursive replacement for all (hidden)
281
+ * sub-fields with retain_hidden_value = true, using their original CaseField values (from the `formatted_value`
282
+ * attribute).
283
+ *
284
+ * If the field is a Collection type with retain_hidden_value = true, the entire collection is replaced with the
285
+ * original from `formatted_value`. This applies to *all* types of Collections.
286
+ */
287
+ /* istanbul ignore next */
288
+ Object.keys(rawFormValueData).forEach((key) => {
289
+ const caseField = caseFieldsLookup[key];
290
+ // If caseField.hidden is NOT truthy and also NOT equal to false, then it must be null/undefined (remember that
291
+ // both null and undefined are equal to *neither false nor true*)
292
+ if (caseField && caseField.retain_hidden_value &&
293
+ (caseField.hidden || (caseField.hidden !== false && parentField && parentField.hidden))) {
294
+ if (caseField.field_type.type === 'Complex') {
295
+ // Note: Deliberate use of equality (==) and non-equality (!=) operators for null checks throughout, to
296
+ // handle both null and undefined values
297
+ if (caseField.value != null) {
298
+ // Call this function recursively to replace the Complex field's sub-fields as necessary, passing the
299
+ // CaseField itself (the sub-fields do not contain any values, so these need to be obtained from the
300
+ // parent)
301
+ // Update rawFormValueData for this field
302
+ // creating form group and adding control into it in case caseField is of complext type and and part of formGroup
303
+ const form = new FormGroup({});
304
+ if (formGroup.controls[key].value) {
305
+ Object.keys(formGroup.controls[key].value).forEach((item) => {
306
+ form.addControl(item, new FormControl(formGroup.controls[key].value[item]));
307
+ });
308
+ }
309
+ rawFormValueData[key] = this.replaceHiddenFormValuesWithOriginalCaseData(form, caseField.field_type.complex_fields, caseField);
310
+ }
311
+ }
312
+ else {
313
+ // Default case also handles collections of *all* types; the entire collection in rawFormValueData will be
314
+ // replaced with the original from formatted_value
315
+ // Use the CaseField's existing *formatted_value* from the parent, if available. (This is necessary for
316
+ // Complex fields, whose sub-fields do not hold any values in the model.) Otherwise, use formatted_value
317
+ // from the CaseField itself.
318
+ if (parentField && parentField.formatted_value) {
319
+ rawFormValueData[key] = parentField.formatted_value[caseField.id];
320
+ }
321
+ else {
322
+ if (!(caseField.hidden && caseField.retain_hidden_value)) {
323
+ rawFormValueData[key] = caseField.formatted_value;
324
+ }
325
+ }
326
+ }
327
+ }
328
+ });
329
+ return rawFormValueData;
330
+ }
331
+ caseSubmit({ form, caseEventData, submit }) {
332
+ const loadingSpinnerToken = this.loadingService.register();
333
+ // keep the initial event response to finalise process after task completion
334
+ let eventResponse;
335
+ this.sessionStorageService.setItem('taskCompletionError', 'false');
336
+ submit(caseEventData).pipe(switchMap((response) => {
337
+ eventResponse = response;
338
+ return this.postCompleteTaskIfRequired();
339
+ }), finalize(() => {
340
+ this.loadingService.unregister(loadingSpinnerToken);
341
+ // on event completion ensure the previous event taskToComplete/taskEvent removed
342
+ this.sessionStorageService.removeItem('taskToComplete');
343
+ this.sessionStorageService.removeItem('taskEvent');
344
+ }))
345
+ .subscribe(() => {
346
+ this.finishEventCompletionLogic(eventResponse);
347
+ }, error => {
348
+ if (!eventResponse) {
349
+ // event submission error
350
+ this.error = error;
351
+ this.callbackErrorsSubject.next(error);
352
+ /* istanbul ignore else */
353
+ if (this.error.details) {
354
+ this.formErrorService
355
+ .mapFieldErrors(this.error.details.field_errors, form.controls['data'], 'validation');
356
+ }
357
+ this.isSubmitting = false;
358
+ }
359
+ else {
360
+ this.sessionStorageService.setItem('taskCompletionError', 'true');
361
+ // task assignment/completion error - handled within workallocation service
362
+ // could set task to be deleted (or completed later)?
363
+ this.finishEventCompletionLogic(eventResponse);
364
+ // below allows error to be shown on navigation to confirmation page
365
+ this.alertService.setPreserveAlerts(true);
366
+ this.alertService.error({ phrase: Constants.TASK_COMPLETION_ERROR });
367
+ }
368
+ });
369
+ }
370
+ postCompleteTaskIfRequired() {
371
+ const taskStr = this.sessionStorageService.getItem('taskToComplete');
372
+ const assignNeeded = this.sessionStorageService.getItem('assignNeeded') === 'true';
373
+ if (taskStr && assignNeeded) {
374
+ const task = JSON.parse(taskStr);
375
+ return this.workAllocationService.assignAndCompleteTask(task.id);
376
+ }
377
+ else if (taskStr) {
378
+ const task = JSON.parse(taskStr);
379
+ return this.workAllocationService.completeTask(task.id);
380
+ }
381
+ return of(true);
382
+ }
383
+ finishEventCompletionLogic(eventResponse) {
384
+ this.caseNotifier.cachedCaseView = null;
385
+ this.sessionStorageService.removeItem('eventUrl');
386
+ const confirmation = this.buildConfirmation(eventResponse);
387
+ if (confirmation && (confirmation.getHeader() || confirmation.getBody())) {
388
+ this.confirm(confirmation);
389
+ }
390
+ else {
391
+ this.emitSubmitted(eventResponse);
392
+ }
393
+ }
394
+ buildConfirmation(response) {
395
+ if (response['after_submit_callback_response']) {
396
+ return new Confirmation(response['id'], response['callback_response_status'], response['after_submit_callback_response']['confirmation_header'], response['after_submit_callback_response']['confirmation_body']);
397
+ }
398
+ else {
399
+ return null;
400
+ }
401
+ }
402
+ // checks whether current taskToComplete relevant for the event
403
+ taskExistsForThisEventAndCase(taskInSessionStorage, taskEvent, eventId, caseId) {
404
+ if (!taskInSessionStorage || taskInSessionStorage.case_id !== caseId) {
405
+ return false;
406
+ }
407
+ if (!taskEvent) {
408
+ // if no task event present then there is no task to complete from previous event present
409
+ return true;
410
+ }
411
+ else {
412
+ if (taskEvent.taskId === taskInSessionStorage.id && taskEvent.eventId !== eventId) {
413
+ // if the session storage not related to event, ignore it and remove
414
+ this.sessionStorageService.removeItem('taskToComplete');
415
+ this.sessionStorageService.removeItem('taskEvent');
416
+ return false;
417
+ }
418
+ return true;
419
+ }
420
+ }
421
+ onEventCanBeCompleted({ eventTrigger, eventCanBeCompleted, caseDetails, form, submit }) {
422
+ if (eventCanBeCompleted) {
423
+ // Submit
424
+ const caseEventData = this.generateCaseEventData({ eventTrigger, form });
425
+ this.caseSubmit({ form, caseEventData, submit });
426
+ }
427
+ else {
428
+ // Navigate to tasks tab on case details page
429
+ this.router.navigate([`/cases/case-details/${this.getCaseId(caseDetails)}/tasks`], { relativeTo: this.route });
430
+ }
431
+ }
432
+ getStatus(response) {
433
+ return this.hasCallbackFailed(response) ? response['callback_response_status'] : response['delete_draft_response_status'];
434
+ }
435
+ hasCallbackFailed(response) {
436
+ return response['callback_response_status'] !== 'CALLBACK_COMPLETED';
437
+ }
438
+ }
439
+ CaseEditComponent.ORIGIN_QUERY_PARAM = 'origin';
440
+ CaseEditComponent.ALERT_MESSAGE = 'Page is being refreshed so you will be redirected to the first page of this event.';
441
+ CaseEditComponent.ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CaseNotifier), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(i4.FieldsUtils), i0.ɵɵdirectiveInject(i4.FieldsPurger), i0.ɵɵdirectiveInject(i5.ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(i2.WizardFactoryService), i0.ɵɵdirectiveInject(i4.SessionStorageService), i0.ɵɵdirectiveInject(i4.WindowService), i0.ɵɵdirectiveInject(i4.FormValueService), i0.ɵɵdirectiveInject(i4.FormErrorService), i0.ɵɵdirectiveInject(i4.LoadingService), i0.ɵɵdirectiveInject(i6.ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(i2.WorkAllocationService), i0.ɵɵdirectiveInject(i4.AlertService)); };
442
+ CaseEditComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) { if (rf & 1) {
443
+ i0.ɵɵelement(0, "router-outlet");
444
+ } }, dependencies: [i3.RouterOutlet], styles: ["#fieldset-case-data[_ngcontent-%COMP%]{margin-bottom:30px}#fieldset-case-data[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{width:1%;white-space:nowrap;vertical-align:top}.compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:0}#confirmation-header[_ngcontent-%COMP%]{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body[_ngcontent-%COMP%]{width:630px;background-color:#fff}.valign-top[_ngcontent-%COMP%]{vertical-align:top}.summary-fields[_ngcontent-%COMP%]{margin-bottom:30px}.summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .summary-fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}.case-field-label[_ngcontent-%COMP%]{width:45%}.case-field-content[_ngcontent-%COMP%]{width:50%}.no-bottom-border[_ngcontent-%COMP%]{border-bottom:none}.case-field-change[_ngcontent-%COMP%]{width:5%}"] });
445
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditComponent, [{
446
+ type: Component,
447
+ args: [{ selector: 'ccd-case-edit', providers: [GreyBarService], template: "<router-outlet></router-outlet>\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
448
+ }], function () { return [{ type: i1.FormBuilder }, { type: i2.CaseNotifier }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.FieldsUtils }, { type: i4.FieldsPurger }, { type: i5.ConditionalShowRegistrarService }, { type: i2.WizardFactoryService }, { type: i4.SessionStorageService }, { type: i4.WindowService }, { type: i4.FormValueService }, { type: i4.FormErrorService }, { type: i4.LoadingService }, { type: i6.ValidPageListCaseFieldsService }, { type: i2.WorkAllocationService }, { type: i4.AlertService }]; }, { eventTrigger: [{
449
+ type: Input
450
+ }], submit: [{
451
+ type: Input
452
+ }], validate: [{
453
+ type: Input
454
+ }], saveDraft: [{
455
+ type: Input
456
+ }], caseDetails: [{
457
+ type: Input
458
+ }], cancelled: [{
459
+ type: Output
460
+ }], submitted: [{
461
+ type: Output
462
+ }] }); })();
463
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLWVkaXRvci9jYXNlLWVkaXQvY2FzZS1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RGLE9BQU8sRUFJVSxnQkFBZ0IsRUFDL0IsUUFBUSxFQUNULE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFDN0UscUJBQXFCLEVBQUUsYUFBYSxFQUNyQyxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFBRSxZ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QUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsUUFBZ0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRU8saUJBQWlCLENBQUMsUUFBZ0I7UUFDeEMsT0FBTyxRQUFRLENBQUMsMEJBQTBCLENBQUMsS0FBSyxvQkFBb0IsQ0FBQztJQUN2RSxDQUFDOztBQWhnQnNCLG9DQUFrQixHQUFHLFFBQVEsQ0FBQztBQUM5QiwrQkFBYSxHQUFHLG9GQUFvRixDQUFDO2tGQUZqSCxpQkFBaUI7b0VBQWpCLGlCQUFpQixzUUFGakIsQ0FBQyxjQUFjLENBQUM7UUM5QjdCLGdDQUErQjs7dUZEZ0NsQixpQkFBaUI7Y0FON0IsU0FBUzsyQkFDRSxlQUFlLGFBR2QsQ0FBQyxjQUFjLENBQUM7d2hCQU9wQixZQUFZO2tCQURsQixLQUFLO1lBSUMsTUFBTTtrQkFEWixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMsV0FBVztrQkFEakIsS0FBSztZQUlDLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25kaXRpb25hbFNob3dSZWdpc3RyYXJTZXJ2aWNlLCBHcmV5QmFyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgQ2FzZUVkaXRDYXNlU3VibWl0LCBDYXNlRWRpdEdlbmVyYXRlQ2FzZUV2ZW50RGF0YSwgQ2FzZUVkaXRHZXROZXh0UGFnZSxcbiAgQ2FzZUVkaXRTdWJtaXRGb3JtLFxuICBDYXNlRWRpdG9uRXZlbnRDYW5CZUNvbXBsZXRlZCxcbiAgQ2FzZUV2ZW50RGF0YSwgQ2FzZUV2ZW50VHJpZ2dlciwgQ2FzZUZpZWxkLFxuICBDYXNlVmlldywgRHJhZnQsIEh0dHBFcnJvciwgUHJvZmlsZVxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5pbXBvcnQge1xuICBBbGVydFNlcnZpY2UsXG4gIEZpZWxkc1B1cmdlciwgRmllbGRzVXRpbHMsIEZvcm1FcnJvclNlcnZpY2UsIEZvcm1WYWx1ZVNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLFxuICBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsIFdpbmRvd1NlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU2hvd0NvbmRpdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvY29uZGl0aW9uYWwtc2hvdy9kb21haW4vY29uZGl0aW9uYWwtc2hvdy5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24sIFdpemFyZCwgV2l6YXJkUGFnZSB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBFdmVudENvbXBsZXRpb25QYXJhbXMgfSBmcm9tICcuLi9kb21haW4vZXZlbnQtY29tcGxldGlvbi1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyLCBXaXphcmRGYWN0b3J5U2VydmljZSwgV29ya0FsbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgVmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWQtcGFnZS1saXN0LWNhc2VGaWVsZHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWVkaXQnLFxuICB0ZW1wbGF0ZVVybDogJ2Nhc2UtZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi9jYXNlLWVkaXQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtHcmV5QmFyU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgT1JJR0lOX1FVRVJZX1BBUkFNID0gJ29yaWdpbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUxFUlRfTUVTU0FHRSA9ICdQYWdlIGlzIGJlaW5nIHJlZnJlc2hlZCBzbyB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBmaXJzdCBwYWdlIG9mIHRoaXMgZXZlbnQuJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXZlbnRUcmlnZ2VyOiBDYXNlRXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdWJtaXQ6IChjYXNlRXZlbnREYXRhOiBDYXNlRXZlbnREYXRhLCBwcm9maWxlPzogUHJvZmlsZSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0ZTogKGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEsIHBhZ2VJZDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPG9iamVjdD47XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNhdmVEcmFmdDogKGNhc2VFdmVudERhdGE6IENhc2VFdmVudERhdGEpID0+IE9ic2VydmFibGU8RHJhZnQ+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYW5jZWxsZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc3VibWl0dGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgd2l6YXJkOiBXaXphcmQ7XG5cbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb247XG5cbiAgcHVibGljIG5hdmlnYXRpb25PcmlnaW46IGFueTtcblxuICBwdWJsaWMgaW5pdGlhbFVybDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc1BhZ2VSZWZyZXNoZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGlzU3VibWl0dGluZzogYm9vbGVhbjtcblxuICBwdWJsaWMgZXZlbnRDb21wbGV0aW9uUGFyYW1zOiBFdmVudENvbXBsZXRpb25QYXJhbXM7XG5cbiAgcHVibGljIHN1Ym1pdFJlc3BvbnNlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIHB1YmxpYyBpc0V2ZW50Q29tcGxldGlvbkNoZWNrc1JlcXVpcmVkID0gZmFsc2U7XG5cbiAgcHVibGljIGlzQ2FzZUZsYWdTdWJtaXNzaW9uID0gZmFsc2U7XG5cbiAgcHVibGljIGlnbm9yZVdhcm5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgaXNMaW5rZWRDYXNlc1N1Ym1pc3Npb24gPSBmYWxzZTtcblxuICBwdWJsaWMgZXJyb3I6IEh0dHBFcnJvcjtcblxuICBwdWJsaWMgY2FsbGJhY2tFcnJvcnNTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyB2YWxpZFBhZ2VMaXN0OiBXaXphcmRQYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWVsZHNVdGlsczogRmllbGRzVXRpbHMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWVsZHNQdXJnZXI6IEZpZWxkc1B1cmdlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lzdHJhclNlcnZpY2U6IENvbmRpdGlvbmFsU2hvd1JlZ2lzdHJhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aXphcmRGYWN0b3J5OiBXaXphcmRGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93c1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVmFsdWVTZXJ2aWNlOiBGb3JtVmFsdWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUVycm9yU2VydmljZTogRm9ybUVycm9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkUGFnZUxpc3RDYXNlRmllbGRzU2VydmljZTogVmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd29ya0FsbG9jYXRpb25TZXJ2aWNlOiBXb3JrQWxsb2NhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMud2l6YXJkID0gdGhpcy53aXphcmRGYWN0b3J5LmNyZWF0ZSh0aGlzLmV2ZW50VHJpZ2dlcik7XG4gICAgdGhpcy5pbml0aWFsVXJsID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnZXZlbnRVcmwnKTtcbiAgICB0aGlzLmlzUGFnZVJlZnJlc2hlZCA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnaXNQYWdlUmVmcmVzaGVkJykpO1xuXG4gICAgdGhpcy5jaGVja1BhZ2VSZWZyZXNoKCk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmICF0aGlzLmlzUGFnZVJlZnJlc2hlZCkge1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnZXZlbnRVcmwnLCB0aGlzLnJvdXRlci51cmwpO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZGF0YTogbmV3IEZvcm1Hcm91cCh7fSksXG4gICAgICBldmVudDogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgIGlkOiBbdGhpcy5ldmVudFRyaWdnZXIuaWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICBzdW1tYXJ5OiBbJyddLFxuICAgICAgICBkZXNjcmlwdGlvbjogWycnXVxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uT3JpZ2luID0gcGFyYW1zW0Nhc2VFZGl0Q29tcG9uZW50Lk9SSUdJTl9RVUVSWV9QQVJBTV07XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5jYWxsYmFja0Vycm9yc1N1YmplY3QpIHtcbiAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZWNrUGFnZVJlZnJlc2goKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNQYWdlUmVmcmVzaGVkICYmIHRoaXMuaW5pdGlhbFVybCkge1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgnZXZlbnRVcmwnKTtcbiAgICAgIHRoaXMud2luZG93c1NlcnZpY2UuYWxlcnQoQ2FzZUVkaXRDb21wb25lbnQuQUxFUlRfTUVTU0FHRSk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5pbml0aWFsVXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYWdlKHBhZ2VJZDogc3RyaW5nKTogV2l6YXJkUGFnZSB7XG4gICAgcmV0dXJuIHRoaXMud2l6YXJkLmdldFBhZ2UocGFnZUlkLCB0aGlzLmZpZWxkc1V0aWxzLmJ1aWxkQ2FuU2hvd1ByZWRpY2F0ZSh0aGlzLmV2ZW50VHJpZ2dlciwgdGhpcy5mb3JtKSk7XG4gIH1cblxuICBwdWJsaWMgZmlyc3QoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgZmlyc3RQYWdlID0gdGhpcy53aXphcmQuZmlyc3RQYWdlKHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2ZpcnN0UGFnZSA/IGZpcnN0UGFnZS5pZCA6ICdzdWJtaXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9QYWdlKHBhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMuZ2V0UGFnZShwYWdlSWQpO1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGFnZSA/IHBhZ2UuaWQgOiAnc3VibWl0J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0KGN1cnJlbnRQYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuaW5pdGlhbFVybCA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmICF0aGlzLmluaXRpYWxVcmwpIHtcbiAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2V2ZW50VXJsJywgdGhpcy5yb3V0ZXIudXJsKTtcbiAgICB9XG4gICAgdGhpcy5maWVsZHNQdXJnZXIuY2xlYXJIaWRkZW5GaWVsZHModGhpcy5mb3JtLCB0aGlzLndpemFyZCwgdGhpcy5ldmVudFRyaWdnZXIsIGN1cnJlbnRQYWdlSWQpO1xuICAgIGNvbnN0IG5leHRQYWdlID0gdGhpcy5nZXROZXh0UGFnZSh7XG4gICAgICBjdXJyZW50UGFnZUlkLFxuICAgICAgd2l6YXJkOiB0aGlzLndpemFyZCxcbiAgICAgIGV2ZW50VHJpZ2dlcjogdGhpcy5ldmVudFRyaWdnZXIsXG4gICAgICBmb3JtOiB0aGlzLmZvcm0sXG4gICAgfSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghbmV4dFBhZ2UgJiZcbiAgICAgICEodGhpcy5ldmVudFRyaWdnZXIuc2hvd19zdW1tYXJ5IHx8IHRoaXMuZXZlbnRUcmlnZ2VyLnNob3dfc3VtbWFyeSA9PT0gbnVsbCkgJiZcbiAgICAgICF0aGlzLmV2ZW50VHJpZ2dlci5zaG93X2V2ZW50X25vdGVzKSB7XG4gICAgICB0aGlzLnN1Ym1pdEZvcm0oe1xuICAgICAgICBldmVudFRyaWdnZXI6IHRoaXMuZXZlbnRUcmlnZ2VyLFxuICAgICAgICBmb3JtOiB0aGlzLmZvcm0sXG4gICAgICAgIHN1Ym1pdDogdGhpcy5zdWJtaXQsXG4gICAgICAgIGNhc2VEZXRhaWxzOiB0aGlzLmNhc2VEZXRhaWxzLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZWdpc3RyYXJTZXJ2aWNlLnJlc2V0KCk7XG5cbiAgICBjb25zdCB0aGVRdWVyeVBhcmFtczogUGFyYW1zID0ge307XG4gICAgdGhlUXVlcnlQYXJhbXNbQ2FzZUVkaXRDb21wb25lbnQuT1JJR0lOX1FVRVJZX1BBUkFNXSA9IHRoaXMubmF2aWdhdGlvbk9yaWdpbjtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW25leHRQYWdlID8gbmV4dFBhZ2UuaWQgOiAnc3VibWl0J10sIHsgcXVlcnlQYXJhbXM6IHRoZVF1ZXJ5UGFyYW1zLCByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzKGN1cnJlbnRQYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuZmllbGRzUHVyZ2VyLmNsZWFySGlkZGVuRmllbGRzKHRoaXMuZm9ybSwgdGhpcy53aXphcmQsIHRoaXMuZXZlbnRUcmlnZ2VyLCBjdXJyZW50UGFnZUlkKTtcbiAgICB0aGlzLnJlZ2lzdHJhclNlcnZpY2UucmVzZXQoKTtcblxuICAgIGNvbnN0IHByZXZpb3VzUGFnZSA9IHRoaXMud2l6YXJkLnByZXZpb3VzUGFnZShjdXJyZW50UGFnZUlkLCB0aGlzLmZpZWxkc1V0aWxzLmJ1aWxkQ2FuU2hvd1ByZWRpY2F0ZSh0aGlzLmV2ZW50VHJpZ2dlciwgdGhpcy5mb3JtKSk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXByZXZpb3VzUGFnZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGhlUXVlcnlQYXJhbXM6IFBhcmFtcyA9IHt9O1xuICAgIHRoZVF1ZXJ5UGFyYW1zW0Nhc2VFZGl0Q29tcG9uZW50Lk9SSUdJTl9RVUVSWV9QQVJBTV0gPSB0aGlzLm5hdmlnYXRpb25PcmlnaW47XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwcmV2aW91c1BhZ2UuaWRdLCB7IHF1ZXJ5UGFyYW1zOiB0aGVRdWVyeVBhcmFtcywgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNQcmV2aW91cyhjdXJyZW50UGFnZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy53aXphcmQuaGFzUHJldmlvdXNQYWdlKGN1cnJlbnRQYWdlSWQsIHRoaXMuZmllbGRzVXRpbHMuYnVpbGRDYW5TaG93UHJlZGljYXRlKHRoaXMuZXZlbnRUcmlnZ2VyLCB0aGlzLmZvcm0pKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxsZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTdWJtaXR0ZWQocmVzcG9uc2U6IFJlY29yZDxzdHJpbmcsIGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHsgY2FzZUlkOiByZXNwb25zZVsnaWQnXSwgc3RhdHVzOiB0aGlzLmdldFN0YXR1cyhyZXNwb25zZSkgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFBhZ2UoeyB3aXphcmQsIGN1cnJlbnRQYWdlSWQsIGV2ZW50VHJpZ2dlciwgZm9ybSB9OiBDYXNlRWRpdEdldE5leHRQYWdlKTogV2l6YXJkUGFnZSB7XG4gICAgcmV0dXJuIHdpemFyZC5uZXh0UGFnZShcbiAgICAgIGN1cnJlbnRQYWdlSWQsXG4gICAgICB0aGlzLmZpZWxkc1V0aWxzLmJ1aWxkQ2FuU2hvd1ByZWRpY2F0ZShldmVudFRyaWdnZXIsIGZvcm0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtKGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5jb25maXJtYXRpb24gPSBjb25maXJtYXRpb247XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY29uZmlybSddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0Rm9ybSh7IGV2ZW50VHJpZ2dlciwgZm9ybSwgY2FzZURldGFpbHMsIHN1Ym1pdCB9OiBDYXNlRWRpdFN1Ym1pdEZvcm0pOiB2b2lkIHtcbiAgICB0aGlzLmlzU3VibWl0dGluZyA9IHRydWU7XG4gICAgLy8gV2UgaGF2ZSB0byBydW4gdGhlIGV2ZW50IGNvbXBsZXRpb24gY2hlY2tzIGlmIHRhc2sgaW4gc2Vzc2lvbiBzdG9yYWdlXG4gICAgLy8gYW5kIGlmIHRoZSB0YXNrIGlzIGluIHNlc3Npb24gc3RvcmFnZSwgdGhlbiBpcyBpdCBhc3NvY2lhdGVkIHRvIHRoZSBjYXNlXG4gICAgbGV0IHRhc2tJblNlc3Npb25TdG9yYWdlOiBUYXNrO1xuICAgIGxldCB0YXNrRXZlbnRJblNlc3Npb25TdG9yYWdlOiBhbnk7XG4gICAgY29uc3QgdGFza1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3Rhc2tUb0NvbXBsZXRlJyk7XG4gICAgY29uc3QgdGFza0V2ZW50U3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndGFza0V2ZW50Jyk7XG4gICAgaWYgKHRhc2tTdHIpIHtcbiAgICAgIHRhc2tJblNlc3Npb25TdG9yYWdlID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICB9XG4gICAgaWYgKHRhc2tFdmVudFN0cikge1xuICAgICAgdGFza0V2ZW50SW5TZXNzaW9uU3RvcmFnZSA9IEpTT04ucGFyc2UodGFza0V2ZW50U3RyKTtcbiAgICB9XG4gICAgY29uc3QgZXZlbnRJZCA9IHRoaXMuZ2V0RXZlbnRJZChmb3JtKTtcbiAgICBjb25zdCBjYXNlSWQgPSB0aGlzLmdldENhc2VJZChjYXNlRGV0YWlscyk7XG4gICAgaWYgKHRoaXMudGFza0V4aXN0c0ZvclRoaXNFdmVudEFuZENhc2UodGFza0luU2Vzc2lvblN0b3JhZ2UsIHRhc2tFdmVudEluU2Vzc2lvblN0b3JhZ2UsIGV2ZW50SWQsIGNhc2VJZCkpIHtcbiAgICAgIC8vIFNob3cgZXZlbnQgY29tcGxldGlvbiBjb21wb25lbnQgdG8gcGVyZm9ybSBldmVudCBjb21wbGV0aW9uIGNoZWNrc1xuICAgICAgdGhpcy5ldmVudENvbXBsZXRpb25QYXJhbXMgPSAoe1xuICAgICAgICBjYXNlSWQ6IHRoaXMuZ2V0Q2FzZUlkKGNhc2VEZXRhaWxzKSxcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgdGFzazogdGFza0luU2Vzc2lvblN0b3JhZ2VcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdGFza0V2ZW50ID0ge2V2ZW50SWQsIHRhc2tJZDogdGFza0luU2Vzc2lvblN0b3JhZ2UuaWR9O1xuICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndGFza0V2ZW50JywgSlNPTi5zdHJpbmdpZnkodGFza0V2ZW50KSk7XG4gICAgICB0aGlzLmlzRXZlbnRDb21wbGV0aW9uQ2hlY2tzUmVxdWlyZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUYXNrIG5vdCBpbiBzZXNzaW9uIHN0b3JhZ2UsIHByb2NlZWQgdG8gc3VibWl0XG4gICAgICBjb25zdCBjYXNlRXZlbnREYXRhID0gdGhpcy5nZW5lcmF0ZUNhc2VFdmVudERhdGEoe1xuICAgICAgICBldmVudFRyaWdnZXIsXG4gICAgICAgIGZvcm1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jYXNlU3VibWl0KHtmb3JtLFxuICAgICAgICBjYXNlRXZlbnREYXRhLFxuICAgICAgICBzdWJtaXRcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlSWQoY2FzZURldGFpbHM6IENhc2VWaWV3KTogc3RyaW5nIHtcbiAgICByZXR1cm4gKGNhc2VEZXRhaWxzID8gY2FzZURldGFpbHMuY2FzZV9pZCA6ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXZlbnRJZChmb3JtOiBGb3JtR3JvdXApOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtLnZhbHVlLmV2ZW50LmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUNhc2VFdmVudERhdGEoeyBldmVudFRyaWdnZXIsIGZvcm0gfTogQ2FzZUVkaXRHZW5lcmF0ZUNhc2VFdmVudERhdGEgKTogQ2FzZUV2ZW50RGF0YSB7XG4gICAgY29uc3QgY2FzZUV2ZW50RGF0YTogQ2FzZUV2ZW50RGF0YSA9IHtcbiAgICAgIGRhdGE6IHRoaXMucmVwbGFjZUVtcHR5Q29tcGxleEZpZWxkVmFsdWVzKFxuICAgICAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2Uuc2FuaXRpc2UoXG4gICAgICAgICAgdGhpcy5yZXBsYWNlSGlkZGVuRm9ybVZhbHVlc1dpdGhPcmlnaW5hbENhc2VEYXRhKFxuICAgICAgICAgICAgZm9ybS5nZXQoJ2RhdGEnKSBhcyBGb3JtR3JvdXAsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcykpKSxcbiAgICAgIGV2ZW50OiBmb3JtLnZhbHVlLmV2ZW50XG4gICAgfSBhcyBDYXNlRXZlbnREYXRhO1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5jbGVhck5vbkNhc2VGaWVsZHMoY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZW1vdmVOdWxsTGFiZWxzKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlRW1wdHlEb2N1bWVudHMoY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIC8vIFJlbW92ZSBjb2xsZWN0aW9uIGZpZWxkcyB0aGF0IGhhdmUgXCJtaW5cIiB2YWxpZGF0aW9uIG9mIGdyZWF0ZXIgdGhhbiB6ZXJvIHNldCBvbiB0aGUgRmllbGRUeXBlIGJ1dCBhcmUgZW1wdHk7XG4gICAgLy8gdGhlc2Ugd2lsbCBmYWlsIHZhbGlkYXRpb25cbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlRW1wdHlDb2xsZWN0aW9uc1dpdGhNaW5WYWxpZGF0aW9uKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzKTtcbiAgICAvLyBGb3IgQ2FzZSBGbGFnIHN1Ym1pc3Npb25zICh3aGVyZSBhIEZsYWdMYXVuY2hlciBmaWVsZCBpcyBwcmVzZW50IGluIHRoZSBldmVudCB0cmlnZ2VyKSwgdGhlIGZsYWcgZGV0YWlscyBkYXRhXG4gICAgLy8gbmVlZHMgcG9wdWxhdGluZyBmb3IgZWFjaCBGbGFncyBmaWVsZCwgdGhlbiB0aGUgRmxhZ0xhdW5jaGVyIGZpZWxkIG5lZWRzIHJlbW92aW5nXG4gICAgdGhpcy5mb3JtVmFsdWVTZXJ2aWNlLnJlcG9wdWxhdGVGb3JtRGF0YUZyb21DYXNlRmllbGRWYWx1ZXMoY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMpO1xuICAgIC8vIERhdGEgcG9wdWxhdGlvbiBzdGVwIHJlcXVpcmVkIGZvciBMaW5rZWQgQ2FzZXNcbiAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucG9wdWxhdGVMaW5rZWRDYXNlc0RldGFpbHNGcm9tQ2FzZUZpZWxkcyhjYXNlRXZlbnREYXRhLmRhdGEsIGV2ZW50VHJpZ2dlci5jYXNlX2ZpZWxkcyk7XG4gICAgLy8gUmVtb3ZlIFwiTGF1bmNoZXJcIi10eXBlIGZpZWxkcyAodGhlc2UgaGF2ZSBubyB2YWx1ZXMgYW5kIGFyZSBub3QgaW50ZW5kZWQgdG8gYmUgcGVyc2lzdGVkKVxuICAgIHRoaXMuZm9ybVZhbHVlU2VydmljZS5yZW1vdmVDYXNlRmllbGRzT2ZUeXBlKGNhc2VFdmVudERhdGEuZGF0YSwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLCBbJ0ZsYWdMYXVuY2hlcicsICdDb21wb25lbnRMYXVuY2hlciddKTtcblxuICAgIC8vIGRlbGV0ZSBmaWVsZHMgd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSBjYXNlIGV2ZW50IGpvdXJuZXkgd2l6YXJkIHBhZ2VzIGNhc2UgZmllbGRzXG4gICAgdGhpcy52YWxpZFBhZ2VMaXN0Q2FzZUZpZWxkc1NlcnZpY2UuZGVsZXRlTm9uVmFsaWRhdGVkRmllbGRzKHRoaXMudmFsaWRQYWdlTGlzdCwgY2FzZUV2ZW50RGF0YS5kYXRhLCBldmVudFRyaWdnZXIuY2FzZV9maWVsZHMsIGZhbHNlLCBmb3JtLmNvbnRyb2xzWydkYXRhJ10udmFsdWUpO1xuICAgIGNvbnN0IHBhZ2VMaXN0Q2FzZUZpZWxkcyA9IHRoaXMudmFsaWRQYWdlTGlzdENhc2VGaWVsZHNTZXJ2aWNlLnZhbGlkUGFnZUxpc3RDYXNlRmllbGRzKHRoaXMudmFsaWRQYWdlTGlzdCwgZXZlbnRUcmlnZ2VyLmNhc2VfZmllbGRzLCBmb3JtLmNvbnRyb2xzWydkYXRhJ10udmFsdWUpO1xuICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBjYXNlIGZpZWxkcyB3aGljaCBhcmUgaGlkZGVuLCBvbmx5IGlmIHRoZSBzdWJtaXNzaW9uIGlzICpub3QqIGZvciBDYXNlIEZsYWdzXG4gICAgaWYgKCF0aGlzLmlzQ2FzZUZsYWdTdWJtaXNzaW9uKSB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZVNlcnZpY2UucmVtb3ZlVW5uZWNlc3NhcnlGaWVsZHMoY2FzZUV2ZW50RGF0YS5kYXRhLCBwYWdlTGlzdENhc2VGaWVsZHMsIHRydWUsIHRydWUpO1xuICAgIH1cblxuICAgIGNhc2VFdmVudERhdGEuZXZlbnRfdG9rZW4gPSBldmVudFRyaWdnZXIuZXZlbnRfdG9rZW47XG4gICAgY2FzZUV2ZW50RGF0YS5pZ25vcmVfd2FybmluZyA9IHRoaXMuaWdub3JlV2FybmluZztcbiAgICBpZiAodGhpcy5jb25maXJtYXRpb24pIHtcbiAgICAgIGNhc2VFdmVudERhdGEuZGF0YSA9IHt9O1xuICAgIH1cblxuICAgIHJldHVybiBjYXNlRXZlbnREYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIG5vbi1hcnJheSB2YWx1ZSBvYmplY3RzIHdpdGggYG51bGxgIGZvciBhbnkgQ29tcGxleC10eXBlIGZpZWxkcyB3aG9zZSB2YWx1ZSBpcyBlZmZlY3RpdmVseSBlbXB0eSwgaS5lLlxuICAgKiBhbGwgaXRzIHN1Yi1maWVsZHMgYW5kIGRlc2NlbmRhbnRzIGFyZSBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBvYmplY3QgdHJlZSByZXByZXNlbnRpbmcgYWxsIHRoZSBmb3JtIGZpZWxkIGRhdGFcbiAgICogQHJldHVybnMgVGhlIGZvcm0gZmllbGQgZGF0YSBtb2RpZmllZCBhY2NvcmRpbmdseVxuICAgKi9cbiAgcHJpdmF0ZSByZXBsYWNlRW1wdHlDb21wbGV4RmllbGRWYWx1ZXMoZGF0YTogb2JqZWN0KTogb2JqZWN0IHtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhW2tleV0pICYmIHR5cGVvZiBkYXRhW2tleV0gPT09ICdvYmplY3QnICYmICFGaWVsZHNVdGlscy5jb250YWluc05vbkVtcHR5VmFsdWVzKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYXZlcnNlICphbGwqIHZhbHVlcyBvZiBhIHtAbGluayBGb3JtR3JvdXB9LCBpbmNsdWRpbmcgdGhvc2UgZm9yIGRpc2FibGVkIGZpZWxkcyAoaS5lLiBoaWRkZW4gb25lcyksIHJlcGxhY2luZyB0aGVcbiAgICogdmFsdWUgb2YgYW55IHRoYXQgYXJlIGhpZGRlbiBBTkQgaGF2ZSBgcmV0YWluX2hpZGRlbl92YWx1ZWAgc2V0IHRvIGB0cnVlYCBpbiB0aGUgY29ycmVzcG9uZGluZyBgQ2FzZUZpZWxkYCwgd2l0aFxuICAgKiB0aGUgKm9yaWdpbmFsKiB2YWx1ZSBoZWxkIGluIHRoZSBgQ2FzZUZpZWxkYCBvYmplY3QuXG4gICAqXG4gICAqIFRoaXMgaXMgYXMgcGVyIGRlc2lnbiBpbiBFVUktMzYyMiwgd2hlcmUgYW55IHVzZXItZHJpdmVuIHVwZGF0ZXMgdG8gaGlkZGVuIGZpZWxkcyB3aXRoIGByZXRhaW5faGlkZGVuX3ZhbHVlYCA9XG4gICAqIGB0cnVlYCBhcmUgaWdub3JlZCAodGh1cyByZXRhaW5pbmcgdGhlIHZhbHVlIGRpc3BsYXllZCBvcmlnaW5hbGx5KS5cbiAgICpcbiAgICogKiBGb3IgQ29tcGxleCBmaWVsZCB0eXBlcywgdGhlIHJlcGxhY2VtZW50IGFib3ZlIGlzIHBlcmZvcm1lZCByZWN1cnNpdmVseSBmb3IgYWxsIGhpZGRlbiBzdWItZmllbGRzIHdpdGhcbiAgICogYHJldGFpbl9oaWRkZW5fdmFsdWVgID0gYHRydWVgLlxuICAgKlxuICAgKiAqIEZvciBDb2xsZWN0aW9uIGZpZWxkIHR5cGVzLCBpbmNsdWRpbmcgY29sbGVjdGlvbnMgb2YgQ29tcGxleCBhbmQgRG9jdW1lbnQgZmllbGQgdHlwZXMsIHRoZSByZXBsYWNlbWVudCBpc1xuICAgKiBwZXJmb3JtZWQgZm9yIGFsbCBmaWVsZHMgaW4gdGhlIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgVGhlIGBGb3JtR3JvdXBgIGluc3RhbmNlIHdob3NlIHJhdyB2YWx1ZXMgYXJlIHRvIGJlIHRyYXZlcnNlZFxuICAgKiBAcGFyYW0gY2FzZUZpZWxkcyBUaGUgYXJyYXkgb2Yge0BsaW5rIENhc2VGaWVsZH0gZG9tYWluIG1vZGVsIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byBmaWVsZHMgaW4gYGZvcm1Hcm91cGBcbiAgICogQHBhcmFtIHBhcmVudEZpZWxkIFJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGBDYXNlRmllbGRgLiBVc2VkIGZvciByZXRyaWV2aW5nIHRoZSBzdWItZmllbGQgdmFsdWVzIG9mIGEgQ29tcGxleCBmaWVsZFxuICAgKiB0byBwZXJmb3JtIHJlY3Vyc2l2ZSByZXBsYWNlbWVudCAtIHRoZSBzdWItZmllbGQgYENhc2VGaWVsZGBzIHRoZW1zZWx2ZXMgZG8gKm5vdCogY29udGFpbiBhbnkgdmFsdWVzXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIHRoZSAqcmF3KiBmb3JtIHZhbHVlIGRhdGEgKGFzIGtleS12YWx1ZSBwYWlycyksIHdpdGggYW55IHZhbHVlIHJlcGxhY2VtZW50cyBhcyBuZWNlc3NhcnlcbiAgICovXG4gIHByaXZhdGUgcmVwbGFjZUhpZGRlbkZvcm1WYWx1ZXNXaXRoT3JpZ2luYWxDYXNlRGF0YShmb3JtR3JvdXA6IEZvcm1Hcm91cCwgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10sIHBhcmVudEZpZWxkPzogQ2FzZUZpZWxkKTogb2JqZWN0IHtcbiAgICAvLyBHZXQgdGhlIHJhdyBmb3JtIHZhbHVlIGRhdGEsIHdoaWNoIGluY2x1ZGVzIHRoZSB2YWx1ZXMgb2YgYW55IGRpc2FibGVkIGNvbnRyb2xzLCBhcyBrZXktdmFsdWUgcGFpcnNcbiAgICBjb25zdCByYXdGb3JtVmFsdWVEYXRhID0gZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG5cbiAgICAvLyBQbGFjZSBhbGwgY2FzZSBmaWVsZHMgaW4gYSBsb29rdXAgb2JqZWN0LCBzbyB0aGV5IGNhbiBiZSByZXRyaWV2ZWQgYnkgaWRcbiAgICBjb25zdCBjYXNlRmllbGRzTG9va3VwID0ge307XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGNhc2VGaWVsZHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNhc2VGaWVsZHNMb29rdXBbY2FzZUZpZWxkc1tpXS5pZF0gPSBjYXNlRmllbGRzW2ldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2UgYW55IGZvcm0gdmFsdWUgd2l0aCB0aGUgb3JpZ2luYWwsIHdoZXJlIGl0cyBDYXNlRmllbGQgaXMgaGlkZGVuIEFORCBoYXMgdGhlIHJldGFpbl9oaWRkZW5fdmFsdWUgZmxhZyBzZXRcbiAgICAgKiB0byB0cnVlLlxuICAgICAqXG4gICAgICogSWYgdGhlIENhc2VGaWVsZCdzIGBoaWRkZW5gIGF0dHJpYnV0ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlbiBjaGVjayB0aGlzIGF0dHJpYnV0ZSBpbiB0aGUgcGFyZW50IENhc2VGaWVsZCAoaWZcbiAgICAgKiBvbmUgZXhpc3RzKS4gVGhpcyBpcyBvY2N1cnJpbmcgKGFuZCBpcyBwb3NzaWJseSBhIGJ1Zykgd2hlbiBhIENhc2VGaWVsZCBpcyBhIHN1Yi1maWVsZCBvZiBhIENvbXBsZXggdHlwZSwgb3IgYW5cbiAgICAgKiBpdGVtIGluIGEgQ29sbGVjdGlvbiB0eXBlLlxuICAgICAqXG4gICAgICogSWYgdGhlIGZpZWxkIGlzIGEgQ29tcGxleCB0eXBlIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHBlcmZvcm0gYSByZWN1cnNpdmUgcmVwbGFjZW1lbnQgZm9yIGFsbCAoaGlkZGVuKVxuICAgICAqIHN1Yi1maWVsZHMgd2l0aCByZXRhaW5faGlkZGVuX3ZhbHVlID0gdHJ1ZSwgdXNpbmcgdGhlaXIgb3JpZ2luYWwgQ2FzZUZpZWxkIHZhbHVlcyAoZnJvbSB0aGUgYGZvcm1hdHRlZF92YWx1ZWBcbiAgICAgKiBhdHRyaWJ1dGUpLlxuICAgICAqXG4gICAgICogSWYgdGhlIGZpZWxkIGlzIGEgQ29sbGVjdGlvbiB0eXBlIHdpdGggcmV0YWluX2hpZGRlbl92YWx1ZSA9IHRydWUsIHRoZSBlbnRpcmUgY29sbGVjdGlvbiBpcyByZXBsYWNlZCB3aXRoIHRoZVxuICAgICAqIG9yaWdpbmFsIGZyb20gYGZvcm1hdHRlZF92YWx1ZWAuIFRoaXMgYXBwbGllcyB0byAqYWxsKiB0eXBlcyBvZiBDb2xsZWN0aW9ucy5cbiAgICAgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIE9iamVjdC5rZXlzKHJhd0Zvcm1WYWx1ZURhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgY2FzZUZpZWxkOiBDYXNlRmllbGQgPSBjYXNlRmllbGRzTG9va3VwW2tleV07XG4gICAgICAvLyBJZiBjYXNlRmllbGQuaGlkZGVuIGlzIE5PVCB0cnV0aHkgYW5kIGFsc28gTk9UIGVxdWFsIHRvIGZhbHNlLCB0aGVuIGl0IG11c3QgYmUgbnVsbC91bmRlZmluZWQgKHJlbWVtYmVyIHRoYXRcbiAgICAgIC8vIGJvdGggbnVsbCBhbmQgdW5kZWZpbmVkIGFyZSBlcXVhbCB0byAqbmVpdGhlciBmYWxzZSBub3IgdHJ1ZSopXG4gICAgICBpZiAoY2FzZUZpZWxkICYmIGNhc2VGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlICYmXG4gICAgICAgIChjYXNlRmllbGQuaGlkZGVuIHx8IChjYXNlRmllbGQuaGlkZGVuICE9PSBmYWxzZSAmJiBwYXJlbnRGaWVsZCAmJiBwYXJlbnRGaWVsZC5oaWRkZW4pKSkge1xuICAgICAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICAgICAgLy8gTm90ZTogRGVsaWJlcmF0ZSB1c2Ugb2YgZXF1YWxpdHkgKD09KSBhbmQgbm9uLWVxdWFsaXR5ICghPSkgb3BlcmF0b3JzIGZvciBudWxsIGNoZWNrcyB0aHJvdWdob3V0LCB0b1xuICAgICAgICAgIC8vIGhhbmRsZSBib3RoIG51bGwgYW5kIHVuZGVmaW5lZCB2YWx1ZXNcbiAgICAgICAgICBpZiAoY2FzZUZpZWxkLnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIENhbGwgdGhpcyBmdW5jdGlvbiByZWN1cnNpdmVseSB0byByZXBsYWNlIHRoZSBDb21wbGV4IGZpZWxkJ3Mgc3ViLWZpZWxkcyBhcyBuZWNlc3NhcnksIHBhc3NpbmcgdGhlXG4gICAgICAgICAgICAvLyBDYXNlRmllbGQgaXRzZWxmICh0aGUgc3ViLWZpZWxkcyBkbyBub3QgY29udGFpbiBhbnkgdmFsdWVzLCBzbyB0aGVzZSBuZWVkIHRvIGJlIG9idGFpbmVkIGZyb20gdGhlXG4gICAgICAgICAgICAvLyBwYXJlbnQpXG4gICAgICAgICAgICAvLyBVcGRhdGUgcmF3Rm9ybVZhbHVlRGF0YSBmb3IgdGhpcyBmaWVsZFxuICAgICAgICAgICAgLy8gY3JlYXRpbmcgZm9ybSBncm91cCBhbmQgYWRkaW5nIGNvbnRyb2wgaW50byBpdCBpbiBjYXNlIGNhc2VGaWVsZCBpcyBvZiBjb21wbGV4dCB0eXBlIGFuZCBhbmQgcGFydCBvZiBmb3JtR3JvdXBcbiAgICAgICAgICAgIGNvbnN0IGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICAgICAgaWYgKGZvcm1Hcm91cC5jb250cm9sc1trZXldLnZhbHVlKSB7XG4gICAgICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9sc1trZXldLnZhbHVlKS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9ybS5hZGRDb250cm9sKGl0ZW0sIG5ldyBGb3JtQ29udHJvbChmb3JtR3JvdXAuY29udHJvbHNba2V5XS52YWx1ZVtpdGVtXSkpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJhd0Zvcm1WYWx1ZURhdGFba2V5XSA9IHRoaXMucmVwbGFjZUhpZGRlbkZvcm1WYWx1ZXNXaXRoT3JpZ2luYWxDYXNlRGF0YShcbiAgICAgICAgICAgICAgZm9ybSwgY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMsIGNhc2VGaWVsZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIERlZmF1bHQgY2FzZSBhbHNvIGhhbmRsZXMgY29sbGVjdGlvbnMgb2YgKmFsbCogdHlwZXM7IHRoZSBlbnRpcmUgY29sbGVjdGlvbiBpbiByYXdGb3JtVmFsdWVEYXRhIHdpbGwgYmVcbiAgICAgICAgICAvLyByZXBsYWNlZCB3aXRoIHRoZSBvcmlnaW5hbCBmcm9tIGZvcm1hdHRlZF92YWx1ZVxuICAgICAgICAgIC8vIFVzZSB0aGUgQ2FzZUZpZWxkJ3MgZXhpc3RpbmcgKmZvcm1hdHRlZF92YWx1ZSogZnJvbSB0aGUgcGFyZW50LCBpZiBhdmFpbGFibGUuIChUaGlzIGlzIG5lY2Vzc2FyeSBmb3JcbiAgICAgICAgICAvLyBDb21wbGV4IGZpZWxkcywgd2hvc2Ugc3ViLWZpZWxkcyBkbyBub3QgaG9sZCBhbnkgdmFsdWVzIGluIHRoZSBtb2RlbC4pIE90aGVyd2lzZSwgdXNlIGZvcm1hdHRlZF92YWx1ZVxuICAgICAgICAgIC8vIGZyb20gdGhlIENhc2VGaWVsZCBpdHNlbGYuXG4gICAgICAgICAgaWYgKHBhcmVudEZpZWxkICYmIHBhcmVudEZpZWxkLmZvcm1hdHRlZF92YWx1ZSkge1xuICAgICAgICAgICAgcmF3Rm9ybVZhbHVlRGF0YVtrZXldID0gcGFyZW50RmllbGQuZm9ybWF0dGVkX3ZhbHVlW2Nhc2VGaWVsZC5pZF07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghKGNhc2VGaWVsZC5oaWRkZW4gJiYgY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWUpKSB7XG4gICAgICAgICAgICAgIHJhd0Zvcm1WYWx1ZURhdGFba2V5XSA9IGNhc2VGaWVsZC5mb3JtYXR0ZWRfdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmF3Rm9ybVZhbHVlRGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY2FzZVN1Ym1pdCh7IGZvcm0sIGNhc2VFdmVudERhdGEsIHN1Ym1pdCB9OiBDYXNlRWRpdENhc2VTdWJtaXQpOiB2b2lkIHtcbiAgICBjb25zdCBsb2FkaW5nU3Bpbm5lclRva2VuID0gdGhpcy5sb2FkaW5nU2VydmljZS5yZWdpc3RlcigpO1xuICAgIC8vIGtlZXAgdGhlIGluaXRpYWwgZXZlbnQgcmVzcG9uc2UgdG8gZmluYWxpc2UgcHJvY2VzcyBhZnRlciB0YXNrIGNvbXBsZXRpb25cbiAgICBsZXQgZXZlbnRSZXNwb25zZTogb2JqZWN0O1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ3Rhc2tDb21wbGV0aW9uRXJyb3InLCAnZmFsc2UnKTtcbiAgICBzdWJtaXQoY2FzZUV2ZW50RGF0YSkucGlwZShzd2l0Y2hNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICBldmVudFJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgICByZXR1cm4gdGhpcy5wb3N0Q29tcGxldGVUYXNrSWZSZXF1aXJlZCgpO1xuICAgIH0pLGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS51bnJlZ2lzdGVyKGxvYWRpbmdTcGlubmVyVG9rZW4pO1xuICAgICAgICAvLyBvbiBldmVudCBjb21wbGV0aW9uIGVuc3VyZSB0aGUgcHJldmlvdXMgZXZlbnQgdGFza1RvQ29tcGxldGUvdGFza0V2ZW50IHJlbW92ZWRcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgndGFza1RvQ29tcGxldGUnKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgndGFza0V2ZW50JylcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yID0+IHtcbiAgICAgICAgICBpZiAoIWV2ZW50UmVzcG9uc2UpIHtcbiAgICAgICAgICAgIC8vIGV2ZW50IHN1Ym1pc3Npb24gZXJyb3JcbiAgICAgICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tFcnJvcnNTdWJqZWN0Lm5leHQoZXJyb3IpO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmVycm9yLmRldGFpbHMpIHtcbiAgICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLm1hcEZpZWxkRXJyb3JzKHRoaXMuZXJyb3IuZGV0YWlscy5maWVsZF9lcnJvcnMsIGZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBGb3JtR3JvdXAsICd2YWxpZGF0aW9uJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlzU3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0YXNrQ29tcGxldGlvbkVycm9yJywgJ3RydWUnKTtcbiAgICAgICAgICAgIC8vIHRhc2sgYXNzaWdubWVudC9jb21wbGV0aW9uIGVycm9yIC0gaGFuZGxlZCB3aXRoaW4gd29ya2FsbG9jYXRpb24gc2VydmljZVxuICAgICAgICAgICAgLy8gY291bGQgc2V0IHRhc2sgdG8gYmUgZGVsZXRlZCAob3IgY29tcGxldGVkIGxhdGVyKT9cbiAgICAgICAgICAgIHRoaXMuZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZSk7XG4gICAgICAgICAgICAvLyBiZWxvdyBhbGxvd3MgZXJyb3IgdG8gYmUgc2hvd24gb24gbmF2aWdhdGlvbiB0byBjb25maXJtYXRpb24gcGFnZVxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHModHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcih7cGhyYXNlOiBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0Q29tcGxldGVUYXNrSWZSZXF1aXJlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHRhc2tTdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgIGNvbnN0IGFzc2lnbk5lZWRlZCA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Fzc2lnbk5lZWRlZCcpID09PSAndHJ1ZSc7XG4gICAgaWYgKHRhc2tTdHIgJiYgYXNzaWduTmVlZGVkKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5hc3NpZ25BbmRDb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfSBlbHNlIGlmICh0YXNrU3RyKSB7XG4gICAgICBjb25zdCB0YXNrOiBUYXNrID0gSlNPTi5wYXJzZSh0YXNrU3RyKTtcbiAgICAgIHJldHVybiB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5jb21wbGV0ZVRhc2sodGFzay5pZCk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoRXZlbnRDb21wbGV0aW9uTG9naWMoZXZlbnRSZXNwb25zZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FjaGVkQ2FzZVZpZXcgPSBudWxsO1xuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgY29uc3QgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb24gPSB0aGlzLmJ1aWxkQ29uZmlybWF0aW9uKGV2ZW50UmVzcG9uc2UpO1xuICAgIGlmIChjb25maXJtYXRpb24gJiYgKGNvbmZpcm1hdGlvbi5nZXRIZWFkZXIoKSB8fCBjb25maXJtYXRpb24uZ2V0Qm9keSgpKSkge1xuICAgICAgdGhpcy5jb25maXJtKGNvbmZpcm1hdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdFN1Ym1pdHRlZChldmVudFJlc3BvbnNlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ29uZmlybWF0aW9uKHJlc3BvbnNlOiBvYmplY3QpOiBDb25maXJtYXRpb24ge1xuICAgIGlmIChyZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ10pIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmlybWF0aW9uKFxuICAgICAgICByZXNwb25zZVsnaWQnXSxcbiAgICAgICAgcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddLFxuICAgICAgICByZXNwb25zZVsnYWZ0ZXJfc3VibWl0X2NhbGxiYWNrX3Jlc3BvbnNlJ11bJ2NvbmZpcm1hdGlvbl9oZWFkZXInXSxcbiAgICAgICAgcmVzcG9uc2VbJ2FmdGVyX3N1Ym1pdF9jYWxsYmFja19yZXNwb25zZSddWydjb25maXJtYXRpb25fYm9keSddXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyBjaGVja3Mgd2hldGhlciBjdXJyZW50IHRhc2tUb0NvbXBsZXRlIHJlbGV2YW50IGZvciB0aGUgZXZlbnRcbiAgcHVibGljIHRhc2tFeGlzdHNGb3JUaGlzRXZlbnRBbmRDYXNlKHRhc2tJblNlc3Npb25TdG9yYWdlLCB0YXNrRXZlbnQsIGV2ZW50SWQsIGNhc2VJZCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGFza0luU2Vzc2lvblN0b3JhZ2UgfHwgdGFza0luU2Vzc2lvblN0b3JhZ2UuY2FzZV9pZCAhPT0gY2FzZUlkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghdGFza0V2ZW50KSB7XG4gICAgICAvLyBpZiBubyB0YXNrIGV2ZW50IHByZXNlbnQgdGhlbiB0aGVyZSBpcyBubyB0YXNrIHRvIGNvbXBsZXRlIGZyb20gcHJldmlvdXMgZXZlbnQgcHJlc2VudFxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0YXNrRXZlbnQudGFza0lkID09PSB0YXNrSW5TZXNzaW9uU3RvcmFnZS5pZCAmJiB0YXNrRXZlbnQuZXZlbnRJZCAhPT0gZXZlbnRJZCkge1xuICAgICAgICAvLyBpZiB0aGUgc2Vzc2lvbiBzdG9yYWdlIG5vdCByZWxhdGVkIHRvIGV2ZW50LCBpZ25vcmUgaXQgYW5kIHJlbW92ZVxuICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCd0YXNrVG9Db21wbGV0ZScpO1xuICAgICAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5yZW1vdmVJdGVtKCd0YXNrRXZlbnQnKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRXZlbnRDYW5CZUNvbXBsZXRlZCh7IGV2ZW50VHJpZ2dlciwgZXZlbnRDYW5CZUNvbXBsZXRlZCwgY2FzZURldGFpbHMsIGZvcm0sIHN1Ym1pdCB9OiBDYXNlRWRpdG9uRXZlbnRDYW5CZUNvbXBsZXRlZCk6IHZvaWQge1xuICAgIGlmIChldmVudENhbkJlQ29tcGxldGVkKSB7XG4gICAgICAvLyBTdWJtaXRcbiAgICAgIGNvbnN0IGNhc2VFdmVudERhdGEgPSB0aGlzLmdlbmVyYXRlQ2FzZUV2ZW50RGF0YSh7IGV2ZW50VHJpZ2dlciwgZm9ybSB9KTtcbiAgICAgIHRoaXMuY2FzZVN1Ym1pdCh7IGZvcm0sIGNhc2VFdmVudERhdGEsIHN1Ym1pdCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTmF2aWdhdGUgdG8gdGFza3MgdGFiIG9uIGNhc2UgZGV0YWlscyBwYWdlXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9jYXNlcy9jYXNlLWRldGFpbHMvJHt0aGlzLmdldENhc2VJZChjYXNlRGV0YWlscyl9L3Rhc2tzYF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhdHVzKHJlc3BvbnNlOiBvYmplY3QpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmhhc0NhbGxiYWNrRmFpbGVkKHJlc3BvbnNlKSA/IHJlc3BvbnNlWydjYWxsYmFja19yZXNwb25zZV9zdGF0dXMnXSA6IHJlc3BvbnNlWydkZWxldGVfZHJhZnRfcmVzcG9uc2Vfc3RhdHVzJ107XG4gIH1cblxuICBwcml2YXRlIGhhc0NhbGxiYWNrRmFpbGVkKHJlc3BvbnNlOiBvYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVzcG9uc2VbJ2NhbGxiYWNrX3Jlc3BvbnNlX3N0YXR1cyddICE9PSAnQ0FMTEJBQ0tfQ09NUExFVEVEJztcbiAgfVxufVxuIiwiPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuIl19