@hmcts/ccd-case-ui-toolkit 6.19.8 → 6.19.9-case-flags-v2-1-manage-case-flags-missing-header

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 +9298 -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 +5 -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 +6906 -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
@@ -1,107 +1,128 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
+ import { RpxTranslationService } from 'rpx-xui-translation';
3
4
  import { map, tap } from 'rxjs/operators';
4
- import { CaseFlagFieldState, CaseFlagWizardStepTitle, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep } from '../../enums';
5
+ import { FlagType } from '../../../../../domain/case-flag';
6
+ import { CaseFlagFieldState, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep } from '../../enums';
7
+ import { SearchLanguageInterpreterControlNames } from './search-language-interpreter-control-names.enum';
5
8
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/material/input";
9
- import * as i4 from "@angular/material/autocomplete";
10
- import * as i5 from "@angular/material/core";
11
- function SearchLanguageInterpreterComponent_div_8_Template(rf, ctx) { if (rf & 1) {
9
+ import * as i1 from "rpx-xui-translation";
10
+ function SearchLanguageInterpreterComponent_div_10_Template(rf, ctx) { if (rf & 1) {
12
11
  i0.ɵɵelementStart(0, "div", 20);
13
12
  i0.ɵɵelementStart(1, "span", 21);
14
- i0.ɵɵtext(2, "Error:");
13
+ i0.ɵɵtext(2);
14
+ i0.ɵɵpipe(3, "rpxTranslate");
15
15
  i0.ɵɵelementEnd();
16
- i0.ɵɵtext(3);
16
+ i0.ɵɵtext(4);
17
+ i0.ɵɵpipe(5, "rpxTranslate");
17
18
  i0.ɵɵelementEnd();
18
19
  } if (rf & 2) {
19
20
  const ctx_r0 = i0.ɵɵnextContext();
20
- i0.ɵɵadvance(3);
21
- i0.ɵɵtextInterpolate1(" ", ctx_r0.languageNotSelectedErrorMessage, " ");
21
+ i0.ɵɵadvance(2);
22
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
23
+ i0.ɵɵadvance(2);
24
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.languageNotSelectedErrorMessage), " ");
22
25
  } }
23
- function SearchLanguageInterpreterComponent_div_9_Template(rf, ctx) { if (rf & 1) {
26
+ function SearchLanguageInterpreterComponent_div_11_Template(rf, ctx) { if (rf & 1) {
24
27
  i0.ɵɵelementStart(0, "div", 22);
25
28
  i0.ɵɵelementStart(1, "span", 21);
26
- i0.ɵɵtext(2, "Error:");
29
+ i0.ɵɵtext(2);
30
+ i0.ɵɵpipe(3, "rpxTranslate");
27
31
  i0.ɵɵelementEnd();
28
- i0.ɵɵtext(3);
32
+ i0.ɵɵtext(4);
33
+ i0.ɵɵpipe(5, "rpxTranslate");
29
34
  i0.ɵɵelementEnd();
30
35
  } if (rf & 2) {
31
36
  const ctx_r1 = i0.ɵɵnextContext();
32
- i0.ɵɵadvance(3);
33
- i0.ɵɵtextInterpolate1(" ", ctx_r1.languageEnteredInBothFieldsErrorMessage, " ");
37
+ i0.ɵɵadvance(2);
38
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
39
+ i0.ɵɵadvance(2);
40
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r1.languageEnteredInBothFieldsErrorMessage), " ");
34
41
  } }
35
- function SearchLanguageInterpreterComponent_mat_option_13_Template(rf, ctx) { if (rf & 1) {
42
+ function SearchLanguageInterpreterComponent_mat_option_15_Template(rf, ctx) { if (rf & 1) {
36
43
  i0.ɵɵelementStart(0, "mat-option", 23);
37
44
  i0.ɵɵtext(1);
45
+ i0.ɵɵpipe(2, "languageInterpreterDisplay");
38
46
  i0.ɵɵelementEnd();
39
47
  } if (rf & 2) {
40
48
  const language_r6 = ctx.$implicit;
41
49
  i0.ɵɵproperty("value", language_r6);
42
50
  i0.ɵɵadvance(1);
43
- i0.ɵɵtextInterpolate1(" ", language_r6.value, " ");
51
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, language_r6), " ");
44
52
  } }
45
- function SearchLanguageInterpreterComponent_mat_option_15_Template(rf, ctx) { if (rf & 1) {
53
+ function SearchLanguageInterpreterComponent_mat_option_17_Template(rf, ctx) { if (rf & 1) {
46
54
  i0.ɵɵelementStart(0, "mat-option", 24);
47
- i0.ɵɵtext(1, "No results found");
55
+ i0.ɵɵtext(1);
56
+ i0.ɵɵpipe(2, "rpxTranslate");
48
57
  i0.ɵɵelementEnd();
58
+ } if (rf & 2) {
59
+ i0.ɵɵadvance(1);
60
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "No results found"));
49
61
  } }
50
- function SearchLanguageInterpreterComponent_div_21_div_4_Template(rf, ctx) { if (rf & 1) {
62
+ function SearchLanguageInterpreterComponent_div_24_div_5_Template(rf, ctx) { if (rf & 1) {
51
63
  i0.ɵɵelementStart(0, "div", 30);
52
64
  i0.ɵɵelementStart(1, "span", 21);
53
- i0.ɵɵtext(2, "Error:");
65
+ i0.ɵɵtext(2);
66
+ i0.ɵɵpipe(3, "rpxTranslate");
54
67
  i0.ɵɵelementEnd();
55
- i0.ɵɵtext(3);
68
+ i0.ɵɵtext(4);
69
+ i0.ɵɵpipe(5, "rpxTranslate");
56
70
  i0.ɵɵelementEnd();
57
71
  } if (rf & 2) {
58
72
  const ctx_r7 = i0.ɵɵnextContext(2);
59
- i0.ɵɵadvance(3);
60
- i0.ɵɵtextInterpolate1(" ", ctx_r7.languageNotEnteredErrorMessage, " ");
73
+ i0.ɵɵadvance(2);
74
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
75
+ i0.ɵɵadvance(2);
76
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r7.languageNotEnteredErrorMessage), " ");
61
77
  } }
