@hmcts/ccd-case-ui-toolkit 6.10.7-cfv-move-document-handle-error-v3 → 6.10.7-cfv-move-document-handle-error-v4

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 (84) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +655 -330
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +2 -2
  6. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +2 -2
  7. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +12 -5
  8. package/esm2015/lib/shared/components/palette/case-file-view/index.js +1 -2
  9. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +13 -2
  10. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/index.js +3 -0
  11. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.js +47 -0
  12. package/esm2015/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.js +153 -0
  13. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +5 -6
  14. package/esm2015/lib/shared/components/palette/index.js +2 -1
  15. package/esm2015/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.js +31 -9
  16. package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +152 -77
  17. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +20 -18
  18. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +7 -7
  19. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +3 -1
  20. package/esm2015/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.js +3 -1
  21. package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +4 -4
  22. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +6 -2
  23. package/esm2015/lib/shared/components/palette/palette.module.js +31 -7
  24. package/esm2015/lib/shared/components/palette/palette.service.js +5 -3
  25. package/esm2015/lib/shared/domain/definition/case-field.model.js +6 -3
  26. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  27. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +14 -11
  28. package/esm2015/lib/shared/pipes/index.js +2 -1
  29. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.js +28 -0
  30. package/esm2015/lib/shared/pipes/link-cases-from-reason-code/index.js +2 -0
  31. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +10 -5
  32. package/esm2015/lib/shared/pipes/pipes.module.js +8 -4
  33. package/esm2015/lib/shared/services/form/field-type-sanitiser.js +16 -1
  34. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +596 -309
  35. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  36. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +5 -2
  37. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  38. package/lib/shared/components/palette/case-file-view/index.d.ts +0 -1
  39. package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -1
  40. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts +1 -0
  41. package/lib/shared/components/palette/collection/write-collection-field.component.d.ts.map +1 -1
  42. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts +3 -0
  43. package/lib/shared/components/palette/dynamic-multi-select-list/index.d.ts.map +1 -0
  44. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts +9 -0
  45. package/lib/shared/components/palette/dynamic-multi-select-list/read-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  46. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts +17 -0
  47. package/lib/shared/components/palette/dynamic-multi-select-list/write-dynamic-multi-select-list-field.component.d.ts.map +1 -0
  48. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts +1 -1
  49. package/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.d.ts.map +1 -1
  50. package/lib/shared/components/palette/index.d.ts +1 -0
  51. package/lib/shared/components/palette/index.d.ts.map +1 -1
  52. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +4 -0
  53. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  54. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -1
  55. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -1
  56. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts +6 -3
  57. package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -1
  58. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts +3 -1
  59. package/lib/shared/components/palette/linked-cases/enums/write-linked-cases-field.enum.d.ts.map +1 -1
  60. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  61. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  62. package/lib/shared/components/palette/palette.module.d.ts +60 -59
  63. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  64. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  65. package/lib/shared/domain/definition/case-field.model.d.ts.map +1 -1
  66. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  67. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  68. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  69. package/lib/shared/pipes/index.d.ts +1 -0
  70. package/lib/shared/pipes/index.d.ts.map +1 -1
  71. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts +12 -0
  72. package/lib/shared/pipes/link-cases-from-reason-code/ccd-link-cases-from-reason-code.pipe.d.ts.map +1 -0
  73. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts +2 -0
  74. package/lib/shared/pipes/link-cases-from-reason-code/index.d.ts.map +1 -0
  75. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +2 -1
  76. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -1
  77. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  78. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  79. package/lib/shared/services/form/field-type-sanitiser.d.ts +2 -0
  80. package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
  81. package/package.json +1 -1
  82. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +0 -106
  83. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +0 -8
  84. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +0 -1
@@ -21,13 +21,13 @@ function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) { if (rf & 1) {
21
21
  function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
22
22
  i0.ɵɵelementStart(0, "span");
23
23
  i0.ɵɵtext(1);
24
- i0.ɵɵpipe(2, "ccdLinkCasesReasonValue");
24
+ i0.ɵɵpipe(2, "ccdLinkCasesFromReasonValue");
25
25
  i0.ɵɵelement(3, "br");
26
26
  i0.ɵɵelementEnd();
27
27
  } if (rf & 2) {
28
28
  const reason_r11 = ctx.$implicit;
29
29
  i0.ɵɵadvance(1);
30
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11.reasonCode), " ");
30
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11), " ");
31
31
  } }
