@hmcts/ccd-case-ui-toolkit 6.19.8 → 6.19.9-case-flags-exui-848-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 (321) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +9300 -4452
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +7 -2
  6. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +1 -1
  7. package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +1 -1
  8. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -11
  9. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.js +7 -0
  10. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +167 -128
  11. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +17 -21
  12. package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +2 -3
  13. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +2 -2
  14. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +2 -2
  15. package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +19 -0
  16. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +6 -1
  17. package/esm2015/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.js +13 -9
  18. package/esm2015/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.js +2 -1
  19. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +5 -10
  20. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +61 -45
  21. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -2
  22. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -1
  23. package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +68 -32
  24. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +264 -45
  25. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +144 -73
  26. package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +181 -0
  27. package/esm2015/lib/shared/components/palette/case-flag/components/index.js +4 -1
  28. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +39 -73
  29. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +6 -0
  30. package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +133 -101
  31. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +21 -8
  32. package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +222 -114
  33. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.js +292 -0
  34. package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +450 -110
  35. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
  36. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  37. package/esm2015/lib/shared/components/palette/case-flag/domain/language.model.js +1 -1
  38. package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.js +2 -1
  39. package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.js +3 -1
  40. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.js +12 -0
  41. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +15 -0
  42. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +13 -0
  43. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +3 -2
  44. package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +11 -3
  45. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +6 -0
  46. package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +6 -0
  47. package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +9 -2
  48. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +3 -2
  49. package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +4 -1
  50. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +6 -0
  51. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +6 -0
  52. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +5 -1
  53. package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +6 -2
  54. package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +10 -7
  55. package/esm2015/lib/shared/components/palette/case-flag/index.js +2 -1
  56. package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +41 -0
  57. package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +5 -0
  58. package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +41 -0
  59. package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +109 -0
  60. package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +77 -0
  61. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +151 -50
  62. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +362 -163
  63. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +31 -33
  64. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +4 -3
  65. package/esm2015/lib/shared/components/palette/index.js +3 -1
  66. package/esm2015/lib/shared/components/palette/markdown/index.js +2 -1
  67. package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +42 -0
  68. package/esm2015/lib/shared/components/palette/palette.module.js +147 -50
  69. package/esm2015/lib/shared/components/palette/palette.service.js +4 -2
  70. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +1 -1
  71. package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +210 -0
  72. package/esm2015/lib/shared/components/palette/query-management/components/index.js +13 -0
  73. package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.js +45 -0
  74. package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.js +154 -0
  75. package/esm2015/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.js +69 -0
  76. package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +64 -0
  77. package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +316 -0
  78. package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +344 -0
  79. package/esm2015/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.js +25 -0
  80. package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +181 -0
  81. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +78 -0
  82. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.js +125 -0
  83. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +239 -0
  84. package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.js +120 -0
  85. package/esm2015/lib/shared/components/palette/query-management/enums/index.js +6 -0
  86. package/esm2015/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.js +5 -0
  87. package/esm2015/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.js +6 -0
  88. package/esm2015/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.js +10 -0
  89. package/esm2015/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.js +6 -0
  90. package/esm2015/lib/shared/components/palette/query-management/index.js +7 -0
  91. package/esm2015/lib/shared/components/palette/query-management/models/case-queries-collection.model.js +2 -0
  92. package/esm2015/lib/shared/components/palette/query-management/models/index.js +8 -0
  93. package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.js +2 -0
  94. package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.js +2 -0
  95. package/esm2015/lib/shared/components/palette/query-management/models/query-create-context.enum.js +9 -0
  96. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +2 -0
  97. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +18 -0
  98. package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +41 -0
  99. package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +136 -0
  100. package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +22 -0
  101. package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
  102. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +5 -4
  103. package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +2 -2
  104. package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +17 -2
  105. package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +6 -0
  106. package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +1 -2
  107. package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +3 -1
  108. package/esm2015/lib/shared/fixture/shared.test.fixture.js +2 -1
  109. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +20 -13
  110. package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +16 -0
  111. package/esm2015/lib/shared/pipes/generic/index.js +2 -0
  112. package/esm2015/lib/shared/pipes/index.js +3 -2
  113. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  114. package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +9 -3
  115. package/esm2015/lib/shared/services/fields/fields.utils.js +18 -2
  116. package/esm2015/lib/shared/services/form/form-value.service.js +14 -11
  117. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +2 -1
  118. package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
  119. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +6908 -2588
  120. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  121. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  122. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  123. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
  124. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
  125. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
  126. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  127. package/lib/shared/components/case-editor/case-editor.module.d.ts +17 -20
  128. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  129. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  130. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  131. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
  132. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
  133. package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -0
  134. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  135. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts +2 -1
  136. package/lib/shared/components/case-editor/services/valid-page-list-caseFields.service.d.ts.map +1 -1
  137. package/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.d.ts.map +1 -1
  138. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  139. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
  140. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  141. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
  142. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  143. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  144. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  145. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  146. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +23 -8
  147. package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
  148. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +2 -1
  149. package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
  150. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
  151. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
  152. package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
  153. package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
  154. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -8
  155. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  156. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +5 -0
  157. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
  158. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
  159. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  160. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -1
  161. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  162. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +16 -9
  163. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  164. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +27 -0
  165. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -0
  166. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +25 -11
  167. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  168. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +1 -10
  169. package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
  170. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +8 -0
  171. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  172. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +1 -0
  173. package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
  174. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
  175. package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
  176. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +3 -1
  177. package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
  178. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
  179. package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
  180. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +14 -0
  181. package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
  182. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +12 -0
  183. package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
  184. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
  185. package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
  186. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +11 -3
  187. package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
  188. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +5 -0
  189. package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
  190. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
  191. package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
  192. package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
  193. package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
  194. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +2 -1
  195. package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
  196. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +3 -0
  197. package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
  198. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +5 -0
  199. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
  200. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
  201. package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
  202. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
  203. package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
  204. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +6 -2
  205. package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
  206. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +7 -4
  207. package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
  208. package/lib/shared/components/palette/case-flag/index.d.ts +1 -0
  209. package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
  210. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
  211. package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
  212. package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
  213. package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
  214. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
  215. package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
  216. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
  217. package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
  218. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
  219. package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
  220. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +12 -8
  221. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  222. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +51 -26
  223. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  224. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -2
  225. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  226. package/lib/shared/components/palette/index.d.ts +2 -0
  227. package/lib/shared/components/palette/index.d.ts.map +1 -1
  228. package/lib/shared/components/palette/markdown/index.d.ts +1 -0
  229. package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
  230. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +13 -0
  231. package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -0
  232. package/lib/shared/components/palette/palette.module.d.ts +140 -118
  233. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  234. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  235. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +11 -0
  236. package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
  237. package/lib/shared/components/palette/query-management/components/index.d.ts +13 -0
  238. package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
  239. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +8 -0
  240. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -0
  241. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +22 -0
  242. package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -0
  243. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +11 -0
  244. package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +1 -0
  245. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +10 -0
  246. package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -0
  247. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +30 -0
  248. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -0
  249. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +16 -0
  250. package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -0
  251. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +9 -0
  252. package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +1 -0
  253. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +18 -0
  254. package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
  255. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +20 -0
  256. package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +1 -0
  257. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +20 -0
  258. package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +1 -0
  259. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +11 -0
  260. package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -0
  261. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts +21 -0
  262. package/lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.d.ts.map +1 -0
  263. package/lib/shared/components/palette/query-management/enums/index.d.ts +6 -0
  264. package/lib/shared/components/palette/query-management/enums/index.d.ts.map +1 -0
  265. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +4 -0
  266. package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +1 -0
  267. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +5 -0
  268. package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -0
  269. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +9 -0
  270. package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -0
  271. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +5 -0
  272. package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +1 -0
  273. package/lib/shared/components/palette/query-management/index.d.ts +7 -0
  274. package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
  275. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +27 -0
  276. package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -0
  277. package/lib/shared/components/palette/query-management/models/index.d.ts +8 -0
  278. package/lib/shared/components/palette/query-management/models/index.d.ts.map +1 -0
  279. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +5 -0
  280. package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -0
  281. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +6 -0
  282. package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +1 -0
  283. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +8 -0
  284. package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +1 -0
  285. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +7 -0
  286. package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +1 -0
  287. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +10 -0
  288. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
  289. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +22 -0
  290. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
  291. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +18 -0
  292. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
  293. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +12 -0
  294. package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
  295. package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
  296. package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
  297. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +5 -0
  298. package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +1 -0
  299. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +0 -1
  300. package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
  301. package/lib/shared/domain/definition/display-context-enum.model.d.ts +3 -1
  302. package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
  303. package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
  304. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts +1 -1
  305. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  306. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
  307. package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
  308. package/lib/shared/pipes/generic/index.d.ts +2 -0
  309. package/lib/shared/pipes/generic/index.d.ts.map +1 -0
  310. package/lib/shared/pipes/index.d.ts +2 -1
  311. package/lib/shared/pipes/index.d.ts.map +1 -1
  312. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  313. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  314. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
  315. package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
  316. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  317. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  318. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  319. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  320. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  321. package/package.json +1 -1