62
- function SearchLanguageInterpreterComponent_div_21_div_5_Template(rf, ctx) { if (rf & 1) {
78
+ function SearchLanguageInterpreterComponent_div_24_div_6_Template(rf, ctx) { if (rf & 1) {
63
79
  i0.ɵɵelementStart(0, "div", 31);
64
80
  i0.ɵɵelementStart(1, "span", 21);
65
- i0.ɵɵtext(2, "Error:");
81
+ i0.ɵɵtext(2);
82
+ i0.ɵɵpipe(3, "rpxTranslate");
66
83
  i0.ɵɵelementEnd();
67
- i0.ɵɵtext(3);
84
+ i0.ɵɵtext(4);
85
+ i0.ɵɵpipe(5, "rpxTranslate");
68
86
  i0.ɵɵelementEnd();
69
87
  } if (rf & 2) {
70
88
  const ctx_r8 = i0.ɵɵnextContext(2);
71
- i0.ɵɵadvance(3);
72
- i0.ɵɵtextInterpolate1(" ", ctx_r8.languageCharLimitErrorMessage, " ");
89
+ i0.ɵɵadvance(2);
90
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
91
+ i0.ɵɵadvance(2);
92
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r8.languageCharLimitErrorMessage), " ");
73
93
  } }
74
94
  const _c0 = function (a0) { return { "form-group-error": a0 }; };
75
- function SearchLanguageInterpreterComponent_div_21_Template(rf, ctx) { if (rf & 1) {
95
+ function SearchLanguageInterpreterComponent_div_24_Template(rf, ctx) { if (rf & 1) {
76
96
  i0.ɵɵelementStart(0, "div", 25);
77
97
  i0.ɵɵelementStart(1, "div", 1);
78
98
  i0.ɵɵelementStart(2, "label", 26);
79
99
  i0.ɵɵtext(3);
100
+ i0.ɵɵpipe(4, "rpxTranslate");
80
101
  i0.ɵɵelementEnd();
81
- i0.ɵɵtemplate(4, SearchLanguageInterpreterComponent_div_21_div_4_Template, 4, 1, "div", 27);
82
- i0.ɵɵtemplate(5, SearchLanguageInterpreterComponent_div_21_div_5_Template, 4, 1, "div", 28);
83
- i0.ɵɵelement(6, "input", 29);
102
+ i0.ɵɵtemplate(5, SearchLanguageInterpreterComponent_div_24_div_5_Template, 6, 6, "div", 27);
103
+ i0.ɵɵtemplate(6, SearchLanguageInterpreterComponent_div_24_div_6_Template, 6, 6, "div", 28);
104
+ i0.ɵɵelement(7, "input", 29);
84
105
  i0.ɵɵelementEnd();
85
106
  i0.ɵɵelementEnd();
86
107
  } if (rf & 2) {
87
108
  const ctx_r5 = i0.ɵɵnextContext();
88
109
  i0.ɵɵadvance(1);
89
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c0, ctx_r5.languageNotEnteredErrorMessage || ctx_r5.languageCharLimitErrorMessage));
110
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r5.languageNotEnteredErrorMessage || ctx_r5.languageCharLimitErrorMessage));
111
+ i0.ɵɵadvance(2);
112
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 6, ctx_r5.searchLanguageInterpreterStep.INPUT_LABEL));
90
113
  i0.ɵɵadvance(2);
91
- i0.ɵɵtextInterpolate(ctx_r5.searchLanguageInterpreterStep.INPUT_LABEL);
92
- i0.ɵɵadvance(1);
93
114
  i0.ɵɵproperty("ngIf", ctx_r5.languageNotEnteredErrorMessage);
94
115
  i0.ɵɵadvance(1);
95
116
  i0.ɵɵproperty("ngIf", ctx_r5.languageCharLimitErrorMessage);
96
117
  i0.ɵɵadvance(1);
97
- i0.ɵɵproperty("name", ctx_r5.manualLanguageEntryControlName)("formControlName", ctx_r5.manualLanguageEntryControlName);
118
+ i0.ɵɵproperty("name", ctx_r5.SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY)("formControlName", ctx_r5.SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY);
98
119
  } }
