@hmcts/ccd-case-ui-toolkit 7.1.51-ongoing-accessibility-v1 → 7.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +154 -33
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +103 -43
  3. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +7 -4
  4. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +7 -1
  5. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +20 -23
  6. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
  7. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +15 -5
  8. package/esm2022/lib/shared/components/pagination/pagination.component.mjs +6 -8
  9. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +95 -0
  10. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +81 -0
  11. package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
  12. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +6 -6
  13. package/esm2022/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.mjs +13 -15
  14. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +30 -21
  15. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
  16. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +25 -22
  17. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +154 -36
  18. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +33 -29
  19. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +33 -28
  20. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +177 -71
  21. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +32 -28
  22. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +123 -105
  23. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +31 -4
  24. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +147 -33
  25. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +44 -23
  26. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +29 -7
  27. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +84 -50
  28. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
  29. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +84 -44
  30. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +25 -2
  31. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +110 -30
  32. package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
  33. package/esm2022/lib/shared/domain/index.mjs +2 -1
  34. package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
  35. package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
  36. package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
  37. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
  38. package/esm2022/lib/shared/services/index.mjs +2 -1
  39. package/esm2022/lib/shared/services/journey/index.mjs +2 -0
  40. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +117 -0
  41. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1894 -825
  42. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  43. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +19 -3
  44. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  45. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +11 -2
  46. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  47. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  48. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +3 -0
  49. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
  50. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
  51. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  52. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +5 -1
  53. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  54. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
  55. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
  56. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
  57. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
  58. package/lib/shared/components/palette/base-field/index.d.ts +2 -0
  59. package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
  60. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +0 -1
  61. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -1
  62. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  63. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  64. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
  65. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
  66. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +16 -4
  67. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  68. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
  69. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  70. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +5 -2
  71. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  72. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +21 -6
  73. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  74. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +5 -2
  75. 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 -1
  76. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +7 -3
  77. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  78. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +1 -0
  79. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  80. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +18 -6
  81. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  82. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -4
  83. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  84. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +8 -3
  85. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
  86. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +8 -3
  87. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  88. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
  89. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  90. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +9 -3
  91. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  92. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +8 -0
  93. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  94. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +10 -3
  95. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  96. package/lib/shared/domain/index.d.ts +1 -0
  97. package/lib/shared/domain/index.d.ts.map +1 -1
  98. package/lib/shared/domain/journey/index.d.ts +3 -0
  99. package/lib/shared/domain/journey/index.d.ts.map +1 -0
  100. package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
  101. package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
  102. package/lib/shared/domain/journey/journey.model.d.ts +19 -0
  103. package/lib/shared/domain/journey/journey.model.d.ts.map +1 -0
  104. package/lib/shared/services/index.d.ts +1 -0
  105. package/lib/shared/services/index.d.ts.map +1 -1
  106. package/lib/shared/services/journey/index.d.ts +2 -0
  107. package/lib/shared/services/journey/index.d.ts.map +1 -0
  108. package/lib/shared/services/journey/multipage-component-state.service.d.ts +26 -0
  109. package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
  110. package/package.json +1 -1
@@ -130,7 +130,7 @@ function CaseFlagSummaryListComponent_dl_0_Template(rf, ctx) { if (rf & 1) {
130
130
  i0.ɵɵtext(20);
131
131
  i0.ɵɵelementEnd();
132
132
  i0.ɵɵelementStart(21, "dd", 5)(22, "a", 6);
133
- i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : ctx_r1.caseFlagFieldState.FLAG_TYPE)); });
133
+ i0.ɵɵlistener("click", function CaseFlagSummaryListComponent_dl_0_Template_a_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.changeButtonEmitter.emit(ctx_r1.summaryListDisplayMode === ctx_r1.displayMode.MANAGE ? ctx_r1.caseFlagFieldState.FLAG_UPDATE : ctx_r1.caseFlagFieldState.FLAG_TYPE)); });
134
134
  i0.ɵɵtext(23);
135
135
  i0.ɵɵpipe(24, "rpxTranslate");
136
136
  i0.ɵɵelementStart(25, "span", 7);
@@ -289,7 +289,7 @@ export class CaseFlagSummaryListComponent {
289
289
  }
290
290
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFlagSummaryListComponent, [{
291
291
  type: Component,
292
- args: [{ selector: 'ccd-case-flag-summary-list', template: "<dl class=\"govuk-summary-list\" *ngIf=\"flagForSummaryDisplay\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{addUpdateFlagHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagForSummaryDisplay.partyName || caseFlagCheckYourAnswersPageStep.CASE_LEVEL_LOCATION | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : caseFlagFieldState.FLAG_LOCATION)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'party name' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{flagTypeHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescription}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'flag type' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagDescriptionWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Other description (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescriptionWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'other description (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagComments?.length > 0\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{externalUserUpdate ? flagUpdateComments : flagComments}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagCommentsWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagCommentsWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{'Status' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagStatus | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"is2Point1Enabled\" class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_STATUS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'status' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n</dl>\n" }]
292
+ args: [{ selector: 'ccd-case-flag-summary-list', template: "<dl class=\"govuk-summary-list\" *ngIf=\"flagForSummaryDisplay\">\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{addUpdateFlagHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagForSummaryDisplay.partyName || caseFlagCheckYourAnswersPageStep.CASE_LEVEL_LOCATION | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_MANAGE_CASE_FLAGS : caseFlagFieldState.FLAG_LOCATION)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'party name' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{flagTypeHeaderText | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescription}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'flag type' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagDescriptionWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Other description (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagDescriptionWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_TYPE)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'other description (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagComments?.length > 0\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{externalUserUpdate ? flagUpdateComments : flagComments}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\" *ngIf=\"flagCommentsWelsh?.length > 0 && !externalUserUpdate\">\n <dt class=\"govuk-summary-list__key\">\n {{'Comments (Welsh)' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagCommentsWelsh}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE_WELSH_TRANSLATION : caseFlagFieldState.FLAG_COMMENTS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'comments (Welsh)' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n <div class=\"govuk-summary-list__row\">\n <dt class=\"govuk-summary-list__key\">\n {{'Status' | rpxTranslate}}\n </dt>\n <dd class=\"govuk-summary-list__value\">\n {{flagStatus | rpxTranslate}}\n </dd>\n <dd class=\"govuk-summary-list__actions\">\n <a *ngIf=\"is2Point1Enabled\" class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"changeButtonEmitter.emit(this.summaryListDisplayMode === displayMode.MANAGE ? caseFlagFieldState.FLAG_UPDATE : caseFlagFieldState.FLAG_STATUS)\">\n {{'Change' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'status' | rpxTranslate}}</span>\n </a>\n </dd>\n </div>\n</dl>\n" }]
293
293
  }], () => [{ type: i1.RpxTranslationService }], { flagForSummaryDisplay: [{
294
294
  type: Input
295
295
  }], displayContextParameter: [{
@@ -298,4 +298,4 @@ export class CaseFlagSummaryListComponent {
298
298
  type: Output
299
299
  }] }); })();