@@ -88,6 +88,7 @@ export class WizardPageFieldToCaseFieldMapper {
88
88
  childrenCaseFields.forEach(e => this.hideParentIfAllChildrenHidden(e));
89
89
  if (childrenCaseFields.length > 0 && this.allCaseFieldsHidden(childrenCaseFields)) {
90
90
  caseField.hidden = true;
91
+ caseField.display_context = 'HIDDEN';
91
92
  }
92
93
  }
93
94
  getCaseFieldChildren(caseField) {
@@ -112,4 +113,4 @@ WizardPageFieldToCaseFieldMapper.ɵprov = i0.ɵɵdefineInjectable({ token: Wizar
112
113
  providedIn: 'root',
113
114
  }]
114
115
  }], null, null); })();
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLXBhZ2UtZmllbGQtdG8tY2FzZS1maWVsZC5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvd2l6YXJkLXBhZ2UtZmllbGQtdG8tY2FzZS1maWVsZC5tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7O0FBUW5HLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsTUFBTSxDQUFDLGdCQUFtQyxFQUFFLFVBQXVCO1FBQ3hFLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sR0FBRyxDQUFDLGVBQWdDLEVBQUUsVUFBdUI7UUFDbkUsTUFBTSxTQUFTLEdBQWMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFGLFNBQVMsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUV4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksZUFBZSxDQUFDLHVCQUF1QixJQUFJLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pHLGVBQWUsQ0FBQyx1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QUFTLENBQUMsQ0FBQztRQUVoRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RSxJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDakYsU0FBUyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBb0I7UUFDL0MsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDNUIsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQ3RGO2FBQU0sSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsUUFBcUI7UUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2dIQXBIVSxnQ0FBZ0M7d0VBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0MsbUJBRi9CLE1BQU07dUZBRVAsZ0NBQWdDO2NBSDVDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDb21wbGV4RmllbGRPdmVycmlkZSB9IGZyb20gJy4uL2RvbWFpbi93aXphcmQtcGFnZS1maWVsZC1jb21wbGV4LW92ZXJyaWRlLm1vZGVsJztcbmltcG9ydCB7IFdpemFyZFBhZ2VGaWVsZCB9IGZyb20gJy4uL2RvbWFpbi93aXphcmQtcGFnZS1maWVsZC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlciB7XG4gIHB1YmxpYyBtYXBBbGwod2l6YXJkUGFnZUZpZWxkczogV2l6YXJkUGFnZUZpZWxkW10sIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkW10ge1xuICAgIHJldHVybiB3aXphcmRQYWdlRmllbGRzLm1hcCh3aXphcmRGaWVsZCA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5tYXAod2l6YXJkRmllbGQsIGNhc2VGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXAod2l6YXJkUGFnZUZpZWxkOiBXaXphcmRQYWdlRmllbGQsIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkIHtcbiAgICBjb25zdCBjYXNlRmllbGQ6IENhc2VGaWVsZCA9IGNhc2VGaWVsZHMuZmluZChlID0+IGUuaWQgPT09IHdpemFyZFBhZ2VGaWVsZC5jYXNlX2ZpZWxkX2lkKTtcbiAgICBjYXNlRmllbGQud2l6YXJkUHJvcHMgPSB3aXphcmRQYWdlRmllbGQ7XG4gICAgY2FzZUZpZWxkLm9yZGVyID0gd2l6YXJkUGFnZUZpZWxkLm9yZGVyO1xuXG4gICAgdGhpcy5maXhTaG93Q29uZGl0aW9uUGF0aChjYXNlRmllbGQsICcnKTtcblxuICAgIGlmICh3aXphcmRQYWdlRmllbGQuY29tcGxleF9maWVsZF9vdmVycmlkZXMgJiYgd2l6YXJkUGFnZUZpZWxkLmNvbXBsZXhfZmllbGRfb3ZlcnJpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHdpemFyZFBhZ2VGaWVsZC5jb21wbGV4X2ZpZWxkX292ZXJyaWRlcy5mb3JFYWNoKChvdmVycmlkZTogQ29tcGxleEZpZWxkT3ZlcnJpZGUpID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzQ29tcGxleEZpZWxkT3ZlcnJpZGUob3ZlcnJpZGUsIGNhc2VGaWVsZCwgY2FzZUZpZWxkcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyB0aGlzIHdpbGwgZml4IHRoZSBDYXNlTGluayB0eXBlIGFzIHdlIGV4Y2x1ZGUgaXQgaW4gY2NkRmllbGRzRmlsdGVyIGRpcmVjdGl2ZVxuICAgIHRoaXMuaGlkZVBhcmVudElmQWxsQ2hpbGRyZW5IaWRkZW4oY2FzZUZpZWxkKTtcblxuICAgIHJldHVybiBjYXNlRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NDb21wbGV4RmllbGRPdmVycmlkZShvdmVycmlkZTogQ29tcGxleEZpZWxkT3ZlcnJpZGUsIGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSkge1xuICAgIGNvbnN0IGNhc2VGaWVsZElkcyA9IG92ZXJyaWRlLmNvbXBsZXhfZmllbGRfZWxlbWVudF9pZC5zcGxpdCgnLicpO1xuICAgIGxldCBjYXNlRmllbGRMZWFmOiBDYXNlRmllbGQ7XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBbXywgLi4udGFpbF0gPSBjYXNlRmllbGRJZHM7XG4gICAgICBjYXNlRmllbGRMZWFmID0gdGhpcy5nZXRDYXNlRmllbGRMZWFmKHRhaWwsIGNoaWxkcmVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FzZUZpZWxkTGVhZiA9IHRoaXMuZ2V0Q2FzZUZpZWxkTGVhZihjYXNlRmllbGRJZHMsIGNhc2VGaWVsZHMpO1xuICAgIH1cblxuICAgIGlmIChvdmVycmlkZS5kaXNwbGF5X2NvbnRleHQgIT09ICdISURERU4nKSB7XG4gICAgICBjYXNlRmllbGRMZWFmLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgY2FzZUZpZWxkTGVhZi5kaXNwbGF5X2NvbnRleHQgPSBvdmVycmlkZS5kaXNwbGF5X2NvbnRleHQ7XG4gICAgICBpZiAob3ZlcnJpZGUubGFiZWwgJiYgb3ZlcnJpZGUubGFiZWwubGVuZ3RoID4gMCkge1xuICAgICAgICBjYXNlRmllbGRMZWFmLmxhYmVsID0gb3ZlcnJpZGUubGFiZWw7XG4gICAgICB9XG4gICAgICBpZiAob3ZlcnJpZGUuaGludF90ZXh0ICYmIG92ZXJyaWRlLmhpbnRfdGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNhc2VGaWVsZExlYWYuaGludF90ZXh0ID0gb3ZlcnJpZGUuaGludF90ZXh0O1xuICAgICAgfVxuICAgICAgaWYgKG92ZXJyaWRlLnNob3dfY29uZGl0aW9uICYmIG92ZXJyaWRlLnNob3dfY29uZGl0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY2FzZUZpZWxkTGVhZi5zaG93X2NvbmRpdGlvbiA9IG92ZXJyaWRlLnNob3dfY29uZGl0aW9uO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjYXNlRmllbGRMZWFmLmhpZGRlbiA9IHRydWU7XG4gICAgICBjYXNlRmllbGRMZWFmLmRpc3BsYXlfY29udGV4dCA9IG92ZXJyaWRlLmRpc3BsYXlfY29udGV4dDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpeFNob3dDb25kaXRpb25QYXRoKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBwYXRoUHJlZml4OiBzdHJpbmcpIHtcbiAgICBpZiAoY2FzZUZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBjYXNlRmllbGQuc2hvd19jb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmFkZFBhdGhQcmVmaXhUb0NvbmRpdGlvbihjYXNlRmllbGQuc2hvd19jb25kaXRpb24sIHBhdGhQcmVmaXgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkcmVuQ2FzZUZpZWxkcyA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgIGNoaWxkcmVuQ2FzZUZpZWxkcy5mb3JFYWNoKGNvbGxlY3Rpb25DYXNlRmllbGQgPT4ge1xuICAgICAgdGhpcy5maXhTaG93Q29uZGl0aW9uUGF0aChjb2xsZWN0aW9uQ2FzZUZpZWxkLCB0aGlzLnByZXBhcmVQYXRoUHJlZml4KHBhdGhQcmVmaXgsIGNhc2VGaWVsZC5pZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlUGF0aFByZWZpeChwYXRoUHJlZml4OiBzdHJpbmcsIGNhc2VGaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBhdGhQcmVmaXgubGVuZ3RoID09PSAwID8gY2FzZUZpZWxkIDogYCR7cGF0aFByZWZpeH0uJHtjYXNlRmllbGR9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FzZUZpZWxkTGVhZihjYXNlRmllbGRJZDogc3RyaW5nW10sIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkIHtcbiAgICBjb25zdCBbaGVhZCwgLi4udGFpbF0gPSBjYXNlRmllbGRJZDtcbiAgICBpZiAoY2FzZUZpZWxkSWQubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBjYXNlTGVhZiA9IGNhc2VGaWVsZHMuZmluZChlID0+IGUuaWQgPT09IGhlYWQpO1xuICAgICAgaWYgKCFjYXNlTGVhZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGxlYWYgZm9yIGNhc2VGaWVsZElkICR7Y2FzZUZpZWxkSWQuam9pbignLicpfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNhc2VMZWFmO1xuICAgIH0gZWxzZSBpZiAoY2FzZUZpZWxkSWQubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgY2FzZUZpZWxkID0gY2FzZUZpZWxkcy5maW5kKGUgPT4gZS5pZCA9PT0gaGVhZCk7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpZWxkX3R5cGUgb3IgY29tcGxleF9maWVsZHMgbWlzc2luZyBmb3IgJHtjYXNlRmllbGRJZC5qb2luKCcuJyl9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5nZXRDYXNlRmllbGRMZWFmKHRhaWwsIGNoaWxkcmVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBsZWFmIGZvciBjYXNlRmllbGRJZCAke2Nhc2VGaWVsZElkLmpvaW4oJy4nKX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVQYXJlbnRJZkFsbENoaWxkcmVuSGlkZGVuKGNhc2VGaWVsZDogQ2FzZUZpZWxkKSB7XG4gICAgY29uc3QgY2hpbGRyZW5DYXNlRmllbGRzID0gdGhpcy5nZXRDYXNlRmllbGRDaGlsZHJlbihjYXNlRmllbGQpO1xuXG4gICAgY2hpbGRyZW5DYXNlRmllbGRzLmZvckVhY2goZSA9PiB0aGlzLmhpZGVQYXJlbnRJZkFsbENoaWxkcmVuSGlkZGVuKGUpKTtcblxuICAgIGlmIChjaGlsZHJlbkNhc2VGaWVsZHMubGVuZ3RoID4gMCAmJiB0aGlzLmFsbENhc2VGaWVsZHNIaWRkZW4oY2hpbGRyZW5DYXNlRmllbGRzKSkge1xuICAgICAgY2FzZUZpZWxkLmhpZGRlbiA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXNlRmllbGRDaGlsZHJlbihjYXNlRmllbGQ6IENhc2VGaWVsZCkge1xuICAgIGxldCBjaGlsZHJlbkNhc2VGaWVsZHMgPSBbXTtcbiAgICBpZiAoY2FzZUZpZWxkLmlzQ29sbGVjdGlvbigpKSB7XG4gICAgICBjaGlsZHJlbkNhc2VGaWVsZHMgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMgfHwgW107XG4gICAgfSBlbHNlIGlmIChjYXNlRmllbGQuaXNDb21wbGV4KCkpIHtcbiAgICAgIGNoaWxkcmVuQ2FzZUZpZWxkcyA9IGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzIHx8IFtdO1xuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW5DYXNlRmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxDYXNlRmllbGRzSGlkZGVuKGNoaWxkcmVuOiBDYXNlRmllbGRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhY2hpbGRyZW4uc29tZShlID0+IGUuaGlkZGVuICE9PSB0cnVlKTtcbiAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLXBhZ2UtZmllbGQtdG8tY2FzZS1maWVsZC5tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS1lZGl0b3Ivc2VydmljZXMvd2l6YXJkLXBhZ2UtZmllbGQtdG8tY2FzZS1maWVsZC5tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0VBQW9FLENBQUM7O0FBUW5HLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsTUFBTSxDQUFDLGdCQUFtQyxFQUFFLFVBQXVCO1FBQ3hFLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sR0FBRyxDQUFDLGVBQWdDLEVBQUUsVUFBdUI7UUFDbkUsTUFBTSxTQUFTLEdBQWMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFGLFNBQVMsQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUV4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLElBQUksZUFBZSxDQUFDLHVCQUF1QixJQUFJLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pHLGVBQWUsQ0FBQyx1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QUFTLENBQUMsQ0FBQztRQUVoRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RSxJQUFJLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDakYsU0FBUyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDeEIsU0FBUyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsU0FBb0I7UUFDL0MsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDNUIsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQ3RGO2FBQU0sSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsUUFBcUI7UUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7O2dIQXJIVSxnQ0FBZ0M7d0VBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0MsbUJBRi9CLE1BQU07dUZBRVAsZ0NBQWdDO2NBSDVDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDb21wbGV4RmllbGRPdmVycmlkZSB9IGZyb20gJy4uL2RvbWFpbi93aXphcmQtcGFnZS1maWVsZC1jb21wbGV4LW92ZXJyaWRlLm1vZGVsJztcbmltcG9ydCB7IFdpemFyZFBhZ2VGaWVsZCB9IGZyb20gJy4uL2RvbWFpbi93aXphcmQtcGFnZS1maWVsZC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXaXphcmRQYWdlRmllbGRUb0Nhc2VGaWVsZE1hcHBlciB7XG4gIHB1YmxpYyBtYXBBbGwod2l6YXJkUGFnZUZpZWxkczogV2l6YXJkUGFnZUZpZWxkW10sIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkW10ge1xuICAgIHJldHVybiB3aXphcmRQYWdlRmllbGRzLm1hcCh3aXphcmRGaWVsZCA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5tYXAod2l6YXJkRmllbGQsIGNhc2VGaWVsZHMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXAod2l6YXJkUGFnZUZpZWxkOiBXaXphcmRQYWdlRmllbGQsIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkIHtcbiAgICBjb25zdCBjYXNlRmllbGQ6IENhc2VGaWVsZCA9IGNhc2VGaWVsZHMuZmluZChlID0+IGUuaWQgPT09IHdpemFyZFBhZ2VGaWVsZC5jYXNlX2ZpZWxkX2lkKTtcbiAgICBjYXNlRmllbGQud2l6YXJkUHJvcHMgPSB3aXphcmRQYWdlRmllbGQ7XG4gICAgY2FzZUZpZWxkLm9yZGVyID0gd2l6YXJkUGFnZUZpZWxkLm9yZGVyO1xuXG4gICAgdGhpcy5maXhTaG93Q29uZGl0aW9uUGF0aChjYXNlRmllbGQsICcnKTtcblxuICAgIGlmICh3aXphcmRQYWdlRmllbGQuY29tcGxleF9maWVsZF9vdmVycmlkZXMgJiYgd2l6YXJkUGFnZUZpZWxkLmNvbXBsZXhfZmllbGRfb3ZlcnJpZGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHdpemFyZFBhZ2VGaWVsZC5jb21wbGV4X2ZpZWxkX292ZXJyaWRlcy5mb3JFYWNoKChvdmVycmlkZTogQ29tcGxleEZpZWxkT3ZlcnJpZGUpID0+IHtcbiAgICAgICAgdGhpcy5wcm9jZXNzQ29tcGxleEZpZWxkT3ZlcnJpZGUob3ZlcnJpZGUsIGNhc2VGaWVsZCwgY2FzZUZpZWxkcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyB0aGlzIHdpbGwgZml4IHRoZSBDYXNlTGluayB0eXBlIGFzIHdlIGV4Y2x1ZGUgaXQgaW4gY2NkRmllbGRzRmlsdGVyIGRpcmVjdGl2ZVxuICAgIHRoaXMuaGlkZVBhcmVudElmQWxsQ2hpbGRyZW5IaWRkZW4oY2FzZUZpZWxkKTtcblxuICAgIHJldHVybiBjYXNlRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NDb21wbGV4RmllbGRPdmVycmlkZShvdmVycmlkZTogQ29tcGxleEZpZWxkT3ZlcnJpZGUsIGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjYXNlRmllbGRzOiBDYXNlRmllbGRbXSkge1xuICAgIGNvbnN0IGNhc2VGaWVsZElkcyA9IG92ZXJyaWRlLmNvbXBsZXhfZmllbGRfZWxlbWVudF9pZC5zcGxpdCgnLicpO1xuICAgIGxldCBjYXNlRmllbGRMZWFmOiBDYXNlRmllbGQ7XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBbXywgLi4udGFpbF0gPSBjYXNlRmllbGRJZHM7XG4gICAgICBjYXNlRmllbGRMZWFmID0gdGhpcy5nZXRDYXNlRmllbGRMZWFmKHRhaWwsIGNoaWxkcmVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FzZUZpZWxkTGVhZiA9IHRoaXMuZ2V0Q2FzZUZpZWxkTGVhZihjYXNlRmllbGRJZHMsIGNhc2VGaWVsZHMpO1xuICAgIH1cblxuICAgIGlmIChvdmVycmlkZS5kaXNwbGF5X2NvbnRleHQgIT09ICdISURERU4nKSB7XG4gICAgICBjYXNlRmllbGRMZWFmLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgY2FzZUZpZWxkTGVhZi5kaXNwbGF5X2NvbnRleHQgPSBvdmVycmlkZS5kaXNwbGF5X2NvbnRleHQ7XG4gICAgICBpZiAob3ZlcnJpZGUubGFiZWwgJiYgb3ZlcnJpZGUubGFiZWwubGVuZ3RoID4gMCkge1xuICAgICAgICBjYXNlRmllbGRMZWFmLmxhYmVsID0gb3ZlcnJpZGUubGFiZWw7XG4gICAgICB9XG4gICAgICBpZiAob3ZlcnJpZGUuaGludF90ZXh0ICYmIG92ZXJyaWRlLmhpbnRfdGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNhc2VGaWVsZExlYWYuaGludF90ZXh0ID0gb3ZlcnJpZGUuaGludF90ZXh0O1xuICAgICAgfVxuICAgICAgaWYgKG92ZXJyaWRlLnNob3dfY29uZGl0aW9uICYmIG92ZXJyaWRlLnNob3dfY29uZGl0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY2FzZUZpZWxkTGVhZi5zaG93X2NvbmRpdGlvbiA9IG92ZXJyaWRlLnNob3dfY29uZGl0aW9uO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjYXNlRmllbGRMZWFmLmhpZGRlbiA9IHRydWU7XG4gICAgICBjYXNlRmllbGRMZWFmLmRpc3BsYXlfY29udGV4dCA9IG92ZXJyaWRlLmRpc3BsYXlfY29udGV4dDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpeFNob3dDb25kaXRpb25QYXRoKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBwYXRoUHJlZml4OiBzdHJpbmcpIHtcbiAgICBpZiAoY2FzZUZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBjYXNlRmllbGQuc2hvd19jb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmFkZFBhdGhQcmVmaXhUb0NvbmRpdGlvbihjYXNlRmllbGQuc2hvd19jb25kaXRpb24sIHBhdGhQcmVmaXgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkcmVuQ2FzZUZpZWxkcyA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgIGNoaWxkcmVuQ2FzZUZpZWxkcy5mb3JFYWNoKGNvbGxlY3Rpb25DYXNlRmllbGQgPT4ge1xuICAgICAgdGhpcy5maXhTaG93Q29uZGl0aW9uUGF0aChjb2xsZWN0aW9uQ2FzZUZpZWxkLCB0aGlzLnByZXBhcmVQYXRoUHJlZml4KHBhdGhQcmVmaXgsIGNhc2VGaWVsZC5pZCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlUGF0aFByZWZpeChwYXRoUHJlZml4OiBzdHJpbmcsIGNhc2VGaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBhdGhQcmVmaXgubGVuZ3RoID09PSAwID8gY2FzZUZpZWxkIDogYCR7cGF0aFByZWZpeH0uJHtjYXNlRmllbGR9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FzZUZpZWxkTGVhZihjYXNlRmllbGRJZDogc3RyaW5nW10sIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdKTogQ2FzZUZpZWxkIHtcbiAgICBjb25zdCBbaGVhZCwgLi4udGFpbF0gPSBjYXNlRmllbGRJZDtcbiAgICBpZiAoY2FzZUZpZWxkSWQubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBjYXNlTGVhZiA9IGNhc2VGaWVsZHMuZmluZChlID0+IGUuaWQgPT09IGhlYWQpO1xuICAgICAgaWYgKCFjYXNlTGVhZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGxlYWYgZm9yIGNhc2VGaWVsZElkICR7Y2FzZUZpZWxkSWQuam9pbignLicpfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNhc2VMZWFmO1xuICAgIH0gZWxzZSBpZiAoY2FzZUZpZWxkSWQubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3QgY2FzZUZpZWxkID0gY2FzZUZpZWxkcy5maW5kKGUgPT4gZS5pZCA9PT0gaGVhZCk7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuZ2V0Q2FzZUZpZWxkQ2hpbGRyZW4oY2FzZUZpZWxkKTtcblxuICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGZpZWxkX3R5cGUgb3IgY29tcGxleF9maWVsZHMgbWlzc2luZyBmb3IgJHtjYXNlRmllbGRJZC5qb2luKCcuJyl9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5nZXRDYXNlRmllbGRMZWFmKHRhaWwsIGNoaWxkcmVuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBsZWFmIGZvciBjYXNlRmllbGRJZCAke2Nhc2VGaWVsZElkLmpvaW4oJy4nKX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhpZGVQYXJlbnRJZkFsbENoaWxkcmVuSGlkZGVuKGNhc2VGaWVsZDogQ2FzZUZpZWxkKSB7XG4gICAgY29uc3QgY2hpbGRyZW5DYXNlRmllbGRzID0gdGhpcy5nZXRDYXNlRmllbGRDaGlsZHJlbihjYXNlRmllbGQpO1xuXG4gICAgY2hpbGRyZW5DYXNlRmllbGRzLmZvckVhY2goZSA9PiB0aGlzLmhpZGVQYXJlbnRJZkFsbENoaWxkcmVuSGlkZGVuKGUpKTtcblxuICAgIGlmIChjaGlsZHJlbkNhc2VGaWVsZHMubGVuZ3RoID4gMCAmJiB0aGlzLmFsbENhc2VGaWVsZHNIaWRkZW4oY2hpbGRyZW5DYXNlRmllbGRzKSkge1xuICAgICAgY2FzZUZpZWxkLmhpZGRlbiA9IHRydWU7XG4gICAgICBjYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID0gJ0hJRERFTic7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXNlRmllbGRDaGlsZHJlbihjYXNlRmllbGQ6IENhc2VGaWVsZCkge1xuICAgIGxldCBjaGlsZHJlbkNhc2VGaWVsZHMgPSBbXTtcbiAgICBpZiAoY2FzZUZpZWxkLmlzQ29sbGVjdGlvbigpKSB7XG4gICAgICBjaGlsZHJlbkNhc2VGaWVsZHMgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMgfHwgW107XG4gICAgfSBlbHNlIGlmIChjYXNlRmllbGQuaXNDb21wbGV4KCkpIHtcbiAgICAgIGNoaWxkcmVuQ2FzZUZpZWxkcyA9IGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzIHx8IFtdO1xuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW5DYXNlRmllbGRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxDYXNlRmllbGRzSGlkZGVuKGNoaWxkcmVuOiBDYXNlRmllbGRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhY2hpbGRyZW4uc29tZShlID0+IGUuaGlkZGVuICE9PSB0cnVlKTtcbiAgfVxufVxuIl19
@@ -77,21 +77,16 @@ export class CaseEventTriggerComponent {
77
77
  // Bypass validation if the CaseEventData data object contains a FlagLauncher field; this field type cannot be
78
78
  // validated like regular fields. Need to match this field id against that of the defined FlagLauncher CaseField
79
79
  // (if it exists on any CaseTab)
80
- let flagLauncherCaseField;
80
+ const flagLauncherCaseFields = [];
81
81
  if (this.caseDetails.tabs) {
82
82
  for (const tab of this.caseDetails.tabs) {
83
83
  if (tab.fields) {
84
- flagLauncherCaseField = tab.fields.find(caseField => FieldsUtils.isFlagLauncherCaseField(caseField));
85
- // Stop searching for a FlagLauncher field as soon as it is found
86
- if (flagLauncherCaseField) {
87
- break;
88
- }
84
+ flagLauncherCaseFields.push(...tab.fields.filter(caseField => FieldsUtils.isFlagLauncherCaseField(caseField)));
89
85
  }
90
86
  }
91
87
  }
92
- return flagLauncherCaseField && sanitizedEditForm.data.hasOwnProperty(flagLauncherCaseField.id)
93
- ? of(null)
94
- : this.casesService.validateCase(this.caseDetails.case_type.id, sanitizedEditForm, pageId);
88
+ const isThereAnyFlagLauncherField = flagLauncherCaseFields.length > 0;
89
+ return isThereAnyFlagLauncherField ? of(null) : this.casesService.validateCase(this.caseDetails.case_type.id, sanitizedEditForm, pageId);
95
90
  };