99
120
  export class SearchLanguageInterpreterComponent {
100
- constructor() {
121
+ constructor(rpxTranslationService) {
122
+ this.rpxTranslationService = rpxTranslationService;
123
+ this.SearchLanguageInterpreterControlNames = SearchLanguageInterpreterControlNames;
101
124
  this.caseFlagStateEmitter = new EventEmitter();
102
125
  this.minSearchCharacters = 3;
103
- this.languageSearchTermControlName = 'languageSearchTerm';
104
- this.manualLanguageEntryControlName = 'manualLanguageEntry';
105
126
  this.searchTerm = '';
106
127
  this.isCheckboxEnabled = false;
107
128
  this.errorMessages = [];
@@ -117,15 +138,12 @@ export class SearchLanguageInterpreterComponent {
117
138
  return SearchLanguageInterpreterStep;
118
139
  }
119
140
  ngOnInit() {
120
- this.searchLanguageInterpreterTitle = this.flagCode === this.signLanguageFlagCode
121
- ? CaseFlagWizardStepTitle.SEARCH_SIGN_LANGUAGE_INTERPRETER
122
- : CaseFlagWizardStepTitle.SEARCH_LANGUAGE_INTERPRETER;
123
- this.searchLanguageInterpreterHint = this.flagCode === this.signLanguageFlagCode
141
+ this.searchLanguageInterpreterHint = this.flagType.flagCode === this.signLanguageFlagCode
124
142
  ? SearchLanguageInterpreterStep.SIGN_HINT_TEXT
125
143
  : SearchLanguageInterpreterStep.HINT_TEXT;
126
- this.formGroup.addControl(this.languageSearchTermControlName, new FormControl());
127
- this.formGroup.addControl(this.manualLanguageEntryControlName, new FormControl());
128
- this.filteredLanguages$ = this.formGroup.get(this.languageSearchTermControlName).valueChanges.pipe(
144
+ this.formGroup.addControl(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM, new FormControl());
145
+ this.formGroup.addControl(SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY, new FormControl());
146
+ this.filteredLanguages$ = this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).valueChanges.pipe(
129
147
  // Need to check type of input because it changes to object (i.e. Language) when a value is selected from the
130
148
  // autocomplete panel, instead of string when a value is being typed in
131
149
  map(input => typeof input === 'string' ? input : input.value), map(searchTerm => {
@@ -148,7 +166,7 @@ export class SearchLanguageInterpreterComponent {
148
166
  // If the checkbox is disabled, i.e. unchecked, then clear the manual language entry FormControl of any value to
149
167
  // prevent it being retained even when the field itself is hidden
150
168
  if (!this.isCheckboxEnabled) {
151
- this.formGroup.get(this.manualLanguageEntryControlName).setValue(null);
169
+ this.formGroup.get(SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY).setValue(null);
152
170
  }
153
171
  }
154
172
  displayLanguage(language) {
@@ -161,39 +179,39 @@ export class SearchLanguageInterpreterComponent {
161
179
  this.languageEnteredInBothFieldsErrorMessage = null;
162
180
  this.errorMessages = [];
163
181
  // Checkbox not enabled means the user has opted to search for and select the language
164
- if (!this.isCheckboxEnabled && !this.formGroup.get(this.languageSearchTermControlName).value) {
182
+ if (!this.isCheckboxEnabled && !this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).value) {
165
183
  this.languageNotSelectedErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED;
166
184
  this.errorMessages.push({
167
185
  title: '',
168
186
  description: SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED,
169
- fieldId: this.languageSearchTermControlName
187
+ fieldId: SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM
170
188
  });
171
189
  }
172
190
  // Checkbox enabled means the user has opted to enter the language manually
173
191
  if (this.isCheckboxEnabled) {
174
- if (!this.formGroup.get(this.manualLanguageEntryControlName).value) {
192
+ if (!this.formGroup.get(SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY).value) {
175
193
  this.languageNotEnteredErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED;
176
194
  this.errorMessages.push({
177
195
  title: '',
178
196
  description: SearchLanguageInterpreterErrorMessage.LANGUAGE_NOT_ENTERED,
179
- fieldId: this.manualLanguageEntryControlName
197
+ fieldId: SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY
180
198
  });
181
199
  }
182
- else if (this.formGroup.get(this.manualLanguageEntryControlName).value.length > this.languageMaxCharLimit) {
200
+ else if (this.formGroup.get(SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY).value.length > this.languageMaxCharLimit) {
183
201
  this.languageCharLimitErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_CHAR_LIMIT_EXCEEDED;
184
202
  this.errorMessages.push({
185
203
  title: '',
186
204
  description: SearchLanguageInterpreterErrorMessage.LANGUAGE_CHAR_LIMIT_EXCEEDED,
187
- fieldId: this.manualLanguageEntryControlName
205
+ fieldId: SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY
188
206
  });
189
207
  }
190
- else if (this.formGroup.get(this.languageSearchTermControlName).value) {
208
+ else if (this.formGroup.get(SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM).value) {
191
209
  // Language entry is permitted in only one field at a time
192
210
  this.languageEnteredInBothFieldsErrorMessage = SearchLanguageInterpreterErrorMessage.LANGUAGE_ENTERED_IN_BOTH_FIELDS;
193
211
  this.errorMessages.push({
194
212
  title: '',
195
213
  description: SearchLanguageInterpreterErrorMessage.LANGUAGE_ENTERED_IN_BOTH_FIELDS,
196
- fieldId: this.languageSearchTermControlName
214
+ fieldId: SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM
197
215
  });
198
216
  }
199
217
  }
@@ -202,80 +220,96 @@ export class SearchLanguageInterpreterComponent {
202
220
  if (searchTerm.length < this.minSearchCharacters) {
203
221
  return [];
204
222
  }
205
- return this.languages
206
- ? this.languages.filter(language => language.value.toLowerCase().includes(searchTerm.toLowerCase(), 0))
223
+ return this.flagType.listOfValues
224
+ ? this.flagType.listOfValues.filter(language =>
225
+ // If a language has both English and Welsh values, match only on the value appropriate for the page language,
226
+ // i.e. if RpxTranslationService.language is 'cy' then match on the value_cy property only. This is to prevent
227
+ // cross-matches, where a user enters a search term in English and sees the corresponding Welsh value (because
228
+ // the page language is Welsh) and vice versa
229
+ this.rpxTranslationService.language === 'cy' && language.value && language.value_cy &&
230
+ language.value_cy.toLowerCase().includes(searchTerm.toLowerCase(), 0) ||
231
+ this.rpxTranslationService.language !== 'cy' && language.value && language.value_cy &&
232
+ language.value.toLowerCase().includes(searchTerm.toLowerCase(), 0) ||
233
+ !language.value_cy && language.value.toLowerCase().includes(searchTerm.toLowerCase(), 0) ||
234
+ !language.value && language.value_cy.toLowerCase().includes(searchTerm.toLowerCase(), 0))
207
235
  : [];
208
236
  }
209
237
  }
210
- SearchLanguageInterpreterComponent.ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(); };
211
- SearchLanguageInterpreterComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", languages: "languages", flagCode: "flagCode" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 25, vars: 18, consts: [[1, "form-group", 3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--l", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], ["autoSearchLanguage", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
212
- i0.ɵɵelementStart(0, "div", 0);
238
+ SearchLanguageInterpreterComponent.ɵfac = function SearchLanguageInterpreterComponent_Factory(t) { return new (t || SearchLanguageInterpreterComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService)); };
239
+ SearchLanguageInterpreterComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchLanguageInterpreterComponent, selectors: [["ccd-search-language-interpreter"]], inputs: { formGroup: "formGroup", flagType: "flagType" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 29, vars: 28, consts: [[3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper"], [1, "govuk-label", "govuk-label--m", 3, "for"], ["id", "language-search-box-hint", 1, "govuk-hint"], [1, "auto-complete-container"], ["id", "language-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-entered-in-both-fields-error-message", "class", "govuk-error-message", 4, "ngIf"], ["aria-label", "Language search box", "matInput", "", "type", "text", 1, "govuk-input", "search-language__input", 3, "formControlName", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend", 3, "displayWith"], ["autoSearchLanguage", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], ["disabled", "", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes--conditional"], [1, "govuk-radios__item"], ["id", "enter-language-manually", "name", "enter-language-manually", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change"], ["for", "enter-language-manually", 1, "govuk-label", "govuk-checkboxes__label"], ["class", "govuk-radios__conditional", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], ["id", "language-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "language-entered-in-both-fields-error-message", 1, "govuk-error-message"], [3, "value"], ["disabled", ""], [1, "govuk-radios__conditional"], ["for", "manual-language-entry", 1, "govuk-label"], ["id", "language-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "language-char-limit-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "manual-language-entry", "type", "text", 1, "govuk-input", "govuk-input--width-20", 3, "name", "formControlName"], ["id", "language-not-entered-error-message", 1, "govuk-error-message"], ["id", "language-char-limit-error-message", 1, "govuk-error-message"]], template: function SearchLanguageInterpreterComponent_Template(rf, ctx) { if (rf & 1) {
240
+ i0.ɵɵelementContainerStart(0, 0);
213
241
  i0.ɵɵelementStart(1, "div", 1);
214
242
  i0.ɵɵelementStart(2, "h1", 2);
215
243
  i0.ɵɵelementStart(3, "label", 3);
216
244
  i0.ɵɵtext(4);
245
+ i0.ɵɵpipe(5, "flagFieldDisplay");
217
246
  i0.ɵɵelementEnd();
218
247
  i0.ɵɵelementEnd();
219
- i0.ɵɵelementStart(5, "div", 4);
220
- i0.ɵɵtext(6);
248
+ i0.ɵɵelementStart(6, "div", 4);
249
+ i0.ɵɵtext(7);
250
+ i0.ɵɵpipe(8, "rpxTranslate");
221
251
  i0.ɵɵelementEnd();
222
- i0.ɵɵelementStart(7, "div", 5);
223
- i0.ɵɵtemplate(8, SearchLanguageInterpreterComponent_div_8_Template, 4, 1, "div", 6);
224
- i0.ɵɵtemplate(9, SearchLanguageInterpreterComponent_div_9_Template, 4, 1, "div", 7);
225
- i0.ɵɵelement(10, "input", 8);
226
- i0.ɵɵelementStart(11, "mat-autocomplete", 9, 10);
227
- i0.ɵɵtemplate(13, SearchLanguageInterpreterComponent_mat_option_13_Template, 2, 2, "mat-option", 11);
228
- i0.ɵɵpipe(14, "async");
229
- i0.ɵɵtemplate(15, SearchLanguageInterpreterComponent_mat_option_15_Template, 2, 0, "mat-option", 12);
252
+ i0.ɵɵelementStart(9, "div", 5);
253
+ i0.ɵɵtemplate(10, SearchLanguageInterpreterComponent_div_10_Template, 6, 6, "div", 6);
254
+ i0.ɵɵtemplate(11, SearchLanguageInterpreterComponent_div_11_Template, 6, 6, "div", 7);
255
+ i0.ɵɵelement(12, "input", 8);
256
+ i0.ɵɵelementStart(13, "mat-autocomplete", 9, 10);
257
+ i0.ɵɵtemplate(15, SearchLanguageInterpreterComponent_mat_option_15_Template, 3, 4, "mat-option", 11);
258
+ i0.ɵɵpipe(16, "async");
259
+ i0.ɵɵtemplate(17, SearchLanguageInterpreterComponent_mat_option_17_Template, 3, 3, "mat-option", 12);
230
260
  i0.ɵɵelementEnd();
231
261
  i0.ɵɵelementEnd();
232
- i0.ɵɵelementStart(16, "div", 13);
233
- i0.ɵɵelementStart(17, "div", 14);
234
- i0.ɵɵelementStart(18, "input", 15);
235
- i0.ɵɵlistener("change", function SearchLanguageInterpreterComponent_Template_input_change_18_listener($event) { return ctx.onEnterLanguageManually($event); });
262
+ i0.ɵɵelementStart(18, "div", 13);
263
+ i0.ɵɵelementStart(19, "div", 14);
264
+ i0.ɵɵelementStart(20, "input", 15);
265
+ i0.ɵɵlistener("change", function SearchLanguageInterpreterComponent_Template_input_change_20_listener($event) { return ctx.onEnterLanguageManually($event); });
236
266
  i0.ɵɵelementEnd();
237
- i0.ɵɵelementStart(19, "label", 16);
238
- i0.ɵɵtext(20);
267
+ i0.ɵɵelementStart(21, "label", 16);
268
+ i0.ɵɵtext(22);
269
+ i0.ɵɵpipe(23, "rpxTranslate");
239
270
  i0.ɵɵelementEnd();
240
271
  i0.ɵɵelementEnd();
241
- i0.ɵɵtemplate(21, SearchLanguageInterpreterComponent_div_21_Template, 7, 8, "div", 17);
272
+ i0.ɵɵtemplate(24, SearchLanguageInterpreterComponent_div_24_Template, 8, 10, "div", 17);
242
273
  i0.ɵɵelementEnd();
243
274
  i0.ɵɵelementEnd();
244
- i0.ɵɵelementStart(22, "div", 18);
245
- i0.ɵɵelementStart(23, "button", 19);
246
- i0.ɵɵlistener("click", function SearchLanguageInterpreterComponent_Template_button_click_23_listener() { return ctx.onNext(); });
247
- i0.ɵɵtext(24, "Next");
248
- i0.ɵɵelementEnd();
275
+ i0.ɵɵelementContainerEnd();
276
+ i0.ɵɵelementStart(25, "div", 18);
277
+ i0.ɵɵelementStart(26, "button", 19);
278
+ i0.ɵɵlistener("click", function SearchLanguageInterpreterComponent_Template_button_click_26_listener() { return ctx.onNext(); });
279
+ i0.ɵɵtext(27);
280
+ i0.ɵɵpipe(28, "rpxTranslate");
249
281
  i0.ɵɵelementEnd();
250
282
  i0.ɵɵelementEnd();
251
283
  } if (rf & 2) {
252
- const _r2 = i0.ɵɵreference(12);
284
+ const _r2 = i0.ɵɵreference(14);
253
285
  i0.ɵɵproperty("formGroup", ctx.formGroup);
254
286
  i0.ɵɵadvance(1);
255
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(16, _c0, ctx.languageNotSelectedErrorMessage || ctx.languageEnteredInBothFieldsErrorMessage));
287
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c0, ctx.languageNotSelectedErrorMessage || ctx.languageEnteredInBothFieldsErrorMessage));
256
288
  i0.ɵɵadvance(2);
257
- i0.ɵɵproperty("for", ctx.languageSearchTermControlName);
289
+ i0.ɵɵproperty("for", ctx.SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM);
258
290
  i0.ɵɵadvance(1);
259
- i0.ɵɵtextInterpolate1(" ", ctx.searchLanguageInterpreterTitle, " ");
260
- i0.ɵɵadvance(2);
261
- i0.ɵɵtextInterpolate1(" ", ctx.searchLanguageInterpreterHint, " ");
262
- i0.ɵɵadvance(2);
291
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(5, 15, ctx.flagType, "name"), " ");
292
+ i0.ɵɵadvance(3);
293
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 18, ctx.searchLanguageInterpreterHint), " ");
294
+ i0.ɵɵadvance(3);
263
295
  i0.ɵɵproperty("ngIf", ctx.languageNotSelectedErrorMessage);
264
296
  i0.ɵɵadvance(1);
265
297
  i0.ɵɵproperty("ngIf", ctx.languageEnteredInBothFieldsErrorMessage);
266
298
  i0.ɵɵadvance(1);
267
- i0.ɵɵproperty("formControlName", ctx.languageSearchTermControlName)("matAutocomplete", _r2);
299
+ i0.ɵɵproperty("formControlName", ctx.SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM)("matAutocomplete", _r2);
268
300
  i0.ɵɵadvance(1);
269
301
  i0.ɵɵproperty("displayWith", ctx.displayLanguage);
270
302
  i0.ɵɵadvance(2);
271
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(14, 14, ctx.filteredLanguages$));
303
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(16, 20, ctx.filteredLanguages$));
272
304
  i0.ɵɵadvance(2);
273
305
  i0.ɵɵproperty("ngIf", ctx.noResults && ctx.searchTerm && ctx.searchTerm.length >= ctx.minSearchCharacters);
274
306
  i0.ɵɵadvance(5);
275
- i0.ɵɵtextInterpolate1(" ", ctx.searchLanguageInterpreterStep.CHECKBOX_LABEL, " ");
276
- i0.ɵɵadvance(1);
307
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(23, 22, ctx.searchLanguageInterpreterStep.CHECKBOX_LABEL), " ");
308
+ i0.ɵɵadvance(2);
277
309
  i0.ɵɵproperty("ngIf", ctx.isCheckboxEnabled);
278
- } }, directives: [i1.NgControlStatusGroup, i1.FormGroupDirective, i2.NgClass, i2.NgIf, i3.MatInput, i1.DefaultValueAccessor, i4.MatAutocompleteTrigger, i1.NgControlStatus, i1.FormControlName, i4.MatAutocomplete, i2.NgForOf, i5.MatOption], pipes: [i2.AsyncPipe], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width:641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}.hidden[_ngcontent-%COMP%]{display:none}.search-language__input[_ngcontent-%COMP%]{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}"] });
310
+ i0.ɵɵadvance(3);
311
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 24, "Next"));
312
+ } }, styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width:641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}.hidden[_ngcontent-%COMP%]{display:none}.search-language__input[_ngcontent-%COMP%]{position:relative;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' width='40' height='40'%3E%3Cpath d='M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z' fill='%23505a5f'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center left -2px;background-size:40px 40px;padding-left:35px}"] });
279
313
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLanguageInterpreterComponent, [{
280
314
  type: Component,
281
315
  args: [{
@@ -283,13 +317,11 @@ SearchLanguageInterpreterComponent.ɵcmp = i0.ɵɵdefineComponent({ type: Search
283
317
  templateUrl: './search-language-interpreter.component.html',
284
318
  styleUrls: ['./search-language-interpreter.component.scss']
285
319
  }]
286
- }], null, { formGroup: [{
287
- type: Input
288
- }], languages: [{
320
+ }], function () { return [{ type: i1.RpxTranslationService }]; }, { formGroup: [{
289
321
  type: Input
290
- }], flagCode: [{
322
+ }], flagType: [{
291
323
  type: Input
292
324
  }], caseFlagStateEmitter: [{
293
325
  type: Output
294
326
  }] }); })();
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQ0FBcUMsRUFDckMsNkJBQTZCLEVBQzlCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztJQ0RmLCtCQUMwQztJQUN4QyxnQ0FBb0M7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTTs7O0lBRDhDLGVBQ3BEO0lBRG9ELHVFQUNwRDs7O0lBQ0EsK0JBQ2tEO0lBQ2hELGdDQUFvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsXG4gIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UsXG4gIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwXG59IGZyb20gJy4uLy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxhbmd1YWdlczogTGFuZ3VhZ2VbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxhZ0NvZGU6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgcmVhZG9ubHkgbGFuZ3VhZ2VTZWFyY2hUZXJtQ29udHJvbE5hbWUgPSAnbGFuZ3VhZ2VTZWFyY2hUZXJtJztcbiAgcHVibGljIHJlYWRvbmx5IG1hbnVhbExhbmd1YWdlRW50cnlDb250cm9sTmFtZSA9ICdtYW51YWxMYW5ndWFnZUVudHJ5JztcbiAgcHVibGljIGZpbHRlcmVkTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZVtdPjtcbiAgcHVibGljIHNlYXJjaFRlcm0gPSAnJztcbiAgcHVibGljIGlzQ2hlY2tib3hFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hMYW5ndWFnZUludGVycHJldGVyVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbm9SZXN1bHRzID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VNYXhDaGFyTGltaXQgPSA4MDtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduTGFuZ3VhZ2VGbGFnQ29kZSA9ICdSQTAwNDInO1xuXG4gIHB1YmxpYyBnZXQgc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAoKTogdHlwZW9mIFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwIHtcbiAgICByZXR1cm4gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXA7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hMYW5ndWFnZUludGVycHJldGVyVGl0bGUgPSB0aGlzLmZsYWdDb2RlID09PSB0aGlzLnNpZ25MYW5ndWFnZUZsYWdDb2RlXG4gICAgICA/IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFQVJDSF9TSUdOX0xBTkdVQUdFX0lOVEVSUFJFVEVSXG4gICAgICA6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFQVJDSF9MQU5HVUFHRV9JTlRFUlBSRVRFUjtcbiAgICB0aGlzLnNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJIaW50ID0gdGhpcy5mbGFnQ29kZSA9PT0gdGhpcy5zaWduTGFuZ3VhZ2VGbGFnQ29kZVxuICAgICAgPyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5TSUdOX0hJTlRfVEVYVFxuICAgICAgOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5ISU5UX1RFWFQ7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLmxhbmd1YWdlU2VhcmNoVGVybUNvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2woKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLm1hbnVhbExhbmd1YWdlRW50cnlDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMubGFuZ3VhZ2VTZWFyY2hUZXJtQ29udHJvbE5hbWUpLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgLy8gTmVlZCB0byBjaGVjayB0eXBlIG9mIGlucHV0IGJlY2F1c2UgaXQgY2hhbmdlcyB0byBvYmplY3QgKGkuZS4gTGFuZ3VhZ2UpIHdoZW4gYSB2YWx1ZSBpcyBzZWxlY3RlZCBmcm9tIHRoZVxuICAgICAgLy8gYXV0b2NvbXBsZXRlIHBhbmVsLCBpbnN0ZWFkIG9mIHN0cmluZyB3aGVuIGEgdmFsdWUgaXMgYmVpbmcgdHlwZWQgaW5cbiAgICAgIG1hcChpbnB1dCA9PiB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnID8gaW5wdXQgOiBpbnB1dC52YWx1ZSksXG4gICAgICBtYXAoc2VhcmNoVGVybSA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgY3VycmVudCBzZWFyY2ggdGVybVxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJMYW5ndWFnZXMoc2VhcmNoVGVybSk7XG4gICAgICB9KSxcbiAgICAgIHRhcChsYW5ndWFnZXMgPT4gdGhpcy5ub1Jlc3VsdHMgPSBsYW5ndWFnZXMubGVuZ3RoID09PSAwKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGxhbmd1YWdlIGludGVycHJldGVyIGVudHJ5XG4gICAgdGhpcy52YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0xBTkdVQUdFX0lOVEVSUFJFVEVSLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25FbnRlckxhbmd1YWdlTWFudWFsbHkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0NoZWNrYm94RW5hYmxlZCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuY2hlY2tlZDtcblxuICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZCwgaS5lLiB1bmNoZWNrZWQsIHRoZW4gY2xlYXIgdGhlIG1hbnVhbCBsYW5ndWFnZSBlbnRyeSBGb3JtQ29udHJvbCBvZiBhbnkgdmFsdWUgdG9cbiAgICAvLyBwcmV2ZW50IGl0IGJlaW5nIHJldGFpbmVkIGV2ZW4gd2hlbiB0aGUgZmllbGQgaXRzZWxmIGlzIGhpZGRlblxuICAgIGlmICghdGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMubWFudWFsTGFuZ3VhZ2VFbnRyeUNvbnRyb2xOYW1lKS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheUxhbmd1YWdlKGxhbmd1YWdlPzogTGFuZ3VhZ2UpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsYW5ndWFnZSA/IGxhbmd1YWdlLnZhbHVlIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUxhbmd1YWdlRW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5sYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIC8vIENoZWNrYm94IG5vdCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBzZWFyY2ggZm9yIGFuZCBzZWxlY3QgdGhlIGxhbmd1YWdlXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tib3hFbmFibGVkICYmICF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5sYW5ndWFnZVNlYXJjaFRlcm1Db250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMubGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfTk9UX0VOVEVSRUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMubGFuZ3VhZ2VTZWFyY2hUZXJtQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBDaGVja2JveCBlbmFibGVkIG1lYW5zIHRoZSB1c2VyIGhhcyBvcHRlZCB0byBlbnRlciB0aGUgbGFuZ3VhZ2UgbWFudWFsbHlcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94RW5hYmxlZCkge1xuICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5tYW51YWxMYW5ndWFnZUVudHJ5Q29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRCxcbiAgICAgICAgICBmaWVsZElkOiB0aGlzLm1hbnVhbExhbmd1YWdlRW50cnlDb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMubWFudWFsTGFuZ3VhZ2VFbnRyeUNvbnRyb2xOYW1lKS52YWx1ZS5sZW5ndGggPiB0aGlzLmxhbmd1YWdlTWF4Q2hhckxpbWl0KSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgICBmaWVsZElkOiB0aGlzLm1hbnVhbExhbmd1YWdlRW50cnlDb250cm9sTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMubGFuZ3VhZ2VTZWFyY2hUZXJtQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICAgIC8vIExhbmd1YWdlIGVudHJ5IGlzIHBlcm1pdHRlZCBpbiBvbmx5IG9uZSBmaWVsZCBhdCBhIHRpbWVcbiAgICAgICAgdGhpcy5sYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX0VOVEVSRURfSU5fQk9USF9GSUVMRFM7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfRU5URVJFRF9JTl9CT1RIX0ZJRUxEUyxcbiAgICAgICAgICBmaWVsZElkOiB0aGlzLmxhbmd1YWdlU2VhcmNoVGVybUNvbnRyb2xOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyTGFuZ3VhZ2VzKHNlYXJjaFRlcm06IHN0cmluZyk6IExhbmd1YWdlW10ge1xuICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA8IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlc1xuICAgICAgPyB0aGlzLmxhbmd1YWdlcy5maWx0ZXIobGFuZ3VhZ2UgPT4gbGFuZ3VhZ2UudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApKVxuICAgICAgOiBbXTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgfHwgbGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlfVwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXJcIj48bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbFwiIFtmb3JdPVwibGFuZ3VhZ2VTZWFyY2hUZXJtQ29udHJvbE5hbWVcIj5cbiAgICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVyVGl0bGV9fVxuICAgICAgPC9sYWJlbD5cbiAgICA8L2gxPlxuICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1zZWFyY2gtYm94LWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgIHt7c2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnR9fVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLW5vdC1zZWxlY3RlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2xhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwibGFuZ3VhZ2UtZW50ZXJlZC1pbi1ib3RoLWZpZWxkcy1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7bGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0IGFyaWEtbGFiZWw9XCJMYW5ndWFnZSBzZWFyY2ggYm94XCIgbWF0SW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJsYW5ndWFnZVNlYXJjaFRlcm1Db250cm9sTmFtZVwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1NlYXJjaExhbmd1YWdlXCJcbiAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBzZWFyY2gtbGFuZ3VhZ2VfX2lucHV0XCIgdHlwZT1cInRleHRcIj5cbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMYW5ndWFnZT1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5TGFuZ3VhZ2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGZpbHRlcmVkTGFuZ3VhZ2VzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImxhbmd1YWdlXCI+XG4gICAgICAgICAge3tsYW5ndWFnZS52YWx1ZX19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+PSBtaW5TZWFyY2hDaGFyYWN0ZXJzXCIgZGlzYWJsZWQ+Tm8gcmVzdWx0cyBmb3VuZDwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlcyBnb3Z1ay1jaGVja2JveGVzLS1zbWFsbCBnb3Z1ay1jaGVja2JveGVzLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiBuYW1lPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25FbnRlckxhbmd1YWdlTWFudWFsbHkoJGV2ZW50KVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cImVudGVyLWxhbmd1YWdlLW1hbnVhbGx5XCI+XG4gICAgICAgICAge3tzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcC5DSEVDS0JPWF9MQUJFTH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgKm5nSWY9XCJpc0NoZWNrYm94RW5hYmxlZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGxhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8fCBsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSB9XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJtYW51YWwtbGFuZ3VhZ2UtZW50cnlcIj57e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLklOUFVUX0xBQkVMfX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1jaGFyLWxpbWl0LWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7bGFuZ3VhZ2VDaGFyTGltaXRFcnJvck1lc3NhZ2V9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGlkPVwibWFudWFsLWxhbmd1YWdlLWVudHJ5XCIgW25hbWVdPVwibWFudWFsTGFuZ3VhZ2VFbnRyeUNvbnRyb2xOYW1lXCIgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJtYW51YWxMYW5ndWFnZUVudHJ5Q29udHJvbE5hbWVcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPk5leHQ8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmxhZy9jb21wb25lbnRzL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFDQUFxQyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0lDRW5HLCtCQUMwQztJQUN4QyxnQ0FBb0M7SUFBQSxZQUEy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VSxtQ0FBK0IsSUFBQztRQUQ1QyxpQkFDNkM7UUFDN0Msa0NBQWlGO1FBQy9FLGFBQ0Y7O1FBQUEsaUJBQVE7UUFDVixpQkFBTTtRQUNOLHVGQWNNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTtRQUNSLDBCQUFlO1FBRWYsZ0NBQWdDO1FBQzlCLG1DQUF1RTtRQUFuQixnSEFBUyxZQUFRLElBQUM7UUFBQyxhQUF5Qjs7UUFBQSxpQkFBUztRQUMzRyxpQkFBTTs7O1FBMURRLHlDQUF1QjtRQUNMLGVBQTRHO1FBQTVHLHlJQUE0RztRQUU1RixlQUFrRTtRQUFsRSxvRkFBa0U7UUFDMUcsZUFDRjtRQURFLDRFQUNGO1FBR0EsZUFDRjtRQURFLHlGQUNGO1FBR0ssZUFBcUM7UUFBckMsMERBQXFDO1FBSXJDLGVBQTZDO1FBQTdDLGtFQUE2QztRQUdDLGVBQThFO1FBQTlFLGdHQUE4RSx3QkFBQTtRQUc3SCxlQUErQjtRQUEvQixpREFBK0I7UUFDRSxlQUE2QjtRQUE3Qix3RUFBNkI7UUFHakQsZUFBeUU7UUFBekUsMEdBQXlFO1FBUXBGLGVBQ0Y7UUFERSx5R0FDRjtRQUVzQyxlQUF1QjtRQUF2Qiw0Q0FBdUI7UUFvQkksZUFBeUI7UUFBekIsb0RBQXlCOzt1RkR6Q3JGLGtDQUFrQztjQUw5QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsV0FBVyxFQUFFLDhDQUE4QztnQkFDM0QsU0FBUyxFQUFFLENBQUMsOENBQThDLENBQUM7YUFDNUQ7d0VBUVEsU0FBUztrQkFEZixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIExhbmd1YWdlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZSwgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzIH0gZnJvbSAnLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXItY29udHJvbC1uYW1lcy5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXNlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbGFuZ3VhZ2UtaW50ZXJwcmV0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGdldCBzZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcCgpOiB0eXBlb2YgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAge1xuICAgIHJldHVybiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyU3RlcDtcbiAgfVxuICBwdWJsaWMgcmVhZG9ubHkgU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcyA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmbGFnVHlwZTogRmxhZ1R5cGU7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIGZpbHRlcmVkTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZVtdPjtcbiAgcHVibGljIHNlYXJjaFRlcm0gPSAnJztcbiAgcHVibGljIGlzQ2hlY2tib3hFbmFibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hMYW5ndWFnZUludGVycHJldGVySGludDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXA7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgbGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgbGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyBub1Jlc3VsdHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZU1heENoYXJMaW1pdCA9IDgwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZ25MYW5ndWFnZUZsYWdDb2RlID0gJ1JBMDA0Mic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBycHhUcmFuc2xhdGlvblNlcnZpY2U6IFJweFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckhpbnQgPSB0aGlzLmZsYWdUeXBlLmZsYWdDb2RlID09PSB0aGlzLnNpZ25MYW5ndWFnZUZsYWdDb2RlXG4gICAgICA/IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLlNJR05fSElOVF9URVhUXG4gICAgICA6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLkhJTlRfVEVYVDtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk0sIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZLCBuZXcgRm9ybUNvbnRyb2woKSk7XG4gICAgdGhpcy5maWx0ZXJlZExhbmd1YWdlcyQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSkudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAvLyBOZWVkIHRvIGNoZWNrIHR5cGUgb2YgaW5wdXQgYmVjYXVzZSBpdCBjaGFuZ2VzIHRvIG9iamVjdCAoaS5lLiBMYW5ndWFnZSkgd2hlbiBhIHZhbHVlIGlzIHNlbGVjdGVkIGZyb20gdGhlXG4gICAgICAvLyBhdXRvY29tcGxldGUgcGFuZWwsIGluc3RlYWQgb2Ygc3RyaW5nIHdoZW4gYSB2YWx1ZSBpcyBiZWluZyB0eXBlZCBpblxuICAgICAgbWFwKGlucHV0ID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dCA6IGlucHV0LnZhbHVlKSxcbiAgICAgIG1hcChzZWFyY2hUZXJtID0+IHtcbiAgICAgICAgLy8gVXBkYXRlIHRoZSBjdXJyZW50IHNlYXJjaCB0ZXJtXG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IHNlYXJjaFRlcm07XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckxhbmd1YWdlcyhzZWFyY2hUZXJtKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKGxhbmd1YWdlcyA9PiB0aGlzLm5vUmVzdWx0cyA9IGxhbmd1YWdlcy5sZW5ndGggPT09IDApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgbGFuZ3VhZ2UgaW50ZXJwcmV0ZXIgZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlTGFuZ3VhZ2VFbnRyeSgpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTEFOR1VBR0VfSU5URVJQUkVURVIsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXNcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkVudGVyTGFuZ3VhZ2VNYW51YWxseShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ2hlY2tib3hFbmFibGVkID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkO1xuXG4gICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGRpc2FibGVkLCBpLmUuIHVuY2hlY2tlZCwgdGhlbiBjbGVhciB0aGUgbWFudWFsIGxhbmd1YWdlIGVudHJ5IEZvcm1Db250cm9sIG9mIGFueSB2YWx1ZSB0b1xuICAgIC8vIHByZXZlbnQgaXQgYmVpbmcgcmV0YWluZWQgZXZlbiB3aGVuIHRoZSBmaWVsZCBpdHNlbGYgaXMgaGlkZGVuXG4gICAgaWYgKCF0aGlzLmlzQ2hlY2tib3hFbmFibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlkpLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5TGFuZ3VhZ2UobGFuZ3VhZ2U/OiBMYW5ndWFnZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGxhbmd1YWdlID8gbGFuZ3VhZ2UudmFsdWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlTGFuZ3VhZ2VFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLmxhbmd1YWdlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMubGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgLy8gQ2hlY2tib3ggbm90IGVuYWJsZWQgbWVhbnMgdGhlIHVzZXIgaGFzIG9wdGVkIHRvIHNlYXJjaCBmb3IgYW5kIHNlbGVjdCB0aGUgbGFuZ3VhZ2VcbiAgICBpZiAoIXRoaXMuaXNDaGVja2JveEVuYWJsZWQgJiYgIXRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLkxBTkdVQUdFX1NFQVJDSF9URVJNKS52YWx1ZSkge1xuICAgICAgdGhpcy5sYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENoZWNrYm94IGVuYWJsZWQgbWVhbnMgdGhlIHVzZXIgaGFzIG9wdGVkIHRvIGVudGVyIHRoZSBsYW5ndWFnZSBtYW51YWxseVxuICAgIGlmICh0aGlzLmlzQ2hlY2tib3hFbmFibGVkKSB7XG4gICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldChTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWSkudmFsdWUpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX05PVF9FTlRFUkVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyRXJyb3JNZXNzYWdlLkxBTkdVQUdFX05PVF9FTlRFUkVELFxuICAgICAgICAgIGZpZWxkSWQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlkpLnZhbHVlLmxlbmd0aCA+IHRoaXMubGFuZ3VhZ2VNYXhDaGFyTGltaXQpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICAgIGZpZWxkSWQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTUFOVUFMX0xBTkdVQUdFX0VOVFJZXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTSkudmFsdWUpIHtcbiAgICAgICAgLy8gTGFuZ3VhZ2UgZW50cnkgaXMgcGVybWl0dGVkIGluIG9ubHkgb25lIGZpZWxkIGF0IGEgdGltZVxuICAgICAgICB0aGlzLmxhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSA9IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJFcnJvck1lc3NhZ2UuTEFOR1VBR0VfRU5URVJFRF9JTl9CT1RIX0ZJRUxEUztcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckVycm9yTWVzc2FnZS5MQU5HVUFHRV9FTlRFUkVEX0lOX0JPVEhfRklFTERTLFxuICAgICAgICAgIGZpZWxkSWQ6IFNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJMYW5ndWFnZXMoc2VhcmNoVGVybTogc3RyaW5nKTogTGFuZ3VhZ2VbXSB7XG4gICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoIDwgdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmxhZ1R5cGUubGlzdE9mVmFsdWVzXG4gICAgICA/IHRoaXMuZmxhZ1R5cGUubGlzdE9mVmFsdWVzLmZpbHRlcihsYW5ndWFnZSA9PlxuICAgICAgICAvLyBJZiBhIGxhbmd1YWdlIGhhcyBib3RoIEVuZ2xpc2ggYW5kIFdlbHNoIHZhbHVlcywgbWF0Y2ggb25seSBvbiB0aGUgdmFsdWUgYXBwcm9wcmlhdGUgZm9yIHRoZSBwYWdlIGxhbmd1YWdlLFxuICAgICAgICAvLyBpLmUuIGlmIFJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSBpcyAnY3knIHRoZW4gbWF0Y2ggb24gdGhlIHZhbHVlX2N5IHByb3BlcnR5IG9ubHkuIFRoaXMgaXMgdG8gcHJldmVudFxuICAgICAgICAvLyBjcm9zcy1tYXRjaGVzLCB3aGVyZSBhIHVzZXIgZW50ZXJzIGEgc2VhcmNoIHRlcm0gaW4gRW5nbGlzaCBhbmQgc2VlcyB0aGUgY29ycmVzcG9uZGluZyBXZWxzaCB2YWx1ZSAoYmVjYXVzZVxuICAgICAgICAvLyB0aGUgcGFnZSBsYW5ndWFnZSBpcyBXZWxzaCkgYW5kIHZpY2UgdmVyc2FcbiAgICAgICAgdGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgPT09ICdjeScgJiYgbGFuZ3VhZ2UudmFsdWUgJiYgbGFuZ3VhZ2UudmFsdWVfY3kgJiZcbiAgICAgICAgbGFuZ3VhZ2UudmFsdWVfY3kudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApIHx8XG4gICAgICAgIHRoaXMucnB4VHJhbnNsYXRpb25TZXJ2aWNlLmxhbmd1YWdlICE9PSAnY3knICYmIGxhbmd1YWdlLnZhbHVlICYmIGxhbmd1YWdlLnZhbHVlX2N5ICYmXG4gICAgICAgIGxhbmd1YWdlLnZhbHVlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCAwKSB8fFxuICAgICAgICAhbGFuZ3VhZ2UudmFsdWVfY3kgJiYgbGFuZ3VhZ2UudmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCksIDApIHx8XG4gICAgICAgICFsYW5ndWFnZS52YWx1ZSAmJiBsYW5ndWFnZS52YWx1ZV9jeS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSwgMCkpXG4gICAgICA6IFtdO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogbGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSB8fCBsYW5ndWFnZUVudGVyZWRJbkJvdGhGaWVsZHNFcnJvck1lc3NhZ2V9XCI+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlclwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW1cIiBbZm9yXT1cIlNlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1cIj5cbiAgICAgICAge3tmbGFnVHlwZSB8IGZsYWdGaWVsZERpc3BsYXk6J25hbWUnfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9oMT5cbiAgICA8ZGl2IGlkPVwibGFuZ3VhZ2Utc2VhcmNoLWJveC1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICB7e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJIaW50IHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXV0by1jb21wbGV0ZS1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgaWQ9XCJsYW5ndWFnZS1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VOb3RTZWxlY3RlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLWVudGVyZWQtaW4tYm90aC1maWVsZHMtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwibGFuZ3VhZ2VFbnRlcmVkSW5Cb3RoRmllbGRzRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2xhbmd1YWdlRW50ZXJlZEluQm90aEZpZWxkc0Vycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dCBhcmlhLWxhYmVsPVwiTGFuZ3VhZ2Ugc2VhcmNoIGJveFwiIG1hdElucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5MQU5HVUFHRV9TRUFSQ0hfVEVSTVwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1NlYXJjaExhbmd1YWdlXCJcbiAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBzZWFyY2gtbGFuZ3VhZ2VfX2lucHV0XCIgdHlwZT1cInRleHRcIj5cbiAgICAgIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMYW5ndWFnZT1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5TGFuZ3VhZ2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIGZpbHRlcmVkTGFuZ3VhZ2VzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImxhbmd1YWdlXCI+XG4gICAgICAgICAge3tsYW5ndWFnZSB8IGxhbmd1YWdlSW50ZXJwcmV0ZXJEaXNwbGF5fX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIm5vUmVzdWx0cyAmJiBzZWFyY2hUZXJtICYmIHNlYXJjaFRlcm0ubGVuZ3RoID49IG1pblNlYXJjaENoYXJhY3RlcnNcIiBkaXNhYmxlZD57eydObyByZXN1bHRzIGZvdW5kJyB8IHJweFRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzIGdvdnVrLWNoZWNrYm94ZXMtLXNtYWxsIGdvdnVrLWNoZWNrYm94ZXMtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGVja2JveGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJlbnRlci1sYW5ndWFnZS1tYW51YWxseVwiIG5hbWU9XCJlbnRlci1sYW5ndWFnZS1tYW51YWxseVwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkVudGVyTGFuZ3VhZ2VNYW51YWxseSgkZXZlbnQpXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwiZW50ZXItbGFuZ3VhZ2UtbWFudWFsbHlcIj5cbiAgICAgICAgICB7e3NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJTdGVwLkNIRUNLQk9YX0xBQkVMIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiAqbmdJZj1cImlzQ2hlY2tib3hFbmFibGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogbGFuZ3VhZ2VOb3RFbnRlcmVkRXJyb3JNZXNzYWdlIHx8IGxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlIH1cIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm1hbnVhbC1sYW5ndWFnZS1lbnRyeVwiPnt7c2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlclN0ZXAuSU5QVVRfTEFCRUwgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJsYW5ndWFnZU5vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2xhbmd1YWdlTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cImxhbmd1YWdlLWNoYXItbGltaXQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImxhbmd1YWdlQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tsYW5ndWFnZUNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTIwXCIgaWQ9XCJtYW51YWwtbGFuZ3VhZ2UtZW50cnlcIiBbbmFtZV09XCJTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzLk1BTlVBTF9MQU5HVUFHRV9FTlRSWVwiIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUllcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk5leHQoKVwiPnt7J05leHQnIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19