32
32
  function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template(rf, ctx) { if (rf & 1) {
33
33
  i0.ɵɵelementStart(0, "td", 14);
@@ -143,7 +143,6 @@ export class LinkedCasesFromTableComponent {
143
143
  this.casesService = casesService;
144
144
  this.linkedCasesService = linkedCasesService;
145
145
  this.notifyAPIFailure = new EventEmitter(false);
146
- this.getLinkedCasesResponse = [];
147
146
  this.showHideLinkText = 'Show';
148
147
  this.noLinkedCases = true;
149
148
  this.isServerError = false;
@@ -164,20 +163,23 @@ export class LinkedCasesFromTableComponent {
164
163
  }
165
164
  fetchPageData() {
166
165
  this.caseId = this.route.snapshot.data.case.case_id;
167
- this.getLinkedCases().subscribe(response => {
168
- this.isServerError = false;
169
- this.getLinkedCasesResponse = response.linkedCases && response.linkedCases.map(item => {
170
- const mappedCasetype = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', item.ccdCaseType);
171
- const mappedCasetypeDescription = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE_DESCRIPTION', item.ccdCaseType);
172
- const mappedCaseState = this.mapLookupIDToValueFromJurisdictions('STATE', item.state);
173
- const mappedCaseStateDescription = this.mapLookupIDToValueFromJurisdictions('STATE_DESCRIPTION', item.state);
174
- const mappedCaseService = this.mapLookupIDToValueFromJurisdictions('JURISDICTION', item.ccdJurisdiction);
175
- return Object.assign(Object.assign({}, item), { ccdCaseType: mappedCasetype, ccdCaseTypeDescription: mappedCasetypeDescription, ccdJurisdiction: mappedCaseService, state: mappedCaseState, stateDescription: mappedCaseStateDescription, caseNameHmctsInternal: item.caseNameHmctsInternal || LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT });
176
- });
177
- this.noLinkedCases = !response.linkedCases || !response.linkedCases.length;
178
- }, err => {
179
- this.isServerError = true;
180
- this.notifyAPIFailure.emit(true);
166
+ this.getLinkedCases().subscribe({
167
+ next: response => {
168
+ this.isServerError = false;
169
+ this.getLinkedCasesResponse = response.linkedCases && response.linkedCases.map(item => {
170
+ const mappedCasetype = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', item.ccdCaseType);
171
+ const mappedCasetypeDescription = this.mapLookupIDToValueFromJurisdictions('CASE_TYPE_DESCRIPTION', item.ccdCaseType);
172
+ const mappedCaseState = this.mapLookupIDToValueFromJurisdictions('STATE', item.state);
173
+ const mappedCaseStateDescription = this.mapLookupIDToValueFromJurisdictions('STATE_DESCRIPTION', item.state);
174
+ const mappedCaseService = this.mapLookupIDToValueFromJurisdictions('JURISDICTION', item.ccdJurisdiction);
175
+ return Object.assign(Object.assign({}, item), { ccdCaseType: mappedCasetype, ccdCaseTypeDescription: mappedCasetypeDescription, ccdJurisdiction: mappedCaseService, state: mappedCaseState, stateDescription: mappedCaseStateDescription, caseNameHmctsInternal: item.caseNameHmctsInternal || LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT, linkDetails: item.linkDetails });
176
+ });
177
+ this.noLinkedCases = !response.linkedCases || !response.linkedCases.length;
178
+ },
179
+ error: () => {
180
+ this.isServerError = true;
181
+ this.notifyAPIFailure.emit(true);
182
+ }
181
183
  });
182
184
  }
183
185
  getLinkedCases() {
@@ -214,4 +216,4 @@ LinkedCasesFromTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCases
214
216
  }], notifyAPIFailure: [{
215
217
  type: Output
216
218
  }] }); })();
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztJQ1JwRCw0QkFDc0I7SUFBcEIsdUxBQW1CO0lBQUMsWUFBb0I7SUFBQSxpQkFBSTs7O0lBQXhCLGVBQW9CO0lBQXBCLDZDQUFvQjs7O0lBdUJsQyw0QkFBK0U7SUFDN0UsWUFBZ0Q7O0lBQUEscUJBQUk7SUFDdEQsaUJBQU87OztJQURMLGVBQWdEO0lBQWhELDRFQUFnRDs7O0lBRnBELDhCQUF1RTtJQUNyRSw2R0FFTztJQUNULGlC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QUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24nO1xuaW1wb3J0IHsgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGlua1Jlc3BvbnNlLCBMaW5rZWRDYXNlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb3ZSZWZEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLWZyb20tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNGcm9tVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTkFNRV9NSVNTSU5HX1RFWFQgPSAnQ2FzZSBuYW1lIG1pc3NpbmcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG5vdGlmeUFQSUZhaWx1cmU6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoZmFsc2UpO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgcGFyZW50VXJsOiBzdHJpbmc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGdldExpbmtlZENhc2VzUmVzcG9uc2U6IENhc2VMaW5rUmVzcG9uc2VbXSA9IFtdO1xuICBwdWJsaWMgbGlua2VkQ2FzZVJlYXNvbnM6IExvdlJlZkRhdGFNb2RlbFtdO1xuXG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHNob3dIaWRlTGlua1RleHQgPSAnU2hvdyc7XG4gIHB1YmxpYyBub0xpbmtlZENhc2VzID0gdHJ1ZTtcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgICkge1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2FzZS12aWV3ZXItbGFiZWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hQYWdlRGF0YSgpO1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9XG4gICAgdGhpcy5pc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzU2VydmVyUmVhc29uQ29kZUVycm9yO1xuICB9XG5cbiAgcHVibGljIGZldGNoUGFnZURhdGEoKSB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX2lkO1xuICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXMoKS5zdWJzY3JpYmUoXG4gICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmdldExpbmtlZENhc2VzUmVzcG9uc2UgPSByZXNwb25zZS5saW5rZWRDYXNlcyAmJiByZXNwb25zZS5saW5rZWRDYXNlcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZXR5cGUgPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdDQVNFX1RZUEUnLCBpdGVtLmNjZENhc2VUeXBlKTtcbiAgICAgICAgICBjb25zdCBtYXBwZWRDYXNldHlwZURlc2NyaXB0aW9uID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnQ0FTRV9UWVBFX0RFU0NSSVBUSU9OJywgaXRlbS5jY2RDYXNlVHlwZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZVN0YXRlID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnU1RBVEUnLCBpdGVtLnN0YXRlKTtcbiAgICAgICAgICBjb25zdCBtYXBwZWRDYXNlU3RhdGVEZXNjcmlwdGlvbiA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFX0RFU0NSSVBUSU9OJywgaXRlbS5zdGF0ZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZVNlcnZpY2UgPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBpdGVtLmNjZEp1cmlzZGljdGlvbik7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICBjY2RDYXNlVHlwZTogbWFwcGVkQ2FzZXR5cGUsXG4gICAgICAgICAgICBjY2RDYXNlVHlwZURlc2NyaXB0aW9uOiBtYXBwZWRDYXNldHlwZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgY2NkSnVyaXNkaWN0aW9uOiBtYXBwZWRDYXNlU2VydmljZSxcbiAgICAgICAgICAgIHN0YXRlOiBtYXBwZWRDYXNlU3RhdGUsXG4gICAgICAgICAgICBzdGF0ZURlc2NyaXB0aW9uOiBtYXBwZWRDYXNlU3RhdGVEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGNhc2VOYW1lSG1jdHNJbnRlcm5hbDogaXRlbS5jYXNlTmFtZUhtY3RzSW50ZXJuYWwgfHwgTGlua2VkQ2FzZXNGcm9tVGFibGVDb21wb25lbnQuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbmtSZXNwb25zZTtcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5ub0xpbmtlZENhc2VzID0gIXJlc3BvbnNlLmxpbmtlZENhc2VzIHx8ICFyZXNwb25zZS5saW5rZWRDYXNlcy5sZW5ndGg7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ub3RpZnlBUElGYWlsdXJlLmVtaXQodHJ1ZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlcygpOiBPYnNlcnZhYmxlPExpbmtlZENhc2VzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYXNlc1NlcnZpY2UuZ2V0TGlua2VkQ2FzZXModGhpcy5jYXNlSWQpO1xuICB9XG5cbiAgcHVibGljIG1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKGZpZWxkTmFtZSwgZmllbGRWYWx1ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKGZpZWxkTmFtZSwgZmllbGRWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dIaWRlTGlua1RleHQgPSB0aGlzLnNob3dIaWRlTGlua1RleHQgPT09ICdTaG93J1xuICAgICAgPyAnSGlkZSdcbiAgICAgIDogJ1Nob3cnO1xuICB9XG59XG4iLCI8YSAqbmdJZj1cIiFub0xpbmtlZENhc2VzICYmICFpc1NlcnZlckVycm9yXCIgaWQ9XCJzaG93LWhpZGUtbGlua1wiIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAoY2xpY2spPVwib25DbGljaygpXCI+e3tzaG93SGlkZUxpbmtUZXh0fX08L2E+XG48dGFibGUgKm5nSWY9XCIoZ2V0TGlua2VkQ2FzZXNSZXNwb25zZSAmJiBzaG93SGlkZUxpbmtUZXh0ID09PSAnSGlkZScpIHx8IG5vTGlua2VkQ2FzZXNcIlxuICBhcmlhLWRlc2NyaWJlZGJ5PVwidGFibGUgdG8gZGlzcGxheSBjYXNlcyBsaW5rZWQgZnJvbVwiPlxuICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U2VydmljZTwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlN0YXRlPC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiICpuZ0lmPVwiZ2V0TGlua2VkQ2FzZXNSZXNwb25zZSAmJiAoIWlzU2VydmVyRXJyb3IgJiYgIWlzU2VydmVyUmVhc29uQ29kZUVycm9yKVwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBnZXRMaW5rZWRDYXNlc1Jlc3BvbnNlXCI+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uIHdpZHRoLTIwXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiXG4gICAgICAgICAgICByZWw9XCJub29wZW5lclwiPjxzcGFuPnt7Y2FzZS5jYXNlTmFtZUhtY3RzSW50ZXJuYWx9fSA8YnI+XG4gICAgICAgICAgICAgIHt7Y2FzZS5jYXNlUmVmZXJlbmNlIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPjwvYT48L3A+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiY2FzZS10YWJsZS1jb2x1bW5cIj48c3BhbiBbdGl0bGVdPVwiY2FzZS5jY2RDYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNjZENhc2VUeXBlfX08L3NwYW4+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhc2UtdGFibGUtY29sdW1uXCI+PHNwYW4+e3tjYXNlLmNjZEp1cmlzZGljdGlvbn19PC9zcGFuPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiPjxzcGFuIFt0aXRsZV09XCJjYXNlLnN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2Uuc3RhdGV9fTwvc3Bhbj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiY2FzZS10YWJsZS1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgZGV0YWlscyBvZiBjYXNlLmxpbmtEZXRhaWxzXCI+XG4gICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCByZWFzb24gb2YgZGV0YWlscy5yZWFzb25zOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxuICAgICAgICAgIHt7cmVhc29uLnJlYXNvbkNvZGUgfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19IDxicj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cIm5vTGlua2VkQ2FzZXNcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgY29sc3Bhbj1cIjVcIj5cbiAgICAgICAgTm9uZVxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDwvdGJvZHk+ICBcbjwvdGFibGU+XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLWZyb20tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztJQ1JwRCw0QkFDc0I7SUFBcEIsdUxBQW1CO0lBQUMsWUFBb0I7SUFBQSxpQkFBSTs7O0lBQXhCLGVBQW9CO0lBQXBCLDZDQUFvQjs7O0lBdUJsQyw0QkFBK0U7SUFDN0UsWUFBeUM7O0lBQUEscUJBQUk7SUFDL0MsaUJBQU87OztJQURMLGVBQXlDO0lBQXpDLGlFQUF5Qzs7O0lBRjdDLDhCQUF1RTtJQUNyRSw2R0FFTztJQUNULGlC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USxTQUFTO2tCQURmLEtBQUs7WUFJQyxnQkFBZ0I7a0JBRHRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VMaW5rUmVzcG9uc2UsIExpbmtlZENhc2VzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rZWQtY2FzZXMtZnJvbS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rZWQtY2FzZXMtZnJvbS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy1mcm9tLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc0Zyb21UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9OQU1FX01JU1NJTkdfVEVYVCA9ICdDYXNlIG5hbWUgbWlzc2luZyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBwYXJlbnRVcmw6IHN0cmluZztcbiAgcHVibGljIGlzTG9hZGVkOiBib29sZWFuO1xuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXNSZXNwb25zZTogQ2FzZUxpbmtSZXNwb25zZVtdO1xuICBwdWJsaWMgbGlua2VkQ2FzZVJlYXNvbnM6IExvdlJlZkRhdGFNb2RlbFtdO1xuXG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHNob3dIaWRlTGlua1RleHQgPSAnU2hvdyc7XG4gIHB1YmxpYyBub0xpbmtlZENhc2VzID0gdHJ1ZTtcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgICkge1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY2FzZS12aWV3ZXItbGFiZWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmV0Y2hQYWdlRGF0YSgpO1xuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZTtcbiAgICB9XG4gICAgdGhpcy5pc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzU2VydmVyUmVhc29uQ29kZUVycm9yO1xuICB9XG5cbiAgcHVibGljIGZldGNoUGFnZURhdGEoKSB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS5jYXNlX2lkO1xuICAgIHRoaXMuZ2V0TGlua2VkQ2FzZXMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlc1Jlc3BvbnNlID0gcmVzcG9uc2UubGlua2VkQ2FzZXMgJiYgcmVzcG9uc2UubGlua2VkQ2FzZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2V0eXBlID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnQ0FTRV9UWVBFJywgaXRlbS5jY2RDYXNlVHlwZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZXR5cGVEZXNjcmlwdGlvbiA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRV9ERVNDUklQVElPTicsIGl0ZW0uY2NkQ2FzZVR5cGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2VTdGF0ZSA9IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgaXRlbS5zdGF0ZSk7XG4gICAgICAgICAgY29uc3QgbWFwcGVkQ2FzZVN0YXRlRGVzY3JpcHRpb24gPSB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdTVEFURV9ERVNDUklQVElPTicsIGl0ZW0uc3RhdGUpO1xuICAgICAgICAgIGNvbnN0IG1hcHBlZENhc2VTZXJ2aWNlID0gdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnSlVSSVNESUNUSU9OJywgaXRlbS5jY2RKdXJpc2RpY3Rpb24pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgY2NkQ2FzZVR5cGU6IG1hcHBlZENhc2V0eXBlLFxuICAgICAgICAgICAgY2NkQ2FzZVR5cGVEZXNjcmlwdGlvbjogbWFwcGVkQ2FzZXR5cGVEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIGNjZEp1cmlzZGljdGlvbjogbWFwcGVkQ2FzZVNlcnZpY2UsXG4gICAgICAgICAgICBzdGF0ZTogbWFwcGVkQ2FzZVN0YXRlLFxuICAgICAgICAgICAgc3RhdGVEZXNjcmlwdGlvbjogbWFwcGVkQ2FzZVN0YXRlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICBjYXNlTmFtZUhtY3RzSW50ZXJuYWw6IGl0ZW0uY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzRnJvbVRhYmxlQ29tcG9uZW50LkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQsXG4gICAgICAgICAgICBsaW5rRGV0YWlsczogaXRlbS5saW5rRGV0YWlsc1xuICAgICAgICAgIH0gYXMgQ2FzZUxpbmtSZXNwb25zZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubm9MaW5rZWRDYXNlcyA9ICFyZXNwb25zZS5saW5rZWRDYXNlcyB8fCAhcmVzcG9uc2UubGlua2VkQ2FzZXMubGVuZ3RoO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IE9ic2VydmFibGU8TGlua2VkQ2FzZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VzU2VydmljZS5nZXRMaW5rZWRDYXNlcyh0aGlzLmNhc2VJZCk7XG4gIH1cblxuICBwdWJsaWMgbWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0hpZGVMaW5rVGV4dCA9IHRoaXMuc2hvd0hpZGVMaW5rVGV4dCA9PT0gJ1Nob3cnXG4gICAgICA/ICdIaWRlJ1xuICAgICAgOiAnU2hvdyc7XG4gIH1cbn1cbiIsIjxhICpuZ0lmPVwiIW5vTGlua2VkQ2FzZXMgJiYgIWlzU2VydmVyRXJyb3JcIiBpZD1cInNob3ctaGlkZS1saW5rXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gIChjbGljayk9XCJvbkNsaWNrKClcIj57e3Nob3dIaWRlTGlua1RleHR9fTwvYT5cbjx0YWJsZSAqbmdJZj1cIihnZXRMaW5rZWRDYXNlc1Jlc3BvbnNlICYmIHNob3dIaWRlTGlua1RleHQgPT09ICdIaWRlJykgfHwgbm9MaW5rZWRDYXNlc1wiXG4gIGFyaWEtZGVzY3JpYmVkYnk9XCJ0YWJsZSB0byBkaXNwbGF5IGNhc2VzIGxpbmtlZCBmcm9tXCI+XG4gIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5DYXNlIG5hbWUgYW5kIG51bWJlcjwvdGg+XG4gICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TZXJ2aWNlPC90aD5cbiAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U3RhdGU8L3RoPlxuICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCIgKm5nSWY9XCJnZXRMaW5rZWRDYXNlc1Jlc3BvbnNlICYmICghaXNTZXJ2ZXJFcnJvciAmJiAhaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpXCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGdldExpbmtlZENhc2VzUmVzcG9uc2VcIj5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW4gd2lkdGgtMjBcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCI+PHNwYW4+e3tjYXNlLmNhc2VOYW1lSG1jdHNJbnRlcm5hbH19IDxicj5cbiAgICAgICAgICAgICAge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+PC9hPjwvcD5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNjZENhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2NkQ2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiY2FzZS10YWJsZS1jb2x1bW5cIj48c3Bhbj57e2Nhc2UuY2NkSnVyaXNkaWN0aW9ufX08L3NwYW4+PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImNhc2UtdGFibGUtY29sdW1uXCI+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPjwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJjYXNlLXRhYmxlLWNvbHVtblwiICpuZ0Zvcj1cImxldCBkZXRhaWxzIG9mIGNhc2UubGlua0RldGFpbHNcIj5cbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBkZXRhaWxzLnJlYXNvbnM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAge3tyZWFzb24gfCBjY2RMaW5rQ2FzZXNGcm9tUmVhc29uVmFsdWV9fSA8YnI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJub0xpbmtlZENhc2VzXCI+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgIE5vbmVcbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8L3Rib2R5PiAgXG48L3RhYmxlPlxuIl19
@@ -36,9 +36,9 @@ function LinkedCasesToTableComponent_table_2_tr_14_td_18_span_1_Template(rf, ctx
36
36
  const isLast_r8 = ctx.last;
37
37
  const ctx_r5 = i0.ɵɵnextContext(4);
38
38
  i0.ɵɵadvance(1);
39
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, reason_r6), "");
39
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, reason_r6.value), "");
40
40
  i0.ɵɵadvance(3);