300
300
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFlagSummaryListComponent, { className: "CaseFlagSummaryListComponent", filePath: "lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.ts", lineNumber: 15 }); })();
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRXFJO0lBQXpLLDBMQUFTLDRMQUE4SixLQUFDO0lBQ3hLLFlBQTJCOztJQUFBLGdDQUFvQztJQUFDLGFBQThDOztJQUdwSCxBQURFLEFBREUsQUFEZ0gsaUJBQU8sRUFDbkgsRUFDRCxFQUNEOzs7SUFYRixlQUNGO0lBREUsa0ZBQ0Y7SUFF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LENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsTUFBTTtZQUN2RSxJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZUFBZTtZQUNoRixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0RixPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyw4QkFBOEIsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQztJQUVPLHdDQUF3QztRQUM5QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0I7WUFDdEYsSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQixDQUFDO0lBQ3RGLENBQUM7c0ZBdkdVLDRCQUE0Qjs2REFBNUIsNEJBQTRCO1lDZHpDLDZFQUE2RDs7WUFBN0IsZ0RBQTJCOzs7aUZEYzlDLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLDRCQUE0QjtzREFJdEIscUJBQXFCO2tCQUFwQyxLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1csbUJBQW1CO2tCQUFuQyxNQUFNOztrRkFISSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLFxuICBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLFxuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZVxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZsYWctc3VtbWFyeS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ0ZvclN1bW1hcnlEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheTtcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlQnV0dG9uRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIGZsYWdDb21tZW50czogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1N0YXR1czogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0Rlc2NyaXB0aW9uV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIGZsYWdDb21tZW50c1dlbHNoOiBzdHJpbmc7XG4gIHB1YmxpYyBvdGhlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHB1YmxpYyBvdGhlckRlc2NyaXB0aW9uV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIGZsYWdVcGRhdGVDb21tZW50czogc3RyaW5nO1xuICBwdWJsaWMgc3VtbWFyeUxpc3REaXNwbGF5TW9kZTogQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlO1xuICBwdWJsaWMgYWRkVXBkYXRlRmxhZ0hlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnRmllbGRTdGF0ZSA9IENhc2VGbGFnRmllbGRTdGF0ZTtcbiAgcHVibGljIGRpc3BsYXlNb2RlID0gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlO1xuICBwdWJsaWMgZmxhZ1R5cGVIZWFkZXJUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcCA9IENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwO1xuICBwdWJsaWMgaXMyUG9pbnQxRW5hYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgZXh0ZXJuYWxVc2VyVXBkYXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBycHhUcmFuc2xhdGlvblNlcnZpY2U6IFJweFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsYWdGb3JTdW1tYXJ5RGlzcGxheSkge1xuICAgICAgY29uc3QgZmxhZ0RldGFpbCA9IHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5LmZsYWdEZXRhaWw7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWwpO1xuICAgICAgdGhpcy5mbGFnRGVzY3JpcHRpb25XZWxzaCA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbl9jeTtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzID0gZmxhZ0RldGFpbC5mbGFnQ29tbWVudDtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzV2Vsc2ggPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5O1xuICAgICAgLy8gRmxhZyB1cGRhdGUgY29tbWVudHMgd2lsbCBiZSBjb21pbmcgZnJvbSB0aGUgZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGZsYWdVcGRhdGVDb21tZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXNlIGhhdmVuJ3QgYmVlbiBwZXJzaXN0ZWQgeWV0XG4gICAgICB0aGlzLmZsYWdVcGRhdGVDb21tZW50cyA9IGZsYWdEZXRhaWxbJ2ZsYWdTdGF0dXNSZWFzb25DaGFuZ2UnXTtcbiAgICAgIHRoaXMuZmxhZ1N0YXR1cyA9IGZsYWdEZXRhaWwuc3RhdHVzO1xuICAgICAgdGhpcy5hZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCA9IHRoaXMuZ2V0QWRkVXBkYXRlRmxhZ0hlYWRlclRleHQoKTtcbiAgICAgIHRoaXMuZmxhZ1R5cGVIZWFkZXJUZXh0ID0gdGhpcy5nZXRGbGFnVHlwZUhlYWRlclRleHQoKTtcbiAgICAgIHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9IHRoaXMuZ2V0U3VtbWFyeUxpc3REaXNwbGF5TW9kZSgpO1xuICAgICAgdGhpcy5pczJQb2ludDFFbmFibGVkID0gdGhpcy5nZXREaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkKCk7XG4gICAgICB0aGlzLmV4dGVybmFsVXNlclVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGxldCBmbGFnTmFtZTogc3RyaW5nO1xuICAgIGxldCBzdWJUeXBlVmFsdWU6IHN0cmluZztcbiAgICBpZiAodGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgPT09ICdjeScpIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lX2N5IHx8IGZsYWdEZXRhaWwubmFtZTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5IHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGFnTmFtZSA9IGZsYWdEZXRhaWwubmFtZSB8fCBmbGFnRGV0YWlsLm5hbWVfY3k7XG4gICAgICBzdWJUeXBlVmFsdWUgPSBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSB8fCBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZV9jeTtcbiAgICB9XG4gICAgLy8gVGhlIG90aGVyRGVzY3JpcHRpb24gZmllbGQgc2hvdWxkIGJlIHNob3duIHZlcmJhdGltOyBvdGhlckRlc2NyaXB0aW9uIGZvciBXZWxzaCBpcyBzaG93biBzZXBhcmF0ZWx5XG4gICAgY29uc3Qgb3RoZXJEZXNjcmlwdGlvbiA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiA/IGAgLSAke2ZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbn1gIDogJyc7XG4gICAgY29uc3Qgc3ViVHlwZVZhbHVlRm9yRGlzcGxheSA9IHN1YlR5cGVWYWx1ZSA/IGAgLSAke3N1YlR5cGVWYWx1ZX1gIDogJyc7XG4gICAgcmV0dXJuIGAke2ZsYWdOYW1lfSR7b3RoZXJEZXNjcmlwdGlvbn0ke3N1YlR5cGVWYWx1ZUZvckRpc3BsYXl9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkVXBkYXRlRmxhZ0hlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQUREX0ZMQUdfSEVBREVSX1RFWFQ7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQUREX0ZMQUdfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5VUERBVEVfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5VUERBVEVfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmxhZ1R5cGVIZWFkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgc3dpdGNoKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLkZMQUdfVFlQRV9IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFIHx8XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFX0VYVEVSTkFMIHx8XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSkge1xuICAgICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5DUkVBVEU7XG4gICAgfVxuICAgIHJldHVybiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGUuTUFOQUdFO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzEgfHxcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTtcbiAgfVxufVxuIiwiPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0XCIgKm5nSWY9XCJmbGFnRm9yU3VtbWFyeURpc3BsYXlcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7YWRkVXBkYXRlRmxhZ0hlYWRlclRleHQgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRm9yU3VtbWFyeURpc3BsYXkucGFydHlOYW1lIHx8IGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLkNBU0VfTEVWRUxfTE9DQVRJT04gfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04pXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3BhcnR5IG5hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7e2ZsYWdUeXBlSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbn19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTUFOQUdFX0NBU0VfRkxBR1MgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFKVwiPlxuICAgICAgICB7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX08c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eydmbGFnIHR5cGUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiICpuZ0lmPVwiZmxhZ0Rlc2NyaXB0aW9uV2Vsc2g/Lmxlbmd0aCA+IDAgJiYgIWV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydPdGhlciBkZXNjcmlwdGlvbiAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbldlbHNofX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19UWVBFKVwiPlxuICAgICAgICB7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX08c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eydvdGhlciBkZXNjcmlwdGlvbiAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIiAqbmdJZj1cImZsYWdDb21tZW50cz8ubGVuZ3RoID4gMFwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydDb21tZW50cycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tleHRlcm5hbFVzZXJVcGRhdGUgPyBmbGFnVXBkYXRlQ29tbWVudHMgOiBmbGFnQ29tbWVudHN9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURSA6IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0NPTU1FTlRTKVwiPlxuICAgICAgICB7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX08c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eydjb21tZW50cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHNXZWxzaD8ubGVuZ3RoID4gMCAmJiAhZXh0ZXJuYWxVc2VyVXBkYXRlXCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J0NvbW1lbnRzIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZmxhZ0NvbW1lbnRzV2Vsc2h9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURV9XRUxTSF9UUkFOU0xBVElPTiA6IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0NPTU1FTlRTKVwiPlxuICAgICAgICB7eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX08c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eydjb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snU3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdTdGF0dXMgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSAqbmdJZj1cImlzMlBvaW50MUVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1VQREFURSA6IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1NUQVRVUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snc3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuPC9kbD5cbiJdfQ==
301
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1mbGFnLXN1bW1hcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jYXNlLWZsYWctc3VtbWFyeS1saXN0L2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY2FzZS1mbGFnLXN1bW1hcnktbGlzdC9jYXNlLWZsYWctc3VtbWFyeS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUMvQixNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDc0JqQixBQURGLDhCQUFxRyxZQUMvRDtJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7SUFBQSxpQkFBSztJQUVILEFBREYsNkJBQXdDLFdBRXFJO0lBQXpLLDBMQUFTLDRMQUE4SixLQUFDO0lBQ3hLLFlBQTJCOztJQUFBLGdDQUFvQztJQUFDLGFBQThDOztJQUdwSCxBQURFLEFBREUsQUFEZ0gsaUJBQU8sRUFDbkgsRUFDRCxFQUNEOzs7SUFYRixlQUNGO0lBREUsa0ZBQ0Y7SUFFRSxlQUNGO0lBREUsNERBQ0Y7SUFJSSxlQUEyQjtJQUEzQiw4REFBMkI7SUFBcUMsZUFBOEM7SUFBOUMsa0ZBQThDOzs7O0lBS2xILEFBREYsOEJBQXNFLFlBQ2hDO0lBQ2xDLFlBQ0Y7O0lBQUEsaUJBQUs7SUFDTCw2QkFBc0M7SUFDcEMsWUFDRjtJQUFBLGlCQUFLO0lBRUgsQUFERiw2QkFBd0MsV0FFdUg7SUFBM0osMExBQVMsOEtBQWdKLEtBQUM7SUFDMUosWUFBMkI7O0lBQUEsZ0NBQW9DO0lBQUMsYUFBNkI7O0lBR25HLEFBREUsQUFERSxBQUQrRixpQkFBTyxFQUNsRyxFQUNELEVBQ0Q7OztJQVhGLGVBQ0Y7SUFERSxpRUFDRjtJQUVFLGVBQ0Y7SUFERSw0R0FDRjtJQUlJLGVBQTJCO0lBQTNCLDhEQUEyQjtJQUFxQyxlQUE2QjtJQUE3QixpRUFBNkI7Ozs7SUFLakcsQUFERiw4QkFBa0csWUFDNUQ7SUFDbEMsWUFDRjs7SUFBQSxpQkFBSztJQUNMLDZCQUFzQztJQUNwQyxZQUNGO0lBQUEsaUJBQUs7SUFFSCxBQURGLDZCQUF3QyxXQUV5STtJQUE3SywwTEFBUyxnTUFBa0ssS0FBQztJQUM1SyxZQUEyQjs7SUFBQSxnQ0FBb0M7SUFBQyxhQUFxQzs7SUFHM0csQUFERSxBQURFLEFBRHVHLGlCQUFPLEVBQzFHLEVBQ0QsRUFDRDs7O0lBWEYsZUFDRjtJQURFLHlFQUNGO0lBRUUsZUFDRjtJQURFLHlEQUNGO0lBSUksZUFBMkI7SUFBM0IsOERBQTJCO0lBQXFDLGVBQXFDO0lBQXJDLHlFQUFxQzs7OztJQVl2Ryw0QkFDMko7SUFBekosd0xBQVMsNEtBQThJLEtBQUM7SUFDeEosWUFBMkI7O0lBQUEsK0JBQW9DO0lBQUMsWUFBMkI7O0lBQzdGLEFBRDZGLGlCQUFPLEVBQ2hHOztJQURGLGNBQTJCO0lBQTNCLDhEQUEyQjtJQUFxQyxlQUEyQjtJQUEzQiw4REFBMkI7Ozs7SUEvRS9GLEFBREYsQUFERiw2QkFBNkQsYUFDdEIsWUFDQztJQUNsQyxZQUNGOztJQUFBLGlCQUFLO0lBQ0wsNkJBQXNDO0lBQ3BDLFlBQ0Y7O0lBQUEsaUJBQUs7SUFFSCxBQURGLDZCQUF3QyxXQUVrSTtJQUF0SyxrTEFBUyx5TEFBMkosS0FBQztJQUNySyxhQUEyQjs7SUFBQSxnQ0FBb0M7SUFBQyxhQUErQjs7SUFHckcsQUFERSxBQURFLEFBRGlHLGlCQUFPLEVBQ3BHLEVBQ0QsRUFDRDtJQUVKLEFBREYsK0JBQXFDLGFBQ0M7SUFDbEMsYUFDRjs7SUFBQSxpQkFBSztJQUNMLDhCQUFzQztJQUNwQyxhQUNGO0lBQUEsaUJBQUs7SUFFSCxBQURGLDhCQUF3QyxZQUVtSDtJQUF2SixtTEFBUywwS0FBNEksS0FBQztJQUN0SixhQUEyQjs7SUFBQSxnQ0FBb0M7SUFBQyxhQUE4Qjs7SUFHcEcsQUFERSxBQURFLEFBRGdHLGlCQUFPLEVBQ25HLEVBQ0QsRUFDRDtJQTZCTixBQWRBLEFBZEEsc0ZBQXFHLHlFQWMvQix5RUFjNEI7SUFlaEcsQUFERiwrQkFBcUMsYUFDQztJQUNsQyxhQUNGOztJQUFBLGlCQUFLO0lBQ0wsOEJBQXNDO0lBQ3BDLGFBQ0Y7O0lBQUEsaUJBQUs7SUFDTCw4QkFBd0M7SUFDdEMsZ0ZBQzJKO0lBS2pLLEFBREUsQUFERSxpQkFBSyxFQUNELEVBQ0g7OztJQWxGQyxlQUNGO0lBREUsc0ZBQ0Y7SUFFRSxlQUNGO0lBREUsNkpBQ0Y7SUFJSSxlQUEyQjtJQUEzQixnRUFBMkI7SUFBcUMsZUFBK0I7SUFBL0Isb0VBQStCO0lBTWpHLGVBQ0Y7SUFERSxrRkFDRjtJQUVFLGVBQ0Y7SUFERSx1REFDRjtJQUlJLGVBQTJCO0lBQTNCLGdFQUEyQjtJQUFxQyxlQUE4QjtJQUE5QixtRUFBOEI7SUFJOUQsZUFBNkQ7SUFBN0QsMElBQTZEO0lBYzdELGNBQThCO0lBQTlCLDRGQUE4QjtJQWM5QixjQUEwRDtJQUExRCxvSUFBMEQ7SUFnQjVGLGVBQ0Y7SUFERSxpRUFDRjtJQUVFLGVBQ0Y7SUFERSwwRUFDRjtJQUVNLGVBQXNCO0lBQXRCLDhDQUFzQjs7QURqRWhDLE1BQU0sT0FBTyw0QkFBNEI7SUFzQlY7SUFyQmIscUJBQXFCLENBQW9CO0lBQ3pDLHVCQUF1QixDQUFTO0lBQy9CLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFM0QsZUFBZSxDQUFTO0lBQ3hCLFlBQVksQ0FBUztJQUNyQixVQUFVLENBQVM7SUFDbkIsb0JBQW9CLENBQVM7SUFDN0IsaUJBQWlCLENBQVM7SUFDMUIsZ0JBQWdCLENBQVM7SUFDekIscUJBQXFCLENBQVM7SUFDOUIsa0JBQWtCLENBQVM7SUFDM0Isc0JBQXNCLENBQWlDO0lBQ3ZELHVCQUF1QixDQUFTO0lBQ2hDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQ3hDLFdBQVcsR0FBRyw4QkFBOEIsQ0FBQztJQUM3QyxrQkFBa0IsQ0FBUztJQUMzQixnQ0FBZ0MsR0FBRyxnQ0FBZ0MsQ0FBQztJQUNwRSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDekIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRWxDLFlBQTZCLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQUksQ0FBQztJQUV2RSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1lBQ3pELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxVQUFVLENBQUMsbUJBQW1CLENBQUM7WUFDM0QsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDO1lBQ25ELDRHQUE0RztZQUM1RywyQ0FBMkM7WUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3ZELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdDQUF3QyxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxlQUFlLENBQUM7UUFDN0csQ0FBQztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxVQUFzQjtRQUMvQyxJQUFJLFFBQWdCLENBQUM7UUFDckIsSUFBSSxZQUFvQixDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqRCxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2pELFlBQVksR0FBRyxVQUFVLENBQUMsZUFBZSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDdkUsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQ2pELFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDdkUsQ0FBQztRQUNELHNHQUFzRztRQUN0RyxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hHLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEUsT0FBTyxHQUFHLFFBQVEsR0FBRyxnQkFBZ0IsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsUUFBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNwQyxLQUFLLCtCQUErQixDQUFDLE1BQU0sQ0FBQztZQUM1QyxLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtnQkFDbkQsT0FBTyxnQ0FBZ0MsQ0FBQyxvQkFBb0IsQ0FBQztZQUMvRCxLQUFLLCtCQUErQixDQUFDLGVBQWU7Z0JBQ2xELE9BQU8sZ0NBQWdDLENBQUMsNkJBQTZCLENBQUM7WUFDeEUsS0FBSywrQkFBK0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0I7Z0JBQ25ELE9BQU8sZ0NBQWdDLENBQUMsdUJBQXVCLENBQUM7WUFDbEUsS0FBSywrQkFBK0IsQ0FBQyxlQUFlO2dCQUNsRCxPQUFPLGdDQUFnQyxDQUFDLGdDQUFnQyxDQUFDO1lBQzNFO2dCQUNFLE9BQU8sZ0NBQWdDLENBQUMsSUFBSSxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLFFBQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDcEMsS0FBSywrQkFBK0IsQ0FBQyxNQUFNLENBQUM7WUFDNUMsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN0RCxLQUFLLCtCQUErQixDQUFDLE1BQU0sQ0FBQztZQUM1QyxLQUFLLCtCQUErQixDQUFDLGdCQUFnQjtnQkFDbkQsT0FBTyxnQ0FBZ0MsQ0FBQyxxQkFBcUIsQ0FBQztZQUNoRSxLQUFLLCtCQUErQixDQUFDLGVBQWUsQ0FBQztZQUNyRCxLQUFLLCtCQUErQixDQUFDLGVBQWU7Z0JBQ2xELE9BQU8sZ0NBQWdDLENBQUMsOEJBQThCLENBQUM7WUFDekU7Z0JBQ0UsT0FBTyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsTUFBTTtZQUN2RSxJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZUFBZTtZQUNoRixJQUFJLENBQUMsdUJBQXVCLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0RixPQUFPLDhCQUE4QixDQUFDLE1BQU0sQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyw4QkFBOEIsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQztJQUVPLHdDQUF3QztRQUM5QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsS0FBSywrQkFBK0IsQ0FBQyxnQkFBZ0I7WUFDdEYsSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQixDQUFDO0lBQ3RGLENBQUM7c0ZBdkdVLDRCQUE0Qjs2REFBNUIsNEJBQTRCO1lDZHpDLDZFQUE2RDs7WUFBN0IsZ0RBQTJCOzs7aUZEYzlDLDRCQUE0QjtjQUp4QyxTQUFTOzJCQUNFLDRCQUE0QjtzREFJdEIscUJBQXFCO2tCQUFwQyxLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1csbUJBQW1CO2tCQUFuQyxNQUFNOztrRkFISSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdycHgteHVpLXRyYW5zbGF0aW9uJztcbmltcG9ydCB7IEZsYWdEZXRhaWwsIEZsYWdEZXRhaWxEaXNwbGF5IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLFxuICBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLFxuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZVxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZsYWctc3VtbWFyeS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2UtZmxhZy1zdW1tYXJ5LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGbGFnU3VtbWFyeUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmxhZ0ZvclN1bW1hcnlEaXNwbGF5OiBGbGFnRGV0YWlsRGlzcGxheTtcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlQnV0dG9uRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyBmbGFnRGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIGZsYWdDb21tZW50czogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ1N0YXR1czogc3RyaW5nO1xuICBwdWJsaWMgZmxhZ0Rlc2NyaXB0aW9uV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIGZsYWdDb21tZW50c1dlbHNoOiBzdHJpbmc7XG4gIHB1YmxpYyBvdGhlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHB1YmxpYyBvdGhlckRlc2NyaXB0aW9uV2Vsc2g6IHN0cmluZztcbiAgcHVibGljIGZsYWdVcGRhdGVDb21tZW50czogc3RyaW5nO1xuICBwdWJsaWMgc3VtbWFyeUxpc3REaXNwbGF5TW9kZTogQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlO1xuICBwdWJsaWMgYWRkVXBkYXRlRmxhZ0hlYWRlclRleHQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VGbGFnRmllbGRTdGF0ZSA9IENhc2VGbGFnRmllbGRTdGF0ZTtcbiAgcHVibGljIGRpc3BsYXlNb2RlID0gQ2FzZUZsYWdTdW1tYXJ5TGlzdERpc3BsYXlNb2RlO1xuICBwdWJsaWMgZmxhZ1R5cGVIZWFkZXJUZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcCA9IENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwO1xuICBwdWJsaWMgaXMyUG9pbnQxRW5hYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgZXh0ZXJuYWxVc2VyVXBkYXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBycHhUcmFuc2xhdGlvblNlcnZpY2U6IFJweFRyYW5zbGF0aW9uU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZsYWdGb3JTdW1tYXJ5RGlzcGxheSkge1xuICAgICAgY29uc3QgZmxhZ0RldGFpbCA9IHRoaXMuZmxhZ0ZvclN1bW1hcnlEaXNwbGF5LmZsYWdEZXRhaWw7XG4gICAgICB0aGlzLmZsYWdEZXNjcmlwdGlvbiA9IHRoaXMuZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWwpO1xuICAgICAgdGhpcy5mbGFnRGVzY3JpcHRpb25XZWxzaCA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbl9jeTtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzID0gZmxhZ0RldGFpbC5mbGFnQ29tbWVudDtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzV2Vsc2ggPSBmbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5O1xuICAgICAgLy8gRmxhZyB1cGRhdGUgY29tbWVudHMgd2lsbCBiZSBjb21pbmcgZnJvbSB0aGUgZmxhZ1N0YXR1c1JlYXNvbkNoYW5nZSBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGZsYWdVcGRhdGVDb21tZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXNlIGhhdmVuJ3QgYmVlbiBwZXJzaXN0ZWQgeWV0XG4gICAgICB0aGlzLmZsYWdVcGRhdGVDb21tZW50cyA9IGZsYWdEZXRhaWxbJ2ZsYWdTdGF0dXNSZWFzb25DaGFuZ2UnXTtcbiAgICAgIHRoaXMuZmxhZ1N0YXR1cyA9IGZsYWdEZXRhaWwuc3RhdHVzO1xuICAgICAgdGhpcy5hZGRVcGRhdGVGbGFnSGVhZGVyVGV4dCA9IHRoaXMuZ2V0QWRkVXBkYXRlRmxhZ0hlYWRlclRleHQoKTtcbiAgICAgIHRoaXMuZmxhZ1R5cGVIZWFkZXJUZXh0ID0gdGhpcy5nZXRGbGFnVHlwZUhlYWRlclRleHQoKTtcbiAgICAgIHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9IHRoaXMuZ2V0U3VtbWFyeUxpc3REaXNwbGF5TW9kZSgpO1xuICAgICAgdGhpcy5pczJQb2ludDFFbmFibGVkID0gdGhpcy5nZXREaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkKCk7XG4gICAgICB0aGlzLmV4dGVybmFsVXNlclVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmxhZ0Rlc2NyaXB0aW9uKGZsYWdEZXRhaWw6IEZsYWdEZXRhaWwpOiBzdHJpbmcge1xuICAgIGxldCBmbGFnTmFtZTogc3RyaW5nO1xuICAgIGxldCBzdWJUeXBlVmFsdWU6IHN0cmluZztcbiAgICBpZiAodGhpcy5ycHhUcmFuc2xhdGlvblNlcnZpY2UubGFuZ3VhZ2UgPT09ICdjeScpIHtcbiAgICAgIGZsYWdOYW1lID0gZmxhZ0RldGFpbC5uYW1lX2N5IHx8IGZsYWdEZXRhaWwubmFtZTtcbiAgICAgIHN1YlR5cGVWYWx1ZSA9IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5IHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbGFnTmFtZSA9IGZsYWdEZXRhaWwubmFtZSB8fCBmbGFnRGV0YWlsLm5hbWVfY3k7XG4gICAgICBzdWJUeXBlVmFsdWUgPSBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSB8fCBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZV9jeTtcbiAgICB9XG4gICAgLy8gVGhlIG90aGVyRGVzY3JpcHRpb24gZmllbGQgc2hvdWxkIGJlIHNob3duIHZlcmJhdGltOyBvdGhlckRlc2NyaXB0aW9uIGZvciBXZWxzaCBpcyBzaG93biBzZXBhcmF0ZWx5XG4gICAgY29uc3Qgb3RoZXJEZXNjcmlwdGlvbiA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiA/IGAgLSAke2ZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbn1gIDogJyc7XG4gICAgY29uc3Qgc3ViVHlwZVZhbHVlRm9yRGlzcGxheSA9IHN1YlR5cGVWYWx1ZSA/IGAgLSAke3N1YlR5cGVWYWx1ZX1gIDogJyc7XG4gICAgcmV0dXJuIGAke2ZsYWdOYW1lfSR7b3RoZXJEZXNjcmlwdGlvbn0ke3N1YlR5cGVWYWx1ZUZvckRpc3BsYXl9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkVXBkYXRlRmxhZ0hlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2godGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlcikge1xuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfMl9QT0lOVF8xOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQUREX0ZMQUdfSEVBREVSX1RFWFQ7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuQUREX0ZMQUdfSEVBREVSX1RFWFRfRVhURVJOQUw7XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFOlxuICAgICAgY2FzZSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLlVQREFURV8yX1BPSU5UXzE6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5VUERBVEVfRkxBR19IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5VUERBVEVfRkxBR19IRUFERVJfVEVYVF9FWFRFUk5BTDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ0NoZWNrWW91ckFuc3dlcnNQYWdlU3RlcC5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmxhZ1R5cGVIZWFkZXJUZXh0KCk6IHN0cmluZyB7XG4gICAgc3dpdGNoKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMTpcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLkZMQUdfVFlQRV9IRUFERVJfVEVYVDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5DUkVBVEVfRVhURVJOQUw6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMOlxuICAgICAgICByZXR1cm4gQ2FzZUZsYWdDaGVja1lvdXJBbnN3ZXJzUGFnZVN0ZXAuRkxBR19UWVBFX0hFQURFUl9URVhUX0VYVEVSTkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLk5PTkU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdW1tYXJ5TGlzdERpc3BsYXlNb2RlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFIHx8XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFX0VYVEVSTkFMIHx8XG4gICAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuQ1JFQVRFXzJfUE9JTlRfMSkge1xuICAgICAgcmV0dXJuIENhc2VGbGFnU3VtbWFyeUxpc3REaXNwbGF5TW9kZS5DUkVBVEU7XG4gICAgfVxuICAgIHJldHVybiBDYXNlRmxhZ1N1bW1hcnlMaXN0RGlzcGxheU1vZGUuTUFOQUdFO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5Q29udGV4dFBhcmFtZXRlcjJQb2ludDFFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID09PSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLkNSRUFURV8yX1BPSU5UXzEgfHxcbiAgICAgIHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTtcbiAgfVxufVxuIiwiPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0XCIgKm5nSWY9XCJmbGFnRm9yU3VtbWFyeURpc3BsYXlcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7YWRkVXBkYXRlRmxhZ0hlYWRlclRleHQgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRm9yU3VtbWFyeURpc3BsYXkucGFydHlOYW1lIHx8IGNhc2VGbGFnQ2hlY2tZb3VyQW5zd2Vyc1BhZ2VTdGVwLkNBU0VfTEVWRUxfTE9DQVRJT04gfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZGQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICA8YSBjbGFzcz1cImdvdnVrLWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUJ1dHRvbkVtaXR0ZXIuZW1pdCh0aGlzLnN1bW1hcnlMaXN0RGlzcGxheU1vZGUgPT09IGRpc3BsYXlNb2RlLk1BTkFHRSA/IGNhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX01BTkFHRV9DQVNFX0ZMQUdTIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfTE9DQVRJT04pXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3BhcnR5IG5hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7e2ZsYWdUeXBlSGVhZGVyVGV4dCB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdEZXNjcmlwdGlvbn19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snZmxhZyB0eXBlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvZGQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIiAqbmdJZj1cImZsYWdEZXNjcmlwdGlvbldlbHNoPy5sZW5ndGggPiAwICYmICFleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snT3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnRGVzY3JpcHRpb25XZWxzaH19XG4gICAgPC9kZD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQnV0dG9uRW1pdHRlci5lbWl0KHRoaXMuc3VtbWFyeUxpc3REaXNwbGF5TW9kZSA9PT0gZGlzcGxheU1vZGUuTUFOQUdFID8gY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFX1dFTFNIX1RSQU5TTEFUSU9OIDogY2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVFlQRSlcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snb3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCIgKm5nSWY9XCJmbGFnQ29tbWVudHM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAge3snQ29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2R0PlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgIHt7ZXh0ZXJuYWxVc2VyVXBkYXRlID8gZmxhZ1VwZGF0ZUNvbW1lbnRzIDogZmxhZ0NvbW1lbnRzfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9kZD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiICpuZ0lmPVwiZmxhZ0NvbW1lbnRzV2Vsc2g/Lmxlbmd0aCA+IDAgJiYgIWV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICB7eydDb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9kdD5cbiAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICB7e2ZsYWdDb21tZW50c1dlbHNofX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04gOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19DT01NRU5UUylcIj5cbiAgICAgICAge3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19PHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj4ge3snY29tbWVudHMgKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgIHt7J1N0YXR1cycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvZHQ+XG4gICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAge3tmbGFnU3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2RkPlxuICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgPGEgKm5nSWY9XCJpczJQb2ludDFFbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgIChjbGljayk9XCJjaGFuZ2VCdXR0b25FbWl0dGVyLmVtaXQodGhpcy5zdW1tYXJ5TGlzdERpc3BsYXlNb2RlID09PSBkaXNwbGF5TW9kZS5NQU5BR0UgPyBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUgOiBjYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19TVEFUVVMpXCI+XG4gICAgICAgIHt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fTxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+IHt7J3N0YXR1cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2RkPlxuICA8L2Rpdj5cbjwvZGw+XG4iXX0=
@@ -1,15 +1,16 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { CaseFlagFieldState, CaseFlagStatus, CaseFlagWizardStepTitle, ConfirmStatusErrorMessage, ConfirmStatusStep } from '../../enums';
4
+ import { AbstractJourneyComponent } from '../../../base-field';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "@angular/forms";
7
8
  import * as i3 from "rpx-xui-translation";
