@hmcts/ccd-case-ui-toolkit 5.0.15-angular11-upgrade → 5.0.15-angular11-updgrade-welsh-release-v2

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 (155) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3086 -2052
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/banners/alert/alert.component.js +7 -5
  6. package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
  7. package/esm2015/lib/components/footer/footer.component.js +55 -30
  8. package/esm2015/lib/components/footer/footers.module.js +12 -4
  9. package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
  10. package/esm2015/lib/components/form/form.module.js +8 -4
  11. package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
  12. package/esm2015/lib/components/header/headers.module.js +6 -4
  13. package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
  14. package/esm2015/lib/components/header/phase/phase.component.js +20 -9
  15. package/esm2015/lib/components/tabs/tabs.component.js +7 -5
  16. package/esm2015/lib/components/tabs/tabs.module.js +6 -2
  17. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +12 -9
  18. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +11 -8
  19. package/esm2015/lib/shared/components/activity/activity.component.js +15 -10
  20. package/esm2015/lib/shared/components/activity/activity.module.js +6 -2
  21. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +33 -28
  22. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +80 -51
  23. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +179 -130
  24. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +21 -17
  25. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +51 -26
  26. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +51 -28
  27. package/esm2015/lib/shared/components/case-history/case-history.component.js +96 -69
  28. package/esm2015/lib/shared/components/case-history/case-history.module.js +8 -4
  29. package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
  30. package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
  31. package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +8 -4
  32. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +10 -6
  33. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +8 -4
  34. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +108 -67
  35. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +91 -70
  36. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
  37. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +89 -60
  38. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
  39. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +109 -80
  40. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +81 -50
  41. package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
  42. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +10 -6
  43. package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +39 -24
  44. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
  45. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
  46. package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
  47. package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
  48. package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
  49. package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
  50. package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
  51. package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
  52. package/esm2015/lib/shared/components/error/errors.module.js +6 -2
  53. package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
  54. package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
  55. package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
  56. package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
  57. package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
  58. package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
  59. package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
  60. package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
  61. package/esm2015/lib/shared/components/event-start/event-guard/event-start.guard.js +20 -14
  62. package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
  63. package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
  64. package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
  65. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
  66. package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
  67. package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
  68. package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +53 -33
  69. package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
  70. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +16 -12
  71. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +45 -32
  72. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
  73. package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
  74. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
  75. package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
  76. package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
  77. package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
  78. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +33 -26
  79. package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +22 -14
  80. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +26 -17
  81. package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
  82. package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +16 -12
  83. package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
  84. package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +91 -69
  85. package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
  86. package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
  87. package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
  88. package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
  89. package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
  90. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +45 -26
  91. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +9 -7
  92. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
  93. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
  94. package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +90 -51
  95. package/esm2015/lib/shared/components/palette/palette.module.js +28 -20
  96. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
  97. package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
  98. package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
  99. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
  100. package/esm2015/lib/shared/components/search-filters/search-filters.component.js +62 -36
  101. package/esm2015/lib/shared/components/search-filters/search-filters.module.js +10 -6
  102. package/esm2015/lib/shared/components/search-result/search-result.component.js +124 -92
  103. package/esm2015/lib/shared/components/search-result/search-result.module.js +8 -4
  104. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +66 -47
  105. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +8 -4
  106. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3055 -2043
  107. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  108. package/lib/components/banners/alert/alert.module.d.ts +2 -1
  109. package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
  110. package/lib/components/footer/footers.module.d.ts +2 -1
  111. package/lib/components/footer/footers.module.d.ts.map +1 -1
  112. package/lib/components/form/form.module.d.ts +2 -1
  113. package/lib/components/form/form.module.d.ts.map +1 -1
  114. package/lib/components/header/headers.module.d.ts +2 -1
  115. package/lib/components/header/headers.module.d.ts.map +1 -1
  116. package/lib/components/tabs/tabs.module.d.ts +2 -1
  117. package/lib/components/tabs/tabs.module.d.ts.map +1 -1
  118. package/lib/shared/components/activity/activity.module.d.ts +2 -1
  119. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  120. package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
  121. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  122. package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
  123. package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
  124. package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
  125. package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
  126. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
  127. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
  128. package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
  129. package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
  130. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +2 -1
  131. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  132. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
  133. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
  134. package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
  135. package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
  136. package/lib/shared/components/error/errors.module.d.ts +2 -1
  137. package/lib/shared/components/error/errors.module.d.ts.map +1 -1
  138. package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
  139. package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
  140. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  141. package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
  142. package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
  143. package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
  144. package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
  145. package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
  146. package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
  147. package/lib/shared/components/palette/palette.module.d.ts +21 -19
  148. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  149. package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
  150. package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
  151. package/lib/shared/components/search-result/search-result.module.d.ts +2 -1
  152. package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
  153. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
  154. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
  155. package/package.json +1 -1
@@ -15,31 +15,34 @@ import * as i5 from "@angular/forms";
15
15
  import * as i6 from "@angular/common";
16
16
  import * as i7 from "../../directives/conditional-show/conditional-show-form.directive";
17
17
  import * as i8 from "../palette/base-field/field-write.component";
18
- function SearchFiltersComponent_option_7_Template(rf, ctx) { if (rf & 1) {
18
+ import * as i9 from "rpx-xui-translation";
19
+ function SearchFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
19
20
  i0.ɵɵelementStart(0, "option", 12);
20
21
  i0.ɵɵtext(1);
22
+ i0.ɵɵpipe(2, "rpxTranslate");
21
23
  i0.ɵɵelementEnd();
22
24
  } if (rf & 2) {
23
25
  const j_r3 = ctx.$implicit;
24
26
  i0.ɵɵproperty("ngValue", j_r3);
25
27
  i0.ɵɵadvance(1);
26
- i0.ɵɵtextInterpolate(j_r3.name);
28
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r3.name));
27
29
  } }
28
- function SearchFiltersComponent_option_12_Template(rf, ctx) { if (rf & 1) {
30
+ function SearchFiltersComponent_option_15_Template(rf, ctx) { if (rf & 1) {
29
31
  i0.ɵɵelementStart(0, "option", 12);
30
32
  i0.ɵɵtext(1);
33
+ i0.ɵɵpipe(2, "rpxTranslate");
31
34
  i0.ɵɵelementEnd();
32
35
  } if (rf & 2) {
33
36
  const ct_r4 = ctx.$implicit;
34
37
  i0.ɵɵproperty("ngValue", ct_r4);
35
38
  i0.ɵɵadvance(1);
36
- i0.ɵɵtextInterpolate(ct_r4.name);
39
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r4.name));
37
40
  } }