41
- i0.ɵɵproperty("ngIf", ctx_r5.hasLeadCaseOrConsolidated(reason_r6));
41
+ i0.ɵɵproperty("ngIf", ctx_r5.hasLeadCaseOrConsolidated(reason_r6.value.Reason));
42
42
  i0.ɵɵadvance(1);
43
43
  i0.ɵɵproperty("ngIf", !isLast_r8);
44
44
  } }
@@ -141,7 +141,7 @@ function LinkedCasesToTableComponent_table_2_Template(rf, ctx) { if (rf & 1) {
141
141
  i0.ɵɵadvance(14);
142
142
  i0.ɵɵproperty("ngForOf", ctx_r0.linkedCasesFromResponse);
143
143
  i0.ɵɵadvance(1);
144
- i0.ɵɵproperty("ngIf", ctx_r0.linkedCasesFromResponse && ctx_r0.linkedCasesFromResponse.length === 0 && (!ctx_r0.isServerError && !ctx_r0.isServerReasonCodeError));
144
+ i0.ɵɵproperty("ngIf", ctx_r0.linkedCasesFromResponse.length === 0 && (!ctx_r0.isServerError && !ctx_r0.isServerReasonCodeError));
145
145
  } }
146
146
  export class LinkedCasesToTableComponent {
147
147
  constructor(route, linkedCasesService, casesService) {
@@ -221,7 +221,7 @@ export class LinkedCasesToTableComponent {
221
221
  unlink: false,
222
222
  reasons: item.reasons && item.reasons.map(reason => {
223
223
  return {
224
- reasonCode: reason
224
+ Reason: reason
225
225
  };
226
226
  }),
227
227
  };
@@ -243,6 +243,7 @@ export class LinkedCasesToTableComponent {
243
243
  reasonCode === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE;
244
244
  }
245
245
  mapResponse(esSearchCasesResponse) {
246
+ var _a;
246
247
  const caseInfo = this.caseField.value.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
247
248
  return caseInfo && {
248
249
  caseReference: esSearchCasesResponse.case_id,
@@ -252,8 +253,7 @@ export class LinkedCasesToTableComponent {
252
253
  service: esSearchCasesResponse.case_type && esSearchCasesResponse.case_type.jurisdiction.description || '',
253
254
  state: esSearchCasesResponse.state.name || '',
254
255
  stateDescription: esSearchCasesResponse.state.description || '',
255
- reasons: caseInfo.value && caseInfo.value.ReasonForLink &&
256
- caseInfo.value.ReasonForLink.map(reason => reason.value && reason.value.Reason),
256
+ reasons: (_a = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.value) === null || _a === void 0 ? void 0 : _a.ReasonForLink
257
257
  };
258
258
  }
259
259
  }
@@ -282,4 +282,4 @@ LinkedCasesToTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesTo
282
282
  }], notifyAPIFailure: [{
283
283
  type: Output
284
284
  }] }); })();
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JJLDZCQUVJO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR6RixxR0FBa0Q7SUFDUixlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN6RixxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBb0M7O0lBQUEsNEJBQU07SUFBQSxvR0FFbUQ7SUFBQSxpQkFBTztJ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QUFJLEVBQUU7WUFDL0QsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhO2dCQUNyRCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1NBQzNELENBQUM7SUFDM0IsQ0FBQzs7QUFySXVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRvcExldmVscmVzdWx0QXJyYXkuY29uY2F0KHNlY29uZExldmVscmVzdWx0QXJyYXkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycgPyB0aGlzLmNhc2VGaWVsZC52YWx1ZSA6IFtdO1xuICAgIC8vIEdlbmVyYXRlIHRoZSBsaXN0IG9mIG9ic2VydmFibGVzXG4gICAgY2FzZUZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlID0+IHtcbiAgICAgIGlmIChmaWVsZFZhbHVlICYmIGZpZWxkVmFsdWUuaWQpIHtcbiAgICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIoZmllbGRWYWx1ZS5pZCkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZSA9IHRoaXMuc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVhc29uQ29kZTogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvbjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbms7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5ub3RpZnlBUElGYWlsdXJlLmVtaXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2U6IGFueVtdKTogT2JzZXJ2YWJsZTx1bmtub3duW10+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oc2VhcmNoQ2FzZXNSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb25Db2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVhc29uQ29kZSA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgfHxcbiAgICAgIHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX0NPTlNPTElEQVRFRF9SRUFTT05fQ09ERTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBSZXNwb25zZShlc1NlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlIHtcbiAgICBjb25zdCBjYXNlSW5mbyA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRDYXNlTmFtZShlc1NlYXJjaENhc2VzUmVzcG9uc2UpLFxuICAgICAgY2FzZVR5cGU6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUubmFtZSB8fCAnJyxcbiAgICAgIGNhc2VUeXBlRGVzY3JpcHRpb246IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzZXJ2aWNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlICYmIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc3RhdGU6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgc3RhdGVEZXNjcmlwdGlvbjogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgcmVhc29uczogY2FzZUluZm8udmFsdWUgJiYgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluayAmJlxuICAgICAgICBjYXNlSW5mby52YWx1ZS5SZWFzb25Gb3JMaW5rLm1hcChyZWFzb24gPT4gcmVhc29uLnZhbHVlICYmIHJlYXNvbi52YWx1ZS5SZWFzb24pLFxuICAgIH0gYXMgTGlua2VkQ2FzZXNSZXNwb25zZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPHRhYmxlICpuZ0lmPVwibGlua2VkQ2FzZXNGcm9tUmVzcG9uc2VcIiBhcmlhLWRlc2NyaWJlZGJ5PVwidGFibGUgdG8gZGlzcGxheSBjYXNlcyBsaW5rZWQgVE9cIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlN0YXRlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCI+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiPjxzcGFuIGNsYXNzPVwiZ292dWstbGlua1wiPnt7Y2FzZS5jYXNlTmFtZX19IDxicj5cbiAgICAgICAgICAgICAgICAgIHt7Y2FzZS5jYXNlUmVmZXJlbmNlIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPjwvYT48L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2UuY2FzZVR5cGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlVHlwZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuPnt7Y2FzZS5zZXJ2aWNlfX08L3NwYW4+PC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2FzZSAmJiBjYXNlLnJlYXNvbnNcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxuICAgICAgICAgICAgICB7e3JlYXNvbiB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08c3Bhbj48YSBjbGFzcz1cImdvdnVrLSEtcGFkZGluZy1sZWZ0LTFcIlxuICAgICAgICAgICAgICAgICAgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97eyBjYXNlLmNhc2VSZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbilcIj57e2dldENhc2VSZWZlcmVuZUxpbmsoY2FzZS5jYXNlUmVmZXJlbmNlKX19PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJyICpuZ0lmPVwiIWlzTGFzdFwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwibGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UgJiYgbGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UubGVuZ3RoID09PSAwICYmICghaXNTZXJ2ZXJFcnJvciAmJiAhaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNVwiPlxuICAgICAgICAgICAgTm9uZVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJ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SUFBSSxFQUFFO1lBQy9ELE9BQU8sUUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSywwQ0FBRSxhQUFhO1NBQ2pCLENBQUM7SUFDM0IsQ0FBQzs7QUFwSXVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRvcExldmVscmVzdWx0QXJyYXkuY29uY2F0KHNlY29uZExldmVscmVzdWx0QXJyYXkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycgPyB0aGlzLmNhc2VGaWVsZC52YWx1ZSA6IFtdO1xuICAgIC8vIEdlbmVyYXRlIHRoZSBsaXN0IG9mIG9ic2VydmFibGVzXG4gICAgY2FzZUZpZWxkVmFsdWUuZm9yRWFjaChmaWVsZFZhbHVlID0+IHtcbiAgICAgIGlmIChmaWVsZFZhbHVlICYmIGZpZWxkVmFsdWUuaWQpIHtcbiAgICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIoZmllbGRWYWx1ZS5pZCkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXNwb25zZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZSA9IHRoaXMuc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKGNhc2VzUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gdGhpcy5saW5rZWRDYXNlc0Zyb21SZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLm5vdGlmeUFQSUZhaWx1cmUuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbkNvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERSB8fFxuICAgICAgcmVhc29uQ29kZSA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFO1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICAgIGNvbnN0IGNhc2VJbmZvID0gdGhpcy5jYXNlRmllbGQudmFsdWUuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlID09PSBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCk7XG4gICAgcmV0dXJuIGNhc2VJbmZvICYmIHtcbiAgICAgIGNhc2VSZWZlcmVuY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkLFxuICAgICAgY2FzZU5hbWU6IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSksXG4gICAgICBjYXNlVHlwZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHNlcnZpY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUgJiYgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzdGF0ZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLnN0YXRlLm5hbWUgfHwgJycsXG4gICAgICBzdGF0ZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICByZWFzb25zOiBjYXNlSW5mbz8udmFsdWU/LlJlYXNvbkZvckxpbmtcbiAgICB9IGFzIExpbmtlZENhc2VzUmVzcG9uc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDx0YWJsZSAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCIgYXJpYS1kZXNjcmliZWRieT1cInRhYmxlIHRvIGRpc3BsYXkgY2FzZXMgbGlua2VkIFRPXCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPkNhc2UgdHlwZSA8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U2VydmljZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5SZWFzb25zIGZvciBjYXNlIGxpbms8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc0Zyb21SZXNwb25zZVwiPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZ292dWstYm9keVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiXG4gICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIj48c3BhbiBjbGFzcz1cImdvdnVrLWxpbmtcIj57e2Nhc2UuY2FzZU5hbWV9fSA8YnI+XG4gICAgICAgICAgICAgICAgICB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj48L2E+PC9wPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLmNhc2VUeXBlRGVzY3JpcHRpb25cIj57e2Nhc2UuY2FzZVR5cGV9fTwvc3Bhbj48L3RkPlxuICAgICAgICAgIDx0ZD48c3Bhbj57e2Nhc2Uuc2VydmljZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuIFt0aXRsZV09XCJjYXNlLnN0YXRlRGVzY3JpcHRpb25cIj57e2Nhc2Uuc3RhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cImNhc2UgJiYgY2FzZS5yZWFzb25zXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGNhc2UucmVhc29uczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICAgICAge3tyZWFzb24udmFsdWUgfCBjY2RMaW5rQ2FzZXNSZWFzb25WYWx1ZX19PHNwYW4+PGEgY2xhc3M9XCJnb3Z1ay0hLXBhZGRpbmctbGVmdC0xXCJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCJjYXNlcy9jYXNlLWRldGFpbHMve3sgY2FzZS5jYXNlUmVmZXJlbmNlIH19XCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb24udmFsdWUuUmVhc29uKVwiPnt7Z2V0Q2FzZVJlZmVyZW5lTGluayhjYXNlLmNhc2VSZWZlcmVuY2UpfX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgICA8YnIgKm5nSWY9XCIhaXNMYXN0XCIgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJsaW5rZWRDYXNlc0Zyb21SZXNwb25zZS5sZW5ndGggPT09IDAgJiYgKCFpc1NlcnZlckVycm9yICYmICFpc1NlcnZlclJlYXNvbkNvZGVFcnJvcilcIj5cbiAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIGNvbHNwYW49XCI1XCI+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -6,6 +6,8 @@ export class CaseLink {
6
6
  }