8
9
  const _c0 = a0 => ({ "form-group-error": a0 });
9
10
  function ConfirmFlagStatusComponent_div_9_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "div", 15);
11
- i0.ɵɵelement(1, "input", 16);
12
- i0.ɵɵelementStart(2, "label", 17);
11
+ i0.ɵɵelementStart(0, "div", 13);
12
+ i0.ɵɵelement(1, "input", 14);
13
+ i0.ɵɵelementStart(2, "label", 15);
13
14
  i0.ɵɵtext(3);
14
15
  i0.ɵɵpipe(4, "rpxTranslate");
15
16
  i0.ɵɵelementEnd()();
@@ -26,7 +27,7 @@ function ConfirmFlagStatusComponent_div_9_Template(rf, ctx) { if (rf & 1) {
26
27
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 8, ctx_r2.caseFlagStatusEnum[status_r1]), " ");
27
28
  } }
28
29
  function ConfirmFlagStatusComponent_div_13_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
30
+ i0.ɵɵelementStart(0, "div", 16)(1, "span", 17);
30
31
  i0.ɵɵtext(2);
31
32
  i0.ɵɵpipe(3, "rpxTranslate");
32
33
  i0.ɵɵelementEnd();
@@ -41,7 +42,7 @@ function ConfirmFlagStatusComponent_div_13_Template(rf, ctx) { if (rf & 1) {
41
42
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r2.statusReasonNotEnteredErrorMessage), " ");
42
43
  } }