38
- function SearchFiltersComponent_ng_container_13_div_2_Template(rf, ctx) { if (rf & 1) {
41
+ function SearchFiltersComponent_ng_container_16_div_2_Template(rf, ctx) { if (rf & 1) {
39
42
  const _r8 = i0.ɵɵgetCurrentView();
40
43
  i0.ɵɵelementStart(0, "div", 6);
41
44
  i0.ɵɵelementStart(1, "ccd-field-write", 16);
42
- i0.ɵɵlistener("keyup.enter", function SearchFiltersComponent_ng_container_13_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.apply(); });
45
+ i0.ɵɵlistener("keyup.enter", function SearchFiltersComponent_ng_container_16_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.apply(); });
43
46
  i0.ɵɵelementEnd();
44
47
  i0.ɵɵelementEnd();
45
48
  } if (rf & 2) {
@@ -48,10 +51,10 @@ function SearchFiltersComponent_ng_container_13_div_2_Template(rf, ctx) { if (rf
48
51
  i0.ɵɵadvance(1);
49
52
  i0.ɵɵproperty("caseField", searchInput_r6.field)("formGroup", ctx_r5.formGroup)("isExpanded", true);
50
53
  } }
51
- function SearchFiltersComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
54
+ function SearchFiltersComponent_ng_container_16_Template(rf, ctx) { if (rf & 1) {
52
55
  i0.ɵɵelementContainerStart(0, 13);
53
56
  i0.ɵɵelementStart(1, "div", 14);
54
- i0.ɵɵtemplate(2, SearchFiltersComponent_ng_container_13_div_2_Template, 2, 3, "div", 15);
57
+ i0.ɵɵtemplate(2, SearchFiltersComponent_ng_container_16_div_2_Template, 2, 3, "div", 15);
55
58
  i0.ɵɵelementEnd();
56
59
  i0.ɵɵelementContainerEnd();
57
60
  } if (rf & 2) {
@@ -228,54 +231,77 @@ export class SearchFiltersComponent {
228
231
  }
229
232
  }
230
233
  SearchFiltersComponent.ɵfac = function SearchFiltersComponent_Factory(t) { return new (t || SearchFiltersComponent)(i0.ɵɵdirectiveInject(i1.SearchService), i0.ɵɵdirectiveInject(i2.OrderService), i0.ɵɵdirectiveInject(i3.JurisdictionService), i0.ɵɵdirectiveInject(i4.WindowService)); };
231
- SearchFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchFiltersComponent, selectors: [["ccd-search-filters"]], inputs: { jurisdictions: "jurisdictions", autoApply: "autoApply" }, outputs: { onApply: "onApply", onReset: "onReset", onJurisdiction: "onJurisdiction" }, decls: 19, vars: 7, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group", 2, "margin-top", "13px"], ["for", "s-jurisdiction", 1, "form-label"], ["id", "s-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [1, "form-group"], ["for", "s-case-type", 1, "form-label"], ["id", "s-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "disabled", "ngModel", "ngModelChange", "change"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", "title", "Apply filter", "aria-label", "Apply filter", 1, "button", 3, "disabled", "click", "keyup.enter"], ["id", "reset", "type", "button", "title", "Reset filter", "aria-label", "Reset filter", 1, "button", "button-secondary", 3, "click"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "keyup.enter"]], template: function SearchFiltersComponent_Template(rf, ctx) { if (rf & 1) {
234
+ SearchFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchFiltersComponent, selectors: [["ccd-search-filters"]], inputs: { jurisdictions: "jurisdictions", autoApply: "autoApply" }, outputs: { onApply: "onApply", onReset: "onReset", onJurisdiction: "onJurisdiction" }, decls: 28, vars: 34, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group", 2, "margin-top", "13px"], ["for", "s-jurisdiction", 1, "form-label"], ["id", "s-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [1, "form-group"], ["for", "s-case-type", 1, "form-label"], ["id", "s-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "disabled", "ngModel", "ngModelChange", "change"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", 3, "disabled", "title", "click", "keyup.enter"], ["id", "reset", "type", "button", 1, "button", "button-secondary", 3, "title", "click"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "keyup.enter"]], template: function SearchFiltersComponent_Template(rf, ctx) { if (rf & 1) {
232
235
  i0.ɵɵelementStart(0, "h2", 0);
233
- i0.ɵɵtext(1, "Filters");
236
+ i0.ɵɵtext(1);
237
+ i0.ɵɵpipe(2, "rpxTranslate");
234
238
  i0.ɵɵelementEnd();
235
- i0.ɵɵelementStart(2, "form", 1);
236
- i0.ɵɵelementStart(3, "div", 2);
237
- i0.ɵɵelementStart(4, "label", 3);
238
- i0.ɵɵtext(5, "Jurisdiction*");
239
+ i0.ɵɵelementStart(3, "form", 1);
240
+ i0.ɵɵelementStart(4, "div", 2);
241
+ i0.ɵɵelementStart(5, "label", 3);
242
+ i0.ɵɵtext(6);
243
+ i0.ɵɵpipe(7, "rpxTranslate");
239
244
  i0.ɵɵelementEnd();
240
- i0.ɵɵelementStart(6, "select", 4);
241
- i0.ɵɵlistener("ngModelChange", function SearchFiltersComponent_Template_select_ngModelChange_6_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function SearchFiltersComponent_Template_select_change_6_listener() { return ctx.onJurisdictionIdChange(); });
242
- i0.ɵɵtemplate(7, SearchFiltersComponent_option_7_Template, 2, 2, "option", 5);
245
+ i0.ɵɵelementStart(8, "select", 4);
246
+ i0.ɵɵlistener("ngModelChange", function SearchFiltersComponent_Template_select_ngModelChange_8_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function SearchFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
247
+ i0.ɵɵtemplate(9, SearchFiltersComponent_option_9_Template, 3, 4, "option", 5);
243
248
  i0.ɵɵelementEnd();
244
249
  i0.ɵɵelementEnd();
245
- i0.ɵɵelementStart(8, "div", 6);
246
- i0.ɵɵelementStart(9, "label", 7);
247
- i0.ɵɵtext(10, "Case type*");
250
+ i0.ɵɵelementStart(10, "div", 6);
251
+ i0.ɵɵelementStart(11, "label", 7);
252
+ i0.ɵɵtext(12);
253
+ i0.ɵɵpipe(13, "rpxTranslate");
248
254
  i0.ɵɵelementEnd();
249
- i0.ɵɵelementStart(11, "select", 8);
250
- i0.ɵɵlistener("ngModelChange", function SearchFiltersComponent_Template_select_ngModelChange_11_listener($event) { return ctx.selected.caseType = $event; })("change", function SearchFiltersComponent_Template_select_change_11_listener() { return ctx.onCaseTypeIdChange(); });
251
- i0.ɵɵtemplate(12, SearchFiltersComponent_option_12_Template, 2, 2, "option", 5);
255
+ i0.ɵɵelementStart(14, "select", 8);
256
+ i0.ɵɵlistener("ngModelChange", function SearchFiltersComponent_Template_select_ngModelChange_14_listener($event) { return ctx.selected.caseType = $event; })("change", function SearchFiltersComponent_Template_select_change_14_listener() { return ctx.onCaseTypeIdChange(); });
257
+ i0.ɵɵtemplate(15, SearchFiltersComponent_option_15_Template, 3, 4, "option", 5);
252
258
  i0.ɵɵelementEnd();
253
259
  i0.ɵɵelementEnd();
254
- i0.ɵɵtemplate(13, SearchFiltersComponent_ng_container_13_Template, 3, 3, "ng-container", 9);
255
- i0.ɵɵelementStart(14, "button", 10);
256
- i0.ɵɵlistener("click", function SearchFiltersComponent_Template_button_click_14_listener() { return ctx.apply(); })("keyup.enter", function SearchFiltersComponent_Template_button_keyup_enter_14_listener() { return ctx.apply(); });
257
- i0.ɵɵtext(15, "Apply");
260
+ i0.ɵɵtemplate(16, SearchFiltersComponent_ng_container_16_Template, 3, 3, "ng-container", 9);
261
+ i0.ɵɵelementStart(17, "button", 10);
262
+ i0.ɵɵlistener("click", function SearchFiltersComponent_Template_button_click_17_listener() { return ctx.apply(); })("keyup.enter", function SearchFiltersComponent_Template_button_keyup_enter_17_listener() { return ctx.apply(); });
263
+ i0.ɵɵpipe(18, "rpxTranslate");
264
+ i0.ɵɵpipe(19, "rpxTranslate");
265
+ i0.ɵɵtext(20);
266
+ i0.ɵɵpipe(21, "rpxTranslate");
258
267
  i0.ɵɵelementEnd();
259
- i0.ɵɵtext(16, " \u00A0\u00A0\u00A0 ");
260
- i0.ɵɵelementStart(17, "button", 11);
261
- i0.ɵɵlistener("click", function SearchFiltersComponent_Template_button_click_17_listener() { return ctx.reset(); });
262
- i0.ɵɵtext(18, "Reset");
268
+ i0.ɵɵtext(22, " \u00A0\u00A0\u00A0 ");
269
+ i0.ɵɵelementStart(23, "button", 11);
270
+ i0.ɵɵlistener("click", function SearchFiltersComponent_Template_button_click_23_listener() { return ctx.reset(); });
271
+ i0.ɵɵpipe(24, "rpxTranslate");
272
+ i0.ɵɵpipe(25, "rpxTranslate");
273
+ i0.ɵɵtext(26);
274
+ i0.ɵɵpipe(27, "rpxTranslate");
263
275
  i0.ɵɵelementEnd();
264
276
  i0.ɵɵelementEnd();
265
277
  } if (rf & 2) {
266
- i0.ɵɵadvance(6);
278
+ i0.ɵɵadvance(1);
279
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 16, "Filters"));
280
+ i0.ɵɵadvance(5);
281
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(7, 18, "Jurisdiction"), "*");
282
+ i0.ɵɵadvance(2);
267
283
  i0.ɵɵproperty("ngModel", ctx.selected.jurisdiction);
268
284
  i0.ɵɵadvance(1);
269
285
  i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
270
- i0.ɵɵadvance(4);
286
+ i0.ɵɵadvance(3);
287
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 20, "Case type*"));
288
+ i0.ɵɵadvance(2);
271
289
  i0.ɵɵproperty("disabled", ctx.isJurisdictionSelected())("ngModel", ctx.selected.caseType);
272
290
  i0.ɵɵadvance(1);
273
291
  i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
274
292
  i0.ɵɵadvance(1);
275
293
  i0.ɵɵproperty("ngIf", ctx.isSearchableAndSearchInputsReady());
276
294
  i0.ɵɵadvance(1);
277
- i0.ɵɵproperty("disabled", !ctx.isSearchableAndSearchInputsReady());
278
- } }, directives: [i5.ɵangular_packages_forms_forms_ba, i5.NgControlStatusGroup, i5.NgForm, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.NgForOf, i6.NgIf, i5.NgSelectOption, i5.ɵangular_packages_forms_forms_z, i7.ConditionalShowFormDirective, i5.FormGroupDirective, i8.FieldWriteComponent], encapsulation: 2 });
295
+ i0.ɵɵproperty("disabled", !ctx.isSearchableAndSearchInputsReady())("title", i0.ɵɵpipeBind1(18, 22, "Apply filter"));
296
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(19, 24, "Apply filter"));
297
+ i0.ɵɵadvance(3);
298
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(21, 26, "Apply"), " ");
299
+ i0.ɵɵadvance(3);
300
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(24, 28, "Reset filter"));
301
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(25, 30, "Reset filter"));
302
+ i0.ɵɵadvance(3);
303
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(27, 32, "Reset"), " ");
304
+ } }, directives: [i5.ɵangular_packages_forms_forms_ba, i5.NgControlStatusGroup, i5.NgForm, i5.SelectControlValueAccessor, i5.NgControlStatus, i5.NgModel, i6.NgForOf, i6.NgIf, i5.NgSelectOption, i5.ɵangular_packages_forms_forms_z, i7.ConditionalShowFormDirective, i5.FormGroupDirective, i8.FieldWriteComponent], pipes: [i9.RpxTranslatePipe], encapsulation: 2 });
279
305
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchFiltersComponent, [{
280
306
  type: Component,
281
307
  args: [{
@@ -293,4 +319,4 @@ SearchFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchFiltersCompo
293
319
  }], onJurisdiction: [{
294
320
  type: Output
295
321
  }] }); })();
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtZmlsdGVycy9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7OztJQ0wvRCxrQ0FBc0Q7SUFBQSxZQUFVO0lBQUEsaUJBQVM7OztJQUFqQyw4QkFBYTtJQUFDLGVBQVU7SUFBViwrQkFBVTs7O0lBU2hFLGtDQUF3RTtJQUFBLFlBQVc7SUFBQSxpQkFBUzs7O0lBQW5DLCtCQUFjO0lBQUMsZUFBVztJQUFYLGdDQUFXOzs7O0lBTW5GLDhCQUFpRTtJQUMvRCwyQ0FBcUg7SUFB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bUM7UUFBbkMsbURBQW1DO1FBRXZDLGVBQWdCO1FBQWhCLDJDQUFnQjtRQU1oQyxlQUFxQztRQUFyQyx1REFBcUMsa0NBQUE7UUFHcEIsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBSXJCLGVBQXdDO1FBQXhDLDZEQUF3QztRQVF0RSxlQUFnRDtRQUFoRCxrRUFBZ0Q7O3VGREo3QyxzQkFBc0I7Y0FMbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7YUFDL0M7eUpBU1EsYUFBYTtrQkFEbkIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLE9BQU87a0JBRGIsTUFBTTtZQUlBLE9BQU87a0JBRGIsTUFBTTtZQUlBLGNBQWM7a0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL2RvbWFpbi9zZWFyY2gtaW5wdXQubW9kZWwnO1xuXG5jb25zdCBKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UgPSAnc2VhcmNoLWp1cmlzZGljdGlvbic7XG5jb25zdCBNRVRBX0ZJRUxEU19MT0NfU1RPUkFHRSA9ICdzZWFyY2gtbWV0YWRhdGEtZmllbGRzJztcbmNvbnN0IEZPUk1fR1JPVVBfVkFMVUVfTE9DX1NUT1JBR0UgPSAnc2VhcmNoLWZvcm0tZ3JvdXAtdmFsdWUnO1xuY29uc3QgQ0FTRV9UWVBFX0xPQ19TVE9SQUdFID0gJ3NlYXJjaC1jYXNlVHlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtc2VhcmNoLWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxufSlcblxuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyByZWFkb25seSBQQVJBTV9DQVNFX1RZUEUgPSAnY2FzZS10eXBlJztcbiAgcHVibGljIHJlYWRvbmx5IFBBUkFNX0NBU0VfU1RBVEUgPSAnY2FzZS1zdGF0ZSc7XG4gIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMganVyaXNkaWN0aW9uczogSnVyaXNkaWN0aW9uW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF1dG9BcHBseTogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXBwbHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25SZXNldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHNlYXJjaElucHV0czogU2VhcmNoSW5wdXRbXTtcbiAgcHVibGljIHNlYXJjaElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZWxlY3RlZDoge1xuICAgIGp1cmlzZGljdGlvbj86IEp1cmlzZGljdGlvbixcbiAgICBjYXNlVHlwZT86IENhc2VUeXBlTGl0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgY2FzZVN0YXRlPzogQ2FzZVN0YXRlLFxuICAgIHBhZ2U/OiBudW1iZXIsXG4gICAgbWV0YWRhdGFGaWVsZHM/OiBzdHJpbmdbXVxuICB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcz86IENhc2VUeXBlTGl0ZVtdO1xuXG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZGVyU2VydmljZTogT3JkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge307XG4gICAgY29uc3QganVyaXNkaWN0aW9uID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UpO1xuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvbnMubGVuZ3RoID09PSAxIHx8IGp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNbMF07XG4gICAgICBpZiAoanVyaXNkaWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RvcmFnZUp1cmlzZGljdGlvbiA9IEpTT04ucGFyc2UoanVyaXNkaWN0aW9uKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnMuZmlsdGVyKGogPT4gai5pZCA9PT0gbG9jYWxTdG9yYWdlSnVyaXNkaWN0aW9uLmlkKVswXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25KdXJpc2RpY3Rpb25JZENoYW5nZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXA7XG4gICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5nZXRNZXRhZGF0YUZpZWxkcygpO1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtcbiAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKVxuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKENBU0VfVFlQRV9MT0NfU1RPUkFHRSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoTUVUQV9GSUVMRFNfTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fTtcbiAgICBpZiAodGhpcy5qdXJpc2RpY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNbMF07XG4gICAgICB0aGlzLm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5vblJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwO1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcyA9IHRoaXMuZ2V0TWV0YWRhdGFGaWVsZHMoKTtcbiAgICB0aGlzLnBvcHVsYXRlVmFsdWVzSW5Mb2NhbFN0b3JhZ2UoKTtcbiAgICB0aGlzLm9uQXBwbHkuZW1pdCh7XG4gICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdldFF1ZXJ5UGFyYW1zKClcbiAgICB9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3B1bGF0ZVZhbHVlc0luTG9jYWxTdG9yYWdlKCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoRk9STV9HUk9VUF9WQUxVRV9MT0NfU1RPUkFHRSxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwLnZhbHVlKSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShNRVRBX0ZJRUxEU19MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcykpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoSlVSSVNESUNUSU9OX0xPQ19TVE9SQUdFLCBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikpO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKENBU0VfVFlQRV9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXRhZGF0YUZpZWxkcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hJbnB1dHNcbiAgICAgICAgLmZpbHRlcihzZWFyY2hJbnB1dCA9PiBzZWFyY2hJbnB1dC5maWVsZC5tZXRhZGF0YSA9PT0gdHJ1ZSlcbiAgICAgICAgLm1hcChzZWFyY2hJbnB1dCA9PiBzZWFyY2hJbnB1dC5maWVsZC5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzU2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuO1xuICAgIHJlc3VsdCA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gIT09IG51bGw7XG4gICAgcmVzdWx0ID0gcmVzdWx0ICYmIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICE9PSBudWxsO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWFyY2hhYmxlKCkgJiYgdGhpcy5zZWFyY2hJbnB1dHNSZWFkeTtcbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5hbm5vdW5jZVNlbGVjdGVkSnVyaXNkaWN0aW9uKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKTtcbiAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgIHRoaXMuc2VsZWN0Q2FzZVR5cGUodGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyk7XG4gICAgdGhpcy5vbkp1cmlzZGljdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhc2VUeXBlSWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICB0aGlzLnNlYXJjaElucHV0c1JlYWR5ID0gZmFsc2U7XG4gICAgdGhpcy5zZWFyY2hJbnB1dHMgPSBbXTtcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0U2VhcmNoSW5wdXRzKFxuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQsXG4gICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkXG4gICAgKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuc2VhcmNoSW5wdXRzUmVhZHkgPSB0cnVlKVxuICAgICkuc3Vic2NyaWJlKHNlYXJjaElucHV0cyA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRzID0gc2VhcmNoSW5wdXRzLnNvcnQodGhpcy5vcmRlclNlcnZpY2Uuc29ydEFzYyk7XG5cbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFKTtcbiAgICAgICAgbGV0IGZvcm1WYWx1ZU9iamVjdCA9IG51bGw7XG4gICAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgICBmb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgc2VhcmNoSW5wdXRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICAgIGl0ZW0uZmllbGQuaWQgPSBpdGVtLmZpZWxkLmlkICsgJy4nICsgaXRlbS5maWVsZC5lbGVtZW50UGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgaWYgKGZvcm1WYWx1ZU9iamVjdCkge1xuICAgICAgICAgICAgaXRlbS5maWVsZC52YWx1ZSA9IGZvcm1WYWx1ZU9iamVjdFtpdGVtLmZpZWxkLmlkXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ1NlYXJjaCBpbnB1dCBmaWVsZHMgcmVxdWVzdCB3aWxsIGJlIGRpc2NhcmRlZCByZWFzb246ICcsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNKdXJpc2RpY3Rpb25TZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPT09IG51bGwgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID09PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5UGFyYW1zKCkge1xuICAgIC8vIFNhdmUgZmlsdGVycyBhcyBxdWVyeSBwYXJhbWV0ZXJzIGZvciBjdXJyZW50IHJvdXRlXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7fTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW3RoaXMuUEFSQU1fSlVSSVNESUNUSU9OXSA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgcXVlcnlQYXJhbXNbdGhpcy5QQVJBTV9DQVNFX1RZUEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlKSB7XG4gICAgICBxdWVyeVBhcmFtc1t0aGlzLlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUuaWQ7XG4gICAgfVxuICAgIHJldHVybiBxdWVyeVBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Q2FzZVR5cGUoY2FzZVR5cGVzOiBDYXNlVHlwZUxpdGVbXSkge1xuICAgIGlmIChjYXNlVHlwZXMgJiYgY2FzZVR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBjYXNlVHlwZXNbMF07XG4gICAgICBjb25zdCBjYXNlVHlwZSA9IHRoaXMud2luZG93U2VydmljZS5nZXRMb2NhbFN0b3JhZ2UoQ0FTRV9UWVBFX0xPQ19TVE9SQUdFKTtcbiAgICAgIGlmIChjYXNlVHlwZSkge1xuICAgICAgICBjb25zdCBjYXNlVHlwZU9iamVjdCA9IEpTT04ucGFyc2UoY2FzZVR5cGUpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjYXNlVHlwZXMuZmlsdGVyKGMgPT4gYy5pZCA9PT0gY2FzZVR5cGVPYmplY3QuaWQpO1xuICAgICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgcmVzdWx0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gcmVzdWx0WzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBjYXNlVHlwZXNbMF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBjYXNlVHlwZXNbMF07XG4gICAgICB9XG4gICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Rm9jdXNUb1RvcCgpIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG5cbiAgICBjb25zdCB0b3BDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VhcmNoLXJlc3VsdC1oZWFkaW5nX190ZXh0Jyk7XG4gICAgaWYgKHRvcENvbnRhaW5lcikge1xuICAgICAgdG9wQ29udGFpbmVyLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXNlRmllbGRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlYXJjaElucHV0cykge1xuICAgICAgdGhpcy5jYXNlRmllbGRzID0gdGhpcy5zZWFyY2hJbnB1dHMubWFwKGl0ZW0gPT4gRmllbGRzVXRpbHMuY29udmVydFRvQ2FzZUZpZWxkKGl0ZW0uZmllbGQpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBhcmlhLWxhYmVsPVwiRmlsdGVyc1wiPkZpbHRlcnM8L2gyPlxuPGZvcm0gY2xhc3M9XCJnbG9iYWwtZGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTNweDtcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicy1qdXJpc2RpY3Rpb25cIj5KdXJpc2RpY3Rpb24qPC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCIgaWQ9XCJzLWp1cmlzZGljdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwianVyaXNkaWN0aW9uXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5qdXJpc2RpY3Rpb25cIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKVwiPlxuICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaiBvZiBqdXJpc2RpY3Rpb25zXCIgW25nVmFsdWVdPVwialwiPnt7ai5uYW1lfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwicy1jYXNlLXR5cGVcIj5DYXNlIHR5cGUqPC9sYWJlbD5cbiAgICA8c2VsZWN0IFtkaXNhYmxlZF09XCJpc0p1cmlzZGljdGlvblNlbGVjdGVkKClcIiBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiXG4gICAgICAgICAgICBpZD1cInMtY2FzZS10eXBlXCIgbmFtZT1cImNhc2UtdHlwZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuY2FzZVR5cGVcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2FzZVR5cGVJZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjdCBvZiBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1wiIFtuZ1ZhbHVlXT1cImN0XCI+e3tjdC5uYW1lfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciBjY2RDb25kaXRpb25hbFNob3dGb3JtICpuZ0lmPVwiaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiPlxuICAgIDxkaXYgaWQ9XCJkeW5hbWljRmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdGb3I9XCJsZXQgc2VhcmNoSW5wdXQgb2Ygc2VhcmNoSW5wdXRzXCI+XG4gICAgICAgIDxjY2QtZmllbGQtd3JpdGUgW2Nhc2VGaWVsZF09XCJzZWFyY2hJbnB1dC5maWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2lzRXhwYW5kZWRdPVwidHJ1ZVwiIChrZXl1cC5lbnRlcik9XCJhcHBseSgpXCI+PC9jY2QtZmllbGQtd3JpdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiIWlzU2VhcmNoYWJsZUFuZFNlYXJjaElucHV0c1JlYWR5KClcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b25cIiAoY2xpY2spPVwiYXBwbHkoKVwiIChrZXl1cC5lbnRlcik9XCJhcHBseSgpXCIgdGl0bGU9XCJBcHBseSBmaWx0ZXJcIiBhcmlhLWxhYmVsPVwiQXBwbHkgZmlsdGVyXCI+QXBwbHk8L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gaWQ9XCJyZXNldFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVzZXQoKVwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0aXRsZT1cIlJlc2V0IGZpbHRlclwiIGFyaWEtbGFiZWw9XCJSZXNldCBmaWx0ZXJcIj5SZXNldDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtZmlsdGVycy9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7Ozs7Ozs7SUNML0Qsa0NBQXNEO0lBQUEsWUFBeUI7O0lBQUEsaUJBQVM7OztJQUFoRCw4QkFBYTtJQUFDLGVBQXlCO0lBQXpCLHFEQUF5Qjs7O0lBUy9FLGtDQUF3RTtJQUFBLFlBQTBCOztJQUFBLGlCQUFTOzs7SUFBbEQsK0JBQWM7SUFBQyxlQUEwQjtJQUExQixzREFBMEI7Ozs7SUFNbEcsOEJBQWlFO0lBQy9E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QkFBTzs7UUFwQ3FDLGVBQTRCO1FBQTVCLHNEQUE0QjtRQUdyQixlQUFrQztRQUFsQyxxRUFBa0M7UUFFckQsZUFBbUM7UUFBbkMsbURBQW1DO1FBRXZDLGVBQWdCO1FBQWhCLDJDQUFnQjtRQUtJLGVBQStCO1FBQS9CLDBEQUErQjtRQUNuRSxlQUFxQztRQUFyQyx1REFBcUMsa0NBQUE7UUFHcEIsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBSXJCLGVBQXdDO1FBQXhDLDZEQUF3QztRQVF0RSxlQUFnRDtRQUFoRCxrRUFBZ0QsaURBQUE7UUFDaEQsb0VBQWlEO1FBQ3ZELGVBQ0Y7UUFERSxnRUFDRjtRQUVRLGVBQXVDO1FBQXZDLDhEQUF1QztRQUFDLG9FQUFpRDtRQUMvRixlQUNGO1FBREUsZ0VBQ0Y7O3VGRFhXLHNCQUFzQjtjQUxsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsV0FBVyxFQUFFLGlDQUFpQzthQUMvQzt5SkFTUSxhQUFhO2tCQURuQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNO1lBSUEsY0FBYztrQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IENhc2VUeXBlTGl0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtdHlwZS1saXRlLm1vZGVsJztcbmltcG9ydCB7IEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2p1cmlzZGljdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJy4vZG9tYWluL3NlYXJjaC1pbnB1dC5tb2RlbCc7XG5cbmNvbnN0IEpVUklTRElDVElPTl9MT0NfU1RPUkFHRSA9ICdzZWFyY2gtanVyaXNkaWN0aW9uJztcbmNvbnN0IE1FVEFfRklFTERTX0xPQ19TVE9SQUdFID0gJ3NlYXJjaC1tZXRhZGF0YS1maWVsZHMnO1xuY29uc3QgRk9STV9HUk9VUF9WQUxVRV9MT0NfU1RPUkFHRSA9ICdzZWFyY2gtZm9ybS1ncm91cC12YWx1ZSc7XG5jb25zdCBDQVNFX1RZUEVfTE9DX1NUT1JBR0UgPSAnc2VhcmNoLWNhc2VUeXBlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXG59KVxuXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSBQQVJBTV9KVVJJU0RJQ1RJT04gPSAnanVyaXNkaWN0aW9uJztcbiAgcHVibGljIHJlYWRvbmx5IFBBUkFNX0NBU0VfVFlQRSA9ICdjYXNlLXR5cGUnO1xuICBwdWJsaWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zOiBKdXJpc2RpY3Rpb25bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0b0FwcGx5OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25BcHBseTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvblJlc2V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uSnVyaXNkaWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgc2VhcmNoSW5wdXRzOiBTZWFyY2hJbnB1dFtdO1xuICBwdWJsaWMgc2VhcmNoSW5wdXRzUmVhZHk6IGJvb2xlYW47XG5cbiAgcHVibGljIHNlbGVjdGVkOiB7XG4gICAganVyaXNkaWN0aW9uPzogSnVyaXNkaWN0aW9uLFxuICAgIGNhc2VUeXBlPzogQ2FzZVR5cGVMaXRlLFxuICAgIGZvcm1Hcm91cD86IEZvcm1Hcm91cCxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgcGFnZT86IG51bWJlcixcbiAgICBtZXRhZGF0YUZpZWxkcz86IHN0cmluZ1tdXG4gIH07XG5cbiAgcHVibGljIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzPzogQ2FzZVR5cGVMaXRlW107XG5cbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fTtcbiAgICBjb25zdCBqdXJpc2RpY3Rpb24gPSB0aGlzLndpbmRvd1NlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKEpVUklTRElDVElPTl9MT0NfU1RPUkFHRSk7XG4gICAgaWYgKHRoaXMuanVyaXNkaWN0aW9ucy5sZW5ndGggPT09IDEgfHwganVyaXNkaWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uc1swXTtcbiAgICAgIGlmIChqdXJpc2RpY3Rpb24pIHtcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlSnVyaXNkaWN0aW9uID0gSlNPTi5wYXJzZShqdXJpc2RpY3Rpb24pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9ucy5maWx0ZXIoaiA9PiBqLmlkID09PSBsb2NhbFN0b3JhZ2VKdXJpc2RpY3Rpb24uaWQpWzBdO1xuICAgICAgfVxuICAgICAgdGhpcy5vbkp1cmlzZGljdGlvbklkQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgdGhpcy5vbkFwcGx5LmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtczogdGhpcy5nZXRRdWVyeVBhcmFtcygpXG4gICAgfSk7XG5cbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMVUVfTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoQ0FTRV9UWVBFX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEpVUklTRElDVElPTl9MT0NfU1RPUkFHRSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnJlbW92ZUxvY2FsU3RvcmFnZShNRVRBX0ZJRUxEU19MT0NfU1RPUkFHRSk7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIGlmICh0aGlzLmp1cmlzZGljdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uc1swXTtcbiAgICAgIHRoaXMub25KdXJpc2RpY3Rpb25JZENoYW5nZSgpO1xuICAgIH1cbiAgICB0aGlzLm9uUmVzZXQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXA7XG4gICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5nZXRNZXRhZGF0YUZpZWxkcygpO1xuICAgIHRoaXMucG9wdWxhdGVWYWx1ZXNJbkxvY2FsU3RvcmFnZSgpO1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtcbiAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMuZ2V0UXVlcnlQYXJhbXMoKVxuICAgIH0pO1xuICAgIHRoaXMuc2V0Rm9jdXNUb1RvcCgpO1xuICB9XG5cbiAgcHVibGljIHBvcHVsYXRlVmFsdWVzSW5Mb2NhbFN0b3JhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTFVFX0xPQ19TVE9SQUdFLFxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAudmFsdWUpKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKE1FVEFfRklFTERTX0xPQ19TVE9SQUdFLCBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzKSk7XG4gICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShKVVJJU0RJQ1RJT05fTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoQ0FTRV9UWVBFX0xPQ19TVE9SQUdFLCBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldE1ldGFkYXRhRmllbGRzKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dHMpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlYXJjaElucHV0c1xuICAgICAgICAuZmlsdGVyKHNlYXJjaElucHV0ID0+IHNlYXJjaElucHV0LmZpZWxkLm1ldGFkYXRhID09PSB0cnVlKVxuICAgICAgICAubWFwKHNlYXJjaElucHV0ID0+IHNlYXJjaElucHV0LmZpZWxkLmlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGxldCByZXN1bHQ6IGJvb2xlYW47XG4gICAgcmVzdWx0ID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAhPT0gbnVsbDtcbiAgICByZXN1bHQgPSByZXN1bHQgJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgIT09IG51bGw7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlYXJjaGFibGVBbmRTZWFyY2hJbnB1dHNSZWFkeSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlYXJjaGFibGUoKSAmJiB0aGlzLnNlYXJjaElucHV0c1JlYWR5O1xuICB9XG5cbiAgcHVibGljIG9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IG51bGw7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmFubm91bmNlU2VsZWN0ZWRKdXJpc2RpY3Rpb24odGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXM7XG4gICAgdGhpcy5zZWxlY3RDYXNlVHlwZSh0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzKTtcbiAgICB0aGlzLm9uSnVyaXNkaWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG9uQ2FzZVR5cGVJZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuc2VhcmNoSW5wdXRzUmVhZHkgPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaElucHV0cyA9IFtdO1xuICAgIHRoaXMuc2VhcmNoU2VydmljZS5nZXRTZWFyY2hJbnB1dHMoXG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCxcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuaWRcbiAgICApLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zZWFyY2hJbnB1dHNSZWFkeSA9IHRydWUpXG4gICAgKS5zdWJzY3JpYmUoc2VhcmNoSW5wdXRzID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dHMgPSBzZWFyY2hJbnB1dHMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcblxuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLndpbmRvd1NlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMVUVfTE9DX1NUT1JBR0UpO1xuICAgICAgICBsZXQgZm9ybVZhbHVlT2JqZWN0ID0gbnVsbDtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZSkge1xuICAgICAgICAgIGZvcm1WYWx1ZU9iamVjdCA9IEpTT04ucGFyc2UoZm9ybVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBzZWFyY2hJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoaXRlbS5maWVsZC5lbGVtZW50UGF0aCkge1xuICAgICAgICAgICAgaXRlbS5maWVsZC5pZCA9IGl0ZW0uZmllbGQuaWQgKyAnLicgKyBpdGVtLmZpZWxkLmVsZW1lbnRQYXRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpdGVtLmZpZWxkLmxhYmVsID0gaXRlbS5sYWJlbDtcbiAgICAgICAgICBpZiAoZm9ybVZhbHVlT2JqZWN0KSB7XG4gICAgICAgICAgICBpdGVtLmZpZWxkLnZhbHVlID0gZm9ybVZhbHVlT2JqZWN0W2l0ZW0uZmllbGQuaWRdO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2V0Q2FzZUZpZWxkcygpO1xuICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnU2VhcmNoIGlucHV0IGZpZWxkcyByZXF1ZXN0IHdpbGwgYmUgZGlzY2FyZGVkIHJlYXNvbjogJywgZXJyb3IubWVzc2FnZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0p1cmlzZGljdGlvblNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9PT0gbnVsbCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVlcnlQYXJhbXMoKSB7XG4gICAgLy8gU2F2ZSBmaWx0ZXJzIGFzIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIGN1cnJlbnQgcm91dGVcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgcXVlcnlQYXJhbXNbdGhpcy5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1t0aGlzLlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW3RoaXMuUEFSQU1fQ0FTRV9TVEFURV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5UGFyYW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdKSB7XG4gICAgaWYgKGNhc2VUeXBlcyAmJiBjYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIGNvbnN0IGNhc2VUeXBlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShDQVNFX1RZUEVfTE9DX1NUT1JBR0UpO1xuICAgICAgaWYgKGNhc2VUeXBlKSB7XG4gICAgICAgIGNvbnN0IGNhc2VUeXBlT2JqZWN0ID0gSlNPTi5wYXJzZShjYXNlVHlwZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNhc2VUeXBlcy5maWx0ZXIoYyA9PiBjLmlkID09PSBjYXNlVHlwZU9iamVjdC5pZCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSByZXN1bHRbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IGNhc2VUeXBlc1swXTtcbiAgICAgIH1cbiAgICAgIHRoaXMub25DYXNlVHlwZUlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXRzKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLnNlYXJjaElucHV0cy5tYXAoaXRlbSA9PiBGaWVsZHNVdGlscy5jb252ZXJ0VG9DYXNlRmllbGQoaXRlbS5maWVsZCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGFyaWEtbGFiZWw9XCJGaWx0ZXJzXCI+e3snRmlsdGVycycgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG48Zm9ybSBjbGFzcz1cImdsb2JhbC1kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxM3B4O1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJzLWp1cmlzZGljdGlvblwiPnt7J0p1cmlzZGljdGlvbicgfCBycHhUcmFuc2xhdGV9fSo8L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cInMtanVyaXNkaWN0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJqdXJpc2RpY3Rpb25cIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmp1cmlzZGljdGlvblwiIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25KdXJpc2RpY3Rpb25JZENoYW5nZSgpXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBqIG9mIGp1cmlzZGljdGlvbnNcIiBbbmdWYWx1ZV09XCJqXCI+e3tqLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJzLWNhc2UtdHlwZVwiPnt7J0Nhc2UgdHlwZSonIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgW2Rpc2FibGVkXT1cImlzSnVyaXNkaWN0aW9uU2VsZWN0ZWQoKVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCJcbiAgICAgICAgICAgIGlkPVwicy1jYXNlLXR5cGVcIiBuYW1lPVwiY2FzZS10eXBlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlVHlwZVwiIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DYXNlVHlwZUlkQ2hhbmdlKClcIj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGN0IG9mIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzXCIgW25nVmFsdWVdPVwiY3RcIj57e2N0Lm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyIGNjZENvbmRpdGlvbmFsU2hvd0Zvcm0gKm5nSWY9XCJpc1NlYXJjaGFibGVBbmRTZWFyY2hJbnB1dHNSZWFkeSgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbY29udGV4dEZpZWxkc109XCJjYXNlRmllbGRzXCI+XG4gICAgPGRpdiBpZD1cImR5bmFtaWNGaWx0ZXJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCBzZWFyY2hJbnB1dCBvZiBzZWFyY2hJbnB1dHNcIj5cbiAgICAgICAgPGNjZC1maWVsZC13cml0ZSBbY2FzZUZpZWxkXT1cInNlYXJjaElucHV0LmZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNFeHBhbmRlZF09XCJ0cnVlXCIgKGtleXVwLmVudGVyKT1cImFwcGx5KClcIj48L2NjZC1maWVsZC13cml0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YnV0dG9uIFtkaXNhYmxlZF09XCIhaXNTZWFyY2hhYmxlQW5kU2VhcmNoSW5wdXRzUmVhZHkoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvblwiIChjbGljayk9XCJhcHBseSgpXCIgKGtleXVwLmVudGVyKT1cImFwcGx5KClcIiBbdGl0bGVdPVwiJ0FwcGx5IGZpbHRlcicgfCBycHhUcmFuc2xhdGVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FwcGx5IGZpbHRlcicgfCBycHhUcmFuc2xhdGVcIj5cbiAgICB7eydBcHBseScgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gaWQ9XCJyZXNldFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVzZXQoKVwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIlxuICAgICAgICAgIFt0aXRsZV09XCInUmVzZXQgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Jlc2V0IGZpbHRlcicgfCBycHhUcmFuc2xhdGVcIj5cbiAgICB7eydSZXNldCcgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbjwvZm9ybT5cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { RpxTranslationModule } from 'rpx-xui-translation';
4
5
  import { ConditionalShowModule } from '../../directives/conditional-show/conditional-show.module';