96
91
  }
97
92
  submitted(event) {
@@ -142,4 +137,4 @@ CaseEventTriggerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseEventTrigge
142
137
  templateUrl: './case-event-trigger.html'
143
138
  }]
144
139
  }], function () { return [{ type: i0.NgZone }, { type: i1.CasesService }, { type: i1.CaseNotifier }, { type: i2.Router }, { type: i3.AlertService }, { type: i2.ActivatedRoute }, { type: i4.CaseReferencePipe }, { type: i3.ActivityPollingService }]; }, null); })();
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQWtFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNQL0QsOEJBQStDO0lBQzdDLGtDQUFtRjtJQUNuRix3Q0FLK0M7SUFEaEMsd01BQXNCLDBNQUFBO0lBQ1UsaUJBQWdCO0lBQ2pFLGlCQUFNOzs7SUFQVSxlQUE4QjtJQUE5QixtREFBOEIsOEJBQUE7SUFDN0IsZUFBMkI7SUFBM0IsZ0RBQTJCLDJCQUFB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IENvbXBvbmVudCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgQWN0aXZpdHksIENhc2VFdmVudERhdGEsIENhc2VFdmVudFRyaWdnZXIsIENhc2VGaWVsZCwgQ2FzZVZpZXcsIERpc3BsYXlNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi4vLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHlQb2xsaW5nU2VydmljZSwgQWxlcnRTZXJ2aWNlLCBFdmVudFN0YXR1c1NlcnZpY2UsIEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyLCBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWV2ZW50LXRyaWdnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VFdmVudFRyaWdnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBCQU5ORVIgPSBEaXNwbGF5TW9kZS5CQU5ORVI7XG4gIHB1YmxpYyBldmVudFRyaWdnZXI6IENhc2VFdmVudFRyaWdnZXI7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBhY3Rpdml0eVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgY2FzZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcGFyZW50VXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZVJlZmVyZW5jZVBpcGU6IENhc2VSZWZlcmVuY2VQaXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlQb2xsaW5nU2VydmljZTogQWN0aXZpdHlQb2xsaW5nU2VydmljZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNhc2VTdWJzY3JpcHRpb24gPSB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5zdWJzY3JpYmUoY2FzZURldGFpbHMgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuZXZlbnRUcmlnZ2VyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmV2ZW50VHJpZ2dlcjtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbiA9IHRoaXMucG9zdEVkaXRBY3Rpdml0eSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ1Bvc3RlZCBFRElUIGFjdGl2aXR5IGFuZCByZXN1bHQgaXM6ICcgKyBKU09OLnN0cmluZ2lmeShfcmVzb2x2ZWQpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZS5wYXJlbnQudXJsLnN1YnNjcmliZShwYXRoID0+IHtcbiAgICAgIHRoaXMucGFyZW50VXJsID0gYC8ke3BhdGguam9pbignLycpfWA7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlTdWJzY3JpcHRpb24gJiYgdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLmlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlICYmIHRoaXMuY2FzZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXNlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBvc3RFZGl0QWN0aXZpdHkoKTogT2JzZXJ2YWJsZTxBY3Rpdml0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlQb2xsaW5nU2VydmljZS5wb3N0RWRpdEFjdGl2aXR5KHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSkgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhKSA9PlxuICAgICAgdGhpcy5jYXNlc1NlcnZpY2UuY3JlYXRlRXZlbnQodGhpcy5jYXNlRGV0YWlscywgc2FuaXRpemVkRWRpdEZvcm0pO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIChzYW5pdGl6ZWRFZGl0Rm9ybTogQ2FzZUV2ZW50RGF0YSwgcGFnZUlkOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIEJ5cGFzcyB2YWxpZGF0aW9uIGlmIHRoZSBDYXNlRXZlbnREYXRhIGRhdGEgb2JqZWN0IGNvbnRhaW5zIGEgRmxhZ0xhdW5jaGVyIGZpZWxkOyB0aGlzIGZpZWxkIHR5cGUgY2Fubm90IGJlXG4gICAgICAvLyB2YWxpZGF0ZWQgbGlrZSByZWd1bGFyIGZpZWxkcy4gTmVlZCB0byBtYXRjaCB0aGlzIGZpZWxkIGlkIGFnYWluc3QgdGhhdCBvZiB0aGUgZGVmaW5lZCBGbGFnTGF1bmNoZXIgQ2FzZUZpZWxkXG4gICAgICAvLyAoaWYgaXQgZXhpc3RzIG9uIGFueSBDYXNlVGFiKVxuICAgICAgbGV0IGZsYWdMYXVuY2hlckNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICAgICAgaWYgKHRoaXMuY2FzZURldGFpbHMudGFicykge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgICBpZiAodGFiLmZpZWxkcykge1xuICAgICAgICAgICAgZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKTtcbiAgICAgICAgICAgIC8vIFN0b3Agc2VhcmNoaW5nIGZvciBhIEZsYWdMYXVuY2hlciBmaWVsZCBhcyBzb29uIGFzIGl0IGlzIGZvdW5kXG4gICAgICAgICAgICBpZiAoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkICYmIHNhbml0aXplZEVkaXRGb3JtLmRhdGEuaGFzT3duUHJvcGVydHkoZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkLmlkKVxuICAgICAgICA/IG9mKG51bGwpXG4gICAgICAgIDogdGhpcy5jYXNlc1NlcnZpY2UudmFsaWRhdGVDYXNlKHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCBzYW5pdGl6ZWRFZGl0Rm9ybSwgcGFnZUlkKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdHRlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRTdGF0dXM6IHN0cmluZyA9IGV2ZW50WydzdGF0dXMnXTtcbiAgICB0aGlzLnJvdXRlclxuICAgICAgLm5hdmlnYXRlKFt0aGlzLnBhcmVudFVybF0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VSZWZlcmVuY2UgPSB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IHsgQ0FTRVJFRkVSRU5DRTogY2FzZVJlZmVyZW5jZSwgTkFNRTogdGhpcy5ldmVudFRyaWdnZXIubmFtZSB9O1xuICAgICAgICBpZiAoRXZlbnRTdGF0dXNTZXJ2aWNlLmlzSW5jb21wbGV0ZShldmVudFN0YXR1cykpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuaW5nKHtcbiAgICAgICAgICAgIHBocmFzZTogYENhc2UgIyVDQVNFUkVGRVJFTkNFJSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICVOQU1FJVxuICAgICAgICAgICAgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh7XG4gICAgICAgICAgICBwaHJhc2U6ICdDYXNlICMlQ0FTRVJFRkVSRU5DRSUgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGV2ZW50OiAlTkFNRSUnLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzLFxuICAgICAgICAgICAgcHJlc2VydmU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnbGlua0Nhc2VzJykpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSwgeyBmcmFnbWVudDogJ0xpbmtlZCBjYXNlcycgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wYXJlbnRVcmxdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmV2ZW50VHJpZ2dlciAmJiB0aGlzLmNhc2VEZXRhaWxzKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzRGF0YUxvYWRlZCgpXCIgY2xhc3M9XCJzY3JlZW4tOTkwXCI+XG4gIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJjYXNlRGV0YWlscy5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIkJBTk5FUlwiPjwvY2NkLWFjdGl2aXR5PlxuICA8Y2NkLWNhc2UtZWRpdCBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIlxuICAgICAgICAgICAgICAgICBbc3VibWl0XT1cInN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgW3ZhbGlkYXRlXT1cInZhbGlkYXRlKClcIlxuICAgICAgICAgICAgICAgICBbZXZlbnRUcmlnZ2VyXT1cImV2ZW50VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgIChjYW5jZWxsZWQpPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgICAgICAoc3VibWl0dGVkKT1cInN1Ym1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtY2FzZS1lZGl0PlxuPC9kaXY+XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLWV2ZW50LXRyaWdnZXIvY2FzZS1ldmVudC10cmlnZ2VyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQWtFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUcsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNQL0QsOEJBQStDO0lBQzdDLGtDQUFtRjtJQUNuRix3Q0FLK0M7SUFEaEMsd01BQXNCLDBNQUFBO0lBQ1UsaUJBQWdCO0lBQ2pFLGlCQUFNOzs7SUFQVSxlQUE4QjtJQUE5QixtREFBOEIsOEJBQUE7SUFDN0IsZUFBMkI7SUFBM0IsZ0RBQTJCLDJCQUFB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T25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQ2FzZUV2ZW50RGF0YSwgQ2FzZUV2ZW50VHJpZ2dlciwgQ2FzZUZpZWxkLCBDYXNlVmlldywgRGlzcGxheU1vZGUgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLCBBbGVydFNlcnZpY2UsIEV2ZW50U3RhdHVzU2VydmljZSwgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIsIENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL2Nhc2UtZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZXZlbnQtdHJpZ2dlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWV2ZW50LXRyaWdnZXIuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUV2ZW50VHJpZ2dlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIEJBTk5FUiA9IERpc3BsYXlNb2RlLkJBTk5FUjtcbiAgcHVibGljIGV2ZW50VHJpZ2dlcjogQ2FzZUV2ZW50VHJpZ2dlcjtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGFjdGl2aXR5U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBjYXNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHB1YmxpYyBwYXJlbnRVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVBvbGxpbmdTZXJ2aWNlOiBBY3Rpdml0eVBvbGxpbmdTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FzZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZU5vdGlmaWVyLmNhc2VWaWV3LnN1YnNjcmliZShjYXNlRGV0YWlscyA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5ldmVudFRyaWdnZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZXZlbnRUcmlnZ2VyO1xuICAgIGlmICh0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UuaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggKCkgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uID0gdGhpcy5wb3N0RWRpdEFjdGl2aXR5KCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZygnUG9zdGVkIEVESVQgYWN0aXZpdHkgYW5kIHJlc3VsdCBpczogJyArIEpTT04uc3RyaW5naWZ5KF9yZXNvbHZlZCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJvdXRlLnBhcmVudC51cmwuc3Vic2NyaWJlKHBhdGggPT4ge1xuICAgICAgdGhpcy5wYXJlbnRVcmwgPSBgLyR7cGF0aC5qb2luKCcvJyl9YDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVN1YnNjcmlwdGlvbiAmJiB0aGlzLmFjdGl2aXR5UG9sbGluZ1NlcnZpY2UuaXNFbmFibGVkKSB7XG4gICAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UgJiYgdGhpcy5jYXNlU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNhc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcG9zdEVkaXRBY3Rpdml0eSgpOiBPYnNlcnZhYmxlPEFjdGl2aXR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVBvbGxpbmdTZXJ2aWNlLnBvc3RFZGl0QWN0aXZpdHkodGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhKSA9PiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiAoc2FuaXRpemVkRWRpdEZvcm06IENhc2VFdmVudERhdGEpID0+XG4gICAgICB0aGlzLmNhc2VzU2VydmljZS5jcmVhdGVFdmVudCh0aGlzLmNhc2VEZXRhaWxzLCBzYW5pdGl6ZWRFZGl0Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoKTogKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhLCBwYWdlSWQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gKHNhbml0aXplZEVkaXRGb3JtOiBDYXNlRXZlbnREYXRhLCBwYWdlSWQ6IHN0cmluZykgPT4ge1xuICAgICAgLy8gQnlwYXNzIHZhbGlkYXRpb24gaWYgdGhlIENhc2VFdmVudERhdGEgZGF0YSBvYmplY3QgY29udGFpbnMgYSBGbGFnTGF1bmNoZXIgZmllbGQ7IHRoaXMgZmllbGQgdHlwZSBjYW5ub3QgYmVcbiAgICAgIC8vIHZhbGlkYXRlZCBsaWtlIHJlZ3VsYXIgZmllbGRzLiBOZWVkIHRvIG1hdGNoIHRoaXMgZmllbGQgaWQgYWdhaW5zdCB0aGF0IG9mIHRoZSBkZWZpbmVkIEZsYWdMYXVuY2hlciBDYXNlRmllbGRcbiAgICAgIC8vIChpZiBpdCBleGlzdHMgb24gYW55IENhc2VUYWIpXG4gICAgICBjb25zdCBmbGFnTGF1bmNoZXJDYXNlRmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuICAgICAgaWYgKHRoaXMuY2FzZURldGFpbHMudGFicykge1xuICAgICAgICBmb3IgKGNvbnN0IHRhYiBvZiB0aGlzLmNhc2VEZXRhaWxzLnRhYnMpIHtcbiAgICAgICAgICBpZiAodGFiLmZpZWxkcykge1xuICAgICAgICAgICAgZmxhZ0xhdW5jaGVyQ2FzZUZpZWxkcy5wdXNoKC4uLnRhYi5maWVsZHMuZmlsdGVyKGNhc2VGaWVsZCA9PiBGaWVsZHNVdGlscy5pc0ZsYWdMYXVuY2hlckNhc2VGaWVsZChjYXNlRmllbGQpKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzVGhlcmVBbnlGbGFnTGF1bmNoZXJGaWVsZCA9IGZsYWdMYXVuY2hlckNhc2VGaWVsZHMubGVuZ3RoID4gMDtcblxuICAgICAgcmV0dXJuIGlzVGhlcmVBbnlGbGFnTGF1bmNoZXJGaWVsZCA/IG9mKG51bGwpIDogdGhpcy5jYXNlc1NlcnZpY2UudmFsaWRhdGVDYXNlKHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCBzYW5pdGl6ZWRFZGl0Rm9ybSwgcGFnZUlkKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdHRlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZXZlbnRTdGF0dXM6IHN0cmluZyA9IGV2ZW50WydzdGF0dXMnXTtcbiAgICB0aGlzLnJvdXRlclxuICAgICAgLm5hdmlnYXRlKFt0aGlzLnBhcmVudFVybF0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VSZWZlcmVuY2UgPSB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybSh0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQudG9TdHJpbmcoKSk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50cyA9IHsgQ0FTRVJFRkVSRU5DRTogY2FzZVJlZmVyZW5jZSwgTkFNRTogdGhpcy5ldmVudFRyaWdnZXIubmFtZSB9O1xuICAgICAgICBpZiAoRXZlbnRTdGF0dXNTZXJ2aWNlLmlzSW5jb21wbGV0ZShldmVudFN0YXR1cykpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuaW5nKHtcbiAgICAgICAgICAgIHBocmFzZTogYENhc2UgIyVDQVNFUkVGRVJFTkNFJSBoYXMgYmVlbiB1cGRhdGVkIHdpdGggZXZlbnQ6ICVOQU1FJVxuICAgICAgICAgICAgYnV0IHRoZSBjYWxsYmFjayBzZXJ2aWNlIGNhbm5vdCBiZSBjb21wbGV0ZWRgLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2Vzcyh7XG4gICAgICAgICAgICBwaHJhc2U6ICdDYXNlICMlQ0FTRVJFRkVSRU5DRSUgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIGV2ZW50OiAlTkFNRSUnLFxuICAgICAgICAgICAgcmVwbGFjZW1lbnRzLFxuICAgICAgICAgICAgcHJlc2VydmU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5yb3V0ZXIudXJsICYmIHRoaXMucm91dGVyLnVybC5pbmNsdWRlcygnbGlua0Nhc2VzJykpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5jYXNlRGV0YWlscy5jYXNlX2lkXSwgeyBmcmFnbWVudDogJ0xpbmtlZCBjYXNlcycgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wYXJlbnRVcmxdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEYXRhTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmV2ZW50VHJpZ2dlciAmJiB0aGlzLmNhc2VEZXRhaWxzKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzRGF0YUxvYWRlZCgpXCIgY2xhc3M9XCJzY3JlZW4tOTkwXCI+XG4gIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJjYXNlRGV0YWlscy5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIkJBTk5FUlwiPjwvY2NkLWFjdGl2aXR5PlxuICA8Y2NkLWNhc2UtZWRpdCBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIlxuICAgICAgICAgICAgICAgICBbc3VibWl0XT1cInN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgW3ZhbGlkYXRlXT1cInZhbGlkYXRlKClcIlxuICAgICAgICAgICAgICAgICBbZXZlbnRUcmlnZ2VyXT1cImV2ZW50VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgIChjYW5jZWxsZWQpPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgICAgICAoc3VibWl0dGVkKT1cInN1Ym1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtY2FzZS1lZGl0PlxuPC9kaXY+XG4iXX0=