43
44
  function ConfirmFlagStatusComponent_div_14_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "div", 20)(1, "span", 19);
45
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 17);
45
46
  i0.ɵɵtext(2);
46
47
  i0.ɵɵpipe(3, "rpxTranslate");
47
48
  i0.ɵɵelementEnd();
@@ -55,7 +56,7 @@ function ConfirmFlagStatusComponent_div_14_Template(rf, ctx) { if (rf & 1) {
55
56
  i0.ɵɵadvance(2);
56
57
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r2.statusReasonCharLimitErrorMessage), " ");
57
58
  } }
58
- export class ConfirmFlagStatusComponent {
59
+ export class ConfirmFlagStatusComponent extends AbstractJourneyComponent {
59
60
  formGroup;
60
61
  defaultStatus;
61
62
  caseFlagStateEmitter = new EventEmitter();
@@ -77,6 +78,9 @@ export class ConfirmFlagStatusComponent {
77
78
  this.statusReasonCharLimitInfo = ConfirmStatusStep.CHARACTER_LIMIT_INFO;
78
79
  this.formGroup.addControl(this.selectedStatusControlName, new FormControl(this.flagCreationStatuses.find(key => CaseFlagStatus[key] === this.defaultStatus)));
79
80
  this.formGroup.addControl(this.statusReasonControlName, new FormControl(''));
81
+ if (this.multipageComponentStateService.getJourneyCollectionMainObject().journeyPageNumber === CaseFlagFieldState.FLAG_STATUS) {
82
+ this.multipageComponentStateService.getJourneyCollectionMainObject().journeyPageNumber = CaseFlagFieldState.FLAG_COMMENTS;
83
+ }
80
84
  }
81
85
  onNext() {
82
86
  // Validate status reason entry
@@ -84,6 +88,12 @@ export class ConfirmFlagStatusComponent {
84
88
  // Return case flag field state and error messages to the parent
85
89
  this.caseFlagStateEmitter.emit({ currentCaseFlagFieldState: CaseFlagFieldState.FLAG_STATUS, errorMessages: this.errorMessages });
86
90
  }
91
+ next() {
92
+ this.onNext();
93
+ if (this.errorMessages.length === 0) {
94
+ super.next();
95
+ }
96
+ }
87
97
  validateTextEntry() {
88
98
  this.statusReasonNotEnteredErrorMessage = null;
89
99
  this.statusReasonCharLimitErrorMessage = null;
@@ -107,8 +117,8 @@ export class ConfirmFlagStatusComponent {
107
117
  });
108
118
  }
109
119
  }
110
- static ɵfac = function ConfirmFlagStatusComponent_Factory(t) { return new (t || ConfirmFlagStatusComponent)(); };
111
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmFlagStatusComponent, selectors: [["ccd-confirm-flag-status"]], inputs: { formGroup: "formGroup", defaultStatus: "defaultStatus" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 23, vars: 22, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "confirm-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "confirm-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "status-reason-hint", 1, "govuk-hint"], ["id", "status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "status-reason-hint status-reason-char-limit-info", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["type", "button", 1, "button", "button-primary", 3, "click"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "status-reason-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "status-reason-char-limit-error", 1, "govuk-error-message"]], template: function ConfirmFlagStatusComponent_Template(rf, ctx) { if (rf & 1) {
120
+ static ɵfac = /*@__PURE__*/ (() => { let ɵConfirmFlagStatusComponent_BaseFactory; return function ConfirmFlagStatusComponent_Factory(t) { return (ɵConfirmFlagStatusComponent_BaseFactory || (ɵConfirmFlagStatusComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ConfirmFlagStatusComponent)))(t || ConfirmFlagStatusComponent); }; })();
121
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmFlagStatusComponent, selectors: [["ccd-confirm-flag-status"]], inputs: { formGroup: "formGroup", defaultStatus: "defaultStatus" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 19, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "confirm-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--m"], ["id", "confirm-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", "id", "conditional-radios-list", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "status-reason-hint", 1, "govuk-hint"], ["id", "status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "status-reason-hint status-reason-char-limit-info", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "value", "formControlName"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "status-reason-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "status-reason-char-limit-error", 1, "govuk-error-message"]], template: function ConfirmFlagStatusComponent_Template(rf, ctx) { if (rf & 1) {
112
122
  i0.ɵɵelementContainerStart(0, 0);
113
123
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "fieldset", 3)(4, "legend", 4)(5, "h1", 5);
114
124
  i0.ɵɵtext(6);
@@ -128,21 +138,16 @@ export class ConfirmFlagStatusComponent {
128
138
  i0.ɵɵpipe(18, "rpxTranslate");
129
139
  i0.ɵɵelementEnd()()();
130
140
  i0.ɵɵelementContainerEnd();
131
- i0.ɵɵelementStart(19, "div", 13)(20, "button", 14);
132
- i0.ɵɵlistener("click", function ConfirmFlagStatusComponent_Template_button_click_20_listener() { return ctx.onNext(); });
133
- i0.ɵɵtext(21);
134
- i0.ɵɵpipe(22, "rpxTranslate");
135
- i0.ɵɵelementEnd()();
136
141
  } if (rf & 2) {
137
142
  i0.ɵɵproperty("formGroup", ctx.formGroup);
138
143
  i0.ɵɵadvance(2);
139
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0, ctx.errorMessages.length > 0));
144
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(17, _c0, ctx.errorMessages.length > 0));
140
145
  i0.ɵɵadvance(4);