5
6
  import { DefinitionsService } from '../../services/definitions/definitions.service';
6
7
  import { JurisdictionService } from '../../services/jurisdiction/jurisdiction.service';
@@ -11,7 +12,8 @@ import { PaletteModule } from '../palette/palette.module';
11
12
  import { SearchFiltersWrapperComponent } from './search-filters-wrapper.component';
12
13
  import { SearchFiltersComponent } from './search-filters.component';
13
14
  import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/common";
15
+ import * as i1 from "rpx-xui-translation";
16
+ import * as i2 from "@angular/common";
15
17
  export class SearchFiltersModule {
16
18
  }
17
19
  SearchFiltersModule.ɵfac = function SearchFiltersModule_Factory(t) { return new (t || SearchFiltersModule)(); };
@@ -27,14 +29,15 @@ SearchFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
27
29
  FormsModule,
28
30
  ReactiveFormsModule,
29
31
  PaletteModule,
30
- ConditionalShowModule
32
+ ConditionalShowModule,
33
+ RpxTranslationModule.forChild()
31
34
  ]] });
32
35
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SearchFiltersModule, { declarations: [SearchFiltersComponent,
33
36
  SearchFiltersWrapperComponent], imports: [CommonModule,
34
37
  FormsModule,
35
38
  ReactiveFormsModule,
36
39
  PaletteModule,
37
- ConditionalShowModule], exports: [SearchFiltersWrapperComponent] }); })();
40
+ ConditionalShowModule, i1.RpxTranslationModule], exports: [SearchFiltersWrapperComponent] }); })();
38
41
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchFiltersModule, [{
39
42
  type: NgModule,
40
43
  args: [{
@@ -43,7 +46,8 @@ SearchFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
43
46
  FormsModule,
44
47
  ReactiveFormsModule,
45
48
  PaletteModule,
46
- ConditionalShowModule
49
+ ConditionalShowModule,
50
+ RpxTranslationModule.forChild()
47
51
  ],
48
52
  declarations: [
49
53
  SearchFiltersComponent,
@@ -61,5 +65,5 @@ SearchFiltersModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
61
65
  ]
62
66
  }]
63
67
  }], null, null); })();