7
7
  export class LinkReason {
8
8
  }
9
+ export class LinkFromReason {
10
+ }
9
11
  export class LinkedCasesResponse {
10
12
  }
11
13
  export class CaseLinkResponse {
@@ -16,4 +18,4 @@ export class Terms {
16
18
  }
17
19
  export class ESQueryType {
18
20
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7Q0FjMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQUszQjtBQUVELE1BQU0sT0FBTyxRQUFRO0NBV3BCO0FBRUQsTUFBTSxPQUFPLFVBQVU7Q0FJdEI7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO0NBRS9CO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQVM1QjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLEtBQUs7Q0FJakI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQUd2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMaW5rQ2FzZVJlYXNvbiB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZV9lbjogc3RyaW5nO1xuICB2YWx1ZV9jeTogc3RyaW5nO1xuICBoaW50X3RleHRfZW46IHN0cmluZztcbiAgaGludF90ZXh0X2N5OiBzdHJpbmc7XG4gIGxvdl9vcmRlcjogbnVtYmVyO1xuICBwYXJlbnRfa2V5OiBzdHJpbmc7XG4gIGNhdGVnb3J5X2tleTogc3RyaW5nO1xuICBwYXJlbnRfY2F0ZWdvcnk6IHN0cmluZztcbiAgYWN0aXZlX2ZsYWc6IHN0cmluZztcbiAgY2hpbGRfbm9kZXM6IHN0cmluZztcbiAgZnJvbTogc3RyaW5nO1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBDQ0RDYXNlTGlua1R5cGUge1xuICBDYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIENhc2VUeXBlOiBzdHJpbmc7XG4gIENyZWF0ZWREYXRlVGltZTogc3RyaW5nXG4gIFJlYXNvbkZvckxpbms6IExpbmtSZWFzb25bXTtcbn1cblxuZXhwb3J0IGNsYXNzIENhc2VMaW5rIHtcbiAgY2FzZVJlZmVyZW5jZTogc3RyaW5nO1xuICByZWFzb25zOiBMaW5rUmVhc29uW107XG4gIGNyZWF0ZWREYXRlVGltZTogc3RyaW5nO1xuICBjYXNlVHlwZTogc3RyaW5nO1xuICBjYXNlVHlwZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNhc2VTdGF0ZTogc3RyaW5nO1xuICBjYXNlU3RhdGVEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjYXNlU2VydmljZTogc3RyaW5nO1xuICBjYXNlTmFtZTogc3RyaW5nO1xuICB1bmxpbms/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTGlua1JlYXNvbiB7XG4gIHJlYXNvbkNvZGU6IHN0cmluZztcbiAgcmVhc29uRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG90aGVyRGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc1Jlc3BvbnNlIHtcbiAgbGlua2VkQ2FzZXM6IENhc2VMaW5rUmVzcG9uc2VbXTtcbn1cblxuZXhwb3J0IGNsYXNzIENhc2VMaW5rUmVzcG9uc2Uge1xuICBjYXNlTmFtZUhtY3RzSW50ZXJuYWw6IHN0cmluZztcbiAgY2FzZVJlZmVyZW5jZTogc3RyaW5nO1xuICBjY2RDYXNlVHlwZTogc3RyaW5nO1xuICBjY2RDYXNlVHlwZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNjZEp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGxpbmtEZXRhaWxzOiBbTGlua0RldGFpbHNdO1xufVxuXG5leHBvcnQgY2xhc3MgTGlua0RldGFpbHMge1xuICBjcmVhdGVkRGF0ZVRpbWU6IERhdGU7XG4gIHJlYXNvbnM6IFtMaW5rUmVhc29uXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRlcm1zIHtcbiAgdGVybXM6IHtcbiAgICByZWZlcmVuY2U6IGFueVtdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFU1F1ZXJ5VHlwZSB7XG4gIHF1ZXJ5OiBUZXJtcztcbiAgc2l6ZTogbnVtYmVyO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7Q0FjMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQUszQjtBQUVELE1BQU0sT0FBTyxRQUFRO0NBV3BCO0FBRUQsTUFBTSxPQUFPLFVBQVU7Q0FHdEI7QUFFRCxNQUFNLE9BQU8sY0FBYztDQUcxQjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FFL0I7QUFFRCxNQUFNLE9BQU8sZ0JBQWdCO0NBUzVCO0FBRUQsTUFBTSxPQUFPLFdBQVc7Q0FHdkI7QUFFRCxNQUFNLE9BQU8sS0FBSztDQUlqQjtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExpbmtDYXNlUmVhc29uIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlX2VuOiBzdHJpbmc7XG4gIHZhbHVlX2N5OiBzdHJpbmc7XG4gIGhpbnRfdGV4dF9lbjogc3RyaW5nO1xuICBoaW50X3RleHRfY3k6IHN0cmluZztcbiAgbG92X29yZGVyOiBudW1iZXI7XG4gIHBhcmVudF9rZXk6IHN0cmluZztcbiAgY2F0ZWdvcnlfa2V5OiBzdHJpbmc7XG4gIHBhcmVudF9jYXRlZ29yeTogc3RyaW5nO1xuICBhY3RpdmVfZmxhZzogc3RyaW5nO1xuICBjaGlsZF9ub2Rlczogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIENDRENhc2VMaW5rVHlwZSB7XG4gIENhc2VSZWZlcmVuY2U6IHN0cmluZztcbiAgQ2FzZVR5cGU6IHN0cmluZztcbiAgQ3JlYXRlZERhdGVUaW1lOiBzdHJpbmdcbiAgUmVhc29uRm9yTGluazogTGlua1JlYXNvbltdO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FzZUxpbmsge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIHJlYXNvbnM6IExpbmtSZWFzb25bXTtcbiAgY3JlYXRlZERhdGVUaW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgY2FzZVN0YXRlOiBzdHJpbmc7XG4gIGNhc2VTdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNhc2VTZXJ2aWNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIHVubGluaz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rUmVhc29uIHtcbiAgUmVhc29uOiBzdHJpbmc7XG4gIE90aGVyRGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rRnJvbVJlYXNvbiB7XG4gIHJlYXNvbkNvZGU6IHN0cmluZztcbiAgb3RoZXJEZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBsaW5rZWRDYXNlczogQ2FzZUxpbmtSZXNwb25zZVtdO1xufVxuXG5leHBvcnQgY2xhc3MgQ2FzZUxpbmtSZXNwb25zZSB7XG4gIGNhc2VOYW1lSG1jdHNJbnRlcm5hbDogc3RyaW5nO1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNjZENhc2VUeXBlOiBzdHJpbmc7XG4gIGNjZENhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgY2NkSnVyaXNkaWN0aW9uOiBzdHJpbmc7XG4gIHN0YXRlOiBzdHJpbmc7XG4gIHN0YXRlRGVzY3JpcHRpb246IHN0cmluZztcbiAgbGlua0RldGFpbHM6IExpbmtEZXRhaWxzW107XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rRGV0YWlscyB7XG4gIGNyZWF0ZWREYXRlVGltZTogRGF0ZTtcbiAgcmVhc29uczogTGlua0Zyb21SZWFzb25bXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRlcm1zIHtcbiAgdGVybXM6IHtcbiAgICByZWZlcmVuY2U6IGFueVtdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFU1F1ZXJ5VHlwZSB7XG4gIHF1ZXJ5OiBUZXJtcztcbiAgc2l6ZTogbnVtYmVyO1xufVxuIl19
@@ -20,6 +20,8 @@ export var LinkedCasesErrorMessages;
20
20
  LinkedCasesErrorMessages["LinkCasesNavigationError"] = "Please select Next to link case(s)";
21
21
  LinkedCasesErrorMessages["UnlinkCasesNavigationError"] = "Please select Next to unlink case(s)";
22
22
  LinkedCasesErrorMessages["BackNavigationError"] = "Please select Back to go to the previous page";
23
+ LinkedCasesErrorMessages["otherDescriptionError"] = "Provide a description of the reason";
24
+ LinkedCasesErrorMessages["otherDescriptionMaxLengthError"] = "Description provided must be 100 characters or fewer";
23
25
  })(LinkedCasesErrorMessages || (LinkedCasesErrorMessages = {}));
24
26
  export var LinkedCasesEventTriggers;