141
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 12, ctx.confirmFlagStatusTitle), " ");
146
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 11, ctx.confirmFlagStatusTitle), " ");
142
147
  i0.ɵɵadvance(3);
143
148
  i0.ɵɵproperty("ngForOf", ctx.flagCreationStatuses);
144
149
  i0.ɵɵadvance(2);
145
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 14, ctx.statusReasonHint), " ");
150
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 13, ctx.statusReasonHint), " ");
146
151
  i0.ɵɵadvance(2);
147
152
  i0.ɵɵproperty("ngIf", ctx.statusReasonNotEnteredErrorMessage);
148
153
  i0.ɵɵadvance();
@@ -150,14 +155,12 @@ export class ConfirmFlagStatusComponent {
150
155
  i0.ɵɵadvance();
151
156
  i0.ɵɵproperty("id", ctx.statusReasonControlName)("name", ctx.statusReasonControlName)("formControlName", ctx.statusReasonControlName);
152
157
  i0.ɵɵadvance(2);
153
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 16, ctx.statusReasonCharLimitInfo), " ");
154
- i0.ɵɵadvance(4);
155
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 18, "Next"));
158
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(18, 15, ctx.statusReasonCharLimitInfo), " ");
156
159
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.DefaultValueAccessor, i2.RadioControlValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.RpxTranslatePipe], encapsulation: 2 });
157
160
  }