64
- i0.ɵɵsetComponentScope(SearchFiltersWrapperComponent, [i1.NgIf, SearchFiltersComponent], []);
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUF5QnBFLE1BQU0sT0FBTyxtQkFBbUI7O3NGQUFuQixtQkFBbUI7dURBQW5CLG1CQUFtQjs0REFSakI7UUFDUCxhQUFhO1FBQ2IsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsYUFBYTtLQUNoQixZQXBCUTtZQUNMLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixxQkFBcUI7U0FDeEI7d0ZBZ0JRLG1CQUFtQixtQkFkeEIsc0JBQXNCO1FBQ3RCLDZCQUE2QixhQVI3QixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IscUJBQXFCLGFBT3JCLDZCQUE2Qjt1RkFVeEIsbUJBQW1CO2NBdkIvQixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IscUJBQXFCO2lCQUN4QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1Ysc0JBQXNCO29CQUN0Qiw2QkFBNkI7aUJBQ2hDO2dCQUNELE9BQU8sRUFBRTtvQkFDTCw2QkFBNkI7aUJBQ2hDO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxhQUFhO29CQUNiLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixrQkFBa0I7b0JBQ2xCLGFBQWE7aUJBQ2hCO2FBQ0o7O3VCQVpPLDZCQUE2QixZQUQ3QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxTaG93TW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2NvbmRpdGlvbmFsLXNob3cubW9kdWxlJztcbmltcG9ydCB7IERlZmluaXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RlZmluaXRpb25zL2RlZmluaXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBQYWxldHRlTW9kdWxlIH0gZnJvbSAnLi4vcGFsZXR0ZS9wYWxldHRlLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNlYXJjaEZpbHRlcnNXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVycy13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUGFsZXR0ZU1vZHVsZSxcbiAgICAgICAgQ29uZGl0aW9uYWxTaG93TW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2VhcmNoRmlsdGVyc0NvbXBvbmVudCxcbiAgICAgICAgU2VhcmNoRmlsdGVyc1dyYXBwZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2VhcmNoRmlsdGVyc1dyYXBwZXJDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBPcmRlclNlcnZpY2UsXG4gICAgICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgIERlZmluaXRpb25zU2VydmljZSxcbiAgICAgICAgV2luZG93U2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyc01vZHVsZSB7fVxuIl19
68
+ i0.ɵɵsetComponentScope(SearchFiltersWrapperComponent, [i2.NgIf, SearchFiltersComponent], []);
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3NlYXJjaC1maWx0ZXJzL3NlYXJjaC1maWx0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBMEJwRSxNQUFNLE9BQU8sbUJBQW1COztzRkFBbkIsbUJBQW1CO3VEQUFuQixtQkFBbUI7NERBUmpCO1FBQ1AsYUFBYTtRQUNiLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLGFBQWE7S0FDaEIsWUFyQlE7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLG9CQUFvQixDQUFDLFFBQVEsRUFBRTtTQUNsQzt3RkFnQlEsbUJBQW1CLG1CQWR4QixzQkFBc0I7UUFDdEIsNkJBQTZCLGFBVDdCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixxQkFBcUIsc0NBUXJCLDZCQUE2Qjt1RkFVeEIsbUJBQW1CO2NBeEIvQixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IscUJBQXFCO29CQUNyQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUU7aUJBQ2xDO2dCQUNELFlBQVksRUFBRTtvQkFDVixzQkFBc0I7b0JBQ3RCLDZCQUE2QjtpQkFDaEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLDZCQUE2QjtpQkFDaEM7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsYUFBYTtpQkFDaEI7YUFDSjs7dUJBWk8sNkJBQTZCLFlBRDdCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBScHhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxTaG93TW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2NvbmRpdGlvbmFsLXNob3cubW9kdWxlJztcbmltcG9ydCB7IERlZmluaXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RlZmluaXRpb25zL2RlZmluaXRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBQYWxldHRlTW9kdWxlIH0gZnJvbSAnLi4vcGFsZXR0ZS9wYWxldHRlLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNlYXJjaEZpbHRlcnNXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVycy13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUGFsZXR0ZU1vZHVsZSxcbiAgICAgICAgQ29uZGl0aW9uYWxTaG93TW9kdWxlLFxuICAgICAgICBScHhUcmFuc2xhdGlvbk1vZHVsZS5mb3JDaGlsZCgpXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2VhcmNoRmlsdGVyc0NvbXBvbmVudCxcbiAgICAgICAgU2VhcmNoRmlsdGVyc1dyYXBwZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2VhcmNoRmlsdGVyc1dyYXBwZXJDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxuICAgICAgICBPcmRlclNlcnZpY2UsXG4gICAgICAgIEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgIERlZmluaXRpb25zU2VydmljZSxcbiAgICAgICAgV2luZG93U2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRmlsdGVyc01vZHVsZSB7fVxuIl19