25
27
  (function (LinkedCasesEventTriggers) {
@@ -30,4 +32,4 @@ export var Patterns;
30
32
  (function (Patterns) {
31
33
  Patterns["CASE_REF"] = "((([0-9]{4})(?: |-)?)){4}";
32
34
  })(Patterns || (Patterns = {}));
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvZW51bXMvd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBTVg7QUFORCxXQUFZLGdCQUFnQjtJQUMxQiwrRUFBZ0IsQ0FBQTtJQUNoQiw2RUFBZSxDQUFBO0lBQ2YsaUVBQVMsQ0FBQTtJQUNULHFFQUFXLENBQUE7SUFDWCxtRkFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUVELE1BQU0sQ0FBTixJQUFZLHdCQWFYO0FBYkQsV0FBWSx3QkFBd0I7SUFDbEMsMEZBQThELENBQUE7SUFDOUQsZ0ZBQW9ELENBQUE7SUFDcEQscUdBQXlFLENBQUE7SUFDekUsMkZBQStELENBQUE7SUFDL0QsdUZBQTJELENBQUE7SUFDM0Qsd0ZBQTRELENBQUE7SUFDNUQscUZBQXlELENBQUE7SUFDekQsK0VBQW1ELENBQUE7SUFDbkQsa0dBQXNFLENBQUE7SUFDdEUsMkZBQStELENBQUE7SUFDL0QsK0ZBQW1FLENBQUE7SUFDbkUsaUdBQXFFLENBQUE7QUFDdkUsQ0FBQyxFQWJXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFhbkM7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFHWDtBQUhELFdBQVksd0JBQXdCO0lBQ2xDLHFEQUF5QixDQUFBO0lBQ3pCLG1FQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFIVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBR25DO0FBRUQsTUFBTSxDQUFOLElBQVksUUFFWDtBQUZELFdBQVksUUFBUTtJQUNsQixrREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBRlcsUUFBUSxLQUFSLFFBQVEsUUFFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMaW5rZWRDYXNlc1BhZ2VzIHtcbiAgQkVGT1JFX1lPVV9TVEFSVCxcbiAgTk9fTElOS0VEX0NBU0VTLFxuICBMSU5LX0NBU0UsXG4gIFVOTElOS19DQVNFLFxuICBDSEVDS19ZT1VSX0FOU1dFUlNcbn1cblxuZXhwb3J0IGVudW0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzIHtcbiAgUHJvcG9zZWRDYXNlV2l0aEluID0gJ0Nhc2UgY2FuIG5vdCBiZSBsaW5rZWQgdG8gdGhlIHNhbWUgY2FzZScsXG4gIENhc2VOdW1iZXJFcnJvciA9ICdDYXNlIG51bWJlcnMgbXVzdCBoYXZlIDE2IGRpZ2l0cycsXG4gIFJlYXNvblNlbGVjdGlvbkVycm9yID0gJ1NlbGVjdCBhIHJlYXNvbiB3aHkgdGhlc2UgY2FzZXMgc2hvdWxkIGJlIGxpbmtlZCcsXG4gIFNvbWV0aGluZ1dyb25nID0gJ1NvbWV0aGluZyB3ZW50IHdyb25nLCBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyJyxcbiAgQ2FzZUNoZWNrQWdhaW5FcnJvciA9ICdDaGVjayB0aGUgY2FzZSBudW1iZXIgYW5kIHRyeSBhZ2FpbicsXG4gIENhc2VTZWxlY3Rpb25FcnJvciA9ICdZb3UgbmVlZCB0byBwcm9wb3NlIGF0IGxlYXN0IG9uZSBjYXNlJyxcbiAgQ2FzZVByb3Bvc2VkRXJyb3IgPSAnVGhpcyBjYXNlIGhhcyBhbHJlYWR5IGJlZW4gcHJvcG9zZWQnLFxuICBDYXNlc0xpbmtlZEVycm9yID0gJ1RoZXNlIGNhc2VzIGFyZSBhbHJlYWR5IGxpbmtlZCcsXG4gIFVubGlua0Nhc2VTZWxlY3Rpb25FcnJvciA9ICdTZWxlY3QgYSBjYXNlIHRvIHVubGluayBiZWZvcmUgY29udGludWluZycsXG4gIExpbmtDYXNlc05hdmlnYXRpb25FcnJvciA9ICdQbGVhc2Ugc2VsZWN0IE5leHQgdG8gbGluayBjYXNlKHMpJyxcbiAgVW5saW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3IgPSAnUGxlYXNlIHNlbGVjdCBOZXh0IHRvIHVubGluayBjYXNlKHMpJyxcbiAgQmFja05hdmlnYXRpb25FcnJvciA9ICdQbGVhc2Ugc2VsZWN0IEJhY2sgdG8gZ28gdG8gdGhlIHByZXZpb3VzIHBhZ2UnXG59XG5cbmV4cG9ydCBlbnVtIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycyB7XG4gIExJTktfQ0FTRVMgPSAnTGluayBjYXNlcycsXG4gIE1BTkFHRV9DQVNFX0xJTktTID0gJ01hbmFnZSBjYXNlIGxpbmtzJ1xufVxuXG5leHBvcnQgZW51bSBQYXR0ZXJucyB7XG4gIENBU0VfUkVGID0gJygoKFswLTldezR9KSg/OiB8LSk/KSl7NH0nXG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvZW51bXMvd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBTVg7QUFORCxXQUFZLGdCQUFnQjtJQUMxQiwrRUFBZ0IsQ0FBQTtJQUNoQiw2RUFBZSxDQUFBO0lBQ2YsaUVBQVMsQ0FBQTtJQUNULHFFQUFXLENBQUE7SUFDWCxtRkFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUVELE1BQU0sQ0FBTixJQUFZLHdCQWVYO0FBZkQsV0FBWSx3QkFBd0I7SUFDbEMsMEZBQThELENBQUE7SUFDOUQsZ0ZBQW9ELENBQUE7SUFDcEQscUdBQXlFLENBQUE7SUFDekUsMkZBQStELENBQUE7SUFDL0QsdUZBQTJELENBQUE7SUFDM0Qsd0ZBQTRELENBQUE7SUFDNUQscUZBQXlELENBQUE7SUFDekQsK0VBQW1ELENBQUE7SUFDbkQsa0dBQXNFLENBQUE7SUFDdEUsMkZBQStELENBQUE7SUFDL0QsK0ZBQW1FLENBQUE7SUFDbkUsaUdBQXFFLENBQUE7SUFDckUseUZBQTZELENBQUE7SUFDN0QsbUhBQXVGLENBQUE7QUFDekYsQ0FBQyxFQWZXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFlbkM7QUFFRCxNQUFNLENBQU4sSUFBWSx3QkFHWDtBQUhELFdBQVksd0JBQXdCO0lBQ2xDLHFEQUF5QixDQUFBO0lBQ3pCLG1FQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFIVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBR25DO0FBRUQsTUFBTSxDQUFOLElBQVksUUFFWDtBQUZELFdBQVksUUFBUTtJQUNsQixrREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBRlcsUUFBUSxLQUFSLFFBQVEsUUFFbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMaW5rZWRDYXNlc1BhZ2VzIHtcbiAgQkVGT1JFX1lPVV9TVEFSVCxcbiAgTk9fTElOS0VEX0NBU0VTLFxuICBMSU5LX0NBU0UsXG4gIFVOTElOS19DQVNFLFxuICBDSEVDS19ZT1VSX0FOU1dFUlNcbn1cblxuZXhwb3J0IGVudW0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzIHtcbiAgUHJvcG9zZWRDYXNlV2l0aEluID0gJ0Nhc2UgY2FuIG5vdCBiZSBsaW5rZWQgdG8gdGhlIHNhbWUgY2FzZScsXG4gIENhc2VOdW1iZXJFcnJvciA9ICdDYXNlIG51bWJlcnMgbXVzdCBoYXZlIDE2IGRpZ2l0cycsXG4gIFJlYXNvblNlbGVjdGlvbkVycm9yID0gJ1NlbGVjdCBhIHJlYXNvbiB3aHkgdGhlc2UgY2FzZXMgc2hvdWxkIGJlIGxpbmtlZCcsXG4gIFNvbWV0aGluZ1dyb25nID0gJ1NvbWV0aGluZyB3ZW50IHdyb25nLCBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyJyxcbiAgQ2FzZUNoZWNrQWdhaW5FcnJvciA9ICdDaGVjayB0aGUgY2FzZSBudW1iZXIgYW5kIHRyeSBhZ2FpbicsXG4gIENhc2VTZWxlY3Rpb25FcnJvciA9ICdZb3UgbmVlZCB0byBwcm9wb3NlIGF0IGxlYXN0IG9uZSBjYXNlJyxcbiAgQ2FzZVByb3Bvc2VkRXJyb3IgPSAnVGhpcyBjYXNlIGhhcyBhbHJlYWR5IGJlZW4gcHJvcG9zZWQnLFxuICBDYXNlc0xpbmtlZEVycm9yID0gJ1RoZXNlIGNhc2VzIGFyZSBhbHJlYWR5IGxpbmtlZCcsXG4gIFVubGlua0Nhc2VTZWxlY3Rpb25FcnJvciA9ICdTZWxlY3QgYSBjYXNlIHRvIHVubGluayBiZWZvcmUgY29udGludWluZycsXG4gIExpbmtDYXNlc05hdmlnYXRpb25FcnJvciA9ICdQbGVhc2Ugc2VsZWN0IE5leHQgdG8gbGluayBjYXNlKHMpJyxcbiAgVW5saW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3IgPSAnUGxlYXNlIHNlbGVjdCBOZXh0IHRvIHVubGluayBjYXNlKHMpJyxcbiAgQmFja05hdmlnYXRpb25FcnJvciA9ICdQbGVhc2Ugc2VsZWN0IEJhY2sgdG8gZ28gdG8gdGhlIHByZXZpb3VzIHBhZ2UnLFxuICBvdGhlckRlc2NyaXB0aW9uRXJyb3IgPSAnUHJvdmlkZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSByZWFzb24nLFxuICBvdGhlckRlc2NyaXB0aW9uTWF4TGVuZ3RoRXJyb3IgPSAnRGVzY3JpcHRpb24gcHJvdmlkZWQgbXVzdCBiZSAxMDAgY2hhcmFjdGVycyBvciBmZXdlcicsXG59XG5cbmV4cG9ydCBlbnVtIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycyB7XG4gIExJTktfQ0FTRVMgPSAnTGluayBjYXNlcycsXG4gIE1BTkFHRV9DQVNFX0xJTktTID0gJ01hbmFnZSBjYXNlIGxpbmtzJ1xufVxuXG5leHBvcnQgZW51bSBQYXR0ZXJucyB7XG4gIENBU0VfUkVGID0gJygoKFswLTldezR9KSg/OiB8LSk/KSl7NH0nXG59XG4iXX0=
@@ -41,6 +41,7 @@ export class LinkedCasesService {
41
41
  };
42
42
  }
43
43
  mapResponse(esSearchCasesResponse) {
44
+ var _a;
44
45
  const caseInfo = this.caseFieldValue.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
45
46
  return caseInfo && {
46
47
  caseReference: esSearchCasesResponse.case_id,
@@ -48,8 +49,7 @@ export class LinkedCasesService {
48
49
  caseType: this.mapLookupIDToValueFromJurisdictions('CASE_TYPE', esSearchCasesResponse.case_fields['[CASE_TYPE]']),
49
50
  service: this.mapLookupIDToValueFromJurisdictions('JURISDICTION', esSearchCasesResponse.case_fields['[JURISDICTION]']),
50
51
  state: this.mapLookupIDToValueFromJurisdictions('STATE', esSearchCasesResponse.case_fields['[STATE]']),
51
- reasons: caseInfo.value && caseInfo.value.ReasonForLink &&
52
- caseInfo.value.ReasonForLink.map(reason => reason.value && reason.value.Reason),
52
+ reasons: (_a = caseInfo === null || caseInfo === void 0 ? void 0 : caseInfo.value) === null || _a === void 0 ? void 0 : _a.ReasonForLink
53
53
  };
54
54
  }
55
55
  searchCasesByCaseIds(searchCasesResponse) {
@@ -80,7 +80,7 @@ export class LinkedCasesService {
80
80
  unlink: false,
81
81
  reasons: item.reasons && item.reasons.map(reason => {
82
82
  return {
83
- reasonCode: reason
83
+ Reason: reason
84
84
  };
85
85
  }),
86
86
  };
@@ -131,4 +131,4 @@ LinkedCasesService.ɵprov = i0.ɵɵdefineInjectable({ token: LinkedCasesService,
131
131
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesService, [{
132
132
  type: Injectable
133
133
  }], function () { return [{ type: i1.JurisdictionService }, { type: i1.SearchService }]; }, null); })();
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQzdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDO1FBWkEsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDdEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQztRQUM3QyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBU00sMkJBQTJCLENBQUMsT0FBYyxFQUFFLElBQVk7UUFDN0QsT0FBTztZQUNMLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUU7b0JBQ0wsU0FBUyxFQUFFLE9BQU87aUJBQ25CO2FBQ0Y7WUFDRCxJQUFJO1NBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQUMscUJBQXFCO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1SCxPQUFPLFFBQVEsSUFBSTtZQUNqQixhQUFhLEVBQUUscUJBQXFCLENBQUMsT0FBTztZQUM1QyxRQUFRLEVBQUUscUJBQXFCLENBQUMsV0FBVyxDQUFDLHFCQUFxQixJQUFJLGtCQUFrQixDQUFDLHNCQUFzQjtZQUM5RyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakgsT0FBTyxFQUFFLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdEgsS0FBSyxFQUFFLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RHLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYTtnQkFDckQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUNsRixDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUFDLG1CQUEwQjtRQUNwRCxPQUFPLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkYsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9GLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQWdCLEVBQUUsRUFBRTtnQkFDNUUsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM3QixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO3dCQUN2QyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDL0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDekMsT0FBTzt3QkFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7d0JBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLE1BQU0sRUFBRSxLQUFLO3dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUNqRCxPQUFPO2dDQUNMLFVBQVUsRUFBRSxNQUFNOzZCQUNMLENBQUM7d0JBQ2xCLENBQUMsQ0FBQztxQkFDUyxDQUFDO2dCQUNoQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLG9CQUFvQixHQUFHO29CQUMxQixFQUFFLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxzREFBc0Q7aUJBQ3BGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLG1DQUFtQyxDQUFDLFNBQVMsRUFBRSxVQUFVO1FBQzlELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHFCQUFxQjtZQUNyRCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEcsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4SSxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUMvRixRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sb0JBQW9CLElBQUksb0JBQW9CLENBQUMsV0FBVyxDQUFDO1lBQ2xFLEtBQUssV0FBVztnQkFDZCxPQUFPLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUNuRCxLQUFLLHVCQUF1QjtnQkFDMUIsT0FBTyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7WUFDMUQsS0FBSyxPQUFPO2dCQUNWLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDO1lBQzNDLEtBQUssbUJBQW1CO2dCQUN0QixPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQztZQUNsRDtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLG1CQUE2QjtRQUM5QyxJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLENBQUM7WUFDbEcsSUFBSSwwQkFBMEIsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUF0SXVCLHlDQUFzQixHQUFHLG1CQUFtQixDQUFDO29GQUYxRCxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSwgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkoY2FzZUlkczogYW55W10sIHNpemU6IG51bWJlcik6IEVTUXVlcnlUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGNhc2VJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IGFueSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8udmFsdWUgJiYgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluayAmJlxuICAgICAgICBjYXNlSW5mby52YWx1ZS5SZWFzb25Gb3JMaW5rLm1hcChyZWFzb24gPT4gcmVhc29uLnZhbHVlICYmIHJlYXNvbi52YWx1ZS5SZWFzb24pLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGxpbmtlZENhc2VJZHMgPSB0aGlzLmdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlKHRoaXMuY2FzZUZpZWxkVmFsdWUsICdDYXNlVHlwZScpO1xuICAgIE9iamVjdC5rZXlzKGxpbmtlZENhc2VJZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGVzUXVlcnkgPSB0aGlzLmNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShsaW5rZWRDYXNlSWRzW2tleV0sIDEwMCk7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hDYXNlc0J5SWRzKGtleSwgZXNRdWVyeSwgU2VhcmNoU2VydmljZS5WSUVXX1dPUktCQVNLRVQpO1xuICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHF1ZXJ5KTtcbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgcmVzcG9uc2UucmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzdWx0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhc2VMaW5rcyA9IGNhc2VzUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlYXNvbkNvZGU6IHJlYXNvblxuICAgICAgICAgICAgICB9IGFzIExpbmtSZWFzb247XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9IGFzIENhc2VMaW5rO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IG51bGw7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IHtcbiAgICAgICAgICBpZDogJ2JhY2tlbmRFcnJvcicsIG1lc3NhZ2U6ICdTb21lIGNhc2UgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50J1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKGZpZWxkTmFtZSwgZmllbGRWYWx1ZSk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRKdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSAmJlxuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZSA9IHNlbGVjdGVkSnVyaXNkaWN0aW9uICYmIHNlbGVjdGVkSnVyaXNkaWN0aW9uLmNhc2VUeXBlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQpO1xuICAgIGNvbnN0IHN0YXRlID0gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLnN0YXRlcy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gZmllbGRWYWx1ZSk7XG4gICAgc3dpdGNoIChmaWVsZE5hbWUpIHtcbiAgICAgIGNhc2UgJ0pVUklTRElDVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbjtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRSc6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUubmFtZTtcbiAgICAgIGNhc2UgJ0NBU0VfVFlQRV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUuZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdTVEFURSc6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5uYW1lIHx8IGZpZWxkVmFsdWU7XG4gICAgICBjYXNlICdTVEFURV9ERVNDUklQVElPTic6XG4gICAgICAgIHJldHVybiBzdGF0ZSAmJiBzdGF0ZS5kZXNjcmlwdGlvbiB8fCBmaWVsZFZhbHVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENhc2VOYW1lKHNlYXJjaENhc2VzUmVzcG9uc2U6IENhc2VWaWV3KTogc3RyaW5nIHtcbiAgICBsZXQgY2FzZU5hbWUgPSBMaW5rZWRDYXNlc1NlcnZpY2UuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVDtcbiAgICBjb25zdCB0YWJzID0gc2VhcmNoQ2FzZXNSZXNwb25zZS50YWJzLmZpbHRlcih0YWIgPT4ge1xuICAgICAgY29uc3QgY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQgPSB0YWIuZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTmFtZUhtY3RzSW50ZXJuYWwnKTtcbiAgICAgIGlmIChjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZCkge1xuICAgICAgICBjYXNlTmFtZSA9IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkLnZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjYXNlTmFtZTtcbiAgfVxufVxuIl19
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVB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R0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLENBQUM7WUFDbEcsSUFBSSwwQkFBMEIsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUFySXVCLHlDQUFzQixHQUFHLG1CQUFtQixDQUFDO29GQUYxRCxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSwgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkoY2FzZUlkczogYW55W10sIHNpemU6IG51bWJlcik6IEVTUXVlcnlUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGNhc2VJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IGFueSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8/LnZhbHVlPy5SZWFzb25Gb3JMaW5rXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgbGlua2VkQ2FzZUlkcyA9IHRoaXMuZ3JvdXBMaW5rZWRDYXNlc0J5Q2FzZVR5cGUodGhpcy5jYXNlRmllbGRWYWx1ZSwgJ0Nhc2VUeXBlJyk7XG4gICAgT2JqZWN0LmtleXMobGlua2VkQ2FzZUlkcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgZXNRdWVyeSA9IHRoaXMuY29uc3RydWN0RWxhc3RpY1NlYXJjaFF1ZXJ5KGxpbmtlZENhc2VJZHNba2V5XSwgMTAwKTtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaENhc2VzQnlJZHMoa2V5LCBlc1F1ZXJ5LCBTZWFyY2hTZXJ2aWNlLlZJRVdfV09SS0JBU0tFVCk7XG4gICAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlLnB1c2gocXVlcnkpO1xuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICByZXNwb25zZS5yZXN1bHRzLmZvckVhY2goKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXN1bHQpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gY2FzZXNSZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSBudWxsO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB7XG4gICAgICAgICAgaWQ6ICdiYWNrZW5kRXJyb3InLCBtZXNzYWdlOiAnU29tZSBjYXNlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudCdcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkSnVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UgJiZcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQpO1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FzZVR5cGUgPSBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5jYXNlVHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkKTtcbiAgICBjb25zdCBzdGF0ZSA9IHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5zdGF0ZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGZpZWxkVmFsdWUpO1xuICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICBjYXNlICdKVVJJU0RJQ1RJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdDQVNFX1RZUEUnOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLm5hbWU7XG4gICAgICBjYXNlICdDQVNFX1RZUEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnU1RBVEUnOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUubmFtZSB8fCBmaWVsZFZhbHVlO1xuICAgICAgY2FzZSAnU1RBVEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuZGVzY3JpcHRpb24gfHwgZmllbGRWYWx1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlTmFtZShzZWFyY2hDYXNlc1Jlc3BvbnNlOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgbGV0IGNhc2VOYW1lID0gTGlua2VkQ2FzZXNTZXJ2aWNlLkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQ7XG4gICAgY29uc3QgdGFicyA9IHNlYXJjaENhc2VzUmVzcG9uc2UudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgIGNvbnN0IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZU5hbWVIbWN0c0ludGVybmFsJyk7XG4gICAgICBpZiAoY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQpIHtcbiAgICAgICAgY2FzZU5hbWUgPSBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2FzZU5hbWU7XG4gIH1cbn1cbiJdfQ==
@@ -150,7 +150,11 @@ export class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent
150
150
  const reasonCodeAPIurl = this.appConfig.getRDCommonDataApiUrl() + '/lov/categories/CaseLinkingReasonCode';
151
151
  this.commonDataService.getRefData(reasonCodeAPIurl).subscribe({
152
152
  next: reasons => {
153
- this.linkedCasesService.linkCaseReasons = reasons.list_of_values.sort((a, b) => (a.value_en > b.value_en) ? 1 : -1);
153
+ // Sort in ascending order
154
+ const linkCaseReasons = reasons.list_of_values.sort((a, b) => (a.value_en > b.value_en) ? 1 : -1);
155
+ // Move Other option to the end of the list
156
+ this.linkedCasesService.linkCaseReasons = linkCaseReasons === null || linkCaseReasons === void 0 ? void 0 : linkCaseReasons.filter(reason => reason.value_en !== 'Other');
157
+ this.linkedCasesService.linkCaseReasons.push(linkCaseReasons === null || linkCaseReasons === void 0 ? void 0 : linkCaseReasons.find(reason => reason.value_en === 'Other'));
154
158
  }
155
159
  });
156
160
  }
@@ -265,4 +269,4 @@ WriteLinkedCasesFieldComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinke
265
269
  templateUrl: './write-linked-cases-field.component.html'
266
270
  }]