158
161
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmFlagStatusComponent, [{
159
162
  type: Component,
160
- args: [{ selector: 'ccd-confirm-flag-status', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"confirm-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"confirm-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{confirmFlagStatusTitle | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of flagCreationStatuses; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-status-{{i}}\" [name]=\"selectedStatusControlName\"\n type=\"radio\" [value]=\"status\" [formControlName]=\"selectedStatusControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-status-{{i}}\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n <div id=\"status-reason-hint\" class=\"govuk-hint\">\n {{statusReasonHint | rpxTranslate}}\n </div>\n <div id=\"status-reason-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"status-reason-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"statusReasonControlName\"\n [name]=\"statusReasonControlName\" [formControlName]=\"statusReasonControlName\" rows=\"5\"\n aria-describedby=\"status-reason-hint status-reason-char-limit-info\"></textarea>\n <div id=\"status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{statusReasonCharLimitInfo | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" (click)=\"onNext()\">{{'Next' | rpxTranslate}}</button>\n</div>\n" }]
163
+ args: [{ selector: 'ccd-confirm-flag-status', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"confirm-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 id=\"confirm-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{confirmFlagStatusTitle | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" id=\"conditional-radios-list\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of flagCreationStatuses; index as i\">\n <input class=\"govuk-radios__input\" id=\"flag-status-{{i}}\" [name]=\"selectedStatusControlName\"\n type=\"radio\" [value]=\"status\" [formControlName]=\"selectedStatusControlName\"/>\n <label class=\"govuk-label govuk-radios__label\" for=\"flag-status-{{i}}\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n <div id=\"status-reason-hint\" class=\"govuk-hint\">\n {{statusReasonHint | rpxTranslate}}\n </div>\n <div id=\"status-reason-not-entered-error-message\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"status-reason-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\" [id]=\"statusReasonControlName\"\n [name]=\"statusReasonControlName\" [formControlName]=\"statusReasonControlName\" rows=\"5\"\n aria-describedby=\"status-reason-hint status-reason-char-limit-info\"></textarea>\n <div id=\"status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{statusReasonCharLimitInfo | rpxTranslate}}\n </div>\n </div>\n </div>\n</ng-container>" }]
161
164
  }], null, { formGroup: [{
162
165
  type: Input
163
166
  }], defaultStatus: [{
@@ -165,5 +168,5 @@ export class ConfirmFlagStatusComponent {
165
168
  }], caseFlagStateEmitter: [{
166
169
  type: Output
167
170
  }] }); })();
