@hmcts/ccd-case-ui-toolkit 6.19.13-rc1 → 6.19.13-welsh-translation-FirstErrorPipe-fix
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +9845 -4911
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit/case-edit.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit-generic-errors/case-edit-generic-errors.component.js +1 -1
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -11
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.js +7 -0
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +167 -128
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +17 -21
- package/esm2015/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.js +2 -3
- 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
- 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
- package/esm2015/lib/shared/components/case-editor/services/case-flag-state.service.js +19 -0
- package/esm2015/lib/shared/components/case-editor/services/cases.service.js +6 -1
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +5 -18
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +77 -49
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +5 -2
- package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.js +76 -33
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +264 -45
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +144 -73
- package/esm2015/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.js +181 -0
- package/esm2015/lib/shared/components/palette/case-flag/components/index.js +4 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +72 -77
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.js +133 -101
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +21 -8
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.js +223 -114
- 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
- package/esm2015/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.js +465 -109
- package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag-state.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/domain/language.model.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.js +2 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.js +3 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.js +12 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.js +15 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.js +13 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.js +3 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.js +11 -3
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +9 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.js +3 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.js +4 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.js +5 -1
- package/esm2015/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.js +7 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.js +10 -7
- package/esm2015/lib/shared/components/palette/case-flag/index.js +2 -1
- package/esm2015/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.js +41 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/index.js +5 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.js +41 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.js +109 -0
- package/esm2015/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.js +77 -0
- package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +153 -51
- package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +387 -171
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +34 -37
- package/esm2015/lib/shared/components/palette/complex/read-complex-field.component.js +9 -7
- package/esm2015/lib/shared/components/palette/complex/sort-order.js +7 -0
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +4 -5
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/index.js +3 -1
- package/esm2015/lib/shared/components/palette/markdown/index.js +2 -1
- package/esm2015/lib/shared/components/palette/markdown/markdown-component.module.js +42 -0
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/palette.module.js +147 -50
- package/esm2015/lib/shared/components/palette/palette.service.js +4 -2
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/query-management/__mocks__/index.js +210 -0
- package/esm2015/lib/shared/components/palette/query-management/components/index.js +13 -0
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.js +45 -0
- package/esm2015/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.js +154 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.js +69 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.js +64 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.js +316 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-details/query-details.component.js +380 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.js +25 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-list/query-list.component.js +181 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.js +78 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.js +125 -0
- package/esm2015/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.js +239 -0
- 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
- package/esm2015/lib/shared/components/palette/query-management/enums/index.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.js +5 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.js +10 -0
- package/esm2015/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.js +6 -0
- package/esm2015/lib/shared/components/palette/query-management/index.js +7 -0
- package/esm2015/lib/shared/components/palette/query-management/models/case-queries-collection.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/index.js +8 -0
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-create-context.enum.js +9 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.js +2 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.js +18 -0
- package/esm2015/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.js +41 -0
- package/esm2015/lib/shared/components/palette/query-management/read-query-management-field.component.js +128 -0
- package/esm2015/lib/shared/components/palette/query-management/utils/query-management.utils.js +22 -0
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +4 -5
- package/esm2015/lib/shared/components/palette/utils/first-error.pipe.js +16 -9
- package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +7 -5
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +8 -8
- package/esm2015/lib/shared/domain/case-flag/flag-type.model.js +17 -2
- package/esm2015/lib/shared/domain/case-view/case-view-event-ids.enum.js +6 -0
- package/esm2015/lib/shared/domain/case-view/case-view-trigger.model.js +1 -2
- package/esm2015/lib/shared/domain/definition/display-context-enum.model.js +3 -1
- package/esm2015/lib/shared/fixture/shared.test.fixture.js +2 -1
- package/esm2015/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.js +16 -0
- package/esm2015/lib/shared/pipes/generic/index.js +2 -0
- package/esm2015/lib/shared/pipes/index.js +3 -2
- package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
- package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +9 -3
- package/esm2015/lib/shared/services/fields/fields.utils.js +21 -3
- package/esm2015/lib/shared/services/form/form-value.service.js +14 -11
- package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +2 -1
- package/esm2015/lib/shared/services/request/request.options.builder.js +7 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +8433 -4028
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts +6 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit-titles.enum.d.ts.map +1 -0
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +17 -20
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- 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
- 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
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +11 -0
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts +1 -0
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -4
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +6 -2
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts +23 -8
- package/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +28 -0
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/index.d.ts +3 -0
- package/lib/shared/components/palette/case-flag/components/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +4 -8
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter-control-names.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +10 -8
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +16 -9
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- 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
- 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
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +26 -11
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts +1 -10
- package/lib/shared/components/palette/case-flag/domain/case-flag-state.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +12 -1
- package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/domain/language.model.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/enums/add-comments-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts +3 -1
- package/lib/shared/components/palette/case-flag/enums/add-comments-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts +11 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-check-your-answers-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts +14 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-display-context-parameter.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts +12 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-form-fields.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-status.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts +11 -3
- package/lib/shared/components/palette/case-flag/enums/case-flag-wizard-step-title.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/confirm-status-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/index.d.ts +8 -1
- package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts +2 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts +3 -0
- package/lib/shared/components/palette/case-flag/enums/select-flag-type-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-add-translation-step.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts +5 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-error-message.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts +7 -2
- package/lib/shared/components/palette/case-flag/enums/update-flag-step.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts +7 -4
- package/lib/shared/components/palette/case-flag/enums/write-case-flag-field.enum.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/index.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts +19 -0
- package/lib/shared/components/palette/case-flag/pipes/flag-field-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts +5 -0
- package/lib/shared/components/palette/case-flag/pipes/index.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts +18 -0
- package/lib/shared/components/palette/case-flag/pipes/language-interpreter-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts +25 -0
- package/lib/shared/components/palette/case-flag/pipes/manage-case-flags-label-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts +21 -0
- package/lib/shared/components/palette/case-flag/pipes/update-flag-title-display.pipe.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +12 -8
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +51 -26
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +3 -2
- package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/sort-order.d.ts +6 -0
- package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
- package/lib/shared/components/palette/index.d.ts +2 -0
- package/lib/shared/components/palette/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/index.d.ts +1 -0
- package/lib/shared/components/palette/markdown/index.d.ts.map +1 -1
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts +13 -0
- package/lib/shared/components/palette/markdown/markdown-component.module.d.ts.map +1 -0
- package/lib/shared/components/palette/palette.module.d.ts +140 -118
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts +11 -0
- package/lib/shared/components/palette/query-management/__mocks__/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts +13 -0
- package/lib/shared/components/palette/query-management/components/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts +8 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-detail/qualifying-question-detail.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +22 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-attachments-read/query-attachments-read.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts +10 -0
- package/lib/shared/components/palette/query-management/components/query-case-details-header/query-case-details-header.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +30 -0
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts +16 -0
- package/lib/shared/components/palette/query-management/components/query-details/query-details.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts +9 -0
- package/lib/shared/components/palette/query-management/components/query-event-completion/query-event-completion.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/components/query-list/query-list.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts +20 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts +11 -0
- package/lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.d.ts.map +1 -0
- 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
- 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
- package/lib/shared/components/palette/query-management/enums/index.d.ts +6 -0
- package/lib/shared/components/palette/query-management/enums/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts +4 -0
- package/lib/shared/components/palette/query-management/enums/qualifying-questions-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/query-item-response-status.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts +9 -0
- package/lib/shared/components/palette/query-management/enums/raise-query-error-message.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts +5 -0
- package/lib/shared/components/palette/query-management/enums/respond-to-query-error-messages.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/index.d.ts +7 -0
- package/lib/shared/components/palette/query-management/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts +27 -0
- package/lib/shared/components/palette/query-management/models/case-queries-collection.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/index.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts +5 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/casetype-qualifying-questions.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts +6 -0
- package/lib/shared/components/palette/query-management/models/qualifying-questions/qualifying-question.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts +8 -0
- package/lib/shared/components/palette/query-management/models/query-create-context.enum.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts +7 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-column/query-list-column.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts +10 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +22 -0
- package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +18 -0
- package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts +12 -0
- package/lib/shared/components/palette/query-management/utils/query-management.utils.d.ts.map +1 -0
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts +8 -5
- package/lib/shared/components/palette/utils/first-error.pipe.d.ts.map +1 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts +6 -1
- package/lib/shared/domain/case-flag/flag-type.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts +5 -0
- package/lib/shared/domain/case-view/case-view-event-ids.enum.d.ts.map +1 -0
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts +0 -1
- package/lib/shared/domain/case-view/case-view-trigger.model.d.ts.map +1 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts +3 -1
- package/lib/shared/domain/definition/display-context-enum.model.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts +8 -0
- package/lib/shared/pipes/generic/enum-display-description/enum-display-description.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/generic/index.d.ts +2 -0
- package/lib/shared/pipes/generic/index.d.ts.map +1 -0
- package/lib/shared/pipes/index.d.ts +2 -1
- package/lib/shared/pipes/index.d.ts.map +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +3 -2
- package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts +3 -2
- package/lib/shared/services/case-flag/case-flag-refdata.service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
- package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,100 +1,183 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { catchError, switchMap } from 'rxjs/operators';
|
|
4
|
+
import { FlagType } from '../../../../../domain/case-flag';
|
|
4
5
|
import { CaseFlagRefdataService } from '../../../../../services';
|
|
5
6
|
import { RefdataCaseFlagType } from '../../../../../services/case-flag/refdata-case-flag-type.enum';
|
|
6
|
-
import { CaseFlagFieldState, CaseFlagWizardStepTitle, SelectFlagTypeErrorMessage } from '../../enums';
|
|
7
|
+
import { CaseFlagFieldState, CaseFlagFormFields, CaseFlagWizardStepTitle, SelectFlagTypeErrorMessage } from '../../enums';
|
|
8
|
+
import { SearchLanguageInterpreterControlNames } from '../search-language-interpreter/search-language-interpreter-control-names.enum';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
import * as i1 from "../../../../../services";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
i0.ɵɵ
|
|
13
|
-
i0.ɵɵ
|
|
14
|
-
i0.ɵɵ
|
|
11
|
+
function SelectFlagTypeComponent_ng_container_0_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
i0.ɵɵelementContainerStart(0);
|
|
13
|
+
i0.ɵɵtext(1);
|
|
14
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
15
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
16
|
+
i0.ɵɵelementContainerEnd();
|
|
17
|
+
} if (rf & 2) {
|
|
18
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
19
|
+
i0.ɵɵadvance(1);
|
|
20
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.isDisplayContextParameterExternal ? i0.ɵɵpipeBind1(2, 1, ctx_r2.caseFlagWizardStepTitle.SELECT_CASE_FLAG_EXTERNAL) : i0.ɵɵpipeBind1(3, 3, ctx_r2.caseFlagWizardStepTitle.SELECT_CASE_FLAG), " ");
|
|
21
|
+
} }
|
|
22
|
+
function SelectFlagTypeComponent_ng_container_0_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵtext(0);
|
|
24
|
+
i0.ɵɵpipe(1, "flagFieldDisplay");
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
27
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(1, 1, ctx_r4.cachedFlagType, "name"), " ");
|
|
28
|
+
} }
|
|
29
|
+
function SelectFlagTypeComponent_ng_container_0_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
31
|
+
i0.ɵɵelementStart(1, "span", 14);
|
|
32
|
+
i0.ɵɵtext(2);
|
|
33
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
15
34
|
i0.ɵɵelementEnd();
|
|
16
|
-
i0.ɵɵtext(
|
|
35
|
+
i0.ɵɵtext(4);
|
|
36
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
17
37
|
i0.ɵɵelementEnd();
|
|
18
38
|
} if (rf & 2) {
|
|
19
|
-
const
|
|
20
|
-
i0.ɵɵadvance(
|
|
21
|
-
i0.ɵɵ
|
|
39
|
+
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
40
|
+
i0.ɵɵadvance(2);
|
|
41
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
42
|
+
i0.ɵɵadvance(2);
|
|
43
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r5.flagTypeNotSelectedErrorMessage), " ");
|
|
22
44
|
} }
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵelementStart(
|
|
27
|
-
i0.ɵɵlistener("change", function SelectFlagTypeComponent_div_8_Template_input_change_1_listener() { i0.ɵɵrestoreView(_r7); const flagType_r4 = ctx.$implicit; const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.onFlagTypeChanged(flagType_r4); });
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelementStart(2, "label", 14);
|
|
45
|
+
function SelectFlagTypeComponent_ng_container_0_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
47
|
+
i0.ɵɵelement(1, "input", 16);
|
|
48
|
+
i0.ɵɵelementStart(2, "label", 17);
|
|
30
49
|
i0.ɵɵtext(3);
|
|
50
|
+
i0.ɵɵpipe(4, "flagFieldDisplay");
|
|
31
51
|
i0.ɵɵelementEnd();
|
|
32
52
|
i0.ɵɵelementEnd();
|
|
33
53
|
} if (rf & 2) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
54
|
+
const flagType_r8 = ctx.$implicit;
|
|
55
|
+
const i_r9 = ctx.index;
|
|
56
|
+
const ctx_r6 = i0.ɵɵnextContext(2);
|
|
37
57
|
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵpropertyInterpolate1("id", "flag-type-",
|
|
39
|
-
i0.ɵɵproperty("name",
|
|
58
|
+
i0.ɵɵpropertyInterpolate1("id", "flag-type-", i_r9, "");
|
|
59
|
+
i0.ɵɵproperty("name", ctx_r6.caseFlagFormField.FLAG_TYPE)("value", flagType_r8)("formControlName", ctx_r6.caseFlagFormField.FLAG_TYPE);
|
|
40
60
|
i0.ɵɵadvance(1);
|
|
41
|
-
i0.ɵɵpropertyInterpolate1("for", "flag-type-",
|
|
61
|
+
i0.ɵɵpropertyInterpolate1("for", "flag-type-", i_r9, "");
|
|
42
62
|
i0.ɵɵadvance(1);
|
|
43
|
-
i0.ɵɵ
|
|
63
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(4, 6, flagType_r8, "name"), " ");
|
|
44
64
|
} }
|
|
45
|
-
function
|
|
46
|
-
i0.ɵɵelementStart(0, "div",
|
|
47
|
-
i0.ɵɵelementStart(1, "span",
|
|
48
|
-
i0.ɵɵtext(2
|
|
65
|
+
function SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
67
|
+
i0.ɵɵelementStart(1, "span", 14);
|
|
68
|
+
i0.ɵɵtext(2);
|
|
69
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
i0.ɵɵtext(4);
|
|
72
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
49
73
|
i0.ɵɵelementEnd();
|
|
74
|
+
} if (rf & 2) {
|
|
75
|
+
const ctx_r10 = i0.ɵɵnextContext(3);
|
|
76
|
+
i0.ɵɵadvance(2);
|
|
77
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
78
|
+
i0.ɵɵadvance(2);
|
|
79
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r10.flagTypeErrorMessage), " ");
|
|
80
|
+
} }
|
|
81
|
+
function SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
83
|
+
i0.ɵɵelement(1, "input", 25);
|
|
84
|
+
i0.ɵɵelementStart(2, "label", 26);
|
|
50
85
|
i0.ɵɵtext(3);
|
|
86
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
51
88
|
i0.ɵɵelementEnd();
|
|
52
89
|
} if (rf & 2) {
|
|
53
|
-
const
|
|
54
|
-
i0.ɵɵadvance(
|
|
55
|
-
i0.ɵɵ
|
|
90
|
+
const ctx_r11 = i0.ɵɵnextContext(3);
|
|
91
|
+
i0.ɵɵadvance(1);
|
|
92
|
+
i0.ɵɵproperty("name", ctx_r11.caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY)("formControlName", ctx_r11.caseFlagFormField.IS_VISIBLE_INTERNALLY_ONLY);
|
|
93
|
+
i0.ɵɵadvance(2);
|
|
94
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "This flag should only be visible to HMCTS Staff"), " ");
|
|
56
95
|
} }
|
|
57
96
|
const _c0 = function (a0) { return { "form-group-error": a0 }; };
|
|
58
97
|
const _c1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
59
|
-
function
|
|
60
|
-
i0.ɵɵelementStart(0, "div",
|
|
61
|
-
i0.ɵɵelementStart(1, "div",
|
|
62
|
-
i0.ɵɵelementStart(2, "label",
|
|
63
|
-
i0.ɵɵtext(3
|
|
98
|
+
function SelectFlagTypeComponent_ng_container_0_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
100
|
+
i0.ɵɵelementStart(1, "div", 3);
|
|
101
|
+
i0.ɵɵelementStart(2, "label", 19);
|
|
102
|
+
i0.ɵɵtext(3);
|
|
103
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
104
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
64
105
|
i0.ɵɵelementEnd();
|
|
65
|
-
i0.ɵɵtemplate(
|
|
66
|
-
i0.ɵɵelement(
|
|
106
|
+
i0.ɵɵtemplate(6, SelectFlagTypeComponent_ng_container_0_div_11_div_6_Template, 6, 6, "div", 20);
|
|
107
|
+
i0.ɵɵelement(7, "input", 21);
|
|
108
|
+
i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_11_div_8_Template, 5, 5, "div", 22);
|
|
67
109
|
i0.ɵɵelementEnd();
|
|
68
110
|
i0.ɵɵelementEnd();
|
|
69
111
|
} if (rf & 2) {
|
|
70
|
-
const
|
|
112
|
+
const ctx_r7 = i0.ɵɵnextContext(2);
|
|
71
113
|
i0.ɵɵadvance(1);
|
|
72
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
114
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c0, ctx_r7.flagTypeErrorMessage.length > 0));
|
|
115
|
+
i0.ɵɵadvance(2);
|
|
116
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r7.isDisplayContextParameterExternal ? i0.ɵɵpipeBind1(4, 7, ctx_r7.caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION_EXTERNAL) : i0.ɵɵpipeBind1(5, 9, ctx_r7.caseFlagWizardStepTitle.OTHER_FLAG_TYPE_DESCRIPTION), " ");
|
|
73
117
|
i0.ɵɵadvance(3);
|
|
74
|
-
i0.ɵɵproperty("ngIf",
|
|
118
|
+
i0.ɵɵproperty("ngIf", ctx_r7.flagTypeErrorMessage.length > 0);
|
|
75
119
|
i0.ɵɵadvance(1);
|
|
76
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
120
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1, ctx_r7.flagTypeErrorMessage.length > 0))("name", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION)("formControlName", ctx_r7.caseFlagFormField.OTHER_FLAG_DESCRIPTION);
|
|
121
|
+
i0.ɵɵadvance(1);
|
|
122
|
+
i0.ɵɵproperty("ngIf", !ctx_r7.isDisplayContextParameterExternal && !ctx_r7.isCaseLevelFlag && ctx_r7.isDisplayContextParameter2Point1Enabled);
|
|
77
123
|
} }
|
|
78
|
-
function
|
|
79
|
-
|
|
80
|
-
i0.ɵɵelementStart(
|
|
81
|
-
i0.ɵɵelementStart(
|
|
82
|
-
i0.ɵɵ
|
|
83
|
-
i0.ɵɵ
|
|
124
|
+
function SelectFlagTypeComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
125
|
+
i0.ɵɵelementContainerStart(0, 2);
|
|
126
|
+
i0.ɵɵelementStart(1, "div", 3);
|
|
127
|
+
i0.ɵɵelementStart(2, "fieldset", 4);
|
|
128
|
+
i0.ɵɵelementStart(3, "legend", 5);
|
|
129
|
+
i0.ɵɵelementStart(4, "h1", 6);
|
|
130
|
+
i0.ɵɵtemplate(5, SelectFlagTypeComponent_ng_container_0_ng_container_5_Template, 4, 5, "ng-container", 7);
|
|
131
|
+
i0.ɵɵtemplate(6, SelectFlagTypeComponent_ng_container_0_ng_template_6_Template, 2, 4, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
|
|
132
|
+
i0.ɵɵelementEnd();
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
i0.ɵɵtemplate(8, SelectFlagTypeComponent_ng_container_0_div_8_Template, 6, 6, "div", 9);
|
|
135
|
+
i0.ɵɵelementStart(9, "div", 10);
|
|
136
|
+
i0.ɵɵtemplate(10, SelectFlagTypeComponent_ng_container_0_div_10_Template, 5, 9, "div", 11);
|
|
137
|
+
i0.ɵɵtemplate(11, SelectFlagTypeComponent_ng_container_0_div_11_Template, 9, 15, "div", 12);
|
|
84
138
|
i0.ɵɵelementEnd();
|
|
85
139
|
i0.ɵɵelementEnd();
|
|
140
|
+
i0.ɵɵelementEnd();
|
|
141
|
+
i0.ɵɵelementContainerEnd();
|
|
142
|
+
} if (rf & 2) {
|
|
143
|
+
const _r3 = i0.ɵɵreference(7);
|
|
144
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
145
|
+
i0.ɵɵproperty("formGroup", ctx_r0.formGroup);
|
|
146
|
+
i0.ɵɵadvance(1);
|
|
147
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r0.flagTypeNotSelectedErrorMessage.length > 0));
|
|
148
|
+
i0.ɵɵadvance(4);
|
|
149
|
+
i0.ɵɵproperty("ngIf", !ctx_r0.cachedFlagType)("ngIfElse", _r3);
|
|
150
|
+
i0.ɵɵadvance(3);
|
|
151
|
+
i0.ɵɵproperty("ngIf", ctx_r0.flagTypeNotSelectedErrorMessage.length > 0);
|
|
152
|
+
i0.ɵɵadvance(2);
|
|
153
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.flagTypes)("ngForTrackBy", ctx_r0.identifyFlagType);
|
|
154
|
+
i0.ɵɵadvance(1);
|
|
155
|
+
i0.ɵɵproperty("ngIf", ctx_r0.otherFlagTypeSelected);
|
|
156
|
+
} }
|
|
157
|
+
function SelectFlagTypeComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
159
|
+
i0.ɵɵelementStart(0, "div", 27);
|
|
160
|
+
i0.ɵɵelementStart(1, "button", 28);
|
|
161
|
+
i0.ɵɵlistener("click", function SelectFlagTypeComponent_div_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return ctx_r12.onNext(); });
|
|
162
|
+
i0.ɵɵtext(2);
|
|
163
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
164
|
+
i0.ɵɵelementEnd();
|
|
165
|
+
i0.ɵɵelementEnd();
|
|
166
|
+
} if (rf & 2) {
|
|
167
|
+
i0.ɵɵadvance(2);
|
|
168
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "Next"));
|
|
86
169
|
} }
|
|
87
170
|
export class SelectFlagTypeComponent {
|
|
88
171
|
constructor(caseFlagRefdataService) {
|
|
89
172
|
this.caseFlagRefdataService = caseFlagRefdataService;
|
|
173
|
+
this.isDisplayContextParameterExternal = false;
|
|
174
|
+
this.isDisplayContextParameter2Point1Enabled = false;
|
|
90
175
|
this.caseFlagStateEmitter = new EventEmitter();
|
|
91
176
|
this.flagCommentsOptionalEmitter = new EventEmitter();
|
|
92
177
|
this.flagTypeNotSelectedErrorMessage = '';
|
|
93
178
|
this.flagTypeErrorMessage = '';
|
|
94
|
-
this.otherFlagTypeSelected = false;
|
|
95
179
|
this.refdataError = false;
|
|
96
|
-
this.
|
|
97
|
-
this.descriptionControlName = 'otherFlagTypeDescription';
|
|
180
|
+
this.caseFlagFormField = CaseFlagFormFields;
|
|
98
181
|
this.maxCharactersForOtherFlagType = 80;
|
|
99
182
|
// Code for "Other" flag type as defined in Reference Data
|
|
100
183
|
this.otherFlagTypeCode = 'OT0001';
|
|
@@ -103,21 +186,43 @@ export class SelectFlagTypeComponent {
|
|
|
103
186
|
get caseFlagWizardStepTitle() {
|
|
104
187
|
return CaseFlagWizardStepTitle;
|
|
105
188
|
}
|
|
189
|
+
get selectedFlagType() {
|
|
190
|
+
var _a;
|
|
191
|
+
return (_a = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)) === null || _a === void 0 ? void 0 : _a.value;
|
|
192
|
+
}
|
|
193
|
+
get otherFlagTypeSelected() {
|
|
194
|
+
var _a, _b;
|
|
195
|
+
return ((_b = (_a = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE)) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.flagCode) === this.otherFlagTypeCode;
|
|
196
|
+
}
|
|
106
197
|
ngOnInit() {
|
|
198
|
+
this.isCaseLevelFlag = this.selectedFlagsLocation.flags.flagsCaseFieldId === this.caseLevelCaseFlagsFieldId;
|
|
107
199
|
this.flagTypes = [];
|
|
108
|
-
this.formGroup.addControl(this.flagTypeControlName, new FormControl(''));
|
|
109
|
-
this.formGroup.addControl(this.descriptionControlName, new FormControl(''));
|
|
110
200
|
const flagType = this.formGroup['caseField']
|
|
111
201
|
&& this.formGroup['caseField'].id
|
|
112
202
|
&& this.formGroup['caseField'].id === this.caseLevelCaseFlagsFieldId
|
|
113
203
|
? RefdataCaseFlagType.CASE
|
|
114
204
|
: RefdataCaseFlagType.PARTY;
|
|
205
|
+
this.formGroup.addControl(CaseFlagFormFields.FLAG_TYPE, new FormControl(''));
|
|
206
|
+
this.formGroup.addControl(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION, new FormControl(''));
|
|
207
|
+
// FormControl is linked to a checkbox input element, so initial value should be false
|
|
208
|
+
this.formGroup.addControl(CaseFlagFormFields.IS_VISIBLE_INTERNALLY_ONLY, new FormControl(false));
|
|
209
|
+
// Should clear descriptionControlName if flagTypeControlName is changed
|
|
210
|
+
this.flagTypeControlChangesSubscription = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE).valueChanges
|
|
211
|
+
.subscribe(_ => {
|
|
212
|
+
this.formGroup.get(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION).setValue('');
|
|
213
|
+
this.cachedPath = [];
|
|
214
|
+
// required to clear language interpreter
|
|
215
|
+
this.formGroup.patchValue({
|
|
216
|
+
[SearchLanguageInterpreterControlNames.LANGUAGE_SEARCH_TERM]: '',
|
|
217
|
+
[SearchLanguageInterpreterControlNames.MANUAL_LANGUAGE_ENTRY]: ''
|
|
218
|
+
});
|
|
219
|
+
});
|
|
115
220
|
// If hmctsServiceId is present, use this to retrieve the relevant list of flag types
|
|
116
221
|
if (this.hmctsServiceId) {
|
|
117
|
-
this.flagRefdata$ = this.caseFlagRefdataService
|
|
222
|
+
this.flagRefdata$ = this.caseFlagRefdataService
|
|
223
|
+
.getCaseFlagsRefdata(this.hmctsServiceId, flagType, true, this.isDisplayContextParameterExternal)
|
|
118
224
|
.subscribe({
|
|
119
|
-
|
|
120
|
-
next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
|
|
225
|
+
next: flagTypes => this.processFlagTypes(flagTypes),
|
|
121
226
|
error: error => this.onRefdataError(error)
|
|
122
227
|
});
|
|
123
228
|
}
|
|
@@ -129,25 +234,22 @@ export class SelectFlagTypeComponent {
|
|
|
129
234
|
catchError(_ => this.caseFlagRefdataService.getHmctsServiceDetailsByServiceName(this.jurisdiction)),
|
|
130
235
|
// Use switchMap to return an inner Observable of the flag types data, having received the service details
|
|
131
236
|
// including service_code. This avoids having nested `subscribe`s, which is an anti-pattern!
|
|
132
|
-
switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType)))
|
|
237
|
+
switchMap(serviceDetails => this.caseFlagRefdataService.getCaseFlagsRefdata(serviceDetails[0].service_code, flagType, true, this.isDisplayContextParameterExternal)))
|
|
133
238
|
.subscribe({
|
|
134
|
-
|
|
135
|
-
next: flagTypes => this.flagTypes = flagTypes[0].childFlags,
|
|
239
|
+
next: flagTypes => this.processFlagTypes(flagTypes),
|
|
136
240
|
error: error => this.onRefdataError(error)
|
|
137
241
|
});
|
|
138
242
|
}
|
|
139
243
|
}
|
|
140
244
|
ngOnDestroy() {
|
|
245
|
+
var _a;
|
|
141
246
|
if (this.flagRefdata$) {
|
|
142
247
|
this.flagRefdata$.unsubscribe();
|
|
143
248
|
}
|
|
144
|
-
|
|
145
|
-
onFlagTypeChanged(flagType) {
|
|
146
|
-
this.selectedFlagType = flagType;
|
|
147
|
-
// Display description textbox if 'Other' flag type is selected
|
|
148
|
-
this.otherFlagTypeSelected = this.selectedFlagType.flagCode === this.otherFlagTypeCode;
|
|
249
|
+
(_a = this.flagTypeControlChangesSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
149
250
|
}
|
|
150
251
|
onNext() {
|
|
252
|
+
var _a, _b;
|
|
151
253
|
// Validate form
|
|
152
254
|
this.validateForm();
|
|
153
255
|
// Return case flag field state, whether the selected flag type (if any) is a parent or not, error messages,
|
|
@@ -155,40 +257,51 @@ export class SelectFlagTypeComponent {
|
|
|
155
257
|
this.caseFlagStateEmitter.emit({
|
|
156
258
|
currentCaseFlagFieldState: CaseFlagFieldState.FLAG_TYPE,
|
|
157
259
|
isParentFlagType: this.selectedFlagType ? this.selectedFlagType.isParent : null,
|
|
158
|
-
errorMessages: this.errorMessages
|
|
159
|
-
flagName: this.selectedFlagType ? this.selectedFlagType.name : null,
|
|
160
|
-
flagPath: this.selectedFlagType ? this.selectedFlagType.Path.map(pathValue => Object.assign({ id: null, value: pathValue })) : null,
|
|
161
|
-
hearingRelevantFlag: this.selectedFlagType ? this.selectedFlagType.hearingRelevant : null,
|
|
162
|
-
flagCode: this.selectedFlagType ? this.selectedFlagType.flagCode : null,
|
|
163
|
-
// Include the "list of values" (if any); currently applicable to language flag types
|
|
164
|
-
listOfValues: this.selectedFlagType && this.selectedFlagType.listOfValues && this.selectedFlagType.listOfValues.length > 0
|
|
165
|
-
? this.selectedFlagType.listOfValues
|
|
166
|
-
: null
|
|
260
|
+
errorMessages: this.errorMessages
|
|
167
261
|
});
|
|
168
|
-
// Emit "flag comments optional" event if the user selects a flag type where comments are not mandatory
|
|
169
|
-
if (this.selectedFlagType && !this.selectedFlagType.flagComment) {
|
|
262
|
+
// Emit "flag comments optional" event if the user selects a child flag type where comments are not mandatory
|
|
263
|
+
if (this.selectedFlagType && !this.selectedFlagType.isParent && !this.selectedFlagType.flagComment) {
|
|
170
264
|
this.flagCommentsOptionalEmitter.emit(null);
|
|
171
265
|
}
|
|
172
266
|
// If the selected flag type is a parent, load the list of child flag types and reset the current selection
|
|
173
267
|
if (this.selectedFlagType && this.selectedFlagType.isParent) {
|
|
268
|
+
// Cache the current flag type selection before it is reset - this is needed for displaying its name as the title
|
|
269
|
+
// when displaying the next set of child flags
|
|
270
|
+
this.cachedFlagType = this.selectedFlagType;
|
|
174
271
|
this.flagTypes = this.selectedFlagType.childFlags;
|
|
175
|
-
|
|
176
|
-
this.
|
|
272
|
+
(_a = this.cachedPath) === null || _a === void 0 ? void 0 : _a.shift();
|
|
273
|
+
this.formGroup.get(CaseFlagFormFields.FLAG_TYPE).setValue(((_b = this.cachedPath) === null || _b === void 0 ? void 0 : _b.length) ? this.cachedPath[0] : null, { emitEvent: false });
|
|
177
274
|
}
|
|
178
275
|
}
|
|
276
|
+
// Identity function for trackBy use by *ngFor for flagTypes in HTML template
|
|
277
|
+
identifyFlagType(_, flagType) {
|
|
278
|
+
return `${flagType.flagCode}_${flagType.name}_${flagType.name_cy}`;
|
|
279
|
+
}
|
|
179
280
|
validateForm() {
|
|
180
281
|
this.flagTypeNotSelectedErrorMessage = '';
|
|
181
282
|
this.flagTypeErrorMessage = '';
|
|
182
283
|
this.errorMessages = [];
|
|
183
284
|
if (!this.selectedFlagType) {
|
|
184
|
-
|
|
185
|
-
|
|
285
|
+
// If there is any prior flag type selection then the message will differ
|
|
286
|
+
let errorMessage = '';
|
|
287
|
+
if (this.cachedFlagType) {
|
|
288
|
+
errorMessage = SelectFlagTypeErrorMessage.FLAG_TYPE_OPTION_NOT_SELECTED;
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
errorMessage = this.isDisplayContextParameterExternal
|
|
292
|
+
? SelectFlagTypeErrorMessage.FLAG_TYPE_NOT_SELECTED_EXTERNAL
|
|
293
|
+
: SelectFlagTypeErrorMessage.FLAG_TYPE_NOT_SELECTED;
|
|
294
|
+
}
|
|
295
|
+
this.flagTypeNotSelectedErrorMessage = errorMessage;
|
|
296
|
+
this.errorMessages.push({ title: '', description: errorMessage, fieldId: 'conditional-radios-list' });
|
|
186
297
|
}
|
|
187
298
|
if (this.otherFlagTypeSelected) {
|
|
188
|
-
const otherFlagTypeDescription = this.formGroup.get(
|
|
299
|
+
const otherFlagTypeDescription = this.formGroup.get(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION).value;
|
|
189
300
|
if (!otherFlagTypeDescription) {
|
|
190
|
-
this.flagTypeErrorMessage =
|
|
191
|
-
|
|
301
|
+
this.flagTypeErrorMessage = this.isDisplayContextParameterExternal
|
|
302
|
+
? SelectFlagTypeErrorMessage.FLAG_TYPE_NOT_ENTERED_EXTERNAL
|
|
303
|
+
: SelectFlagTypeErrorMessage.FLAG_TYPE_NOT_ENTERED;
|
|
304
|
+
this.errorMessages.push({ title: '', description: `${this.flagTypeErrorMessage}`, fieldId: 'other-flag-type-description' });
|
|
192
305
|
}
|
|
193
306
|
if (otherFlagTypeDescription.length > this.maxCharactersForOtherFlagType) {
|
|
194
307
|
this.flagTypeErrorMessage = SelectFlagTypeErrorMessage.FLAG_TYPE_LIMIT_EXCEEDED;
|
|
@@ -196,6 +309,21 @@ export class SelectFlagTypeComponent {
|
|
|
196
309
|
}
|
|
197
310
|
}
|
|
198
311
|
}
|
|
312
|
+
processFlagTypes(flagTypes) {
|
|
313
|
+
// First (and only) object in the returned array should be the top-level "Party" flag type
|
|
314
|
+
// The "Other" flag type should be removed from the top level if the user is external
|
|
315
|
+
this.flagTypes = flagTypes[0].childFlags.filter(flag => this.isDisplayContextParameterExternal ? flag.flagCode !== this.otherFlagTypeCode : true);
|
|
316
|
+
const formControl = this.formGroup.get(CaseFlagFormFields.FLAG_TYPE);
|
|
317
|
+
if (formControl === null || formControl === void 0 ? void 0 : formControl.value) {
|
|
318
|
+
// Cache Path based on existing flagCode -- needed for nested choices
|
|
319
|
+
const [foundFlagType, path] = FlagType.searchPathByFlagTypeObject(formControl.value, this.flagTypes);
|
|
320
|
+
this.cachedPath = [
|
|
321
|
+
...path,
|
|
322
|
+
foundFlagType
|
|
323
|
+
];
|
|
324
|
+
formControl.setValue(this.cachedPath[0], { emitEvent: false });
|
|
325
|
+
}
|
|
326
|
+
}
|
|
199
327
|
onRefdataError(error) {
|
|
200
328
|
// Set error flag on component to remove the "Next" button (user cannot proceed with flag creation)
|
|
201
329
|
this.refdataError = true;
|
|
@@ -206,39 +334,14 @@ export class SelectFlagTypeComponent {
|
|
|
206
334
|
}
|
|
207
335
|
}
|
|
208
336
|
SelectFlagTypeComponent.ɵfac = function SelectFlagTypeComponent_Factory(t) { return new (t || SelectFlagTypeComponent)(i0.ɵɵdirectiveInject(i1.CaseFlagRefdataService)); };
|
|
209
|
-
SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls:
|
|
210
|
-
i0.ɵɵ
|
|
211
|
-
i0.ɵɵ
|
|
212
|
-
i0.ɵɵelementStart(2, "fieldset", 2);
|
|
213
|
-
i0.ɵɵelementStart(3, "legend", 3);
|
|
214
|
-
i0.ɵɵelementStart(4, "h1", 4);
|
|
215
|
-
i0.ɵɵtext(5);
|
|
216
|
-
i0.ɵɵelementEnd();
|
|
217
|
-
i0.ɵɵelementEnd();
|
|
218
|
-
i0.ɵɵtemplate(6, SelectFlagTypeComponent_div_6_Template, 4, 1, "div", 5);
|
|
219
|
-
i0.ɵɵelementStart(7, "div", 6);
|
|
220
|
-
i0.ɵɵtemplate(8, SelectFlagTypeComponent_div_8_Template, 4, 6, "div", 7);
|
|
221
|
-
i0.ɵɵtemplate(9, SelectFlagTypeComponent_div_9_Template, 6, 9, "div", 8);
|
|
222
|
-
i0.ɵɵelementEnd();
|
|
223
|
-
i0.ɵɵelementEnd();
|
|
224
|
-
i0.ɵɵelementEnd();
|
|
225
|
-
i0.ɵɵtemplate(10, SelectFlagTypeComponent_div_10_Template, 3, 0, "div", 9);
|
|
226
|
-
i0.ɵɵelementEnd();
|
|
337
|
+
SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeComponent, selectors: [["ccd-select-flag-type"]], inputs: { formGroup: "formGroup", jurisdiction: "jurisdiction", caseTypeId: "caseTypeId", hmctsServiceId: "hmctsServiceId", isDisplayContextParameterExternal: "isDisplayContextParameterExternal", isDisplayContextParameter2Point1Enabled: "isDisplayContextParameter2Point1Enabled", selectedFlagsLocation: "selectedFlagsLocation" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter", flagCommentsOptionalEmitter: "flagCommentsOptionalEmitter" }, decls: 2, vars: 2, consts: [[3, "formGroup", 4, "ngIf"], ["class", "govuk-button-group", 4, "ngIf"], [3, "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "flag-type-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "flag-type-heading", 1, "govuk-fieldset__heading", "govuk-!-margin-bottom-1"], [4, "ngIf", "ngIfElse"], ["priorFlagTypeSelected", ""], ["id", "flag-type-not-selected-error-message", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "govuk-radios__conditional", "id", "conditional-flagType", 4, "ngIf"], ["id", "flag-type-not-selected-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "conditional-flagType", 1, "govuk-radios__conditional"], ["for", "other-flag-type-description", 1, "govuk-label"], ["id", "flag-type-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "other-flag-type-description", "type", "text", 1, "govuk-input", "govuk-!-width-one-half", 3, "ngClass", "name", "formControlName"], ["class", "govuk-checkboxes__item govuk-!-margin-top-4", 4, "ngIf"], ["id", "flag-type-error-message", 1, "govuk-error-message"], [1, "govuk-checkboxes__item", "govuk-!-margin-top-4"], ["id", "is-visible-externally", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "name", "formControlName"], ["for", "is-visible-externally", 1, "govuk-label", "govuk-checkboxes__label"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"]], template: function SelectFlagTypeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
338
|
+
i0.ɵɵtemplate(0, SelectFlagTypeComponent_ng_container_0_Template, 12, 10, "ng-container", 0);
|
|
339
|
+
i0.ɵɵtemplate(1, SelectFlagTypeComponent_div_1_Template, 4, 3, "div", 1);
|
|
227
340
|
} if (rf & 2) {
|
|
228
|
-
i0.ɵɵproperty("
|
|
229
|
-
i0.ɵɵadvance(1);
|
|
230
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c0, ctx.flagTypeNotSelectedErrorMessage.length > 0));
|
|
231
|
-
i0.ɵɵadvance(4);
|
|
232
|
-
i0.ɵɵtextInterpolate1(" ", ctx.caseFlagWizardStepTitle.SELECT_CASE_FLAG, " ");
|
|
233
|
-
i0.ɵɵadvance(1);
|
|
234
|
-
i0.ɵɵproperty("ngIf", ctx.flagTypeNotSelectedErrorMessage.length > 0);
|
|
235
|
-
i0.ɵɵadvance(2);
|
|
236
|
-
i0.ɵɵproperty("ngForOf", ctx.flagTypes);
|
|
237
|
-
i0.ɵɵadvance(1);
|
|
238
|
-
i0.ɵɵproperty("ngIf", ctx.otherFlagTypeSelected);
|
|
341
|
+
i0.ɵɵproperty("ngIf", ctx.flagTypes == null ? null : ctx.flagTypes.length);
|
|
239
342
|
i0.ɵɵadvance(1);
|
|
240
343
|
i0.ɵɵproperty("ngIf", !ctx.refdataError);
|
|
241
|
-
} },
|
|
344
|
+
} }, styles: [".hidden[_ngcontent-%COMP%]{display:none}.validation-error[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;color:#d4351c}"] });
|
|
242
345
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectFlagTypeComponent, [{
|
|
243
346
|
type: Component,
|
|
244
347
|
args: [{
|
|
@@ -254,9 +357,15 @@ SelectFlagTypeComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SelectFlagTypeCom
|
|
|
254
357
|
type: Input
|
|
255
358
|
}], hmctsServiceId: [{
|
|
256
359
|
type: Input
|
|
360
|
+
}], isDisplayContextParameterExternal: [{
|
|
361
|
+
type: Input
|
|
362
|
+
}], isDisplayContextParameter2Point1Enabled: [{
|
|
363
|
+
type: Input
|
|
364
|
+
}], selectedFlagsLocation: [{
|
|
365
|
+
type: Input
|
|
257
366
|
}], caseFlagStateEmitter: [{
|
|
258
367
|
type: Output
|
|
259
368
|
}], flagCommentsOptionalEmitter: [{
|
|
260
369
|
type: Output
|
|
261
370
|
}] }); })();
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztJQ0RoRywrQkFDcUQ7SUFDbkQsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU07OztJQUQ4QyxlQUNwRDtJQURvRCx1RUFDcEQ7Ozs7SUFFRSwrQkFBK0U7SUFJN0UsaUNBRWtGO0lBQXhD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Q0FBQyxDQUFDO0lBQ2pJLENBQUM7OzhGQXRKVSx1QkFBdUI7NERBQXZCLHVCQUF1QjtRQ2hCcEMsOEJBQWdEO1FBQzlDLDhCQUEyRztRQUN6RyxtQ0FBc0U7UUFDcEUsaUNBQWlFO1FBQy9ELDZCQUEyRDtRQUN6RCxZQUNGO1FBQUEsaUJBQUs7UUFDUCxpQkFBUztRQUNULHdFQUdNO1FBQ04sOEJBQTRHO1FBQzFHLHdFQVFNO1FBQ04sd0VBV007UUFDUixpQkFBTTtRQUNSLGlCQUFXO1FBQ2IsaUJBQU07UUFDTiwwRUFFTTtRQUNSLGlCQUFNOztRQXhDa0IseUNBQXVCO1FBQ2YsZUFBNEU7UUFBNUUsb0dBQTRFO1FBSWxHLGVBQ0Y7UUFERSw2RUFDRjtRQUdDLGVBQWdEO1FBQWhELHFFQUFnRDtRQUlJLGVBQWM7UUFBZCx1Q0FBYztRQVMzQixlQUEyQjtRQUEzQixnREFBMkI7UUFleEMsZUFBbUI7UUFBbkIsd0NBQW1COzt1RkRyQnpDLHVCQUF1QjtjQUxuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLG1DQUFtQztnQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFDakQ7eUVBSVEsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNO1lBSUEsMkJBQTJCO2tCQURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWZkYXRhQ2FzZUZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvY2FzZS1mbGFnL3JlZmRhdGEtY2FzZS1mbGFnLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsIFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VsZWN0LWZsYWctdHlwZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VUeXBlSWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaG1jdHNTZXJ2aWNlSWQ6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBmbGFnVHlwZXM6IEZsYWdUeXBlW107XG4gIHB1YmxpYyBzZWxlY3RlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgb3RoZXJGbGFnVHlwZVNlbGVjdGVkID0gZmFsc2U7XG4gIHB1YmxpYyByZWZkYXRhRXJyb3IgPSBmYWxzZTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmxhZ1R5cGVDb250cm9sTmFtZSA9ICdmbGFnVHlwZSc7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmlwdGlvbkNvbnRyb2xOYW1lID0gJ290aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUgPSA4MDtcbiAgLy8gQ29kZSBmb3IgXCJPdGhlclwiIGZsYWcgdHlwZSBhcyBkZWZpbmVkIGluIFJlZmVyZW5jZSBEYXRhXG4gIHByaXZhdGUgcmVhZG9ubHkgb3RoZXJGbGFnVHlwZUNvZGUgPSAnT1QwMDAxJztcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQgPSAnY2FzZUZsYWdzJztcblxuICBwdWJsaWMgZ2V0IGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlKCk6IHR5cGVvZiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSB7XG4gICAgcmV0dXJuIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mbGFnVHlwZXMgPSBbXTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuZmxhZ1R5cGVDb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLmRlc2NyaXB0aW9uQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuXG4gICAgY29uc3QgZmxhZ1R5cGUgPSB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ11cbiAgICAgICYmIHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXS5pZFxuICAgICAgJiYgdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddLmlkID09PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWRcbiAgICAgID8gUmVmZGF0YUNhc2VGbGFnVHlwZS5DQVNFXG4gICAgICA6IFJlZmRhdGFDYXNlRmxhZ1R5cGUuUEFSVFk7XG5cbiAgICAvLyBJZiBobWN0c1NlcnZpY2VJZCBpcyBwcmVzZW50LCB1c2UgdGhpcyB0byByZXRyaWV2ZSB0aGUgcmVsZXZhbnQgbGlzdCBvZiBmbGFnIHR5cGVzXG4gICAgaWYgKHRoaXMuaG1jdHNTZXJ2aWNlSWQpIHtcbiAgICAgIHRoaXMuZmxhZ1JlZmRhdGEkID0gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldENhc2VGbGFnc1JlZmRhdGEodGhpcy5obWN0c1NlcnZpY2VJZCwgZmxhZ1R5cGUpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIC8vIEZpcnN0IChhbmQgb25seSkgb2JqZWN0IGluIHRoZSByZXR1cm5lZCBhcnJheSBzaG91bGQgYmUgdGhlIHRvcC1sZXZlbCBcIlBhcnR5XCIgZmxhZyB0eXBlXG4gICAgICAgICAgbmV4dDogZmxhZ1R5cGVzID0+IHRoaXMuZmxhZ1R5cGVzID0gZmxhZ1R5cGVzWzBdLmNoaWxkRmxhZ3MsXG4gICAgICAgICAgZXJyb3I6IGVycm9yID0+IHRoaXMub25SZWZkYXRhRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbHNlLCBITUNUUyBzZXJ2aWNlIGNvZGUgaXMgcmVxdWlyZWQgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlczsgYXR0ZW1wdCB0byBvYnRhaW4gaXQgYnkgY2FzZSB0eXBlIElEIGZpcnN0XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIElmIGFuIGVycm9yIG9jY3VycyByZXRyaWV2aW5nIEhNQ1RTIHNlcnZpY2UgZGV0YWlscyBieSBjYXNlIHR5cGUgSUQsIHRyeSBieSBzZXJ2aWNlIG5hbWUgaW5zdGVhZFxuICAgICAgICAgIGNhdGNoRXJyb3IoXyA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0SG1jdHNTZXJ2aWNlRGV0YWlsc0J5U2VydmljZU5hbWUodGhpcy5qdXJpc2RpY3Rpb24pKSxcbiAgICAgICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBmbGFnIHR5cGVzIGRhdGEsIGhhdmluZyByZWNlaXZlZCB0aGUgc2VydmljZSBkZXRhaWxzXG4gICAgICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgICAgICBzd2l0Y2hNYXAoc2VydmljZURldGFpbHMgPT4gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldENhc2VGbGFnc1JlZmRhdGEoc2VydmljZURldGFpbHNbMF0uc2VydmljZV9jb2RlLCBmbGFnVHlwZSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgLy8gRmlyc3QgKGFuZCBvbmx5KSBvYmplY3QgaW4gdGhlIHJldHVybmVkIGFycmF5IHNob3VsZCBiZSB0aGUgdG9wLWxldmVsIFwiUGFydHlcIiBmbGFnIHR5cGVcbiAgICAgICAgICBuZXh0OiBmbGFnVHlwZXMgPT4gdGhpcy5mbGFnVHlwZXMgPSBmbGFnVHlwZXNbMF0uY2hpbGRGbGFncyxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsYWdSZWZkYXRhJCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25GbGFnVHlwZUNoYW5nZWQoZmxhZ1R5cGU6IEZsYWdUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZsYWdUeXBlID0gZmxhZ1R5cGU7XG4gICAgLy8gRGlzcGxheSBkZXNjcmlwdGlvbiB0ZXh0Ym94IGlmICdPdGhlcicgZmxhZyB0eXBlIGlzIHNlbGVjdGVkXG4gICAgdGhpcy5vdGhlckZsYWdUeXBlU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvZGUgPT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGU7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIGZvcm1cbiAgICB0aGlzLnZhbGlkYXRlRm9ybSgpO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUsIHdoZXRoZXIgdGhlIHNlbGVjdGVkIGZsYWcgdHlwZSAoaWYgYW55KSBpcyBhIHBhcmVudCBvciBub3QsIGVycm9yIG1lc3NhZ2VzLFxuICAgIC8vIGZsYWcgbmFtZSwgcGF0aCwgaGVhcmluZyByZWxldmFudCBpbmRpY2F0b3IsIGNvZGUsIGFuZCBcImxpc3Qgb2YgdmFsdWVzXCIgKGlmIGFueSkgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLFxuICAgICAgaXNQYXJlbnRGbGFnVHlwZTogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50IDogbnVsbCxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIGZsYWdOYW1lOiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPyB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUubmFtZSA6IG51bGwsXG4gICAgICBmbGFnUGF0aDogdGhpcy5zZWxlY3RlZEZsYWdUeXBlID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLlBhdGgubWFwKHBhdGhWYWx1ZSA9PiBPYmplY3QuYXNzaWduKHsgaWQ6IG51bGwsIHZhbHVlOiBwYXRoVmFsdWUgfSkpIDogbnVsbCxcbiAgICAgIGhlYXJpbmdSZWxldmFudEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5oZWFyaW5nUmVsZXZhbnQgOiBudWxsLFxuICAgICAgZmxhZ0NvZGU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29kZSA6IG51bGwsXG4gICAgICAvLyBJbmNsdWRlIHRoZSBcImxpc3Qgb2YgdmFsdWVzXCIgKGlmIGFueSk7IGN1cnJlbnRseSBhcHBsaWNhYmxlIHRvIGxhbmd1YWdlIGZsYWcgdHlwZXNcbiAgICAgIGxpc3RPZlZhbHVlczogdGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmIHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5saXN0T2ZWYWx1ZXMgJiYgdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmxpc3RPZlZhbHVlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmxpc3RPZlZhbHVlc1xuICAgICAgICA6IG51bGxcbiAgICB9KTtcbiAgICAvLyBFbWl0IFwiZmxhZyBjb21tZW50cyBvcHRpb25hbFwiIGV2ZW50IGlmIHRoZSB1c2VyIHNlbGVjdHMgYSBmbGFnIHR5cGUgd2hlcmUgY29tbWVudHMgYXJlIG5vdCBtYW5kYXRvcnlcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuZmxhZ0NvbW1lbnQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzT3B0aW9uYWxFbWl0dGVyLmVtaXQobnVsbCk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBmbGFnIHR5cGUgaXMgYSBwYXJlbnQsIGxvYWQgdGhlIGxpc3Qgb2YgY2hpbGQgZmxhZyB0eXBlcyBhbmQgcmVzZXQgdGhlIGN1cnJlbnQgc2VsZWN0aW9uXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSAmJiB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaXNQYXJlbnQpIHtcbiAgICAgIHRoaXMuZmxhZ1R5cGVzID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmNoaWxkRmxhZ3M7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5mbGFnVHlwZUNvbnRyb2xOYW1lKS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICghdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICB0aGlzLmZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURUR9YCwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdGhlckZsYWdUeXBlU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmRlc2NyaXB0aW9uQ29udHJvbE5hbWUpLnZhbHVlO1xuICAgICAgaWYgKCFvdGhlckZsYWdUeXBlRGVzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZSA9IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRDtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGAke1NlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRH1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJ30pO1xuICAgICAgfVxuICAgICAgaWYgKG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbi5sZW5ndGggPiB0aGlzLm1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbid9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uUmVmZGF0YUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBTZXQgZXJyb3IgZmxhZyBvbiBjb21wb25lbnQgdG8gcmVtb3ZlIHRoZSBcIk5leHRcIiBidXR0b24gKHVzZXIgY2Fubm90IHByb2NlZWQgd2l0aCBmbGFnIGNyZWF0aW9uKVxuICAgIHRoaXMucmVmZGF0YUVycm9yID0gdHJ1ZTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogZXJyb3IubWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIC8vIFJldHVybiBjYXNlIGZsYWcgZmllbGQgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoeyBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiZmxhZy10eXBlLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGlkPVwiZmxhZy10eXBlLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3tjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5TRUxFQ1RfQ0FTRV9GTEFHfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1ub3Qtc2VsZWN0ZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwiZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2ZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWxcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBmbGFnVHlwZSBvZiBmbGFnVHlwZXM7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICA8IS0tIEFsbCBwYXJlbnQgZmxhZyB0eXBlcyBoYXZlIHRoZSBzYW1lIGZsYWdDb2RlIG9mIFwiQ0FUR1JZXCIsIHNvIGVhY2ggcmFkaW8gYnV0dG9uIHZhbHVlIG5lZWRzIHRvIGJlIG1hZGVcbiAgICAgICAgICAgIHVuaXF1ZSBieSBhcHBlbmRpbmcgdGhlIGluZGV4IC0gcmFkaW8gYnV0dG9ucyBzaG91bGRuJ3Qgc2hhcmUgdGhlIHNhbWUgdmFsdWUuXG4gICAgICAgICAgICBJdCBpcyBPSyB0byBhbWVuZCBmbGFnQ29kZSB0aGlzIHdheSBiZWNhdXNlIHBhcmVudCBmbGFnIHR5cGVzIGNhbm5vdCBiZSBzZWxlY3RlZCBhcyBhIGZpbmFsIHZhbHVlIC0tPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cImZsYWctdHlwZS17e2l9fVwiIFtuYW1lXT1cImZsYWdUeXBlQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cImZsYWdUeXBlLmZsYWdDb2RlID09PSAnQ0FUR1JZJyA/IGZsYWdUeXBlLmZsYWdDb2RlICsgaSA6IGZsYWdUeXBlLmZsYWdDb2RlXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmxhZ1R5cGVDb250cm9sTmFtZVwiIChjaGFuZ2UpPVwib25GbGFnVHlwZUNoYW5nZWQoZmxhZ1R5cGUpXCIvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXR5cGUte3tpfX1cIj57e2ZsYWdUeXBlLm5hbWV9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiICpuZ0lmPVwib3RoZXJGbGFnVHlwZVNlbGVjdGVkXCIgaWQ9XCJjb25kaXRpb25hbC1mbGFnVHlwZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCI+RW50ZXIgYSBmbGFnIHR5cGU8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2ZsYWdUeXBlRXJyb3JNZXNzYWdlfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstIS13aWR0aC1vbmUtaGFsZlwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIlxuICAgICAgICAgICAgICBpZD1cIm90aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvblwiIFtuYW1lXT1cImRlc2NyaXB0aW9uQ29udHJvbE5hbWVcIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZGVzY3JpcHRpb25Db250cm9sTmFtZVwiLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiICpuZ0lmPVwiIXJlZmRhdGFFcnJvclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+TmV4dDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9zZWxlY3QtZmxhZy10eXBlL3NlbGVjdC1mbGFnLXR5cGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvc2VsZWN0LWZsYWctdHlwZS9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOzs7O0lDTDVILDZCQUFrRTtJQUNoRSxZQUtGOzs7SUFBQSww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QUssRUFBRSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVU7UUFDL0IsbUdBQW1HO1FBQ25HLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUMsQ0FBQyxDQUFDO1FBQ3JHLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNqSSxDQUFDOzs4RkFqTlUsdUJBQXVCOzREQUF2Qix1QkFBdUI7UUNqQnBDLDRGQTJEZTtRQUVmLHdFQUVNOztRQS9EUywwRUFBdUI7UUE2REwsZUFBbUI7UUFBbkIsd0NBQW1COzt1RkQ1Q3ZDLHVCQUF1QjtjQUxuQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsV0FBVyxFQUFFLG1DQUFtQztnQkFDaEQsU0FBUyxFQUFFLENBQUMsbUNBQW1DLENBQUM7YUFDakQ7eUVBR1EsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsaUNBQWlDO2tCQUR2QyxLQUFLO1lBSUMsdUNBQXVDO2tCQUQ3QyxLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMsb0JBQW9CO2tCQUQxQixNQUFNO1lBSUEsMkJBQTJCO2tCQURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRmxhZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vY2FzZS1mbGFnJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWZkYXRhQ2FzZUZsYWdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvY2FzZS1mbGFnL3JlZmRhdGEtY2FzZS1mbGFnLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlLCBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnRmllbGRTdGF0ZSwgQ2FzZUZsYWdGb3JtRmllbGRzLCBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSwgU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hMYW5ndWFnZUludGVycHJldGVyQ29udHJvbE5hbWVzIH0gZnJvbSAnLi4vc2VhcmNoLWxhbmd1YWdlLWludGVycHJldGVyL3NlYXJjaC1sYW5ndWFnZS1pbnRlcnByZXRlci1jb250cm9sLW5hbWVzLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VsZWN0LWZsYWctdHlwZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmxhZy10eXBlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZsYWctdHlwZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZsYWdUeXBlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhtY3RzU2VydmljZUlkOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyMlBvaW50MUVuYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRGbGFnc0xvY2F0aW9uOiBGbGFnc1dpdGhGb3JtR3JvdXBQYXRoO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGZsYWdDb21tZW50c09wdGlvbmFsRW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGZsYWdUeXBlczogRmxhZ1R5cGVbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdO1xuICBwdWJsaWMgZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICBwdWJsaWMgZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgcHVibGljIGZsYWdSZWZkYXRhJDogU3Vic2NyaXB0aW9uO1xuICBwdWJsaWMgcmVmZGF0YUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRQYXRoOiAoRmxhZ1R5cGUgfCBmYWxzZSlbXTtcbiAgcHVibGljIGNhY2hlZEZsYWdUeXBlOiBGbGFnVHlwZTtcbiAgcHVibGljIGZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGNhc2VGbGFnRm9ybUZpZWxkID0gQ2FzZUZsYWdGb3JtRmllbGRzO1xuICBwdWJsaWMgaXNDYXNlTGV2ZWxGbGFnOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q2hhcmFjdGVyc0Zvck90aGVyRmxhZ1R5cGUgPSA4MDtcbiAgLy8gQ29kZSBmb3IgXCJPdGhlclwiIGZsYWcgdHlwZSBhcyBkZWZpbmVkIGluIFJlZmVyZW5jZSBEYXRhXG4gIHByaXZhdGUgcmVhZG9ubHkgb3RoZXJGbGFnVHlwZUNvZGUgPSAnT1QwMDAxJztcbiAgcHJpdmF0ZSByZWFkb25seSBjYXNlTGV2ZWxDYXNlRmxhZ3NGaWVsZElkID0gJ2Nhc2VGbGFncyc7XG5cbiAgcHVibGljIGdldCBjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSgpOiB0eXBlb2YgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUge1xuICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRGbGFnVHlwZSgpOiBGbGFnVHlwZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSk/LnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBvdGhlckZsYWdUeXBlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuRkxBR19UWVBFKT8udmFsdWU/LmZsYWdDb2RlID09PSB0aGlzLm90aGVyRmxhZ1R5cGVDb2RlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nhc2VMZXZlbEZsYWcgPSB0aGlzLnNlbGVjdGVkRmxhZ3NMb2NhdGlvbi5mbGFncy5mbGFnc0Nhc2VGaWVsZElkID09PSB0aGlzLmNhc2VMZXZlbENhc2VGbGFnc0ZpZWxkSWQ7XG4gICAgdGhpcy5mbGFnVHlwZXMgPSBbXTtcbiAgICBjb25zdCBmbGFnVHlwZSA9IHRoaXMuZm9ybUdyb3VwWydjYXNlRmllbGQnXVxuICAgICAgJiYgdGhpcy5mb3JtR3JvdXBbJ2Nhc2VGaWVsZCddLmlkXG4gICAgICAmJiB0aGlzLmZvcm1Hcm91cFsnY2FzZUZpZWxkJ10uaWQgPT09IHRoaXMuY2FzZUxldmVsQ2FzZUZsYWdzRmllbGRJZFxuICAgICAgPyBSZWZkYXRhQ2FzZUZsYWdUeXBlLkNBU0VcbiAgICAgIDogUmVmZGF0YUNhc2VGbGFnVHlwZS5QQVJUWTtcblxuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTiwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gICAgLy8gRm9ybUNvbnRyb2wgaXMgbGlua2VkIHRvIGEgY2hlY2tib3ggaW5wdXQgZWxlbWVudCwgc28gaW5pdGlhbCB2YWx1ZSBzaG91bGQgYmUgZmFsc2VcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5JU19WSVNJQkxFX0lOVEVSTkFMTFlfT05MWSwgbmV3IEZvcm1Db250cm9sKGZhbHNlKSk7XG5cbiAgICAvLyBTaG91bGQgY2xlYXIgZGVzY3JpcHRpb25Db250cm9sTmFtZSBpZiBmbGFnVHlwZUNvbnRyb2xOYW1lIGlzIGNoYW5nZWRcbiAgICB0aGlzLmZsYWdUeXBlQ29udHJvbENoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSkudmFsdWVDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04pLnNldFZhbHVlKCcnKTtcbiAgICAgICAgdGhpcy5jYWNoZWRQYXRoID0gW107XG5cbiAgICAgICAgLy8gcmVxdWlyZWQgdG8gY2xlYXIgbGFuZ3VhZ2UgaW50ZXJwcmV0ZXJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgW1NlYXJjaExhbmd1YWdlSW50ZXJwcmV0ZXJDb250cm9sTmFtZXMuTEFOR1VBR0VfU0VBUkNIX1RFUk1dOiAnJyxcbiAgICAgICAgICBbU2VhcmNoTGFuZ3VhZ2VJbnRlcnByZXRlckNvbnRyb2xOYW1lcy5NQU5VQUxfTEFOR1VBR0VfRU5UUlldOiAnJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gSWYgaG1jdHNTZXJ2aWNlSWQgaXMgcHJlc2VudCwgdXNlIHRoaXMgdG8gcmV0cmlldmUgdGhlIHJlbGV2YW50IGxpc3Qgb2YgZmxhZyB0eXBlc1xuICAgIGlmICh0aGlzLmhtY3RzU2VydmljZUlkKSB7XG4gICAgICB0aGlzLmZsYWdSZWZkYXRhJCA9IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZVxuICAgICAgICAuZ2V0Q2FzZUZsYWdzUmVmZGF0YSh0aGlzLmhtY3RzU2VydmljZUlkLCBmbGFnVHlwZSwgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVsc2UsIEhNQ1RTIHNlcnZpY2UgY29kZSBpcyByZXF1aXJlZCB0byByZXRyaWV2ZSB0aGUgcmVsZXZhbnQgbGlzdCBvZiBmbGFnIHR5cGVzOyBhdHRlbXB0IHRvIG9idGFpbiBpdCBieSBjYXNlIHR5cGUgSUQgZmlyc3RcbiAgICAgIHRoaXMuZmxhZ1JlZmRhdGEkID0gdGhpcy5jYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeUNhc2VUeXBlKHRoaXMuY2FzZVR5cGVJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICAgICAgY2F0Y2hFcnJvcihfID0+IHRoaXMuY2FzZUZsYWdSZWZkYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlTZXJ2aWNlTmFtZSh0aGlzLmp1cmlzZGljdGlvbikpLFxuICAgICAgICAgIC8vIFVzZSBzd2l0Y2hNYXAgdG8gcmV0dXJuIGFuIGlubmVyIE9ic2VydmFibGUgb2YgdGhlIGZsYWcgdHlwZXMgZGF0YSwgaGF2aW5nIHJlY2VpdmVkIHRoZSBzZXJ2aWNlIGRldGFpbHNcbiAgICAgICAgICAvLyBpbmNsdWRpbmcgc2VydmljZV9jb2RlLiBUaGlzIGF2b2lkcyBoYXZpbmcgbmVzdGVkIGBzdWJzY3JpYmVgcywgd2hpY2ggaXMgYW4gYW50aS1wYXR0ZXJuIVxuICAgICAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB0aGlzLmNhc2VGbGFnUmVmZGF0YVNlcnZpY2UuZ2V0Q2FzZUZsYWdzUmVmZGF0YShzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUsIGZsYWdUeXBlLFxuICAgICAgICAgICAgdHJ1ZSwgdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWwpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IGZsYWdUeXBlcyA9PiB0aGlzLnByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzKSxcbiAgICAgICAgICBlcnJvcjogZXJyb3IgPT4gdGhpcy5vblJlZmRhdGFFcnJvcihlcnJvcilcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsYWdSZWZkYXRhJCkge1xuICAgICAgdGhpcy5mbGFnUmVmZGF0YSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5mbGFnVHlwZUNvbnRyb2xDaGFuZ2VzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSBmb3JtXG4gICAgdGhpcy52YWxpZGF0ZUZvcm0oKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCB3aGV0aGVyIHRoZSBzZWxlY3RlZCBmbGFnIHR5cGUgKGlmIGFueSkgaXMgYSBwYXJlbnQgb3Igbm90LCBlcnJvciBtZXNzYWdlcyxcbiAgICAvLyBmbGFnIG5hbWUsIHBhdGgsIGhlYXJpbmcgcmVsZXZhbnQgaW5kaWNhdG9yLCBjb2RlLCBhbmQgXCJsaXN0IG9mIHZhbHVlc1wiIChpZiBhbnkpIHRvIHRoZSBwYXJlbnRcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSxcbiAgICAgIGlzUGFyZW50RmxhZ1R5cGU6IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZSA/IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5pc1BhcmVudCA6IG51bGwsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXNcbiAgICB9KTtcbiAgICAvLyBFbWl0IFwiZmxhZyBjb21tZW50cyBvcHRpb25hbFwiIGV2ZW50IGlmIHRoZSB1c2VyIHNlbGVjdHMgYSBjaGlsZCBmbGFnIHR5cGUgd2hlcmUgY29tbWVudHMgYXJlIG5vdCBtYW5kYXRvcnlcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWdUeXBlICYmICF0aGlzLnNlbGVjdGVkRmxhZ1R5cGUuaXNQYXJlbnQgJiYgIXRoaXMuc2VsZWN0ZWRGbGFnVHlwZS5mbGFnQ29tbWVudCkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNPcHRpb25hbEVtaXR0ZXIuZW1pdChudWxsKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2VsZWN0ZWQgZmxhZyB0eXBlIGlzIGEgcGFyZW50LCBsb2FkIHRoZSBsaXN0IG9mIGNoaWxkIGZsYWcgdHlwZXMgYW5kIHJlc2V0IHRoZSBjdXJyZW50IHNlbGVjdGlvblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRmxhZ1R5cGUgJiYgdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmlzUGFyZW50KSB7XG4gICAgICAvLyBDYWNoZSB0aGUgY3VycmVudCBmbGFnIHR5cGUgc2VsZWN0aW9uIGJlZm9yZSBpdCBpcyByZXNldCAtIHRoaXMgaXMgbmVlZGVkIGZvciBkaXNwbGF5aW5nIGl0cyBuYW1lIGFzIHRoZSB0aXRsZVxuICAgICAgLy8gd2hlbiBkaXNwbGF5aW5nIHRoZSBuZXh0IHNldCBvZiBjaGlsZCBmbGFnc1xuICAgICAgdGhpcy5jYWNoZWRGbGFnVHlwZSA9IHRoaXMuc2VsZWN0ZWRGbGFnVHlwZTtcbiAgICAgIHRoaXMuZmxhZ1R5cGVzID0gdGhpcy5zZWxlY3RlZEZsYWdUeXBlLmNoaWxkRmxhZ3M7XG4gICAgICB0aGlzLmNhY2hlZFBhdGg/LnNoaWZ0KCk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkZMQUdfVFlQRSkuc2V0VmFsdWUodGhpcy5jYWNoZWRQYXRoPy5sZW5ndGggPyB0aGlzLmNhY2hlZFBhdGhbMF0gOiBudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gSWRlbnRpdHkgZnVuY3Rpb24gZm9yIHRyYWNrQnkgdXNlIGJ5ICpuZ0ZvciBmb3IgZmxhZ1R5cGVzIGluIEhUTUwgdGVtcGxhdGVcbiAgcHVibGljIGlkZW50aWZ5RmxhZ1R5cGUoXzogbnVtYmVyLCBmbGFnVHlwZTogRmxhZ1R5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtmbGFnVHlwZS5mbGFnQ29kZX1fJHtmbGFnVHlwZS5uYW1lfV8ke2ZsYWdUeXBlLm5hbWVfY3l9YDtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuZmxhZ1R5cGVOb3RTZWxlY3RlZEVycm9yTWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICghdGhpcy5zZWxlY3RlZEZsYWdUeXBlKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbnkgcHJpb3IgZmxhZyB0eXBlIHNlbGVjdGlvbiB0aGVuIHRoZSBtZXNzYWdlIHdpbGwgZGlmZmVyXG4gICAgICBsZXQgZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICBpZiAodGhpcy5jYWNoZWRGbGFnVHlwZSkge1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfT1BUSU9OX05PVF9TRUxFQ1RFRDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSAgPSB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfU0VMRUNURURfRVhURVJOQUxcbiAgICAgICAgOiBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTk9UX1NFTEVDVEVEO1xuICAgICAgfVxuICAgICAgdGhpcy5mbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe3RpdGxlOiAnJywgZGVzY3JpcHRpb246IGVycm9yTWVzc2FnZSwgZmllbGRJZDogJ2NvbmRpdGlvbmFsLXJhZGlvcy1saXN0J30pO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdGhlckZsYWdUeXBlU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTikudmFsdWU7XG4gICAgICBpZiAoIW90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLmZsYWdUeXBlRXJyb3JNZXNzYWdlID0gdGhpcy5pc0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyRXh0ZXJuYWxcbiAgICAgICAgICA/IFNlbGVjdEZsYWdUeXBlRXJyb3JNZXNzYWdlLkZMQUdfVFlQRV9OT1RfRU5URVJFRF9FWFRFUk5BTFxuICAgICAgICAgIDogU2VsZWN0RmxhZ1R5cGVFcnJvck1lc3NhZ2UuRkxBR19UWVBFX05PVF9FTlRFUkVEO1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7dGl0bGU6ICcnLCBkZXNjcmlwdGlvbjogYCR7dGhpcy5mbGFnVHlwZUVycm9yTWVzc2FnZX1gLCBmaWVsZElkOiAnb3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uJ30pO1xuICAgICAgfVxuICAgICAgaWYgKG90aGVyRmxhZ1R5cGVEZXNjcmlwdGlvbi5sZW5ndGggPiB0aGlzLm1heENoYXJhY3RlcnNGb3JPdGhlckZsYWdUeXBlKSB7XG4gICAgICAgIHRoaXMuZmxhZ1R5cGVFcnJvck1lc3NhZ2UgPSBTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBgJHtTZWxlY3RGbGFnVHlwZUVycm9yTWVzc2FnZS5GTEFHX1RZUEVfTElNSVRfRVhDRUVERUR9YCwgZmllbGRJZDogJ290aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvbid9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NGbGFnVHlwZXMoZmxhZ1R5cGVzOiBGbGFnVHlwZVtdKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgKGFuZCBvbmx5KSBvYmplY3QgaW4gdGhlIHJldHVybmVkIGFycmF5IHNob3VsZCBiZSB0aGUgdG9wLWxldmVsIFwiUGFydHlcIiBmbGFnIHR5cGVcbiAgICAvLyBUaGUgXCJPdGhlclwiIGZsYWcgdHlwZSBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSB0b3AgbGV2ZWwgaWYgdGhlIHVzZXIgaXMgZXh0ZXJuYWxcbiAgICB0aGlzLmZsYWdUeXBlcyA9IGZsYWdUeXBlc1swXS5jaGlsZEZsYWdzLmZpbHRlcihmbGFnID0+XG4gICAgICB0aGlzLmlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbCA/IGZsYWcuZmxhZ0NvZGUgIT09IHRoaXMub3RoZXJGbGFnVHlwZUNvZGUgOiB0cnVlKTtcblxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5GTEFHX1RZUEUpO1xuICAgIGlmIChmb3JtQ29udHJvbD8udmFsdWUpIHtcbiAgICAgIC8vIENhY2hlIFBhdGggYmFzZWQgb24gZXhpc3RpbmcgZmxhZ0NvZGUgLS0gbmVlZGVkIGZvciBuZXN0ZWQgY2hvaWNlc1xuICAgICAgY29uc3QgW2ZvdW5kRmxhZ1R5cGUsIHBhdGhdID0gRmxhZ1R5cGUuc2VhcmNoUGF0aEJ5RmxhZ1R5cGVPYmplY3QoZm9ybUNvbnRyb2wudmFsdWUgYXMgRmxhZ1R5cGUsIHRoaXMuZmxhZ1R5cGVzKTtcbiAgICAgIHRoaXMuY2FjaGVkUGF0aCA9IFtcbiAgICAgICAgLi4ucGF0aCxcbiAgICAgICAgZm91bmRGbGFnVHlwZVxuICAgICAgXTtcbiAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuY2FjaGVkUGF0aFswXSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25SZWZkYXRhRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIC8vIFNldCBlcnJvciBmbGFnIG9uIGNvbXBvbmVudCB0byByZW1vdmUgdGhlIFwiTmV4dFwiIGJ1dHRvbiAodXNlciBjYW5ub3QgcHJvY2VlZCB3aXRoIGZsYWcgY3JlYXRpb24pXG4gICAgdGhpcy5yZWZkYXRhRXJyb3IgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHt0aXRsZTogJycsIGRlc2NyaXB0aW9uOiBlcnJvci5tZXNzYWdlLCBmaWVsZElkOiAnY29uZGl0aW9uYWwtcmFkaW9zLWxpc3QnfSk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7IGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1RZUEUsIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyB9KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImZsYWdUeXBlcz8ubGVuZ3RoXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlLmxlbmd0aCA+IDB9XCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiZmxhZy10eXBlLWhlYWRpbmdcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgPGgxIGlkPVwiZmxhZy10eXBlLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0xXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjYWNoZWRGbGFnVHlwZTsgZWxzZSBwcmlvckZsYWdUeXBlU2VsZWN0ZWRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGlzRGlzcGxheUNvbnRleHRQYXJhbWV0ZXJFeHRlcm5hbFxuICAgICAgICAgICAgICAgID8gKGNhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlNFTEVDVF9DQVNFX0ZMQUdfRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgOiAoY2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuU0VMRUNUX0NBU0VfRkxBRyB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwcmlvckZsYWdUeXBlU2VsZWN0ZWQ+XG4gICAgICAgICAgICB7e2NhY2hlZEZsYWdUeXBlIHwgZmxhZ0ZpZWxkRGlzcGxheTonbmFtZSd9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXR5cGUtbm90LXNlbGVjdGVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAqbmdJZj1cImZsYWdUeXBlTm90U2VsZWN0ZWRFcnJvck1lc3NhZ2UubGVuZ3RoID4gMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnVHlwZU5vdFNlbGVjdGVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBpZD1cImNvbmRpdGlvbmFsLXJhZGlvcy1saXN0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgZmxhZ1R5cGUgb2YgZmxhZ1R5cGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiBpZGVudGlmeUZsYWdUeXBlXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy10eXBlLXt7aX19XCIgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuRkxBR19UWVBFXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiIFt2YWx1ZV09XCJmbGFnVHlwZVwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLkZMQUdfVFlQRVwiLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwiZmxhZy10eXBlLXt7aX19XCI+XG4gICAgICAgICAgICB7e2ZsYWdUeXBlIHwgZmxhZ0ZpZWxkRGlzcGxheTonbmFtZSd9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiICpuZ0lmPVwib3RoZXJGbGFnVHlwZVNlbGVjdGVkXCIgaWQ9XCJjb25kaXRpb25hbC1mbGFnVHlwZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwib3RoZXItZmxhZy10eXBlLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsXG4gICAgICAgICAgICAgICAgICA/IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5PVEhFUl9GTEFHX1RZUEVfREVTQ1JJUFRJT05fRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgICA6IChjYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5PVEhFUl9GTEFHX1RZUEVfREVTQ1JJUFRJT04gfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBpZD1cImZsYWctdHlwZS1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmbGFnVHlwZUVycm9yTWVzc2FnZS5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdUeXBlRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstIS13aWR0aC1vbmUtaGFsZlwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogZmxhZ1R5cGVFcnJvck1lc3NhZ2UubGVuZ3RoID4gMH1cIlxuICAgICAgICAgICAgICBpZD1cIm90aGVyLWZsYWctdHlwZS1kZXNjcmlwdGlvblwiIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIiB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGQuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtIGdvdnVrLSEtbWFyZ2luLXRvcC00XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlckV4dGVybmFsICYmICFpc0Nhc2VMZXZlbEZsYWcgJiYgaXNEaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkXCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJpcy12aXNpYmxlLWV4dGVybmFsbHlcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkLklTX1ZJU0lCTEVfSU5URVJOQUxMWV9PTkxZXCIgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZC5JU19WSVNJQkxFX0lOVEVSTkFMTFlfT05MWVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cImlzLXZpc2libGUtZXh0ZXJuYWxseVwiPlxuICAgICAgICAgICAgICAgIHt7J1RoaXMgZmxhZyBzaG91bGQgb25seSBiZSB2aXNpYmxlIHRvIEhNQ1RTIFN0YWZmJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCIgKm5nSWY9XCIhcmVmZGF0YUVycm9yXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+e3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|