267
271
  }], function () { return [{ type: i1.AbstractAppConfig }, { type: i2.CommonDataService }, { type: i3.CasesService }, { type: i4.LinkedCasesService }, { type: i5.CaseEditDataService }]; }, null); })();
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7O0lDTjlDLDhCQUFrRjtJQUNoRiw2QkFBaUQ7SUFDL0MsMEJBQUk7SUFDRiw0QkFBbUY7SUFBaEYsOFFBQXNEO0lBQTBCLFlBQTRC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QUNILENBQUM7OzRHQXhLVSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ2hCM0MsK0VBV007UUFDTiw4QkFBd0U7UUFDdEUsOEJBQTJEO1FBQ3pELGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDakIsaUJBQU07UUFDUixpQkFBTTs7UUFuQ0EsbURBQThCO1FBWVksZUFBdUI7UUFBdkIseUNBQXVCO1FBQ3ZDLGVBQTRCO1FBQTVCLDhDQUE0QjtRQUN6QyxlQUErQztRQUEvQyxvRUFBK0M7UUFJL0MsZUFBOEM7UUFBOUMsbUVBQThDO1FBSTlDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUl4QyxlQUEwQztRQUExQywrREFBMEM7UUFJMUMsZUFBaUQ7UUFBakQsc0VBQWlEOzt1RkRkdkQsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsMkNBQTJDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycywgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyBjYXNlRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZTogbnVtYmVyO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlcyA9IExpbmtlZENhc2VzUGFnZXM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnMgPSBMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXREYXRhU2VydmljZTogQ2FzZUVkaXREYXRhU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuICAgIC8vIEdldCBsaW5rZWQgY2FzZSByZWFzb25zIGZyb20gcmVmIGRhdGFcbiAgICB0aGlzLmdldExpbmtlZENhc2VSZWFzb25zKCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZURldGFpbHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjYXNlRGV0YWlscyA9PiB0aGlzLmluaXRpYWxpc2VDYXNlRGV0YWlscyhjYXNlRGV0YWlscylcbiAgICB9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZUV2ZW50VHJpZ2dlck5hbWUkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBuYW1lID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFZGl0Rm9ybSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGVkaXRGb3JtID0+IHRoaXMuY2FzZUVkaXRGb3JtID0gZWRpdEZvcm1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9jZWVkVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzICYmIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmZvckVhY2goKGVycm9yTWVzc2FnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuYWRkRm9ybVZhbGlkYXRpb25FcnJvcih7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlUmVhc29ucygpOiB2b2lkIHtcbiAgICBjb25zdCByZWFzb25Db2RlQVBJdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0UkRDb21tb25EYXRhQXBpVXJsKCkgKyAnL2xvdi9jYXRlZ29yaWVzL0Nhc2VMaW5raW5nUmVhc29uQ29kZSc7XG4gICAgICB0aGlzLmNvbW1vbkRhdGFTZXJ2aWNlLmdldFJlZkRhdGEocmVhc29uQ29kZUFQSXVybCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVhc29ucyA9PiB7XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua0Nhc2VSZWFzb25zID0gcmVhc29ucy5saXN0X29mX3ZhbHVlcy5zb3J0KChhLCBiKSA9PiAoYS52YWx1ZV9lbiA+IGIudmFsdWVfZW4pID8gMSA6IC0xKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyXG4gICAgICAgID8gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkxpbmtDYXNlc05hdmlnYXRpb25FcnJvclxuICAgICAgICA6IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5VbmxpbmtDYXNlc05hdmlnYXRpb25FcnJvcjtcblxuICAgIGNvbnN0IGJ1dHRvbklkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoID09PSAwXG4gICAgICA/ICdiYWNrLWJ1dHRvbidcbiAgICAgIDogJ25leHQtYnV0dG9uJztcblxuICAgIHRoaXMuY2FzZUVkaXREYXRhU2VydmljZS5zZXRDYXNlTGlua0Vycm9yKHtcbiAgICAgICAgY29tcG9uZW50SWQ6IGJ1dHRvbklkLFxuICAgICAgICBlcnJvck1lc3NhZ2VcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZWVkVG9OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0F0RmluYWxQYWdlKCkpIHtcbiAgICAgIC8vIENvbnRpbnVlIGJ1dHRvbiBldmVudCBtdXN0IGJlIGFsbG93ZWQgaW4gZmluYWwgcGFnZVxuICAgICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNsZWFyQ2FzZUxpbmtFcnJvcigpO1xuICAgICAgLy8gVHJpZ2dlciB2YWxpZGF0aW9uIHRvIGNsZWFyIHRoZSBcIm5vdEF0RmluYWxQYWdlXCIgZXJyb3IgaWYgbm93IGF0IHRoZSBmaW5hbCBzdGF0ZVxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgLy8gdXBkYXRlIGZvcm0gdmFsdWVcbiAgICAgIHRoaXMuc3VibWl0TGlua2VkQ2FzZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3VibWl0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyKSB7XG4gICAgICBjb25zdCB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmZpbHRlcihpdGVtID0+IGl0ZW0udW5saW5rKS5tYXAoaXRlbSA9PiBpdGVtLmNhc2VSZWZlcmVuY2UpO1xuICAgICAgY29uc3QgY2FzZUZpZWxkVmFsdWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gdW5saW5rZWRDYXNlUmVmZXJlbmVJZHMuaW5kZXhPZihpdGVtLmlkKSA9PT0gLTEpO1xuICAgIH1cbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZS5jYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZTtcbiAgICAodGhpcy5jYXNlRWRpdEZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBhbnkpID0gbmV3IEZvcm1Hcm91cCh7Y2FzZUxpbmtzOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW10pfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldENhc2VFZGl0Rm9ybSh0aGlzLmNhc2VFZGl0Rm9ybSk7XG4gIH1cblxuICBwdWJsaWMgaXNBdEZpbmFsUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IG51bWJlciB7XG4gICAgaWYgKCh0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUKSB8fFxuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZS5jdXJyZW50TGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUyAmJiBsaW5rZWRDYXNlc1N0YXRlLm5hdmlnYXRlVG9QcmV2aW91c1BhZ2UpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0VcbiAgICAgICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRTtcbiAgICB9XG4gICAgcmV0dXJuIExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkKS5zdWJzY3JpYmUoKGNhc2VWaWV3OiBDYXNlVmlldykgPT4ge1xuICAgICAgY29uc3QgY2FzZVZpZXdGaWx0ZXJlZCA9IGNhc2VWaWV3LnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmtGaWVsZCA9IHRhYi5maWVsZHMuc29tZShcbiAgICAgICAgICAoe2ZpZWxkX3R5cGV9KSA9PiBmaWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlICYmIGZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkID09PSAnQ2FzZUxpbmsnXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBsaW5rRmllbGQ7XG4gICAgICB9KTtcbiAgICAgIGlmIChjYXNlVmlld0ZpbHRlcmVkKSB7XG4gICAgICAgIGNvbnN0IGNhc2VMaW5rRmllbGRWYWx1ZSA9IGNhc2VWaWV3RmlsdGVyZWQubWFwKGZpbHRlcmVkID0+XG4gICAgICAgICAgZmlsdGVyZWQuZmllbGRzPy5sZW5ndGggPiAwICYmIGZpbHRlcmVkLmZpZWxkcy5maWx0ZXIoZmllbGQgPT4gZmllbGQuaWQgPT09ICdjYXNlTGlua3MnKVswXS52YWx1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IGNhc2VMaW5rRmllbGRWYWx1ZS5sZW5ndGggPyBjYXNlTGlua0ZpZWxkVmFsdWVbMF0gOiBbXTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk7XG4gICAgICB9XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBmaXJzdCBwYWdlIHRvIGRpc3BsYXlcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlICYmIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLnNlcnZlckxpbmtlZEFwaUVycm9yKVxuICAgICAgICA/IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVFxuICAgICAgICA6IExpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTO1xuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZXJyb3IgdG8gYmUgZGlzcGxheWVkIHdoZW4gY2xpY2tlZCBvbiBDb250aW51ZSBidXR0b25cbiAgICAgIHRoaXMuc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmF2aWdhdGVUb0Vycm9yRWxlbWVudChlbGVtZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50SWQpIHtcbiAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTtcbiAgICAgIGlmIChodG1sRWxlbWVudCkge1xuICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xuICAgICAgICBodG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBFcnJvciBtZXNzYWdlIHN1bW1hcnkgLS0+XG48ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCIgYXJpYS1sYWJlbGxlZGJ5PVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiIHJvbGU9XCJhbGVydFwiIHRhYmluZGV4PVwiLTFcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWVycm9yLXN1bW1hcnlcIj5cbiAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICBUaGVyZSBpcyBhIHByb2JsZW1cbiAgPC9oMj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3JNZXNzYWdlIG9mIGVycm9yTWVzc2FnZXNcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm5hdmlnYXRlVG9FcnJvckVsZW1lbnQoZXJyb3JNZXNzYWdlLmZpZWxkSWQpXCIgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+e3tlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb259fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbbmdTd2l0Y2hdPVwibGlua2VkQ2FzZXNQYWdlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXCI+XG4gICAgICA8Y2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFU1wiPlxuICAgICAgPGNjZC1uby1saW5rZWQtY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLW5vLWxpbmtlZC1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC1saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0VcIj5cbiAgICAgIDxjY2QtdW5saW5rLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC11bmxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlNcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vyc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtbGlua2VkLWNhc2VzLWNoZWNrLXlvdXItYW5zd2Vycz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL3dyaXRlLWxpbmtlZC1jYXNlcy1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7Ozs7O0lDTjlDLDhCQUFrRjtJQUNoRiw2QkFBaUQ7SUFDL0MsMEJBQUk7SUFDRiw0QkFBbUY7SUFBaEYsOFFBQXNEO0lBQTBCLFlBQTRC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QUF1QyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sc0JBQXNCLENBQUMsU0FBaUI7UUFDN0MsSUFBSSxTQUFTLEVBQUU7WUFDYixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksV0FBVyxFQUFFO2dCQUNmLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7OzRHQTVLVSw4QkFBOEI7bUVBQTlCLDhCQUE4QjtRQ2hCM0MsK0VBV007UUFDTiw4QkFBd0U7UUFDdEUsOEJBQTJEO1FBQ3pELGlHQUdlO1FBQ2YsaUdBR2U7UUFDZixpR0FHZTtRQUNmLGlHQUdlO1FBQ2YsaUdBR2U7UUFDakIsaUJBQU07UUFDUixpQkFBTTs7UUFuQ0EsbURBQThCO1FBWVksZUFBdUI7UUFBdkIseUNBQXVCO1FBQ3ZDLGVBQTRCO1FBQTVCLDhDQUE0QjtRQUN6QyxlQUErQztRQUEvQyxvRUFBK0M7UUFJL0MsZUFBOEM7UUFBOUMsbUVBQThDO1FBSTlDLGVBQXdDO1FBQXhDLDZEQUF3QztRQUl4QyxlQUEwQztRQUExQywrREFBMEM7UUFJMUMsZUFBaUQ7UUFBakQsc0VBQWlEOzt1RkRkdkQsOEJBQThCO2NBSjFDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxXQUFXLEVBQUUsMkNBQTJDO2FBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEFwcENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2FwcC5jb25maWcnO1xuaW1wb3J0IHsgQ2FzZUVkaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbnMvY2FzZS1lZGl0LWRhdGEnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBDb21tb25EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzRXZlbnRUcmlnZ2VycywgTGlua2VkQ2FzZXNQYWdlcyB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1saW5rZWQtY2FzZXMtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUxpbmtlZENhc2VzRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIHB1YmxpYyBjYXNlRWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZTogbnVtYmVyO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNQYWdlcyA9IExpbmtlZENhc2VzUGFnZXM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnMgPSBMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlcnM7XG4gIHB1YmxpYyBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcENvbmZpZzogQWJzdHJhY3RBcHBDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25EYXRhU2VydmljZTogQ29tbW9uRGF0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZUVkaXREYXRhU2VydmljZTogQ2FzZUVkaXREYXRhU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gQ2xlYXIgdmFsaWRhdGlvbiBlcnJvcnNcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuICAgIC8vIEdldCBsaW5rZWQgY2FzZSByZWFzb25zIGZyb20gcmVmIGRhdGFcbiAgICB0aGlzLmdldExpbmtlZENhc2VSZWFzb25zKCk7XG4gICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZURldGFpbHMkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBjYXNlRGV0YWlscyA9PiB0aGlzLmluaXRpYWxpc2VDYXNlRGV0YWlscyhjYXNlRGV0YWlscylcbiAgICB9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2FzZUV2ZW50VHJpZ2dlck5hbWUkLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiBuYW1lID0+IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSAobmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVMpXG4gICAgfSk7XG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLmNhc2VFZGl0Rm9ybSQuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IGVkaXRGb3JtID0+IHRoaXMuY2FzZUVkaXRGb3JtID0gZWRpdEZvcm1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQ2FzZURldGFpbHMoY2FzZURldGFpbHM6IENhc2VWaWV3KTogdm9pZCB7XG4gICAgaWYgKGNhc2VEZXRhaWxzKSB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkID0gY2FzZURldGFpbHMuY2FzZV9pZDtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJGb3JtVmFsaWRhdGlvbkVycm9ycygpO1xuXG4gICAgaWYgKGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb05leHRQYWdlKSB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMuZ2V0TmV4dFBhZ2UobGlua2VkQ2FzZXNTdGF0ZSk7XG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgICAgdGhpcy5wcm9jZWVkVG9OZXh0UGFnZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzICYmIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmZvckVhY2goKGVycm9yTWVzc2FnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuYWRkRm9ybVZhbGlkYXRpb25FcnJvcih7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlUmVhc29ucygpOiB2b2lkIHtcbiAgICBjb25zdCByZWFzb25Db2RlQVBJdXJsID0gdGhpcy5hcHBDb25maWcuZ2V0UkRDb21tb25EYXRhQXBpVXJsKCkgKyAnL2xvdi9jYXRlZ29yaWVzL0Nhc2VMaW5raW5nUmVhc29uQ29kZSc7XG4gICAgICB0aGlzLmNvbW1vbkRhdGFTZXJ2aWNlLmdldFJlZkRhdGEocmVhc29uQ29kZUFQSXVybCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogcmVhc29ucyA9PiB7XG4gICAgICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXJcbiAgICAgICAgICBjb25zdCBsaW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICAgIC8vIE1vdmUgT3RoZXIgb3B0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSBsaW5rQ2FzZVJlYXNvbnM/LmZpbHRlcihyZWFzb24gPT4gcmVhc29uLnZhbHVlX2VuICE9PSAnT3RoZXInKTtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMucHVzaChsaW5rQ2FzZVJlYXNvbnM/LmZpbmQocmVhc29uID0+IHJlYXNvbi52YWx1ZV9lbiA9PT0gJ090aGVyJykpO1xuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgPyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuTGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yXG4gICAgICAgIDogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlVubGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yO1xuXG4gICAgY29uc3QgYnV0dG9uSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5sZW5ndGggPT09IDBcbiAgICAgID8gJ2JhY2stYnV0dG9uJ1xuICAgICAgOiAnbmV4dC1idXR0b24nO1xuXG4gICAgdGhpcy5jYXNlRWRpdERhdGFTZXJ2aWNlLnNldENhc2VMaW5rRXJyb3Ioe1xuICAgICAgICBjb21wb25lbnRJZDogYnV0dG9uSWQsXG4gICAgICAgIGVycm9yTWVzc2FnZVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHByb2NlZWRUb05leHRQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXRGaW5hbFBhZ2UoKSkge1xuICAgICAgLy8gQ29udGludWUgYnV0dG9uIGV2ZW50IG11c3QgYmUgYWxsb3dlZCBpbiBmaW5hbCBwYWdlXG4gICAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2UuY2xlYXJDYXNlTGlua0Vycm9yKCk7XG4gICAgICAvLyBUcmlnZ2VyIHZhbGlkYXRpb24gdG8gY2xlYXIgdGhlIFwibm90QXRGaW5hbFBhZ2VcIiBlcnJvciBpZiBub3cgYXQgdGhlIGZpbmFsIHN0YXRlXG4gICAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAvLyB1cGRhdGUgZm9ybSB2YWx1ZVxuICAgICAgdGhpcy5zdWJtaXRMaW5rZWRDYXNlcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIpIHtcbiAgICAgIGNvbnN0IHVubGlua2VkQ2FzZVJlZmVyZW5lSWRzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS51bmxpbmspLm1hcChpdGVtID0+IGl0ZW0uY2FzZVJlZmVyZW5jZSk7XG4gICAgICBjb25zdCBjYXNlRmllbGRWYWx1ZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBjYXNlRmllbGRWYWx1ZS5maWx0ZXIoaXRlbSA9PiB1bmxpbmtlZENhc2VSZWZlcmVuZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09PSAtMSk7XG4gICAgfVxuICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmNhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlO1xuICAgICh0aGlzLmNhc2VFZGl0Rm9ybS5jb250cm9sc1snZGF0YSddIGFzIGFueSkgPSBuZXcgRm9ybUdyb3VwKHtjYXNlTGlua3M6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSB8fCBbXSl9KTtcbiAgICB0aGlzLmNhc2VFZGl0RGF0YVNlcnZpY2Uuc2V0Q2FzZUVkaXRGb3JtKHRoaXMuY2FzZUVkaXRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlOiBMaW5rZWRDYXNlc1N0YXRlKTogbnVtYmVyIHtcbiAgICBpZiAoKHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlQpIHx8XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlLmN1cnJlbnRMaW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTICYmIGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb1ByZXZpb3VzUGFnZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclxuICAgICAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVxuICAgICAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLlVOTElOS19DQVNFO1xuICAgIH1cbiAgICByZXR1cm4gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMih0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQpLnN1YnNjcmliZSgoY2FzZVZpZXc6IENhc2VWaWV3KSA9PiB7XG4gICAgICBjb25zdCBjYXNlVmlld0ZpbHRlcmVkID0gY2FzZVZpZXcudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgICAgY29uc3QgbGlua0ZpZWxkID0gdGFiLmZpZWxkcy5zb21lKFxuICAgICAgICAgICh7ZmllbGRfdHlwZX0pID0+IGZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGxpbmtGaWVsZDtcbiAgICAgIH0pO1xuICAgICAgaWYgKGNhc2VWaWV3RmlsdGVyZWQpIHtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtGaWVsZFZhbHVlID0gY2FzZVZpZXdGaWx0ZXJlZC5tYXAoZmlsdGVyZWQgPT5cbiAgICAgICAgICBmaWx0ZXJlZC5maWVsZHM/Lmxlbmd0aCA+IDAgJiYgZmlsdGVyZWQuZmllbGRzLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycpWzBdLnZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUxpbmtGaWVsZFZhbHVlLmxlbmd0aCA/IGNhc2VMaW5rRmllbGRWYWx1ZVswXSA6IFtdO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIC8vIEluaXRpYWxpc2UgdGhlIGZpcnN0IHBhZ2UgdG8gZGlzcGxheVxuICAgICAgdGhpcy5saW5rZWRDYXNlc1BhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgJiYgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3IpXG4gICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXG4gICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5OT19MSU5LRURfQ0FTRVM7XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBlcnJvciB0byBiZSBkaXNwbGF5ZWQgd2hlbiBjbGlja2VkIG9uIENvbnRpbnVlIGJ1dHRvblxuICAgICAgdGhpcy5zZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRXJyb3JFbGVtZW50KGVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnRJZCkge1xuICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgICAgaWYgKGh0bWxFbGVtZW50KSB7XG4gICAgICAgIGh0bWxFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgIGh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICA8L2gyPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc1wiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgPGxpPlxuICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGVUb0Vycm9yRWxlbWVudChlcnJvck1lc3NhZ2UuZmllbGRJZClcIiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIj57e2Vycm9yTWVzc2FnZS5kZXNjcmlwdGlvbn19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19