168
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmFlagStatusComponent, { className: "ConfirmFlagStatusComponent", filePath: "lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.ts", lineNumber: 17 }); })();
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jb25maXJtLWZsYWctc3RhdHVzL2NvbmZpcm0tZmxhZy1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY29uZmlybS1mbGFnLXN0YXR1cy9jb25maXJtLWZsYWctc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLGFBQWEsQ0FBQzs7Ozs7OztJQ0FYLCtCQUF3RjtJQUN0Riw0QkFDK0U7SUFDL0UsaUNBQXVFO0lBQ3JFLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBUSxFQUNKOzs7OztJQUwrQixjQUFzQjtJQUF0Qix5REFBc0I7SUFDekIsQUFBakIsQUFEMkMsdURBQWtDLG9CQUM3RCxxREFBOEM7SUFDOUIsY0FBdUI7SUFBdkIsMERBQXVCO0lBQ3BFLGNBQ0Y7SUFERSwyRkFDRjs7O0lBU0osQUFGRiwrQkFDNkMsZUFDUDtJQUFBLFlBQTJCOztJQUFBLGlCQUFP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RjtZQUdtRCxlQUF5QjtZQUF6QixrREFBeUI7WUFVOUUsZUFDRjtZQURFLDZFQUNGO1lBRUcsZUFBd0M7WUFBeEMsNkRBQXdDO1lBSXhDLGNBQXVDO1lBQXZDLDREQUF1QztZQUdULGNBQThCO1lBQzVCLEFBQWpDLEFBRCtCLGdEQUE4QixxQ0FDN0IsZ0RBQTRDO1lBRzVFLGVBQ0Y7WUFERSxzRkFDRjtZQU1tRSxlQUF5QjtZQUF6QixvREFBeUI7OztpRkR6QnJGLDBCQUEwQjtjQUp0QyxTQUFTOzJCQUNFLHlCQUF5QjtnQkFLbkIsU0FBUztrQkFBeEIsS0FBSztZQUNVLGFBQWE7a0JBQTVCLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU07O2tGQUxJLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnU3RhdHVzLFxuICBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZSxcbiAgQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZSxcbiAgQ29uZmlybVN0YXR1c1N0ZXBcbn0gZnJvbSAnLi4vLi4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY29uZmlybS1mbGFnLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWZsYWctc3RhdHVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtRmxhZ1N0YXR1c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdFN0YXR1czogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgY29uZmlybUZsYWdTdGF0dXNUaXRsZTogQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGU7XG4gIHB1YmxpYyBjYXNlRmxhZ1N0YXR1c0VudW0gPSBDYXNlRmxhZ1N0YXR1cztcbiAgcHVibGljIGZsYWdDcmVhdGlvblN0YXR1c2VzOiBzdHJpbmdbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZTogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25IaW50OiBDb25maXJtU3RhdHVzU3RlcDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbkNoYXJMaW1pdEluZm86IENvbmZpcm1TdGF0dXNTdGVwO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZSA9ICdzZWxlY3RlZFN0YXR1cyc7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXNSZWFzb25Db250cm9sTmFtZSA9ICdzdGF0dXNSZWFzb24nO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlYXNvbk1heENoYXJMaW1pdCA9IDIwMDtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtRmxhZ1N0YXR1c1RpdGxlID0gQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuQ09ORklSTV9GTEFHX1NUQVRVUztcbiAgICB0aGlzLmZsYWdDcmVhdGlvblN0YXR1c2VzID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbHRlcihrZXkgPT4gIVsnSU5BQ1RJVkUnXS5pbmNsdWRlcyhrZXkpKTtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbkhpbnQgPSBDb25maXJtU3RhdHVzU3RlcC5ISU5UX1RFWFQ7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRJbmZvID0gQ29uZmlybVN0YXR1c1N0ZXAuQ0hBUkFDVEVSX0xJTUlUX0lORk87XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCh0aGlzLnNlbGVjdGVkU3RhdHVzQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCh0aGlzLmZsYWdDcmVhdGlvblN0YXR1c2VzLmZpbmQoXG4gICAgICBrZXkgPT4gQ2FzZUZsYWdTdGF0dXNba2V5XSA9PT0gdGhpcy5kZWZhdWx0U3RhdHVzKSkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCcnKSk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIHN0YXR1cyByZWFzb24gZW50cnlcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7IGN1cnJlbnRDYXNlRmxhZ0ZpZWxkU3RhdGU6IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX1NUQVRVUywgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZSkudmFsdWUgPT09ICdOT1RfQVBQUk9WRUQnICYmXG4gICAgICAhdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZSkudmFsdWUgJiZcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lKS52YWx1ZS5sZW5ndGggPiB0aGlzLnJlYXNvbk1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29uZmlybS1mbGFnLXN0YXR1cy1oZWFkaW5nXCI+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW1cIj5cbiAgICAgICAgICA8aDEgaWQ9XCJjb25maXJtLWZsYWctc3RhdHVzLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAgICB7e2NvbmZpcm1GbGFnU3RhdHVzVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgIDwvbGVnZW5kPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zIGdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWwgZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLXJhZGlvc1wiIGlkPVwiY29uZGl0aW9uYWwtcmFkaW9zLWxpc3RcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCIgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBmbGFnQ3JlYXRpb25TdGF0dXNlczsgaW5kZXggYXMgaVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiZmxhZy1zdGF0dXMte3tpfX1cIiBbbmFtZV09XCJzZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lXCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW3ZhbHVlXT1cInN0YXR1c1wiIFtmb3JtQ29udHJvbE5hbWVdPVwic2VsZWN0ZWRTdGF0dXNDb250cm9sTmFtZVwiLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJmbGFnLXN0YXR1cy17e2l9fVwiPlxuICAgICAgICAgICAgICB7e2Nhc2VGbGFnU3RhdHVzRW51bVtzdGF0dXNdIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9maWVsZHNldD5cbiAgICAgIDxkaXYgaWQ9XCJzdGF0dXMtcmVhc29uLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAge3tzdGF0dXNSZWFzb25IaW50IHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwic3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICpuZ0lmPVwic3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgW2lkXT1cInN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXCJcbiAgICAgICAgW25hbWVdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXCIgcm93cz1cIjVcIlxuICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwic3RhdHVzLXJlYXNvbi1oaW50IHN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1pbmZvXCI+PC90ZXh0YXJlYT5cbiAgICAgIDxkaXYgaWQ9XCJzdGF0dXMtcmVhc29uLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAge3tzdGF0dXNSZWFzb25DaGFyTGltaXRJbmZvIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidXR0b24gYnV0dG9uLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCI+e3snTmV4dCcgfCBycHhUcmFuc2xhdGV9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
171
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConfirmFlagStatusComponent, { className: "ConfirmFlagStatusComponent", filePath: "lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.ts", lineNumber: 18 }); })();
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZsYWcvY29tcG9uZW50cy9jb25maXJtLWZsYWctc3RhdHVzL2NvbmZpcm0tZmxhZy1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvY29uZmlybS1mbGFnLXN0YXR1cy9jb25maXJtLWZsYWctc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztJQ0RyRCwrQkFBd0Y7SUFDdEYsNEJBQytFO0lBQy9FLGlDQUF1RTtJQUNyRSxZQUNGOztJQUNGLEFBREUsaUJBQVEsRUFDSjs7Ozs7SUFMK0IsY0FBc0I7SUFBdEIseURBQXNCO0lBQ3pCLEFBQWpCLEFBRDJDLHVEQUFrQyxvQkFDN0QscURBQThDO0lBQzlCLGNBQXVCO0lBQXZCLDBEQUF1QjtJQUNwRSxjQUNGO0lBREUsMkZBQ0Y7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REYsQUFERixBQURGLEFBREYsOEJBQTRGLGFBQ0Qsa0JBQ1AsZ0JBQ2IsWUFDTTtZQUNuRSxZQUNGOztZQUNGLEFBREUsaUJBQUssRUFDRTtZQUNULDhCQUFvSTtZQUNsSSw0RUFBd0Y7WUFRNUYsQUFERSxpQkFBTSxFQUNHO1lBQ1gsK0JBQWdEO1lBQzlDLGFBQ0Y7O1lBQUEsaUJBQU07WUFLTixBQUpBLDZFQUM2QyxpRUFJRDtZQUc1QyxnQ0FFaUY7WUFDakYsZ0NBQTZHO1lBQzNHLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7O1lBckNNLHlDQUF1QjtZQUVILGVBQTBEO1lBQTFELG1GQUEwRDtZQUloRixlQUNGO1lBREUsa0ZBQ0Y7WUFHbUQsZUFBeUI7WUFBekIsa0RBQXlCO1lBVTlFLGVBQ0Y7WUFERSw2RUFDRjtZQUVHLGVBQXdDO1lBQXhDLDZEQUF3QztZQUl4QyxjQUF1QztZQUF2Qyw0REFBdUM7WUFHVCxjQUE4QjtZQUM1QixBQUFqQyxBQUQrQixnREFBOEIscUNBQzdCLGdEQUE0QztZQUc1RSxlQUNGO1lBREUsc0ZBQ0Y7OztpRkRsQk8sMEJBQTBCO2NBSnRDLFNBQVM7MkJBQ0UseUJBQXlCO2dCQUtuQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUVXLG9CQUFvQjtrQkFBcEMsTUFBTTs7a0ZBTEksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgSm91cm5leSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmxhZ1N0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VGbGFnRmllbGRTdGF0ZSxcbiAgQ2FzZUZsYWdTdGF0dXMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLFxuICBDb25maXJtU3RhdHVzU3RlcFxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNvbmZpcm0tZmxhZy1zdGF0dXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1mbGFnLXN0YXR1cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybUZsYWdTdGF0dXNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGRlZmF1bHRTdGF0dXM6IHN0cmluZztcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIGNvbmZpcm1GbGFnU3RhdHVzVGl0bGU6IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlO1xuICBwdWJsaWMgY2FzZUZsYWdTdGF0dXNFbnVtID0gQ2FzZUZsYWdTdGF0dXM7XG4gIHB1YmxpYyBmbGFnQ3JlYXRpb25TdGF0dXNlczogc3RyaW5nW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZTogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2U6IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uSGludDogQ29uZmlybVN0YXR1c1N0ZXA7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25DaGFyTGltaXRJbmZvOiBDb25maXJtU3RhdHVzU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkU3RhdHVzQ29udHJvbE5hbWUgPSAnc2VsZWN0ZWRTdGF0dXMnO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzUmVhc29uQ29udHJvbE5hbWUgPSAnc3RhdHVzUmVhc29uJztcbiAgcHJpdmF0ZSByZWFkb25seSByZWFzb25NYXhDaGFyTGltaXQgPSAyMDA7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybUZsYWdTdGF0dXNUaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLkNPTkZJUk1fRkxBR19TVEFUVVM7XG4gICAgdGhpcy5mbGFnQ3JlYXRpb25TdGF0dXNlcyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maWx0ZXIoa2V5ID0+ICFbJ0lOQUNUSVZFJ10uaW5jbHVkZXMoa2V5KSk7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25IaW50ID0gQ29uZmlybVN0YXR1c1N0ZXAuSElOVF9URVhUO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0SW5mbyA9IENvbmZpcm1TdGF0dXNTdGVwLkNIQVJBQ1RFUl9MSU1JVF9JTkZPO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5zZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lLCBuZXcgRm9ybUNvbnRyb2wodGhpcy5mbGFnQ3JlYXRpb25TdGF0dXNlcy5maW5kKFxuICAgICAga2V5ID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09IHRoaXMuZGVmYXVsdFN0YXR1cykpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgnJykpO1xuICAgIGlmICh0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9PT0gQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfU1RBVFVTKSB7XG4gICAgICB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5UGFnZU51bWJlciA9IENhc2VGbGFnRmllbGRTdGF0ZS5GTEFHX0NPTU1FTlRTO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgc3RhdHVzIHJlYXNvbiBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5jYXNlRmxhZ1N0YXRlRW1pdHRlci5lbWl0KHsgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfU1RBVFVTLCBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMgfSk7XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVGV4dEVudHJ5KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lKS52YWx1ZSA9PT0gJ05PVF9BUFBST1ZFRCcgJiZcbiAgICAgICF0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZSkudmFsdWUpIHtcbiAgICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogQ29uZmlybVN0YXR1c0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiB0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnN0YXR1c1JlYXNvbkNvbnRyb2xOYW1lKS52YWx1ZSAmJlxuICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuc3RhdHVzUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlLmxlbmd0aCA+IHRoaXMucmVhc29uTWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IENvbmZpcm1TdGF0dXNFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBDb25maXJtU3RhdHVzRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogdGhpcy5zdGF0dXNSZWFzb25Db250cm9sTmFtZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbWF4bGVuZ3RoPVwiMjAwXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb25maXJtLWZsYWctc3RhdHVzLWhlYWRpbmdcIj5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbVwiPlxuICAgICAgICAgIDxoMSBpZD1cImNvbmZpcm0tZmxhZy1zdGF0dXMtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICAgIHt7Y29uZmlybUZsYWdTdGF0dXNUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9oMT5cbiAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgaWQ9XCJjb25kaXRpb25hbC1yYWRpb3MtbGlzdFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgc3RhdHVzIG9mIGZsYWdDcmVhdGlvblN0YXR1c2VzOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJmbGFnLXN0YXR1cy17e2l9fVwiIFtuYW1lXT1cInNlbGVjdGVkU3RhdHVzQ29udHJvbE5hbWVcIlxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIiBbdmFsdWVdPVwic3RhdHVzXCIgW2Zvcm1Db250cm9sTmFtZV09XCJzZWxlY3RlZFN0YXR1c0NvbnRyb2xOYW1lXCIvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cImZsYWctc3RhdHVzLXt7aX19XCI+XG4gICAgICAgICAgICAgIHt7Y2FzZUZsYWdTdGF0dXNFbnVtW3N0YXR1c10gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24taGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7e3N0YXR1c1JlYXNvbkhpbnQgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwic3RhdHVzLXJlYXNvbi1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwic3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgKm5nSWY9XCJzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7c3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIiBbaWRdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIlxuICAgICAgICBbbmFtZV09XCJzdGF0dXNSZWFzb25Db250cm9sTmFtZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwic3RhdHVzUmVhc29uQ29udHJvbE5hbWVcIiByb3dzPVwiNVwiXG4gICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJzdGF0dXMtcmVhc29uLWhpbnQgc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cIj48L3RleHRhcmVhPlxuICAgICAgPGRpdiBpZD1cInN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1pbmZvXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEluZm8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19