@hmcts/ccd-case-ui-toolkit 7.1.40-qm-additional-text → 7.1.41-exui-2792-task-completion

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 (48) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +37 -15
  2. package/esm2022/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.mjs +13 -1
  3. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +3 -2
  4. package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +4 -3
  5. package/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +4 -3
  6. package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +5 -4
  7. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +10 -5
  8. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +16 -6
  9. package/esm2022/lib/shared/components/case-viewer/case-viewer.component.mjs +3 -3
  10. package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +9 -5
  11. package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +36 -48
  12. package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +5 -3
  13. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +3 -3
  14. package/esm2022/lib/shared/components/palette/history/event-log/event-log-table.component.mjs +2 -2
  15. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +18 -13
  16. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.mjs +3 -3
  17. package/esm2022/lib/shared/domain/work-allocation/Task.mjs +1 -1
  18. package/esm2022/lib/shared/services/http/http-error.service.mjs +11 -4
  19. package/esm2022/lib/shared/services/loading/loading.service.mjs +13 -1
  20. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +656 -597
  21. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  22. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +6 -2
  23. package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
  24. package/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.d.ts +2 -0
  25. package/lib/shared/components/case-editor/case-edit-utils/case-edit.utils.d.ts.map +1 -1
  26. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
  27. package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
  28. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  29. package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
  30. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +3 -2
  31. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  32. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +4 -2
  33. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  34. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts +3 -1
  35. package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
  36. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -3
  37. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  38. package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
  39. package/lib/shared/components/palette/history/event-log/event-log-table.component.d.ts.map +1 -1
  40. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +2 -1
  41. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  42. package/lib/shared/domain/work-allocation/Task.d.ts +1 -0
  43. package/lib/shared/domain/work-allocation/Task.d.ts.map +1 -1
  44. package/lib/shared/services/http/http-error.service.d.ts +3 -1
  45. package/lib/shared/services/http/http-error.service.d.ts.map +1 -1
  46. package/lib/shared/services/loading/loading.service.d.ts +4 -0
  47. package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -210,7 +210,7 @@ export class EventLogTableComponent {
210
210
  }
211
211
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventLogTableComponent, [{
212
212
  type: Component,
213
- args: [{ selector: 'ccd-event-log-table', template: "<table class=\"EventLogTable\">\n <caption><h2 class=\"heading-h2\">{{'History' | rpxTranslate}}</h2></caption>\n <thead>\n <tr>\n <th><span class=\"text-16\">{{'Event' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Date' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Author' | rpxTranslate}}</span></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of events\" (click)=\"select(event)\" (keyup)=\"select(event)\" [ngClass]=\"{'EventLogTable-Selected': selected === event}\" tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforRow(event)}}\">\n <td>\n <ng-container [ngSwitch]=\"isPartOfCaseTimeline\">\n <div id=\"case-timeline\" *ngSwitchCase=\"true\">\n <a (click)=\"caseHistoryClicked(event.id)\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n <div *ngSwitchCase=\"false\">\n <a [routerLink]=\"['./', 'event', event.id, 'history']\"\n [target]=\"'_blank'\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n </ng-container>\n <span *ngIf=\"event.state_id === 'Draft'\">{{event.event_name}}</span>\n <div class=\"tooltip\" *ngIf=\"significantItemExist(event)\">\n <a href=\"{{getSignificantItemUrl(event)}}\" target=\"_blank\" rel=\"noopener\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">\n <img class=\"doc-img\" alt=\"document image\" src=\"data:image/png;base64,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\"/>\n </a>\n <span class=\"tooltiptext doc-tooltip\">{{getSignificantItemDesc(event)}}</span>\n </div>\n </td>\n <td tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforColumn(event)}}\" (keydown.enter)=\"select(event)\"><div class=\"tooltip text-16\">{{event.timestamp | ccdDate : 'local'}}\n <span class=\"tooltiptext\">{{'Local:' | rpxTranslate}} {{event.timestamp | ccdDate : 'local'}}</span>\n </div></td>\n <td tabindex=\"0\"><span class=\"text-16\">{{event.user_first_name | titlecase}} {{event.user_last_name | uppercase}}</span></td>\n </tr>\n </tbody>\n</table>\n", styles: ["#case-timeline a{cursor:pointer;text-decoration:underline;color:#005ea5}#case-timeline a:hover{color:#2b8cc4}#case-timeline a:visited{color:#4c2c92}.EventLogTable tbody>tr td:first-child{padding-left:10px}.EventLogTable tbody>tr.EventLogTable-Selected{border-left:8px solid #005ea5;background-color:#f8f8f8}.EventLogTable tbody>tr.EventLogTable-Selected td:first-child{padding-left:6px}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover{border-left:8px solid #2b8cc4;background-color:#f8f8f8;cursor:pointer;cursor:hand}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover td:first-child{padding-left:6px}.EventLogTable tbody>tr .event-link{float:left;padding-right:8px}.EventLogTable tbody>tr .doc-img{width:16px;float:left}.EventLogTable tbody>tr .doc-tooltip{left:35%;bottom:7px}.EventLogTable tbody>tr .doc-tooltip:after{border-color:transparent}\n"] }]
213
+ args: [{ selector: 'ccd-event-log-table', template: "<table class=\"EventLogTable\">\n <caption><h2 class=\"heading-h2\">{{'History' | rpxTranslate}}</h2></caption>\n <thead>\n <tr>\n <th><span class=\"text-16\">{{'Event' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Date' | rpxTranslate}}</span></th>\n <th><span class=\"text-16\">{{'Author' | rpxTranslate}}</span></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of events\" (click)=\"select(event)\" (keyup)=\"select(event)\" [ngClass]=\"{'EventLogTable-Selected': selected === event}\" tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforRow(event)}}\">\n <td>\n <ng-container [ngSwitch]=\"isPartOfCaseTimeline\">\n <div id=\"case-timeline\" *ngSwitchCase=\"true\">\n <a (click)=\"caseHistoryClicked(event.id)\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n <div *ngSwitchCase=\"false\">\n <a [routerLink]=\"['./', 'event', event.id, 'history']\"\n [target]=\"'_blank'\"\n *ngIf=\"event.state_id !== 'Draft'\" class=\"text-16 event-link\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">{{event.event_name | rpxTranslate}}</a>\n </div>\n </ng-container>\n <span *ngIf=\"event.state_id === 'Draft'\">{{event.event_name}}</span>\n <div class=\"tooltip\" *ngIf=\"significantItemExist(event)\">\n <a href=\"{{getSignificantItemUrl(event)}}\" target=\"_blank\" rel=\"noopener\" attr.aria-label=\"{{getAriaLabelforLink(event)}}\">\n <img class=\"doc-img\" alt=\"document image\" src=\"data:image/png;base64,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\"/>\n </a>\n <span class=\"tooltiptext doc-tooltip\">{{getSignificantItemDesc(event)}}</span>\n </div>\n </td>\n <td tabindex=\"0\" attr.aria-label=\"{{getAriaLabelforColumn(event)}}\" (keydown.enter)=\"select(event)\"><div class=\"tooltip text-16\">{{event.timestamp | ccdDate : 'local'}}\n <span class=\"tooltiptext\">{{'Local:' | rpxTranslate}} {{event.timestamp | ccdDate : 'local'}}</span>\n </div></td>\n <td tabindex=\"0\"><span class=\"text-16\">{{event.user_first_name | titlecase}} {{event.user_last_name | uppercase}}</span></td>\n </tr>\n </tbody>\n</table>", styles: ["#case-timeline a{cursor:pointer;text-decoration:underline;color:#005ea5}#case-timeline a:hover{color:#2b8cc4}#case-timeline a:visited{color:#4c2c92}.EventLogTable tbody>tr td:first-child{padding-left:10px}.EventLogTable tbody>tr.EventLogTable-Selected{border-left:8px solid #005ea5;background-color:#f8f8f8}.EventLogTable tbody>tr.EventLogTable-Selected td:first-child{padding-left:6px}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover{border-left:8px solid #2b8cc4;background-color:#f8f8f8;cursor:pointer;cursor:hand}.EventLogTable tbody>tr:not(.EventLogTable-Selected):hover td:first-child{padding-left:6px}.EventLogTable tbody>tr .event-link{float:left;padding-right:8px}.EventLogTable tbody>tr .doc-img{width:16px;float:left}.EventLogTable tbody>tr .doc-tooltip{left:35%;bottom:7px}.EventLogTable tbody>tr .doc-tooltip:after{border-color:transparent}\n"] }]
214
214
  }], null, { events: [{
215
215
  type: Input
216
216
  }], selected: [{
@@ -221,4 +221,4 @@ export class EventLogTableComponent {
221
221
  type: Output
222
222
  }] }); })();
223
223
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventLogTableComponent, { className: "EventLogTableComponent", filePath: "lib/shared/components/palette/history/event-log/event-log-table.component.ts", lineNumber: 10 }); })();
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2hpc3RvcnkvZXZlbnQtbG9nL2V2ZW50LWxvZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9oaXN0b3J5L2V2ZW50LWxvZy9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7O0lDWXpDLDZCQUNpSDtJQUQ5Ryx1T0FBUyxzQ0FBNEIsS0FBQztJQUN3RSxZQUFtQzs7SUFBQSxpQkFBSTs7Ozs7SUFBdkMsY0FBbUM7SUFBbkMsK0RBQW1DOzs7SUFGdEosK0JBQTZDO0lBQzNDLGdGQUNpSDtJQUNqSCxpQkFBTTs7O0lBREgsY0FBZ0M7SUFBaEMsb0RBQWdDOzs7SUFHbkMsNkJBRW1IO0lBQUEsWUFBbUM7O0lBQUEsaUJBQUk7Ozs7SUFEdEosQUFERCxvRUFBbUQsb0JBQy9COztJQUM0RixjQUFtQztJQUFuQywrREFBbUM7OztJQUh4SiwyQkFBMkI7SUFDekIsZ0ZBRW1IO0lBQ3JILGlCQUFNOzs7SUFEQyxjQUFnQztJQUFoQyxvREFBZ0M7OztJQUd6Qyw0QkFBeUM7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7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IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZVZpZXdFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1ldmVudC1sb2ctdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXZlbnQtbG9nLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFdmVudExvZ1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXZlbnRzOiBDYXNlVmlld0V2ZW50W107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkOiBDYXNlVmlld0V2ZW50O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VWaWV3RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkNhc2VIaXN0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGlzUGFydE9mQ2FzZVRpbWVsaW5lID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNQYXJ0T2ZDYXNlVGltZWxpbmUgPSB0aGlzLm9uQ2FzZUhpc3Rvcnkub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KGV2ZW50OiBDYXNlVmlld0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGV2ZW50O1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgc2lnbmlmaWNhbnRJdGVtRXhpc3QoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGV2ZW50LnNpZ25pZmljYW50X2l0ZW0gJiZcbiAgICAgICAgZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS50eXBlID09PSAnRE9DVU1FTlQnICYmXG4gICAgICAgIGV2ZW50LnNpZ25pZmljYW50X2l0ZW0udXJsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS5kZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduaWZpY2FudEl0ZW1VcmwoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIGlmIChldmVudC5zaWduaWZpY2FudF9pdGVtKSB7XG4gICAgICByZXR1cm4gZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS51cmw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFNpZ25pZmljYW50SXRlbURlc2MoZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIGlmIChldmVudC5zaWduaWZpY2FudF9pdGVtKSB7XG4gICAgICByZXR1cm4gZXZlbnQuc2lnbmlmaWNhbnRfaXRlbS5kZXNjcmlwdGlvbjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2FzZUhpc3RvcnlDbGlja2VkKGV2ZW50SWQ6IHN0cmluZykge1xuICAgIHRoaXMub25DYXNlSGlzdG9yeS5lbWl0KGV2ZW50SWQpO1xuICB9XG5cbiAgcHVibGljIGdldEFyaWFMYWJlbGZvckNvbHVtbihldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IGV2ZW50KSB7XG4gICAgICByZXR1cm4gYGRhdGUgJHtmb3JtYXREYXRlKGV2ZW50LnRpbWVzdGFtcCwgJ2RkIE1NTSB5eXl5IGhoOm1tOnNzIGEnLCAnZW4tR0InKX0sXG4gICAgICAgIHByZXNzIGVudGVyIGtleSBmb3IgZXZlbnQgJHtldmVudC5ldmVudF9uYW1lfSBkZXRhaWxzYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRBcmlhTGFiZWxmb3JSb3coZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgeW91IGFyZSBvbiBldmVudCAke2V2ZW50LmV2ZW50X25hbWV9IHJvdywgcHJlc3MgdGFiIGtleSB0byBuYXZpZ2F0ZSB0byBjb2x1bW5zYDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcmlhTGFiZWxmb3JMaW5rKGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHByZXNzIGVudGVyIGtleSB0byBvcGVuIGV2ZW50ICR7ZXZlbnQuZXZlbnRfbmFtZX0gbGluayBpbiBzZXBhcmF0ZSB3aW5kb3dgO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJFdmVudExvZ1RhYmxlXCI+XG4gIDxjYXB0aW9uPjxoMiBjbGFzcz1cImhlYWRpbmctaDJcIj57eydIaXN0b3J5JyB8IHJweFRyYW5zbGF0ZX19PC9oMj48L2NhcHRpb24+XG4gIDx0aGVhZD5cbiAgPHRyPlxuICAgIDx0aD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57eydFdmVudCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgIDx0aD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57eydEYXRlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgPHRoPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7J0F1dGhvcicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gIDx0ciAqbmdGb3I9XCJsZXQgZXZlbnQgb2YgZXZlbnRzXCIgKGNsaWNrKT1cInNlbGVjdChldmVudClcIiAoa2V5dXApPVwic2VsZWN0KGV2ZW50KVwiIFtuZ0NsYXNzXT1cInsnRXZlbnRMb2dUYWJsZS1TZWxlY3RlZCc6IHNlbGVjdGVkID09PSBldmVudH1cIiB0YWJpbmRleD1cIjBcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvclJvdyhldmVudCl9fVwiPlxuICAgIDx0ZD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImlzUGFydE9mQ2FzZVRpbWVsaW5lXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJjYXNlLXRpbWVsaW5lXCIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj5cbiAgICAgICAgICA8YSAoY2xpY2spPVwiY2FzZUhpc3RvcnlDbGlja2VkKGV2ZW50LmlkKVwiXG4gICAgICAgICAgICAqbmdJZj1cImV2ZW50LnN0YXRlX2lkICE9PSAnRHJhZnQnXCIgY2xhc3M9XCJ0ZXh0LTE2IGV2ZW50LWxpbmtcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckxpbmsoZXZlbnQpfX1cIj57e2V2ZW50LmV2ZW50X25hbWUgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIj5cbiAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy4vJywgJ2V2ZW50JywgZXZlbnQuaWQsICdoaXN0b3J5J11cIlxuICAgICAgICAgICAgICBbdGFyZ2V0XT1cIidfYmxhbmsnXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJldmVudC5zdGF0ZV9pZCAhPT0gJ0RyYWZ0J1wiIGNsYXNzPVwidGV4dC0xNiBldmVudC1saW5rXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JMaW5rKGV2ZW50KX19XCI+e3tldmVudC5ldmVudF9uYW1lIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhbiAqbmdJZj1cImV2ZW50LnN0YXRlX2lkID09PSAnRHJhZnQnXCI+e3tldmVudC5ldmVudF9uYW1lfX08L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcFwiICpuZ0lmPVwic2lnbmlmaWNhbnRJdGVtRXhpc3QoZXZlbnQpXCI+XG4gICAgICAgIDxhIGhyZWY9XCJ7e2dldFNpZ25pZmljYW50SXRlbVVybChldmVudCl9fVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JMaW5rKGV2ZW50KX19XCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cImRvYy1pbWdcIiBhbHQ9XCJkb2N1bWVudCBpbWFnZVwiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRkFBQUFCb0NBWUFBQUJtT0hkdEFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFBbHdTRmx6QUFBT3d3QUFEc01CeDIrb1pBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWNHRnBiblF1Ym1WMElEUXVNQzR5TWZFZ2FaVUFBQWtvU1VSQlZIaGU3ZDMzYzVSRkhBWncvd0NLaUYwczJMQXdpaWdxOWw1Ry9VVi9VVWVGa0VBb1FxaVdvS0tJMURnNll4UVFiR21rWFFvSklRUWlhU1NoaGlRTWtnSXBoQ1NYa040YnVQdGNubkRHOWZYQ2ErRk45bVkrTTVMY2U3ZjNaUGIydS92dSszclJzS24rWjRleTRlN0JJQjRYblE4ZG9BN1FIQjJnU1RwQWszU0FKbGsrd09HOVZMLzdMK2dBVGJyZ0F4emxIZ0FNNnNrVmNURGh3Mmk0ZGFFTlh2YlpDWGQ5RUFVOGZxUmJBRGkvNWo5SkIyalNCUnZnMkhtaDhNQW5NYkFsL1RocytqVVBxaHZib0xhcEhYSktUa1BVL21LSTJGY0VkeXlKaE92bWhvTHF2Y3pRQVpwMHdRVTRZVkVBdVBuR3c1R1R0ZERkMHdPZFhkM1ExdUdRWFZJRC9IbFhkdyswdEhWQ1dVMHp2TE1oRlNaNVI0RHF2YytIRHRDa0N5YkFXOFJBSUhuNnhrSnB1UjNhT3JxZ3FxRVZQRGFud1p1K3U4SExMd1BZMWFkdVRBRjdmU3Z3dUxxbU5saXdlUmZjNngwSnFyWU14TjhGT053ajlDejBQcTgvSFdCdkVQMkRvMzg5d0ZIdWdURFJPeHFPbGRjRHUyaG1maVhjdWNRR044d0xneEhpV09uYzZ6aktuY3M5dDhEVnM0SWgra0F4RkZZMlFLMElVWHIxcTExd3ZSaFlKT2MyRFFTRDZCOGNEWE1MUEF1S1l5VWQ0UDhkNEVnM0I3K1VmT2dSQTRWMFhIeFlhZng3a2NDQ2VQVDBJSGh1ZFR5RVpaNkFsOVlsQUFPK2JFYlFIOFJsbllUNmxnNG9xVzZDRytlSHc3QXBmZzZLTmhyUkFWbzl3QWVYeGNLdTNESmdPVExuNTNTNGNtWXdNTGlBMUFJNFZkc0NqYTBkd0M1ZmVyb1pPS1hqY1dPOXdvREh0YlNMTWtmWW1IZ01WRzF6aFE3UTZnSHlnL0lEbmJBM0Fzc1JMaUxNL1NVRHl1dGFnYzh2cm1vRURqNHN1QXNxR3VDYTJTRnd1V2NRTEF6SWhKNmVNeENZVmdpM0xZNEFWUnVONkFDdEh1QUxheEtnb2JVVDhrVUkwdVJsTWNBeTUrZmtmT2pza3RPNW5yNHBIcnZtRzc1SlVGemRERTFpR2llOS9zMXV1SGlhUDd5NE5nSDRCOGd0cllGSkg4ZUFxbzFHZElCV0Q1QlRzNktxSm1DWk1XNVJCTEFnZm1kOU12RHhlZVJoWU5lN1FoVFBVcVdZdmtGZEMyeEsvQTM0Zmw5RUhZWjgwYjJsbXFaMkdQTnVLRGkzelJVNlFLc0h5QzdGNFBqQjd2c29CaTZlRmdDQmFRWFEwZGtOMmNXbjRWSlJKRXZzZ3R1elNxRmRQRWQ2WmxVOGNLcjMxQmZ4d04vekR6ZFpsRktTcW8xR2RJQldEM0Q4KzFIQVF2aFFVVFdjKy9KM0JMajFRREh3eXorendBNE1ob0gvZXVRVXNKemhGTzhTandDNFg0UXNjWmtzNldnNXZPS3pFMVJ0TktJRHRIcUFiMzZiQk9WaWVpWFZON2NEQjRjcloyNEJ0KzlUZ1FYd21wZ2M0R0REUXJtNm9SVXF4QUFpK2NUbXdBZzNmK0Fnd2lrZm56OW1kakNvMm1oRUIyajFBTi82TGduNGdWaFdqRnRrZzlFZWdiQThNZ3ZZTlczN2lvRlROUmJVSElSWW1FOFhKWkxFNVREK3UwRU1XTkxweGpiZzhhbzJHdEVCV2ozQW14ZUVBeDlaWWdDUjV2bGxBQWVSMkVNbDBORFNEbndlQnhHV0t6eXh6dE9iajYvWURpeDN1SHpHUWNTMnR3ZzQyS2phYUVRSGFQVUFILzljZkVDaFRnd2NVbTF6Qnp6ODJUWmdGMTRodnZnbExpWUU3U2tFZG1FdXpYTTVqSVc1NXc5cHdGTUhNOFIvUy8wTGQ4dDJZUjJnNG9jRDRiWXhCZllYVmdHLzNMbTVpRXY2N3B0U2dZOHZ0K1VDdDdkZCsyNG9zQnppbG81bDRRZUJDN09ydG1ZRHl4d3VlNDJaRXdLcU5oclJBVm85UUJiTXJlSUxYV0lYZkh0RENuQVFDVTQvRHB6SzdjbXJnTkhUUlJjWHVCaXdKNjhTK0hyUHJOb0JsNGl2QWVucGxkdUJpd21KdVdYQUtaNnFqVVowZ0lNbHdPYTJEaWlxYW9TMzF5ZERYNEJpd0pBWVlOcXhDbUI1d2tFbkk5OE9YSng0ZW1VOGpIS1gyei84VWVwSURIQlhUaG5vQUlkcWdBeUttNGg0b3Z4R3IxRG9HMFMrVHdFKzFva0JSTHBGRk9IU2RYUERnRXY2bkJvdURUMEFmTC9WMFlmaHo0TklLRGkzelJVNlFLc0grTkNuc2NCRkJCYlVMTEE1U0t5TXpnWXU2ZnVuRnNCVnM0TGg1Z1UyS0JHaFNYeTlLUnVTZ1lzSk0zL2NBeXlYOHNycllheFhPS2phYUVRSGFQVUFPWVhxRmhOL2lTZk1Gd2RtQWhjTHRoOHVCWGJ4Z3llcWdML25oVGJ4NGprU055bHhjT0FtbzRkRXFTTnhFQWtScFpIMHd0b0VVTFhSaUE3UTZnRys5blVpRkZZMkFpZjU0OStMQUpZcHE3Ym1BQmRVdDRpU1JycDZkZ2h3YVo4Yko5bUZ1ZVdEUy9xemYwcUh4dFpPc05lM0FEZG1xdHBvUkFkbzlRQjVPckZZZkdpSlpjV0VENk9BV3pzOGYwd0hubFJhSHBFRlhKQmx1Y00vQUtlRUg0VWRBQzRtckkzTkJTNDZjQXNJbDhWVWJUU2lBN1I2Z0Z5T1luQkh5K3BnbWlpYUpXNUwyNUY5RXJoSWtIeTBIUGo3SjFiRUFaZkZ1UEQ2NlBJNDRHRHo4S2RpeWllMGQzWkJncGpHU2MrSzZaMmthcU1SSGFEVkEzeE1mRGlKVzNXNU5mZVJ6N1lCUDNoNDVuSG9FS1dKdEsvUURpeTBuMXVkQVB4NVMzc1gzTHQwS3pEbzU5ZnNBQWJJUW5yaTBtaFF0ZEdJRHREcUFiSjhtTEloQmJpNW5GczZlS0UwcDJCOExBbmFDemZORHdkdWtPUUYyT3pLM01yQjkxc1htd01uN0EzQVJRWExEaUk2UU1VUHp3ZkxERTc2K1hNVzByeUVuNFBEVDBsNXdOT2VESnFEUkVoNklmQVB3ZE9hejY4V1hWamdsSkNEMWtUUnpTWG5OcmxDQnpoWUF2d3JuSUlsaUJKRzRwSStiekxCSlg4K240TU8veUE4bmdGeTBPS1VNUFZZQlhEcDMvbTlYYUVESE93QmNpckhEWldjeW4wc3BtY1NwM0NxWTUweFVGNHl4c0hqVkUwejhKWURxbU9ONkFBSGU0QzhnSVlYMWpCQW4yMjV3UEpGZGF3ekJzaWJWSEFSZ1VGeUVGSWRhMFFIT05nRHBLL2pjb0hsQjI4ZTRXb0JmS21ZN2tuY1V0elZMVy9TMDkxWEh2SGlSdFd4Um5TQWd6N0EzcHRCY05tTFMvYTgrVmpVL2lMZzdVNVl0dkI0YmlvYXR6QWNlSGtyYjI3Qmswb3NmLzd3M2k3UUFRNzZBSHR4QXlWUGxQTldUbHk2ejhpdmhEZDhkOE5MUGp2QlkxTXE4Q1psdkNsWlFYa2Q4T0pESGFBTzBEV1R2RzNndFRrUmVQcVNnd0pQbVBNU0xtNXpPM1BtREJSVzFJUEhlaEd1Y051aWNGQzlseXQwZ0VNdFFMcjdneWpnMWcwdUNyQ3Jjb3EydDhBT3liOVZBQmNUYmw5c0E5VnJENFFPVVBIYUEySFpBSWszRnhzeDFRL3U4WTRHQnN1Z2VWS0oyK0ZVcjNVK2RJQW1XVDdBLzVzTzBDUWRvRWs2UUpOMGdDYnBBRTB5SFNCZllLZ2FNY01HL1lNakhlRGZNQjJnNmlEdEhCMmdTVHBBazNTQUp1a0FUZElCbXZTdkJjai9VVW5mR3d4V2l0Q2NLY054aFE3UVFSbU9LMWlJcWw1MEtGR0c0d29kb0lNeUhGZm9BQjJVNGJoQ0IraWdETWNWT2tBSFpUaXUwQUZLL21kL0J3OFhldklJeUVxWkFBQUFBRWxGVGtTdVFtQ0NcIi8+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBkb2MtdG9vbHRpcFwiPnt7Z2V0U2lnbmlmaWNhbnRJdGVtRGVzYyhldmVudCl9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdGQ+XG4gICAgPHRkIHRhYmluZGV4PVwiMFwiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yQ29sdW1uKGV2ZW50KX19XCIgKGtleWRvd24uZW50ZXIpPVwic2VsZWN0KGV2ZW50KVwiPjxkaXYgY2xhc3M9XCJ0b29sdGlwIHRleHQtMTZcIj57e2V2ZW50LnRpbWVzdGFtcCB8IGNjZERhdGUgOiAnbG9jYWwnfX1cbiAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcHRleHRcIj57eydMb2NhbDonIHwgcnB4VHJhbnNsYXRlfX0ge3tldmVudC50aW1lc3RhbXAgfCBjY2REYXRlIDogJ2xvY2FsJ319PC9zcGFuPlxuICAgIDwvZGl2PjwvdGQ+XG4gICAgPHRkIHRhYmluZGV4PVwiMFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7ZXZlbnQudXNlcl9maXJzdF9uYW1lIHwgdGl0bGVjYXNlfX0ge3tldmVudC51c2VyX2xhc3RfbmFtZSB8IHVwcGVyY2FzZX19PC9zcGFuPjwvdGQ+XG4gIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2hpc3RvcnkvZXZlbnQtbG9nL2V2ZW50LWxvZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9oaXN0b3J5L2V2ZW50LWxvZy9ldmVudC1sb2ctdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7O0lDWXpDLDZCQUNpSDtJQUQ5Ryx1T0FBUyxzQ0FBNEIsS0FBQztJQUN3RSxZQUFtQzs7SUFBQSxpQkFBSTs7Ozs7SUFBdkMsY0FBbUM7SUFBbkMsK0RBQW1DOzs7SUFGdEosK0JBQTZDO0lBQzNDLGdGQUNpSDtJQUNqSCxpQkFBTTs7O0lBREgsY0FBZ0M7SUFBaEMsb0RBQWdDOzs7SUFHbkMsNkJBRW1IO0lBQUEsWUFBbUM7O0lBQUEsaUJBQUk7Ozs7SUFEdEosQUFERCxvRUFBbUQsb0JBQy9COztJQUM0RixjQUFtQztJQUFuQywrREFBbUM7OztJQUh4SiwyQkFBMkI7SUFDekIsZ0ZBRW1IO0lBQ3JILGlCQUFNOzs7SUFEQyxjQUFnQztJQUFoQyxvREFBZ0M7OztJQUd6Qyw0QkFBeUM7SUFBQSxZQUFvQjtJQUFBLGlCQUFPOzs7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IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZVZpZXdFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1ldmVudC1sb2ctdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtbG9nLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXZlbnQtbG9nLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFdmVudExvZ1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIGV2ZW50czogQ2FzZVZpZXdFdmVudFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZDogQ2FzZVZpZXdFdmVudDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlVmlld0V2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25DYXNlSGlzdG9yeSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBpc1BhcnRPZkNhc2VUaW1lbGluZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzUGFydE9mQ2FzZVRpbWVsaW5lID0gdGhpcy5vbkNhc2VIaXN0b3J5Lm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdChldmVudDogQ2FzZVZpZXdFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBldmVudDtcbiAgICB0aGlzLm9uU2VsZWN0LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHNpZ25pZmljYW50SXRlbUV4aXN0KGV2ZW50OiBDYXNlVmlld0V2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChldmVudC5zaWduaWZpY2FudF9pdGVtICYmXG4gICAgICAgIGV2ZW50LnNpZ25pZmljYW50X2l0ZW0udHlwZSA9PT0gJ0RPQ1VNRU5UJyAmJlxuICAgICAgICBldmVudC5zaWduaWZpY2FudF9pdGVtLnVybCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIGV2ZW50LnNpZ25pZmljYW50X2l0ZW0uZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmlmaWNhbnRJdGVtVXJsKGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAoZXZlbnQuc2lnbmlmaWNhbnRfaXRlbSkge1xuICAgICAgcmV0dXJuIGV2ZW50LnNpZ25pZmljYW50X2l0ZW0udXJsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduaWZpY2FudEl0ZW1EZXNjKGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICBpZiAoZXZlbnQuc2lnbmlmaWNhbnRfaXRlbSkge1xuICAgICAgcmV0dXJuIGV2ZW50LnNpZ25pZmljYW50X2l0ZW0uZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNhc2VIaXN0b3J5Q2xpY2tlZChldmVudElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm9uQ2FzZUhpc3RvcnkuZW1pdChldmVudElkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcmlhTGFiZWxmb3JDb2x1bW4oZXZlbnQ6IENhc2VWaWV3RXZlbnQpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkICE9PSBldmVudCkge1xuICAgICAgcmV0dXJuIGBkYXRlICR7Zm9ybWF0RGF0ZShldmVudC50aW1lc3RhbXAsICdkZCBNTU0geXl5eSBoaDptbTpzcyBhJywgJ2VuLUdCJyl9LFxuICAgICAgICBwcmVzcyBlbnRlciBrZXkgZm9yIGV2ZW50ICR7ZXZlbnQuZXZlbnRfbmFtZX0gZGV0YWlsc2A7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJpYUxhYmVsZm9yUm93KGV2ZW50OiBDYXNlVmlld0V2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHlvdSBhcmUgb24gZXZlbnQgJHtldmVudC5ldmVudF9uYW1lfSByb3csIHByZXNzIHRhYiBrZXkgdG8gbmF2aWdhdGUgdG8gY29sdW1uc2A7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXJpYUxhYmVsZm9yTGluayhldmVudDogQ2FzZVZpZXdFdmVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBwcmVzcyBlbnRlciBrZXkgdG8gb3BlbiBldmVudCAke2V2ZW50LmV2ZW50X25hbWV9IGxpbmsgaW4gc2VwYXJhdGUgd2luZG93YDtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiRXZlbnRMb2dUYWJsZVwiPlxuICA8Y2FwdGlvbj48aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3snSGlzdG9yeScgfCBycHhUcmFuc2xhdGV9fTwvaDI+PC9jYXB0aW9uPlxuICA8dGhlYWQ+XG4gIDx0cj5cbiAgICA8dGg+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3snRXZlbnQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICA8dGg+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3snRGF0ZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgIDx0aD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57eydBdXRob3InIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICA8dHIgKm5nRm9yPVwibGV0IGV2ZW50IG9mIGV2ZW50c1wiIChjbGljayk9XCJzZWxlY3QoZXZlbnQpXCIgKGtleXVwKT1cInNlbGVjdChldmVudClcIiBbbmdDbGFzc109XCJ7J0V2ZW50TG9nVGFibGUtU2VsZWN0ZWQnOiBzZWxlY3RlZCA9PT0gZXZlbnR9XCIgdGFiaW5kZXg9XCIwXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JSb3coZXZlbnQpfX1cIj5cbiAgICA8dGQ+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpc1BhcnRPZkNhc2VUaW1lbGluZVwiPlxuICAgICAgICA8ZGl2IGlkPVwiY2FzZS10aW1lbGluZVwiICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCI+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cImNhc2VIaXN0b3J5Q2xpY2tlZChldmVudC5pZClcIlxuICAgICAgICAgICAgKm5nSWY9XCJldmVudC5zdGF0ZV9pZCAhPT0gJ0RyYWZ0J1wiIGNsYXNzPVwidGV4dC0xNiBldmVudC1saW5rXCIgYXR0ci5hcmlhLWxhYmVsPVwie3tnZXRBcmlhTGFiZWxmb3JMaW5rKGV2ZW50KX19XCI+e3tldmVudC5ldmVudF9uYW1lIHwgcnB4VHJhbnNsYXRlfX08L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cImZhbHNlXCI+XG4gICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycuLycsICdldmVudCcsIGV2ZW50LmlkLCAnaGlzdG9yeSddXCJcbiAgICAgICAgICAgICAgW3RhcmdldF09XCInX2JsYW5rJ1wiXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXZlbnQuc3RhdGVfaWQgIT09ICdEcmFmdCdcIiBjbGFzcz1cInRleHQtMTYgZXZlbnQtbGlua1wiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yTGluayhldmVudCl9fVwiPnt7ZXZlbnQuZXZlbnRfbmFtZSB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHNwYW4gKm5nSWY9XCJldmVudC5zdGF0ZV9pZCA9PT0gJ0RyYWZ0J1wiPnt7ZXZlbnQuZXZlbnRfbmFtZX19PC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXBcIiAqbmdJZj1cInNpZ25pZmljYW50SXRlbUV4aXN0KGV2ZW50KVwiPlxuICAgICAgICA8YSBocmVmPVwie3tnZXRTaWduaWZpY2FudEl0ZW1VcmwoZXZlbnQpfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiIGF0dHIuYXJpYS1sYWJlbD1cInt7Z2V0QXJpYUxhYmVsZm9yTGluayhldmVudCl9fVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJkb2MtaW1nXCIgYWx0PVwiZG9jdW1lbnQgaW1hZ2VcIiBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZBQUFBQm9DQVlBQUFCbU9IZHRBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQWx3U0ZsekFBQU93d0FBRHNNQngyK29aQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFjR0ZwYm5RdWJtVjBJRFF1TUM0eU1mRWdhWlVBQUFrb1NVUkJWSGhlN2QzM2M1UkZIQVp3L3dDS2lGMHMyTEF3aWlncTlsNUcvVVYvVVVlRmtFQW9RcWlXb0tLSTFEZzZZeFFRYkdta1hRb0pJUVFpYVNTaGhpUU1rZ0lwaENTWGtONGJ1UHRjbm5ERzlmWENhK0ZOOW1ZK001TGNlN2YzWlBiMnUvdnUrM3JSc0tuK1o0ZXk0ZTdCSUI0WG5ROGRvQTdRSEIyZ1NUcEFrM1NBSmxrK3dPRzlWTC83TCtnQVRicmdBeHpsSGdBTTZza1ZjVERodzJpNGRhRU5YdmJaQ1hkOUVBVThmcVJiQURpLzVqOUpCMmpTQlJ2ZzJIbWg4TUFuTWJBbC9UaHMralVQcWh2Ym9MYXBIWEpLVGtQVS9tS0kyRmNFZHl5SmhPdm1ob0xxdmN6UUFacDB3UVU0WVZFQXVQbkd3NUdUdGREZDB3T2RYZDNRMXVHUVhWSUQvSGxYZHcrMHRIVkNXVTB6dkxNaEZTWjVSNERxdmMrSER0Q2tDeWJBVzhSQUlIbjZ4a0pwdVIzYU9ycWdxcUVWUERhbndadSt1OEhMTHdQWTFhZHVUQUY3ZlN2d3VMcW1ObGl3ZVJmYzZ4MEpxcllNeE44Rk9Od2o5Q3owUHE4L0hXQnZFUDJEbzM4OXdGSHVnVERST3hxT2xkY0R1MmhtZmlYY3VjUUdOOHdMZ3hIaVdPbmM2empLbmNzOXQ4RFZzNEloK2tBeEZGWTJRSzBJVVhyMXExMXd2UmhZSk9jMkRRU0Q2QjhjRFhNTFBBdUtZeVVkNFA4ZDRFZzNCNytVZk9nUkE0VjBYSHhZYWZ4N2tjQ0NlUFQwSUhodWRUeUVaWjZBbDlZbEFBTytiRWJRSDhSbG5ZVDZsZzRvcVc2Q0crZUh3N0FwZmc2S05oclJBVm85d0FlWHhjS3UzREpnT1RMbjUzUzRjbVl3TUxpQTFBSTRWZHNDamEwZHdDNWZlcm9aT0tYamNXTzl3b0RIdGJTTE1rZlltSGdNVkcxemhRN1E2Z0h5Zy9JRG5iQTNBc3NSTGlMTS9TVUR5dXRhZ2M4dnJtb0VEajRzdUFzcUd1Q2EyU0Z3dVdjUUxBekloSjZlTXhDWVZnaTNMWTRBVlJ1TjZBQ3RIdUFMYXhLZ29iVVQ4a1VJMHVSbE1jQXk1K2ZrZk9qc2t0TzVucjRwSHJ2bUc3NUpVRnpkREUxaUdpZTkvczF1dUhpYVA3eTROZ0g0QjhndHJZRkpIOGVBcW8xR2RJQldENUJUczZLcUptQ1pNVzVSQkxBZ2ZtZDlNdkR4ZWVSaFlOZTdRaFRQVXFXWXZrRmRDMnhLL0EzNGZsOUVIWVo4MGIybG1xWjJHUE51S0RpM3pSVTZRS3NIeUM3RjRQakI3dnNvQmk2ZUZnQ0JhUVhRMGRrTjJjV240VkpSSkV2c2d0dXpTcUZkUEVkNlpsVThjS3IzMUJmeHdOL3pEemRabEZLU3FvMUdkSUJXRDNEOCsxSEFRdmhRVVRXYysvSjNCTGoxUURId3l6K3p3QTRNaG9IL2V1UVVzSnpoRk84U2p3QzRYNFFzY1prczZXZzV2T0t6RTFSdE5LSUR0SHFBYjM2YkJPVmllaVhWTjdjREI0Y3JaMjRCdCs5VGdRWHdtcGdjNEdERFFybTZvUlVxeEFBaStjVG13QWczZitBZ3dpa2ZuejltZGpDbzJtaEVCMmoxQU4vNkxnbjRnVmhXakZ0a2c5RWVnYkE4TWd2WU5XMzdpb0ZUTlJiVUhJUlltRThYSlpMRTVURCt1MEVNV05McHhqYmc4YW8yR3RFQldqM0FteGVFQXg5WllnQ1I1dmxsQUFlUjJFTWwwTkRTRG53ZUJ4R1dLenl4enRPYmo2L1lEaXgzdUh6R1FjUzJ0d2c0MktqYWFFUUhhUFVBSC85Y2ZFQ2hUZ3djVW0xekJ6ejgyVFpnRjE0aHZ2Z2xMaVlFN1NrRWRtRXV6WE01aklXNTV3OXB3Rk1ITThSL1MvMExkOHQyWVIyZzRvY0Q0Yll4QmZZWFZnRy8zTG01aUV2NjdwdFNnWTh2dCtVQ3Q3ZGQrMjRvc0J6aWxvNWw0UWVCQzdPcnRtWUR5eHd1ZTQyWkV3S3FOaHJSQVZvOVFCYk1yZUlMWFdJWGZIdERDbkFRQ1U0L0Rweks3Y21yZ05IVFJSY1h1Qml3SjY4UytIclByTm9CbDRpdkFlbnBsZHVCaXdtSnVXWEFLWjZxalVaMGdJTWx3T2EyRGlpcWFvUzMxeWREWDRCaXdKQVlZTnF4Q21CNXdrRW5JOThPWEp4NGVtVThqSEtYMnovOFVlcElESEJYVGhub0FJZHFnQXlLbTRoNG92eEdyMURvRzBTK1R3RSsxb2tCUkxwRkZPSFNkWFBEZ0V2Nm5Cb3VEVDBBZkwvVjBZZmh6NE5JS0RpM3pSVTZRS3NIK05DbnNjQkZCQmJVTExBNVNLeU16Z1l1NmZ1bkZzQlZzNExoNWdVMktCR2hTWHk5S1J1U2dZc0pNMy9jQXl5WDhzcnJZYXhYT0tqYWFFUUhhUFVBT1lYcUZoTi9pU2ZNRndkbUFoY0x0aDh1QlhieGd5ZXFnTC9uaFRieDRqa1NOeWx4Y09BbW80ZEVxU054RUFrUnBaSDB3dG9FVUxYUmlBN1E2Z0crOW5VaUZGWTJBaWY1NDkrTEFKWXBxN2JtQUJkVXQ0aVNScnA2ZGdod2FaOGJKOW1GdWVXRFMvcXpmMHFIeHRaT3NOZTNBRGRtcXRwb1JBZG85UUI1T3JGWWZHaUpaY1dFRDZPQVd6czhmMHdIbmxSYUhwRUZYSkJsdWNNL0FLZUVINFVkQUM0bXJJM05CUzQ2Y0FzSWw4VlViVFNpQTdSNmdGeU9ZbkJIeStwZ21paWFKVzVMMjVGOUVyaElrSHkwSFBqN0oxYkVBWmZGdVBENjZQSTQ0R0R6OEtkaXlpZTBkM1pCZ3BqR1NjK0s2WjJrYXFNUkhhRFZBM3hNZkRpSlczVzVOZmVSejdZQlAzaDQ1bkhvRUtXSnRLL1FEaXkwbjF1ZEFQeDVTM3NYM0x0MEt6RG81OWZzQUFiSVFucmkwbWhRdGRHSUR0RHFBYko4bUxJaEJiaTVuRnM2ZUtFMHAyQjhMQW5hQ3pmTkR3ZHVrT1FGMk96SzNNckI5MXNYbXdNbjdBM0FSUVhMRGlJNlFNVVB6d2ZMREU3NitYTVcwcnlFbjRQRFQwbDV3Tk9lREpxRFJFaDZJZkFQd2RPYXo2OFdYVmpnbEpDRDFrVFJ6U1huTnJsQ0J6aFlBdndybklJbGlCSkc0cEkrYnpMQkpYOCtuNE1PL3lBOG5nRnkwT0tVTVBWWUJYRHAzL205WGFFREhPd0JjaXJIRFpXY3luMHNwbWNTcDNDcVk1MHhVRjR5eHNIalZFMHo4SllEcW1PTjZBQUhlNEM4Z0lZWDFqQkFuMjI1d1BKRmRhd3pCc2liVkhBUmdVRnlFRklkYTBRSE9OZ0RwSy9qY29IbEIyOGU0V29CZkttWTdrbmNVdHpWTFcvUzA5MVhIdkhpUnRXeFJuU0FnejdBM3B0QmNObUxTL2E4K1ZqVS9pTGc3VTVZdHZCNGJpb2F0ekFjZUhrcmIyN0JrMG9zZi83dzNpN1FBUTc2QUh0eEF5VlBsUE5XVGx5Nno4aXZoRGQ4ZDhOTFBqdkJZMU1xOENabHZDbFpRWGtkOE9KREhhQU8wRFdUdkczZ3RUa1JlUHFTZ3dKUG1QTVNMbTV6TzNQbURCUlcxSVBIZWhHdWNOdWljRkM5bHl0MGdFTXRRTHI3Z3lqZzFnMHVDckNyY29xMnQ4QU95YjlWQUJjVGJsOXNBOVZyRDRRT1VQSGFBMkhaQUlrM0Z4c3gxUS91OFk0R0JzdWdlVktKMitGVXIzVStkSUFtV1Q3QS81c08wQ1Fkb0VrNlFKTjBnQ2JwQUUweUhTQmZZS2dhTWNNRy9ZTWpIZURmTUIyZzZpRHRIQjJnU1RwQWszU0FKdWtBVGRJQm12U3ZCY2ovVVVuZkd3eFdpdENjS2NOeGhRN1FRUm1PSzFpSXFsNTBLRkdHNHdvZG9JTXlIRmZvQUIyVTRiaENCK2lnRE1jVk9rQUhaVGl1MEFGSy9tZC9CdzhYZXZJSXlFcVpBQUFBQUVsRlRrU3VRbUNDXCIvPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcHRleHQgZG9jLXRvb2x0aXBcIj57e2dldFNpZ25pZmljYW50SXRlbURlc2MoZXZlbnQpfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L3RkPlxuICAgIDx0ZCB0YWJpbmRleD1cIjBcIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2dldEFyaWFMYWJlbGZvckNvbHVtbihldmVudCl9fVwiIChrZXlkb3duLmVudGVyKT1cInNlbGVjdChldmVudClcIj48ZGl2IGNsYXNzPVwidG9vbHRpcCB0ZXh0LTE2XCI+e3tldmVudC50aW1lc3RhbXAgfCBjY2REYXRlIDogJ2xvY2FsJ319XG4gICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0XCI+e3snTG9jYWw6JyB8IHJweFRyYW5zbGF0ZX19IHt7ZXZlbnQudGltZXN0YW1wIHwgY2NkRGF0ZSA6ICdsb2NhbCd9fTwvc3Bhbj5cbiAgICA8L2Rpdj48L3RkPlxuICAgIDx0ZCB0YWJpbmRleD1cIjBcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2V2ZW50LnVzZXJfZmlyc3RfbmFtZSB8IHRpdGxlY2FzZX19IHt7ZXZlbnQudXNlcl9sYXN0X25hbWUgfCB1cHBlcmNhc2V9fTwvc3Bhbj48L3RkPlxuICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT4iXX0=
@@ -229,7 +229,7 @@ export class QueryCheckYourAnswersComponent {
229
229
  fieldId;
230
230
  attachments;
231
231
  errorMessages = [];
232
- filteredTask = [];
232
+ filteredTasks = [];
233
233
  constructor(route, router, casesService, caseNotifier, workAllocationService, sessionStorageService, qualifyingQuestionService) {
234
234
  this.route = route;
235
235
  this.router = router;
@@ -259,11 +259,11 @@ export class QueryCheckYourAnswersComponent {
259
259
  .subscribe({
260
260
  next: (response) => {
261
261
  // Filter task by query id
262
- if (response.tasks?.length > 1) {
263
- this.filteredTask = response.tasks?.find((task) => task.case_id === this.tid);
262
+ if (this.tid && response.tasks?.length > 1) {
263
+ this.filteredTasks = response.tasks?.filter((task) => task.id === this.tid);
264
264
  }
265
265
  else {
266
- this.filteredTask = response.tasks;
266
+ this.filteredTasks = response.tasks;
267
267
  }
268
268
  },
269
269
  error: (error) => {
@@ -295,13 +295,18 @@ export class QueryCheckYourAnswersComponent {
295
295
  const data = this.generateCaseQueriesCollectionData();
296
296
  const createEvent$ = this.createEvent(data);
297
297
  if (this.queryCreateContext === QueryCreateContext.RESPOND) {
298
- const completeTask$ = this.workAllocationService.completeTask(this.filteredTask[0].id, this.caseViewTrigger.name);
299
- this.createEventSubscription = forkJoin([createEvent$, completeTask$]).subscribe({
300
- next: ([createEventResponse, tasksResponse]) => {
301
- this.finaliseSubmission();
302
- },
303
- error: (error) => this.handleError(error)
304
- });
298
+ if (this.filteredTasks?.length > 0) {
299
+ const completeTask$ = this.workAllocationService.completeTask(this.filteredTasks[0].id, this.caseViewTrigger.name);
300
+ this.createEventSubscription = forkJoin([createEvent$, completeTask$]).subscribe({
301
+ next: ([createEventResponse, tasksResponse]) => {
302
+ this.finaliseSubmission();
303
+ },
304
+ error: (error) => this.handleError(error)
305
+ });
306
+ }
307
+ else {
308
+ console.error('Error: No task to complete found');
309
+ }
305
310
  }
306
311
  else {
307
312
  this.createEventSubscription = createEvent$.subscribe({
@@ -538,5 +543,5 @@ export class QueryCheckYourAnswersComponent {
538
543
  }], querySubmitted: [{
539
544
  type: Output
540
545
  }] }); })();
541
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 26 }); })();
542
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBS2pCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRyxP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VCxtQ0FBeUY7WUFBbkIsa0pBQVMsWUFBUSxLQUFDO1lBQ3RGLGFBQ0Y7O1lBRUosQUFERSxBQURFLGlCQUFTLEVBQ0wsRUFDRjtZQUVOLGtEQUM2QjtZQUMvQixpQkFBTTs7OztZQXpJSSxlQUE4QjtZQUE5QixtREFBOEI7WUFnQnJCLGNBQTZEO1lBQTdELHNGQUE2RDtZQUszRCxlQUE2RDtZQUFBLEFBQTdELG9GQUE2RCw2Q0FBaUM7WUFTOUUsZUFBMkI7WUFBM0IsNkNBQTJCO1lBR3ZELGNBQTREO1lBQTVELHFGQUE0RDtZQW9CM0QsZUFDRjtZQURFLDJKQUNGO1lBRUUsZUFDRjtZQURFLHFHQUNGO1lBR0ksZUFDRjtZQURFLGlFQUNGO1lBS0QsZUFBNkQ7WUFBN0Qsc0ZBQTZEO1lBb0NWLGNBQXdEO1lBQXhELHdFQUF3RDtZQXlCNUcsZUFDRjtZQURFLG1FQUNGO1lBRUUsZUFDRjtZQURFLGlFQUNGO1lBSXdCLGVBQStDO1lBQS9DLGlFQUErQzs7O2lGRGpIaEUsOEJBQThCO2NBTDFDLFNBQVM7MkJBQ0UsOEJBQThCOzBPQVd4QixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1csV0FBVztrQkFBM0IsTUFBTTtZQUNVLGNBQWM7a0JBQTlCLE1BQU07O2tGQWJJLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQ2FzZUV2ZW50VHJpZ2dlcixcbiAgQ2FzZUZpZWxkLFxuICBDYXNlVmlldyxcbiAgQ2FzZVZpZXdUcmlnZ2VyLFxuICBFcnJvck1lc3NhZ2Vcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NoYXJlZC9kb21haW4nO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRXZlbnRDb21wbGV0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3IvZG9tYWluL2V2ZW50LWNvbXBsZXRpb24tcGFyYW1zLm1vZGVsJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlLCBXb3JrQWxsb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUNyZWF0ZUNvbnRleHQsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9xdWVyeS1tYW5hZ2VtZW50LnV0aWxzJztcbmltcG9ydCB7IEZvcm1Eb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zaGFyZWQvZG9tYWluL2RvY3VtZW50JztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbExpc3QgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9hY2Nlc3MtY29udHJvbC1saXN0Lm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlDaGVja1lvdXJBbnN3ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IFJBSVNFX0FfUVVFUllfRVZFTlRfVFJJR0dFUl9JRCA9ICdxdWVyeU1hbmFnZW1lbnRSYWlzZVF1ZXJ5JztcbiAgcHJpdmF0ZSByZWFkb25seSBSRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQgPSAncXVlcnlNYW5hZ2VtZW50UmVzcG9uZFF1ZXJ5JztcblxuICBwcml2YXRlIHJlYWRvbmx5IENBU0VfUVVFUklFU19DT0xMRUNUSU9OX0lEID0gJ0Nhc2VRdWVyaWVzQ29sbGVjdGlvbic7XG4gIHB1YmxpYyByZWFkb25seSBGSUVMRF9UWVBFX0NPTVBMRVggPSAnQ29tcGxleCc7XG5cbiAgQElucHV0KCkgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlJdGVtOiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnlDcmVhdGVDb250ZXh0OiBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBldmVudERhdGE6IENhc2VFdmVudFRyaWdnZXIgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHJvbGVOYW1lOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFja0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcXVlcnlTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBjYXNlVmlld1RyaWdnZXI6IENhc2VWaWV3VHJpZ2dlcjtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHJpdmF0ZSBxdWVyeUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgdGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3JlYXRlRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzZWFyY2hUYXNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtID0gUXVlcnlDcmVhdGVDb250ZXh0O1xuICBwdWJsaWMgZXZlbnRDb21wbGV0aW9uUGFyYW1zOiBFdmVudENvbXBsZXRpb25QYXJhbXM7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIGZpZWxkSWQ6IHN0cmluZztcbiAgcHVibGljIGF0dGFjaG1lbnRzOiBGb3JtRG9jdW1lbnRbXTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGZpbHRlcmVkVGFzayA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlc1NlcnZpY2U6IENhc2VzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VOb3RpZmllcjogQ2FzZU5vdGlmaWVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd29ya0FsbG9jYXRpb25TZXJ2aWNlOiBXb3JrQWxsb2NhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2U6IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5SWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQ7XG4gICAgdGhpcy50aWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zPy50aWQ7XG5cbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY2FzZURldGFpbHMpID0+IHtcbiAgICAgIHRoaXMuY2FzZURldGFpbHMgPSBjYXNlRGV0YWlscztcblxuICAgICAgLy8gRmluZCB0aGUgYXBwcm9wcmlhdGUgZXZlbnQgdHJpZ2dlciBiYXNlZCBvbiB0aGUgcXVlcnlDcmVhdGVDb250ZXh0XG4gICAgICB0aGlzLmNhc2VWaWV3VHJpZ2dlciA9IHRoaXMuY2FzZURldGFpbHMudHJpZ2dlcnMuZmluZCgodHJpZ2dlcikgPT5cbiAgICAgICAgdGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgIT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EXG4gICAgICAgIC8vIElmIHRoZSBjb250ZXh0IGlzIG5vdCAnUkVTUE9ORCcsIGZpbmQgdGhlIHRyaWdnZXIgd2l0aCB0aGUgSUQgZm9yIHJhaXNpbmcgYSBxdWVyeVxuICAgICAgICAgID8gdHJpZ2dlci5pZCA9PT0gdGhpcy5SQUlTRV9BX1FVRVJZX0VWRU5UX1RSSUdHRVJfSURcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRleHQgaXMgJ1JFU1BPTkQnLCBmaW5kIHRoZSB0cmlnZ2VyIHdpdGggdGhlIElEIGZvciByZXNwb25kaW5nIHRvIGEgcXVlcnlcbiAgICAgICAgICA6IHRyaWdnZXIuaWQgPT09IHRoaXMuUkVTUE9ORF9UT19RVUVSWV9FVkVOVF9UUklHR0VSX0lEXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gR2V0IHRoZSBkb2N1bWVudCBhdHRhY2htZW50c1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRBdHRhY2htZW50cygpO1xuXG4gICAgdGhpcy5zZXRDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG5cbiAgICBpZiAodGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5SRVNQT05EKSB7XG4gICAgICB0aGlzLnNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uID0gdGhpcy53b3JrQWxsb2NhdGlvblNlcnZpY2UuZ2V0VGFza3NCeUNhc2VJZEFuZEV2ZW50SWQodGhpcy5SRVNQT05EX1RPX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQsIHRoaXMuY2FzZURldGFpbHMuY2FzZV9pZCwgdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuaWQsIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5pZClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBGaWx0ZXIgdGFzayBieSBxdWVyeSBpZFxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnRhc2tzPy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRUYXNrID0gcmVzcG9uc2UudGFza3M/LmZpbmQoKHRhc2spID0+IHRhc2suY2FzZV9pZCA9PT0gdGhpcy50aWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFRhc2sgPSByZXNwb25zZS50YXNrcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uOicsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVGFza3NTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYmFja0NsaWNrZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgZmllbGRJZCBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5maWVsZElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjogRmllbGQgSUQgaXMgbWlzc2luZy4gQ2Fubm90IHByb2NlZWQgd2l0aCBzdWJtaXNzaW9uLicpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGNhc2UgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIHF1ZXJ5IG1hbmFnZW1lbnQuJyxcbiAgICAgICAgICBmaWVsZElkOiAnZmllbGQtaWQnXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG4gICAgY29uc3QgY3JlYXRlRXZlbnQkID0gdGhpcy5jcmVhdGVFdmVudChkYXRhKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkQpIHtcbiAgICAgIGNvbnN0IGNvbXBsZXRlVGFzayQgPSB0aGlzLndvcmtBbGxvY2F0aW9uU2VydmljZS5jb21wbGV0ZVRhc2soXG4gICAgICAgIHRoaXMuZmlsdGVyZWRUYXNrWzBdLmlkLFxuICAgICAgICB0aGlzLmNhc2VWaWV3VHJpZ2dlci5uYW1lXG4gICAgICApO1xuICAgICAgdGhpcy5jcmVhdGVFdmVudFN1YnNjcmlwdGlvbiA9IGZvcmtKb2luKFtjcmVhdGVFdmVudCQsIGNvbXBsZXRlVGFzayRdKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoW2NyZWF0ZUV2ZW50UmVzcG9uc2UsIHRhc2tzUmVzcG9uc2VdOiBbYW55LCBhbnldKSA9PiB7XG4gICAgICAgICAgdGhpcy5maW5hbGlzZVN1Ym1pc3Npb24oKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uID0gY3JlYXRlRXZlbnQkLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHRoaXMuZmluYWxpc2VTdWJtaXNzaW9uKCksXG4gICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUV2ZW50KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZUV2ZW50KHRoaXMuY2FzZURldGFpbHMsIHtcbiAgICAgIGRhdGEsXG4gICAgICBldmVudDoge1xuICAgICAgICBpZDogdGhpcy5jYXNlVmlld1RyaWdnZXI/LmlkLFxuICAgICAgICBzdW1tYXJ5OiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY2FzZVZpZXdUcmlnZ2VyPy5kZXNjcmlwdGlvblxuICAgICAgfSxcbiAgICAgIGV2ZW50X3Rva2VuOiB0aGlzLmV2ZW50RGF0YT8uZXZlbnRfdG9rZW4sXG4gICAgICBpZ25vcmVfd2FybmluZzogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluYWxpc2VTdWJtaXNzaW9uKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTdWJtaXR0ZWQuZW1pdCh0cnVlKTtcbiAgICB0aGlzLnF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UuY2xlYXJRdWFsaWZ5aW5nUXVlc3Rpb25TZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIEFQSSBjYWxsczonLCBlcnJvcik7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJywgJ3NlcnZpY2UtZG93biddKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk6IFFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIHtcbiAgICBjb25zdCBjdXJyZW50VXNlckRldGFpbHMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuXG4gICAgY29uc3QgY2FzZU1lc3NhZ2UgPSB0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0Lk5FV19RVUVSWVxuICAgICAgPyBRdWVyeU1hbmFnZW1lbnRVdGlscy5nZXROZXdRdWVyeURhdGEodGhpcy5mb3JtR3JvdXAsIGN1cnJlbnRVc2VyRGV0YWlscylcbiAgICAgIDogUXVlcnlNYW5hZ2VtZW50VXRpbHMuZ2V0UmVzcG9uZE9yRm9sbG93dXBRdWVyeURhdGEodGhpcy5mb3JtR3JvdXAsIHRoaXMucXVlcnlJdGVtLCBjdXJyZW50VXNlckRldGFpbHMpO1xuXG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuZGF0YWlkOyAvLyBHZXQgdGhlIG1lc3NhZ2UgSUQgZnJvbSByb3V0ZSBwYXJhbXMgKGlmIHByZXNlbnQpXG4gICAgY29uc3QgaXNOZXdRdWVyeSA9IHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuTkVXX1FVRVJZOyAvLyBDaGVjayBpZiB0aGlzIGlzIGEgbmV3IHF1ZXJ5XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgSUQgaGFzIGJlZW4gc2V0IGR5bmFtaWNhbGx5XG4gICAgaWYgKCF0aGlzLmZpZWxkSWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOiBGaWVsZCBJRCBmb3IgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIG5vdCBmb3VuZC4gQ2Fubm90IHByb2NlZWQgd2l0aCBkYXRhIGdlbmVyYXRpb24uJyk7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nLCAnc2VydmljZS1kb3duJ10pO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgbmV3IHF1ZXJ5IGRhdGEgc3RydWN0dXJlXG4gICAgY29uc3QgbmV3UXVlcnlEYXRhOiBRbUNhc2VRdWVyaWVzQ29sbGVjdGlvbiA9IHt9O1xuXG4gICAgaWYgKHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBsZXQgbWF0Y2hlZENvbGxlY3Rpb247XG5cbiAgICAgIC8vIElmIGl0J3Mgbm90IGEgbmV3IHF1ZXJ5LCB0cnkgdG8gZmluZCB0aGUgZXhpc3RpbmcgY29sbGVjdGlvbiB3aXRoIHRoZSBtZXNzYWdlIElEXG4gICAgICBpZiAoIWlzTmV3UXVlcnkgJiYgbWVzc2FnZUlkKSB7XG4gICAgICAgIG1hdGNoZWRDb2xsZWN0aW9uID0gdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmZpbmQoKGNvbGxlY3Rpb24pID0+XG4gICAgICAgICAgY29sbGVjdGlvbi5jYXNlTWVzc2FnZXMuc29tZSgobWVzc2FnZSkgPT4gbWVzc2FnZS52YWx1ZS5pZCA9PT0gbWVzc2FnZUlkKVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hlZENvbGxlY3Rpb24pIHtcbiAgICAgICAgLy8gQXBwZW5kIHRoZSBuZXcgY2FzZSBtZXNzYWdlIHRvIHRoZSBtYXRjaGVkIGNvbGxlY3Rpb24ncyBjYXNlTWVzc2FnZXNcbiAgICAgICAgbWF0Y2hlZENvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzLnB1c2goe1xuICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgIHZhbHVlOiBjYXNlTWVzc2FnZVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZGQgdGhlIG1hdGNoZWQgY29sbGVjdGlvbiB0byBuZXdRdWVyeURhdGFcbiAgICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0gPSB7XG4gICAgICAgICAgLi4ubWF0Y2hlZENvbGxlY3Rpb24sIC8vIEtlZXAgZXhpc3RpbmcgZGF0YSBpbnRhY3RcbiAgICAgICAgICBjYXNlTWVzc2FnZXM6IFsuLi5tYXRjaGVkQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXNdIC8vIEFwcGVuZCB0aGUgdXBkYXRlZCBtZXNzYWdlcyBhcnJheVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgbm8gY29sbGVjdGlvbiBtYXRjaGVzLCBvciBpdCdzIGEgbmV3IHF1ZXJ5XG4gICAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdID0ge1xuICAgICAgICAgIHBhcnR5TmFtZTogY3VycmVudFVzZXJEZXRhaWxzPy5uYW1lIHx8IGAke2N1cnJlbnRVc2VyRGV0YWlscz8uZm9yZW5hbWV9ICR7Y3VycmVudFVzZXJEZXRhaWxzPy5zdXJuYW1lfWAsIC8vIE5vdCByZXR1cm5lZCBieSBDQ0RcbiAgICAgICAgICByb2xlT25DYXNlOiAnJywgLy8gTm90IHJldHVybmVkIGJ5IENDRFxuICAgICAgICAgIGNhc2VNZXNzYWdlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgICAgdmFsdWU6IGNhc2VNZXNzYWdlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIElmIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgaXMgbm90IGVtcHR5LCBhcHBlbmQgaXRzIGRhdGFcbiAgICAgICAgbmV3UXVlcnlEYXRhW3RoaXMuZmllbGRJZF0uY2FzZU1lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgLi4udGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zLmZsYXRNYXAoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZXhpc3RpbmcgY29sbGVjdGlvbnMsIGNyZWF0ZSBhIG5ldyBvbmUgKGUuZy4sIGZvciBuZXcgcXVlcmllcylcbiAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdID0ge1xuICAgICAgICBwYXJ0eU5hbWU6IGN1cnJlbnRVc2VyRGV0YWlscz8ubmFtZSB8fCBgJHtjdXJyZW50VXNlckRldGFpbHM/LmZvcmVuYW1lfSAke2N1cnJlbnRVc2VyRGV0YWlscz8uc3VybmFtZX1gLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgIHJvbGVPbkNhc2U6ICcnLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgIGNhc2VNZXNzYWdlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiBudWxsLFxuICAgICAgICAgICAgdmFsdWU6IGNhc2VNZXNzYWdlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3UXVlcnlEYXRhO1xuICB9XG5cbiAgcHVibGljIHNldENhc2VRdWVyaWVzQ29sbGVjdGlvbkRhdGEoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXZlbnREYXRhPy5jYXNlX2ZpZWxkcz8ubGVuZ3RoKSB7XG4gICAgICAvLyBXb3JrYXJvdW5kIGZvciBtdWx0aXBsZSBxbUNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgdGhhdCBhcmUgbm90IHRvIGJlIGFwcGVhcmluZyBpbiB0aGUgZXZlbnREYXRhXG4gICAgICAvLyBDb3VudHMgbnVtYmVyIHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1xuICAgICAgY29uc3QgbnVtYmVyT2ZDYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gdGhpcy5ldmVudERhdGE/LmNhc2VfZmllbGRzPy5maWx0ZXIoXG4gICAgICAgIChjYXNlRmllbGQpID0+XG4gICAgICAgICAgY2FzZUZpZWxkLmZpZWxkX3R5cGUuaWQgPT09IHRoaXMuQ0FTRV9RVUVSSUVTX0NPTExFQ1RJT05fSUQgJiZcbiAgICAgICAgICBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSB0aGlzLkZJRUxEX1RZUEVfQ09NUExFWFxuICAgICAgKT8ubGVuZ3RoIHx8IDA7XG5cbiAgICAgIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IHRoaXMuZXZlbnREYXRhLmNhc2VfZmllbGRzLnJlZHVjZSgoYWNjLCBjYXNlRmllbGQpID0+IHtcbiAgICAgICAgLy8gRXh0cmFjdCB0aGUgSUQgYmFzZWQgb24gY29uZGl0aW9ucywgdXBkYXRpbmcgdGhpcy5maWVsZElkIGR5bmFtaWNhbGx5XG4gICAgICAgIHRoaXMuZXh0cmFjdENhc2VRdWVyeUlkKGNhc2VGaWVsZCwgbnVtYmVyT2ZDYXNlUXVlcmllc0NvbGxlY3Rpb25zKTtcblxuICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG4gICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhY2MucHVzaChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Q2FzZVF1ZXJ5SWQoZGF0YTogQ2FzZUZpZWxkLCBjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyBpZCwgdmFsdWUsIGFjbHMgfSA9IGRhdGE7XG4gICAgY29uc3QgbWVzc2FnZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuZGF0YWlkO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxkX3R5cGUgbWF0Y2hlcyBDYXNlUXVlcmllc0NvbGxlY3Rpb24gYW5kIHR5cGUgaXMgQ29tcGxleFxuICAgIGlmIChkYXRhLmZpZWxkX3R5cGUuaWQgPT09IHRoaXMuQ0FTRV9RVUVSSUVTX0NPTExFQ1RJT05fSUQgJiYgZGF0YS5maWVsZF90eXBlLnR5cGUgPT09IHRoaXMuRklFTERfVFlQRV9DT01QTEVYKSB7XG4gICAgICBpZiAodGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5ORVdfUVVFUlkpIHtcbiAgICAgICAgLy9pZiBudW1iZXIgcW1DYXNlUXVlcmllc0NvbGxlY3Rpb24gaXMgbW9yZSB0aGVuIGZpbHRlciBvdXQgdGhlIHJpZ2h0IHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uXG4gICAgICAgIHRoaXMuc2V0RmllbGRJZChjb3VudCwgYWNscywgaWQpO1xuICAgICAgfVxuICAgICAgLy8gSWYgbWVzc2FnZUlkIGlzIHByZXNlbnQsIGZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2FzZSBtZXNzYWdlXG4gICAgICB0aGlzLnNldE1lc3NhZ2VGaWVsZElkKG1lc3NhZ2VJZCwgdmFsdWUsIGlkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldE1lc3NhZ2VGaWVsZElkKG1lc3NhZ2VJZCwgdmFsdWUsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAobWVzc2FnZUlkICYmIHZhbHVlPy5jYXNlTWVzc2FnZXMpIHtcbiAgICAgIC8vIElmIGEgbWF0Y2hpbmcgbWVzc2FnZSBpcyBmb3VuZCwgc2V0IHRoZSBmaWVsZElkIHRvIHRoZSBjb3JyZXNwb25kaW5nIGlkXG4gICAgICBjb25zdCBtYXRjaGVkTWVzc2FnZSA9IHZhbHVlPy5jYXNlTWVzc2FnZXM/LmZpbmQoKG1lc3NhZ2UpID0+IG1lc3NhZ2UudmFsdWUuaWQgPT09IG1lc3NhZ2VJZCk7XG4gICAgICBpZiAobWF0Y2hlZE1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5maWVsZElkID0gaWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZElkKGNvdW50OiBudW1iZXIsIGFjbHM6IEFjY2Vzc0NvbnRyb2xMaXN0W10sIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoY291bnQgPiAxKSB7XG4gICAgICBjb25zdCBtYXRjaGluZ1JvbGUgPSBhY2xzPy5maW5kKChhY2wpID0+IGFjbC5yb2xlID09PSB0aGlzLnJvbGVOYW1lKTtcbiAgICAgIGlmIChtYXRjaGluZ1JvbGUpIHtcbiAgICAgICAgdGhpcy5maWVsZElkID0gaWQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFNldCB0aGUgZmllbGQgSUQgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGV4dHJhY3RlZCBkYXRhXG4gICAgICB0aGlzLmZpZWxkSWQgPSBpZDsgLy8gU3RvcmUgdGhlIElEIGZvciB1c2UgaW4gZ2VuZXJhdGluZyBuZXdRdWVyeURhdGFcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldERvY3VtZW50QXR0YWNobWVudHMoKTogdm9pZCB7XG4gICAgY29uc3QgYXR0YWNobWVudHNWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKS52YWx1ZTtcbiAgICBpZiAoYXR0YWNobWVudHNWYWx1ZSAmJiBhdHRhY2htZW50c1ZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRvY3VtZW50cyA9IGF0dGFjaG1lbnRzVmFsdWU7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRzID0gZG9jdW1lbnRzLm1hcChRdWVyeU1hbmFnZW1lbnRVdGlscy5kb2N1bWVudFRvQ29sbGVjdGlvbkZvcm1Eb2N1bWVudCk7XG4gICAgfVxuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcy1mcm9tLWRlc2t0b3BcIj5cbiAgICA8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiByb2xlPVwiYWxlcnRcIiB0YWJpbmRleD1cIi0xXCJcbiAgICAgIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgIHt7ICdUaGVyZSBpcyBhIHByb2JsZW0nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgIDwvaDI+XG4gICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yTWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCI+XG4gICAgICAgICAgIDxhIFtpZF09XCInZXJyb3ItJyArIGVycm9yTWVzc2FnZS5maWVsZElkXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yXCI+e3sgZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9uIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgICA8L2Rpdj5cbiAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUllcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj57eyAnUmFpc2UgYSBxdWVyeScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmctbFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EOyBlbHNlIGRlZmF1bHRDaGVja1lvdXJBbnN3ZXJzVGl0bGVcIj5cbiAgICAgICAge3sgJ1JldmlldyBxdWVyeSByZXNwb25zZSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENoZWNrWW91ckFuc3dlcnNUaXRsZT5cbiAgICAgICAge3sgJ1JldmlldyBxdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2gxPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGwgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgIT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uRk9MTE9XVVBcIiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnU3VibWl0dGVkIHF1ZXJ5JyA6ICdRdWVyeSBzdWJqZWN0JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyBxdWVyeUl0ZW0uc3ViamVjdCA6IGZvcm1Hcm91cC5nZXQoJ3N1YmplY3QnKT8udmFsdWUgfX1cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVwiIFxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORCA/ICdSZXNwb25zZSBkZXRhaWwnIDogJ1F1ZXJ5IGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIHt7IGZvcm1Hcm91cC5nZXQoJ2JvZHknKT8udmFsdWUgfX1cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGRsICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVwiIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybUdyb3VwLmdldCgnaXNIZWFyaW5nUmVsYXRlZCcpPy52YWx1ZSA9PT0gdHJ1ZTsgZWxzZSBpc0hlYXJpbmdSZWxhdGVkRmFsc2VcIj5cbiAgICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGU6IG51bGwgOiAnWWVzJyB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXNIZWFyaW5nUmVsYXRlZEZhbHNlPlxuICAgICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6ICdObycgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiZm9ybUdyb3VwLmdldCgnaXNIZWFyaW5nUmVsYXRlZCcpPy52YWx1ZVwiIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19yb3dcIj5cbiAgICAgICAgPGR0IGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19rZXlcIj5cbiAgICAgICAgICB7eyBxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZXG4gICAgICAgICAgICA/ICdXaGF0IGlzIHRoZSBkYXRlIG9mIHRoZSBoZWFyaW5nPydcbiAgICAgICAgICAgIDogJ1doYXQgaXMgdGhlIGRhdGUgb2YgdGhlIGhlYXJpbmcgeW91ciBxdWVyeSBpcyByZWxhdGVkIHRvPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIHt7IGZvcm1Hcm91cC5nZXQoJ2hlYXJpbmdEYXRlJyk/LnZhbHVlIHwgZGF0ZTogJ2RkIE1NTSB5eXl5JyB9fVxuICAgICAgICA8L2RkPlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgY2xhc3M9XCJnb3Z1ay1saW5rXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGw+XG4gICAgPGRsIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCIgKm5nSWY9XCJ0aGlzLmZvcm1Hcm91cC5nZXQoJ2F0dGFjaG1lbnRzJykudmFsdWUubGVuZ3RoID4gMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWSA/ICdVcGxvYWQgYSBmaWxlIHRvIHRoZSBxdWVyeScgOiAnRG9jdW1lbnQgYXR0YWNoZWQnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgZ292dWstc3VtbWFyeS1saXN0X192YWx1ZS0tZG9jdW1lbnRBdHRhY2hlZFwiPlxuICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgKm5nSWY9XCJ0aGlzLmZvcm1Hcm91cC5nZXQoJ2F0dGFjaG1lbnRzJykudmFsdWVcIlxuICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImF0dGFjaG1lbnRzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuXG4gICAgPGJyPlxuXG4gICAgPGRpdj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstIS1tYXJnaW4tcmlnaHQtM1wiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gICAgICAgIHt7ICdQcmV2aW91cycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzdWJtaXQoKVwiPlxuICAgICAgICB7eyAnU3VibWl0JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxjY2QtcXVlcnktZXZlbnQtY29tcGxldGlvbiBbZXZlbnRDb21wbGV0aW9uUGFyYW1zXT1cImV2ZW50Q29tcGxldGlvblBhcmFtc1wiPiAgICBcbiAgPC9jY2QtcXVlcnktZXZlbnQtY29tcGxldGlvbj5cbjwvZGl2PlxuIl19
546
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 27 }); })();
547
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1jaGVjay15b3VyLWFuc3dlcnMvcXVlcnktY2hlY2steW91ci1hbnN3ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBS2pCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRyxP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Q0Y7O1lBR04sQUFERSxBQURFLEFBREUsaUJBQUksRUFDRCxFQUNELEVBQ0g7WUFzQ0wsQUFwQ0EsaUZBQXVILG9FQW9DTDtZQW9CbEgsc0JBQUk7WUFHRixBQURGLDRCQUFLLGtCQUVrQjtZQUFuQixrSkFBUyxZQUFRLEtBQUM7WUFDbEIsYUFDRjs7WUFBQSxpQkFBUztZQUNULG1DQUF5RjtZQUFuQixrSkFBUyxZQUFRLEtBQUM7WUFDdEYsYUFDRjs7WUFFSixBQURFLEFBREUsaUJBQVMsRUFDTCxFQUNGO1lBRU4sa0RBQzZCO1lBQy9CLGlCQUFNOzs7O1lBeklJLGVBQThCO1lBQTlCLG1EQUE4QjtZQWdCckIsY0FBNkQ7WUFBN0Qsc0ZBQTZEO1lBSzNELGVBQTZEO1lBQUEsQUFBN0Qsb0ZBQTZELDZDQUFpQztZQVM5RSxlQUEyQjtZQUEzQiw2Q0FBMkI7WUFHdkQsY0FBNEQ7WUFBNUQscUZBQTREO1lBb0IzRCxlQUNGO1lBREUsMkpBQ0Y7WUFFRSxlQUNGO1lBREUscUdBQ0Y7WUFHSSxlQUNGO1lBREUsaUVBQ0Y7WUFLRCxlQUE2RDtZQUE3RCxzRkFBNkQ7WUFvQ1YsY0FBd0Q7WUFBeEQsd0VBQXdEO1lBeUI1RyxlQUNGO1lBREUsbUVBQ0Y7WUFFRSxlQUNGO1lBREUsaUVBQ0Y7WUFJd0IsZUFBK0M7WUFBL0MsaUVBQStDOzs7aUZEaEhoRSw4QkFBOEI7Y0FMMUMsU0FBUzsyQkFDRSw4QkFBOEI7ME9BV3hCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usa0JBQWtCO2tCQUFqQyxLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVyxXQUFXO2tCQUEzQixNQUFNO1lBQ1UsY0FBYztrQkFBOUIsTUFBTTs7a0ZBYkksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDYXNlRXZlbnRUcmlnZ2VyLFxuICBDYXNlRmllbGQsXG4gIENhc2VWaWV3LFxuICBDYXNlVmlld1RyaWdnZXIsXG4gIEVycm9yTWVzc2FnZVxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvc2hhcmVkL2RvbWFpbic7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBFdmVudENvbXBsZXRpb25QYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9kb21haW4vZXZlbnQtY29tcGxldGlvbi1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyLCBDYXNlc1NlcnZpY2UsIFdvcmtBbGxvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUW1DYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5Q3JlYXRlQ29udGV4dCwgUXVlcnlMaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3F1ZXJ5LW1hbmFnZW1lbnQudXRpbHMnO1xuaW1wb3J0IHsgRm9ybURvY3VtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NoYXJlZC9kb21haW4vZG9jdW1lbnQnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1YWxpZnlpbmctcXVlc3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sTGlzdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2FjY2Vzcy1jb250cm9sLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi93b3JrLWFsbG9jYXRpb24vVGFzayc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktY2hlY2steW91ci1hbnN3ZXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWNoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXJ5LWNoZWNrLXlvdXItYW5zd2Vycy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5Q2hlY2tZb3VyQW5zd2Vyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBSQUlTRV9BX1FVRVJZX0VWRU5UX1RSSUdHRVJfSUQgPSAncXVlcnlNYW5hZ2VtZW50UmFpc2VRdWVyeSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgUkVTUE9ORF9UT19RVUVSWV9FVkVOVF9UUklHR0VSX0lEID0gJ3F1ZXJ5TWFuYWdlbWVudFJlc3BvbmRRdWVyeSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBDQVNFX1FVRVJJRVNfQ09MTEVDVElPTl9JRCA9ICdDYXNlUXVlcmllc0NvbGxlY3Rpb24nO1xuICBwdWJsaWMgcmVhZG9ubHkgRklFTERfVFlQRV9DT01QTEVYID0gJ0NvbXBsZXgnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5SXRlbTogUXVlcnlMaXN0SXRlbTtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5Q3JlYXRlQ29udGV4dDogUXVlcnlDcmVhdGVDb250ZXh0O1xuICBASW5wdXQoKSBwdWJsaWMgZXZlbnREYXRhOiBDYXNlRXZlbnRUcmlnZ2VyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyByb2xlTmFtZTogc3RyaW5nO1xuICBAT3V0cHV0KCkgcHVibGljIGJhY2tDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHF1ZXJ5U3VibWl0dGVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgY2FzZVZpZXdUcmlnZ2VyOiBDYXNlVmlld1RyaWdnZXI7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHByaXZhdGUgcXVlcnlJZDogc3RyaW5nO1xuICBwcml2YXRlIHRpZDogc3RyaW5nO1xuICBwcml2YXRlIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2VhcmNoVGFza3NTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgcXVlcnlDcmVhdGVDb250ZXh0RW51bSA9IFF1ZXJ5Q3JlYXRlQ29udGV4dDtcbiAgcHVibGljIGV2ZW50Q29tcGxldGlvblBhcmFtczogRXZlbnRDb21wbGV0aW9uUGFyYW1zO1xuICBwdWJsaWMgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uczogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uW107XG4gIHB1YmxpYyBmaWVsZElkOiBzdHJpbmc7XG4gIHB1YmxpYyBhdHRhY2htZW50czogRm9ybURvY3VtZW50W107XG5cbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBmaWx0ZXJlZFRhc2tzOiBUYXNrW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtBbGxvY2F0aW9uU2VydmljZTogV29ya0FsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlOiBRdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMucWlkO1xuICAgIHRoaXMudGlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcz8udGlkO1xuXG4gICAgdGhpcy5jYXNlTm90aWZpZXIuY2FzZVZpZXcucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGNhc2VEZXRhaWxzKSA9PiB7XG4gICAgICB0aGlzLmNhc2VEZXRhaWxzID0gY2FzZURldGFpbHM7XG5cbiAgICAgIC8vIEZpbmQgdGhlIGFwcHJvcHJpYXRlIGV2ZW50IHRyaWdnZXIgYmFzZWQgb24gdGhlIHF1ZXJ5Q3JlYXRlQ29udGV4dFxuICAgICAgdGhpcy5jYXNlVmlld1RyaWdnZXIgPSB0aGlzLmNhc2VEZXRhaWxzLnRyaWdnZXJzLmZpbmQoKHRyaWdnZXIpID0+XG4gICAgICAgIHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ICE9PSBRdWVyeUNyZWF0ZUNvbnRleHQuUkVTUE9ORFxuICAgICAgICAvLyBJZiB0aGUgY29udGV4dCBpcyBub3QgJ1JFU1BPTkQnLCBmaW5kIHRoZSB0cmlnZ2VyIHdpdGggdGhlIElEIGZvciByYWlzaW5nIGEgcXVlcnlcbiAgICAgICAgICA/IHRyaWdnZXIuaWQgPT09IHRoaXMuUkFJU0VfQV9RVUVSWV9FVkVOVF9UUklHR0VSX0lEXG4gICAgICAgIC8vIElmIHRoZSBjb250ZXh0IGlzICdSRVNQT05EJywgZmluZCB0aGUgdHJpZ2dlciB3aXRoIHRoZSBJRCBmb3IgcmVzcG9uZGluZyB0byBhIHF1ZXJ5XG4gICAgICAgICAgOiB0cmlnZ2VyLmlkID09PSB0aGlzLlJFU1BPTkRfVE9fUVVFUllfRVZFTlRfVFJJR0dFUl9JRFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIC8vIEdldCB0aGUgZG9jdW1lbnQgYXR0YWNobWVudHNcbiAgICB0aGlzLmdldERvY3VtZW50QXR0YWNobWVudHMoKTtcblxuICAgIHRoaXMuc2V0Q2FzZVF1ZXJpZXNDb2xsZWN0aW9uRGF0YSgpO1xuXG4gICAgaWYgKHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuUkVTUE9ORCkge1xuICAgICAgdGhpcy5zZWFyY2hUYXNrc1N1YnNjcmlwdGlvbiA9IHRoaXMud29ya0FsbG9jYXRpb25TZXJ2aWNlLmdldFRhc2tzQnlDYXNlSWRBbmRFdmVudElkKHRoaXMuUkVTUE9ORF9UT19RVUVSWV9FVkVOVF9UUklHR0VSX0lELFxuICAgICAgICB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfaWQsIHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkLCB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgLy8gRmlsdGVyIHRhc2sgYnkgcXVlcnkgaWRcbiAgICAgICAgICAgIGlmICh0aGlzLnRpZCAmJiByZXNwb25zZS50YXNrcz8ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkVGFza3MgPSByZXNwb25zZS50YXNrcz8uZmlsdGVyKCh0YXNrOiBUYXNrKSA9PiB0YXNrLmlkID09PSB0aGlzLnRpZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkVGFza3MgPSByZXNwb25zZS50YXNrcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHNlYXJjaFRhc2tzU3Vic2NyaXB0aW9uOicsIGVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VhcmNoVGFza3NTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgZ29CYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuYmFja0NsaWNrZWQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgZmllbGRJZCBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5maWVsZElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjogRmllbGQgSUQgaXMgbWlzc2luZy4gQ2Fubm90IHByb2NlZWQgd2l0aCBzdWJtaXNzaW9uLicpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6ICdFcnJvcicsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIGNhc2UgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIHF1ZXJ5IG1hbmFnZW1lbnQuJyxcbiAgICAgICAgICBmaWVsZElkOiAnZmllbGQtaWQnXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZ2VuZXJhdGVDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk7XG4gICAgY29uc3QgY3JlYXRlRXZlbnQkID0gdGhpcy5jcmVhdGVFdmVudChkYXRhKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0LlJFU1BPTkQpIHtcbiAgICAgIGlmICh0aGlzLmZpbHRlcmVkVGFza3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgY29tcGxldGVUYXNrJCA9IHRoaXMud29ya0FsbG9jYXRpb25TZXJ2aWNlLmNvbXBsZXRlVGFzayhcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkVGFza3NbMF0uaWQsXG4gICAgICAgICAgdGhpcy5jYXNlVmlld1RyaWdnZXIubmFtZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uID0gZm9ya0pvaW4oW2NyZWF0ZUV2ZW50JCwgY29tcGxldGVUYXNrJF0pLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKFtjcmVhdGVFdmVudFJlc3BvbnNlLCB0YXNrc1Jlc3BvbnNlXTogW2FueSwgYW55XSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5maW5hbGlzZVN1Ym1pc3Npb24oKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IpXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3I6IE5vIHRhc2sgdG8gY29tcGxldGUgZm91bmQnKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVFdmVudFN1YnNjcmlwdGlvbiA9IGNyZWF0ZUV2ZW50JC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLmZpbmFsaXNlU3VibWlzc2lvbigpLFxuICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFdmVudChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNhc2VzU2VydmljZS5jcmVhdGVFdmVudCh0aGlzLmNhc2VEZXRhaWxzLCB7XG4gICAgICBkYXRhLFxuICAgICAgZXZlbnQ6IHtcbiAgICAgICAgaWQ6IHRoaXMuY2FzZVZpZXdUcmlnZ2VyPy5pZCxcbiAgICAgICAgc3VtbWFyeTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmNhc2VWaWV3VHJpZ2dlcj8uZGVzY3JpcHRpb25cbiAgICAgIH0sXG4gICAgICBldmVudF90b2tlbjogdGhpcy5ldmVudERhdGE/LmV2ZW50X3Rva2VuLFxuICAgICAgaWdub3JlX3dhcm5pbmc6IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmFsaXNlU3VibWlzc2lvbigpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U3VibWl0dGVkLmVtaXQodHJ1ZSk7XG4gICAgdGhpcy5xdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLmNsZWFyUXVhbGlmeWluZ1F1ZXN0aW9uU2VsZWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBBUEkgY2FsbHM6JywgZXJyb3IpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLycsICdzZXJ2aWNlLWRvd24nXSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uRGF0YSgpOiBRbUNhc2VRdWVyaWVzQ29sbGVjdGlvbiB7XG4gICAgY29uc3QgY3VycmVudFVzZXJEZXRhaWxzID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpKTtcblxuICAgIGNvbnN0IGNhc2VNZXNzYWdlID0gdGhpcy5xdWVyeUNyZWF0ZUNvbnRleHQgPT09IFF1ZXJ5Q3JlYXRlQ29udGV4dC5ORVdfUVVFUllcbiAgICAgID8gUXVlcnlNYW5hZ2VtZW50VXRpbHMuZ2V0TmV3UXVlcnlEYXRhKHRoaXMuZm9ybUdyb3VwLCBjdXJyZW50VXNlckRldGFpbHMpXG4gICAgICA6IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmdldFJlc3BvbmRPckZvbGxvd3VwUXVlcnlEYXRhKHRoaXMuZm9ybUdyb3VwLCB0aGlzLnF1ZXJ5SXRlbSwgY3VycmVudFVzZXJEZXRhaWxzKTtcblxuICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmRhdGFpZDsgLy8gR2V0IHRoZSBtZXNzYWdlIElEIGZyb20gcm91dGUgcGFyYW1zIChpZiBwcmVzZW50KVxuICAgIGNvbnN0IGlzTmV3UXVlcnkgPSB0aGlzLnF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gUXVlcnlDcmVhdGVDb250ZXh0Lk5FV19RVUVSWTsgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIG5ldyBxdWVyeVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpZWxkIElEIGhhcyBiZWVuIHNldCBkeW5hbWljYWxseVxuICAgIGlmICghdGhpcy5maWVsZElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvcjogRmllbGQgSUQgZm9yIENhc2VRdWVyaWVzQ29sbGVjdGlvbiBub3QgZm91bmQuIENhbm5vdCBwcm9jZWVkIHdpdGggZGF0YSBnZW5lcmF0aW9uLicpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJywgJ3NlcnZpY2UtZG93biddKTtcbiAgICB9XG5cbiAgICAvLyBJbml0aWFsaXplIG5ldyBxdWVyeSBkYXRhIHN0cnVjdHVyZVxuICAgIGNvbnN0IG5ld1F1ZXJ5RGF0YTogUW1DYXNlUXVlcmllc0NvbGxlY3Rpb24gPSB7fTtcblxuICAgIGlmICh0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgbGV0IG1hdGNoZWRDb2xsZWN0aW9uO1xuXG4gICAgICAvLyBJZiBpdCdzIG5vdCBhIG5ldyBxdWVyeSwgdHJ5IHRvIGZpbmQgdGhlIGV4aXN0aW5nIGNvbGxlY3Rpb24gd2l0aCB0aGUgbWVzc2FnZSBJRFxuICAgICAgaWYgKCFpc05ld1F1ZXJ5ICYmIG1lc3NhZ2VJZCkge1xuICAgICAgICBtYXRjaGVkQ29sbGVjdGlvbiA9IHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucy5maW5kKChjb2xsZWN0aW9uKSA9PlxuICAgICAgICAgIGNvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzLnNvbWUoKG1lc3NhZ2UpID0+IG1lc3NhZ2UudmFsdWUuaWQgPT09IG1lc3NhZ2VJZClcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1hdGNoZWRDb2xsZWN0aW9uKSB7XG4gICAgICAgIC8vIEFwcGVuZCB0aGUgbmV3IGNhc2UgbWVzc2FnZSB0byB0aGUgbWF0Y2hlZCBjb2xsZWN0aW9uJ3MgY2FzZU1lc3NhZ2VzXG4gICAgICAgIG1hdGNoZWRDb2xsZWN0aW9uLmNhc2VNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICB2YWx1ZTogY2FzZU1lc3NhZ2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWRkIHRoZSBtYXRjaGVkIGNvbGxlY3Rpb24gdG8gbmV3UXVlcnlEYXRhXG4gICAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdID0ge1xuICAgICAgICAgIC4uLm1hdGNoZWRDb2xsZWN0aW9uLCAvLyBLZWVwIGV4aXN0aW5nIGRhdGEgaW50YWN0XG4gICAgICAgICAgY2FzZU1lc3NhZ2VzOiBbLi4ubWF0Y2hlZENvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzXSAvLyBBcHBlbmQgdGhlIHVwZGF0ZWQgbWVzc2FnZXMgYXJyYXlcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIG5vIGNvbGxlY3Rpb24gbWF0Y2hlcywgb3IgaXQncyBhIG5ldyBxdWVyeVxuICAgICAgICBuZXdRdWVyeURhdGFbdGhpcy5maWVsZElkXSA9IHtcbiAgICAgICAgICBwYXJ0eU5hbWU6IGN1cnJlbnRVc2VyRGV0YWlscz8ubmFtZSB8fCBgJHtjdXJyZW50VXNlckRldGFpbHM/LmZvcmVuYW1lfSAke2N1cnJlbnRVc2VyRGV0YWlscz8uc3VybmFtZX1gLCAvLyBOb3QgcmV0dXJuZWQgYnkgQ0NEXG4gICAgICAgICAgcm9sZU9uQ2FzZTogJycsIC8vIE5vdCByZXR1cm5lZCBieSBDQ0RcbiAgICAgICAgICBjYXNlTWVzc2FnZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgICAgIHZhbHVlOiBjYXNlTWVzc2FnZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBJZiBjYXNlUXVlcmllc0NvbGxlY3Rpb25zIGlzIG5vdCBlbXB0eSwgYXBwZW5kIGl0cyBkYXRhXG4gICAgICAgIG5ld1F1ZXJ5RGF0YVt0aGlzLmZpZWxkSWRdLmNhc2VNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucy5mbGF0TWFwKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLmNhc2VNZXNzYWdlcylcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGV4aXN0aW5nIGNvbGxlY3Rpb25zLCBjcmVhdGUgYSBuZXcgb25lIChlLmcuLCBmb3IgbmV3IHF1ZXJpZXMpXG4gICAgICBuZXdRdWVyeURhdGFbdGhpcy5maWVsZElkXSA9IHtcbiAgICAgICAgcGFydHlOYW1lOiBjdXJyZW50VXNlckRldGFpbHM/Lm5hbWUgfHwgYCR7Y3VycmVudFVzZXJEZXRhaWxzPy5mb3JlbmFtZX0gJHtjdXJyZW50VXNlckRldGFpbHM/LnN1cm5hbWV9YCwgLy8gTm90IHJldHVybmVkIGJ5IENDRFxuICAgICAgICByb2xlT25DYXNlOiAnJywgLy8gTm90IHJldHVybmVkIGJ5IENDRFxuICAgICAgICBjYXNlTWVzc2FnZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgIHZhbHVlOiBjYXNlTWVzc2FnZVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld1F1ZXJ5RGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDYXNlUXVlcmllc0NvbGxlY3Rpb25EYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmV2ZW50RGF0YT8uY2FzZV9maWVsZHM/Lmxlbmd0aCkge1xuICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgbXVsdGlwbGUgcW1DYXNlUXVlcmllc0NvbGxlY3Rpb25zIHRoYXQgYXJlIG5vdCB0byBiZSBhcHBlYXJpbmcgaW4gdGhlIGV2ZW50RGF0YVxuICAgICAgLy8gQ291bnRzIG51bWJlciBxbUNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcbiAgICAgIGNvbnN0IG51bWJlck9mQ2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IHRoaXMuZXZlbnREYXRhPy5jYXNlX2ZpZWxkcz8uZmlsdGVyKFxuICAgICAgICAoY2FzZUZpZWxkKSA9PlxuICAgICAgICAgIGNhc2VGaWVsZC5maWVsZF90eXBlLmlkID09PSB0aGlzLkNBU0VfUVVFUklFU19DT0xMRUNUSU9OX0lEICYmXG4gICAgICAgICAgY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gdGhpcy5GSUVMRF9UWVBFX0NPTVBMRVhcbiAgICAgICk/Lmxlbmd0aCB8fCAwO1xuXG4gICAgICB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSB0aGlzLmV2ZW50RGF0YS5jYXNlX2ZpZWxkcy5yZWR1Y2UoKGFjYywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgIC8vIEV4dHJhY3QgdGhlIElEIGJhc2VkIG9uIGNvbmRpdGlvbnMsIHVwZGF0aW5nIHRoaXMuZmllbGRJZCBkeW5hbWljYWxseVxuICAgICAgICB0aGlzLmV4dHJhY3RDYXNlUXVlcnlJZChjYXNlRmllbGQsIG51bWJlck9mQ2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyk7XG5cbiAgICAgICAgY29uc3QgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID0gUXVlcnlNYW5hZ2VtZW50VXRpbHMuZXh0cmFjdENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZChjYXNlRmllbGQpO1xuICAgICAgICBpZiAoZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkICYmIHR5cGVvZiBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgYWNjLnB1c2goZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgW10pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdENhc2VRdWVyeUlkKGRhdGE6IENhc2VGaWVsZCwgY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgaWQsIHZhbHVlLCBhY2xzIH0gPSBkYXRhO1xuICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmRhdGFpZDtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBmaWVsZF90eXBlIG1hdGNoZXMgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIGFuZCB0eXBlIGlzIENvbXBsZXhcbiAgICBpZiAoZGF0YS5maWVsZF90eXBlLmlkID09PSB0aGlzLkNBU0VfUVVFUklFU19DT0xMRUNUSU9OX0lEICYmIGRhdGEuZmllbGRfdHlwZS50eXBlID09PSB0aGlzLkZJRUxEX1RZUEVfQ09NUExFWCkge1xuICAgICAgaWYgKHRoaXMucXVlcnlDcmVhdGVDb250ZXh0ID09PSBRdWVyeUNyZWF0ZUNvbnRleHQuTkVXX1FVRVJZKSB7XG4gICAgICAgIC8vaWYgbnVtYmVyIHFtQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uIGlzIG1vcmUgdGhlbiBmaWx0ZXIgb3V0IHRoZSByaWdodCBxbUNhc2VRdWVyaWVzQ29sbGVjdGlvblxuICAgICAgICB0aGlzLnNldEZpZWxkSWQoY291bnQsIGFjbHMsIGlkKTtcbiAgICAgIH1cbiAgICAgIC8vIElmIG1lc3NhZ2VJZCBpcyBwcmVzZW50LCBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGNhc2UgbWVzc2FnZVxuICAgICAgdGhpcy5zZXRNZXNzYWdlRmllbGRJZChtZXNzYWdlSWQsIHZhbHVlLCBpZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRNZXNzYWdlRmllbGRJZChtZXNzYWdlSWQsIHZhbHVlLCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKG1lc3NhZ2VJZCAmJiB2YWx1ZT8uY2FzZU1lc3NhZ2VzKSB7XG4gICAgICAvLyBJZiBhIG1hdGNoaW5nIG1lc3NhZ2UgaXMgZm91bmQsIHNldCB0aGUgZmllbGRJZCB0byB0aGUgY29ycmVzcG9uZGluZyBpZFxuICAgICAgY29uc3QgbWF0Y2hlZE1lc3NhZ2UgPSB2YWx1ZT8uY2FzZU1lc3NhZ2VzPy5maW5kKChtZXNzYWdlKSA9PiBtZXNzYWdlLnZhbHVlLmlkID09PSBtZXNzYWdlSWQpO1xuICAgICAgaWYgKG1hdGNoZWRNZXNzYWdlKSB7XG4gICAgICAgIHRoaXMuZmllbGRJZCA9IGlkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RmllbGRJZChjb3VudDogbnVtYmVyLCBhY2xzOiBBY2Nlc3NDb250cm9sTGlzdFtdLCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKGNvdW50ID4gMSkge1xuICAgICAgY29uc3QgbWF0Y2hpbmdSb2xlID0gYWNscz8uZmluZCgoYWNsKSA9PiBhY2wucm9sZSA9PT0gdGhpcy5yb2xlTmFtZSk7XG4gICAgICBpZiAobWF0Y2hpbmdSb2xlKSB7XG4gICAgICAgIHRoaXMuZmllbGRJZCA9IGlkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZXQgdGhlIGZpZWxkIElEIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBleHRyYWN0ZWQgZGF0YVxuICAgICAgdGhpcy5maWVsZElkID0gaWQ7IC8vIFN0b3JlIHRoZSBJRCBmb3IgdXNlIGluIGdlbmVyYXRpbmcgbmV3UXVlcnlEYXRhXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREb2N1bWVudEF0dGFjaG1lbnRzKCk6IHZvaWQge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRzVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2F0dGFjaG1lbnRzJykudmFsdWU7XG4gICAgaWYgKGF0dGFjaG1lbnRzVmFsdWUgJiYgYXR0YWNobWVudHNWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkb2N1bWVudHMgPSBhdHRhY2htZW50c1ZhbHVlO1xuICAgICAgdGhpcy5hdHRhY2htZW50cyA9IGRvY3VtZW50cy5tYXAoUXVlcnlNYW5hZ2VtZW50VXRpbHMuZG9jdW1lbnRUb0NvbGxlY3Rpb25Gb3JtRG9jdW1lbnQpO1xuICAgIH1cbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMtZnJvbS1kZXNrdG9wXCI+XG4gICAgPCEtLSBFcnJvciBtZXNzYWdlIHN1bW1hcnkgLS0+XG4gICAgPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZXMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiXG4gICAgICBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiXG4gICAgICBkYXRhLW1vZHVsZT1cImdvdnVrLWVycm9yLXN1bW1hcnlcIj5cbiAgICAgPGgyIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fdGl0bGVcIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgICB7eyAnVGhlcmUgaXMgYSBwcm9ibGVtJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICA8L2gyPlxuICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc1wiPlxuICAgICAgICAgICA8YSBbaWRdPVwiJ2Vycm9yLScgKyBlcnJvck1lc3NhZ2UuZmllbGRJZFwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAgIGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiPnt7IGVycm9yTWVzc2FnZS5kZXNjcmlwdGlvbiB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgIDwvbGk+XG4gICAgICAgPC91bD5cbiAgICAgPC9kaXY+XG4gICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uTkVXX1FVRVJZXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2FwdGlvbi1sXCI+e3sgJ1JhaXNlIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeUNyZWF0ZUNvbnRleHQgPT09IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0uUkVTUE9ORDsgZWxzZSBkZWZhdWx0Q2hlY2tZb3VyQW5zd2Vyc1RpdGxlXCI+XG4gICAgICAgIHt7ICdSZXZpZXcgcXVlcnkgcmVzcG9uc2UgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDaGVja1lvdXJBbnN3ZXJzVGl0bGU+XG4gICAgICAgIHt7ICdSZXZpZXcgcXVlcnkgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9oMT5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgIDxjY2QtcXVlcnktY2FzZS1kZXRhaWxzLWhlYWRlciBbY2FzZURldGFpbHNdPVwiY2FzZURldGFpbHNcIj48L2NjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRsICpuZ0lmPVwicXVlcnlDcmVhdGVDb250ZXh0ICE9PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLkZPTExPV1VQXCIgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3QgZ292dWstIS1tYXJnaW4tYm90dG9tLTBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gJ1N1Ym1pdHRlZCBxdWVyeScgOiAnUXVlcnkgc3ViamVjdCcgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9kdD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X192YWx1ZVwiPlxuICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gcXVlcnlJdGVtLnN1YmplY3QgOiBmb3JtR3JvdXAuZ2V0KCdzdWJqZWN0Jyk/LnZhbHVlIH19XG4gICAgICAgIDwvZGQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxhICAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUllcIiBcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cblxuICAgIDxkbCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uc2UgZGV0YWlsJyA6ICdRdWVyeSBkZXRhaWwnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICB7eyBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/LnZhbHVlIH19XG4gICAgICAgIDwvZGQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cblxuICAgIDxkbCAqbmdJZj1cInF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUllcIiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1Hcm91cC5nZXQoJ2lzSGVhcmluZ1JlbGF0ZWQnKT8udmFsdWUgPT09IHRydWU7IGVsc2UgaXNIZWFyaW5nUmVsYXRlZEZhbHNlXCI+XG4gICAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlOiBudWxsIDogJ1llcycgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2lzSGVhcmluZ1JlbGF0ZWRGYWxzZT5cbiAgICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGU6IG51bGwgOiAnTm8nIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImZvcm1Hcm91cC5nZXQoJ2lzSGVhcmluZ1JlbGF0ZWQnKT8udmFsdWVcIiBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fcm93XCI+XG4gICAgICAgIDxkdCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fa2V5XCI+XG4gICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLk5FV19RVUVSWVxuICAgICAgICAgICAgPyAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZz8nXG4gICAgICAgICAgICA6ICdXaGF0IGlzIHRoZSBkYXRlIG9mIHRoZSBoZWFyaW5nIHlvdXIgcXVlcnkgaXMgcmVsYXRlZCB0bz8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvZHQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWVcIj5cbiAgICAgICAgICB7eyBmb3JtR3JvdXAuZ2V0KCdoZWFyaW5nRGF0ZScpPy52YWx1ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX1cbiAgICAgICAgPC9kZD5cbiAgICAgICAgPGRkIGNsYXNzPVwiZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zXCI+XG4gICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIGNsYXNzPVwiZ292dWstbGlua1wiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgICAge3sgJ0NoYW5nZScgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2RsPlxuICAgIDxkbCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiICpuZ0lmPVwidGhpcy5mb3JtR3JvdXAuZ2V0KCdhdHRhY2htZW50cycpLnZhbHVlLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8ZHQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleVwiPlxuICAgICAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5ORVdfUVVFUlkgPyAnVXBsb2FkIGEgZmlsZSB0byB0aGUgcXVlcnknIDogJ0RvY3VtZW50IGF0dGFjaGVkJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2R0PlxuICAgICAgICA8ZGQgY2xhc3M9XCJnb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIGdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUtLWRvY3VtZW50QXR0YWNoZWRcIj5cbiAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICpuZ0lmPVwidGhpcy5mb3JtR3JvdXAuZ2V0KCdhdHRhY2htZW50cycpLnZhbHVlXCJcbiAgICAgICAgICAgIFthdHRhY2htZW50c109XCJhdHRhY2htZW50c1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgIDwvZGQ+XG4gICAgICAgIDxkZCBjbGFzcz1cImdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9uc1wiPlxuICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImdvdnVrLWxpbmtcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2RkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kbD5cblxuICAgIDxicj5cblxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICB7eyAnUHJldmlvdXMnIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic3VibWl0KClcIj5cbiAgICAgICAge3sgJ1N1Ym1pdCcgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8Y2NkLXF1ZXJ5LWV2ZW50LWNvbXBsZXRpb24gW2V2ZW50Q29tcGxldGlvblBhcmFtc109XCJldmVudENvbXBsZXRpb25QYXJhbXNcIj4gICAgXG4gIDwvY2NkLXF1ZXJ5LWV2ZW50LWNvbXBsZXRpb24+XG48L2Rpdj5cbiJdfQ==
@@ -17,8 +17,8 @@ export class QueryWriteAddDocumentsComponent {
17
17
  // This field is mocked to allow the document component to be used in isolation
18
18
  this.mockDocumentCaseField = Object.assign(new CaseField(), {
19
19
  id: QueryWriteAddDocumentsComponent.DOCUMENTS_FORM_CONTROL_NAME,
20
- label: this.label ? this.label : 'Attach a document',
21
- hint_text: this.hintText ? this.hintText : 'Only attach documents related to your query. For all other documents use your case management document upload function.',
20
+ label: this.label ? this.label : 'Add document',
21
+ hint_text: this.hintText ? this.hintText : 'Attach a document to this message',
22
22
  display_context: 'OPTIONAL',
23
23
  display_context_parameter: '#COLLECTION(allowInsert,allowUpdate)',
24
24
  field_type: Object.assign(new FieldType(), {
@@ -75,4 +75,4 @@ export class QueryWriteAddDocumentsComponent {
75
75
  type: Output
76
76
  }] }); })();
77
77
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteAddDocumentsComponent, { className: "QueryWriteAddDocumentsComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-add-documents/query-write-add-documents.component.ts", lineNumber: 12 }); })();
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cy9xdWVyeS13cml0ZS1hZGQtZG9jdW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1hZGQtZG9jdW1lbnRzL3F1ZXJ5LXdyaXRlLWFkZC1kb2N1bWVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU03RSxNQUFNLE9BQU8sK0JBQStCO0lBQ25DLE1BQU0sQ0FBQywyQkFBMkIsR0FBRyxvQkFBb0IsQ0FBQztJQUVqRCxTQUFTLENBQVk7SUFDckIsS0FBSyxDQUFTO0lBQ2QsUUFBUSxDQUFTO0lB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RiwrQkFBK0I7Y0FKM0MsU0FBUzsyQkFDRSwrQkFBK0I7Z0JBTXpCLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxLQUFLO2tCQUFwQixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQU1XLHdCQUF3QjtrQkFBeEMsTUFBTTs7a0ZBWEksK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkLCBGaWVsZFR5cGUsIEZvcm1Eb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3F1ZXJ5LW1hbmFnZW1lbnQudXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS13cml0ZS1hZGQtZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBRdWVyeVdyaXRlQWRkRG9jdW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc3RhdGljIERPQ1VNRU5UU19GT1JNX0NPTlRST0xfTkFNRSA9ICdkb2N1bWVudENvbGxlY3Rpb24nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBkb2N1bWVudEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBwdWJsaWMgbW9ja0RvY3VtZW50Q2FzZUZpZWxkOiBDYXNlRmllbGQ7XG4gIHByaXZhdGUgZG9jdW1lbnRGb3JtQ29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgZG9jdW1lbnRDb2xsZWN0aW9uVXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtRG9jdW1lbnRbXT4oKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVGhpcyBmaWVsZCBpcyBtb2NrZWQgdG8gYWxsb3cgdGhlIGRvY3VtZW50IGNvbXBvbmVudCB0byBiZSB1c2VkIGluIGlzb2xhdGlvblxuICAgIHRoaXMubW9ja0RvY3VtZW50Q2FzZUZpZWxkID0gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBRdWVyeVdyaXRlQWRkRG9jdW1lbnRzQ29tcG9uZW50LkRPQ1VNRU5UU19GT1JNX0NPTlRST0xfTkFNRSxcbiAgICAgIGxhYmVsOiB0aGlzLmxhYmVsID8gdGhpcy5sYWJlbCA6ICdBdHRhY2ggYSBkb2N1bWVudCcsXG4gICAgICBoaW50X3RleHQ6IHRoaXMuaGludFRleHQgPyB0aGlzLmhpbnRUZXh0IDogJ09ubHkgYXR0YWNoIGRvY3VtZW50cyByZWxhdGVkIHRvIHlvdXIgcXVlcnkuIEZvciBhbGwgb3RoZXIgZG9jdW1lbnRzIHVzZSB5b3VyIGNhc2UgbWFuYWdlbWVudCBkb2N1bWVudCB1cGxvYWQgZnVuY3Rpb24uJyxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ09QVElPTkFMJyxcbiAgICAgIGRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXI6ICcjQ09MTEVDVElPTihhbGxvd0luc2VydCxhbGxvd1VwZGF0ZSknLFxuICAgICAgZmllbGRfdHlwZTogT2JqZWN0LmFzc2lnbihuZXcgRmllbGRUeXBlKCksIHtcbiAgICAgICAgaWQ6ICdxdWVyeURvY3VtZW50cycsXG4gICAgICAgIHR5cGU6ICdxdWVyeURvY3VtZW50cycsXG4gICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgbWF4OiBudWxsLFxuICAgICAgICByZWd1bGFyX2V4cHJlc3Npb246IG51bGwsXG4gICAgICAgIGZpeGVkX2xpc3RfaXRlbXM6IFtdLFxuICAgICAgICBjb21wbGV4X2ZpZWxkczogW10sXG4gICAgICAgIGNvbGxlY3Rpb25fZmllbGRfdHlwZTogT2JqZWN0LmFzc2lnbihuZXcgRmllbGRUeXBlKCksIHtcbiAgICAgICAgICBpZDogJ0RvY3VtZW50JyxcbiAgICAgICAgICB0eXBlOiAnRG9jdW1lbnQnLFxuICAgICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgICBtYXg6IG51bGwsXG4gICAgICAgICAgcmVndWxhcl9leHByZXNzaW9uOiBudWxsLFxuICAgICAgICAgIGZpeGVkX2xpc3RfaXRlbXM6IFtdLFxuICAgICAgICAgIGNvbXBsZXhfZmllbGRzOiBbXSxcbiAgICAgICAgICBjb2xsZWN0aW9uX2ZpZWxkX3R5cGU6IG51bGxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICB0aGlzLm1vY2tEb2N1bWVudENhc2VGaWVsZC52YWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKT8udmFsdWVcbiAgICAgIC5tYXAoUXVlcnlNYW5hZ2VtZW50VXRpbHMuZG9jdW1lbnRUb0NvbGxlY3Rpb25Gb3JtRG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudEZvcm1Db250cm9sID0gdGhpcy5kb2N1bWVudEZvcm1Hcm91cC5nZXQoUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudC5ET0NVTUVOVFNfRk9STV9DT05UUk9MX05BTUUpO1xuICAgIGlmIChkb2N1bWVudEZvcm1Db250cm9sKSB7XG4gICAgICB0aGlzLmRvY3VtZW50Rm9ybUNvbnRyb2xTdWJzY3JpcHRpb24gPSAoZG9jdW1lbnRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTx7IGlkOiBzdHJpbmcsIHZhbHVlOiBGb3JtRG9jdW1lbnR9W10+KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGRvY3VtZW50cykgPT4gKFxuICAgICAgICAgICAgZG9jdW1lbnRzLmZpbHRlcigoZG9jdW1lbnQpID0+ICEhZG9jdW1lbnQ/LnZhbHVlPy5kb2N1bWVudF91cmwpKVxuICAgICAgICAgICksXG4gICAgICAgICAgbWFwKChkb2N1bWVudHMpID0+IGRvY3VtZW50cy5tYXAoKGRvY3VtZW50KSA9PiBkb2N1bWVudD8udmFsdWUpKSxcbiAgICAgICAgICB0YXAoKGRvY3VtZW50cykgPT4gdGhpcy5kb2N1bWVudENvbGxlY3Rpb25VcGRhdGUuZW1pdChkb2N1bWVudHMpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRGb3JtQ29udHJvbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGNjZC13cml0ZS1jb2xsZWN0aW9uLWZpZWxkIFtmb3JtR3JvdXBdPVwiZG9jdW1lbnRGb3JtR3JvdXBcIiBbY2FzZUZpZWxkXT1cIm1vY2tEb2N1bWVudENhc2VGaWVsZFwiPlxuPC9jY2Qtd3JpdGUtY29sbGVjdGlvbi1maWVsZD5cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cy9xdWVyeS13cml0ZS1hZGQtZG9jdW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1hZGQtZG9jdW1lbnRzL3F1ZXJ5LXdyaXRlLWFkZC1kb2N1bWVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU03RSxNQUFNLE9BQU8sK0JBQStCO0lBQ25DLE1BQU0sQ0FBQywyQkFBMkIsR0FBRyxvQkFBb0IsQ0FBQztJQUVqRCxTQUFTLENBQVk7SUFDckIsS0FBSyxDQUFTO0lBQ2QsUUFBUSxDQUFTO0lBRTFCLGlCQUFpQixHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLHFCQUFxQixDQUFZO0lBQ2hDLCtCQUErQixDQUFlO0lBRXJDLHdCQUF3QixHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRXhFLFFBQVE7UUFDYiwrRUFBK0U7UUFDL0UsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFBRTtZQUMxRCxFQUFFLEVBQUUsK0JBQStCLENBQUMsMkJBQTJCO1lBQy9ELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxjQUFjO1lBQy9DLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7WUFDOUUsZUFBZSxFQUFFLFVBQVU7WUFDM0IseUJBQXlCLEVBQUUsc0NBQXNDO1lBQ2pFLFVBQVUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLEVBQUU7Z0JBQ3pDLEVBQUUsRUFBRSxnQkFBZ0I7Z0JBQ3BCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEdBQUcsRUFBRSxJQUFJO2dCQUNULEdBQUcsRUFBRSxJQUFJO2dCQUNULGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGNBQWMsRUFBRSxFQUFFO2dCQUNsQixxQkFBcUIsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLEVBQUU7b0JBQ3BELEVBQUUsRUFBRSxVQUFVO29CQUNkLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsSUFBSTtvQkFDVCxHQUFHLEVBQUUsSUFBSTtvQkFDVCxrQkFBa0IsRUFBRSxJQUFJO29CQUN4QixnQkFBZ0IsRUFBRSxFQUFFO29CQUNwQixjQUFjLEVBQUUsRUFBRTtvQkFDbEIscUJBQXFCLEVBQUUsSUFBSTtpQkFDNUIsQ0FBQzthQUNILENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUs7YUFDeEUsR0FBRyxDQUFDLG9CQUFvQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLGVBQWU7UUFDcEIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDcEgsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQywrQkFBK0IsR0FBSSxtQkFBbUIsQ0FBQyxZQUFpRTtpQkFDMUgsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FDakIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FDakUsRUFDRCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUNoRSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDbEU7aUJBQ0EsU0FBUyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQywrQkFBK0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN0RCxDQUFDO3lGQS9EVSwrQkFBK0I7NkRBQS9CLCtCQUErQjtZQ1g1QyxnREFDNkI7O1lBRCtCLEFBQWhDLGlEQUErQix3Q0FBb0M7OztpRkRXbEYsK0JBQStCO2NBSjNDLFNBQVM7MkJBQ0UsK0JBQStCO2dCQU16QixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFNVyx3QkFBd0I7a0JBQXhDLE1BQU07O2tGQVhJLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgRmllbGRUeXBlLCBGb3JtRG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgUXVlcnlNYW5hZ2VtZW50VXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9xdWVyeS1tYW5hZ2VtZW50LnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXF1ZXJ5LXdyaXRlLWFkZC1kb2N1bWVudHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktd3JpdGUtYWRkLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHN0YXRpYyBET0NVTUVOVFNfRk9STV9DT05UUk9MX05BTUUgPSAnZG9jdW1lbnRDb2xsZWN0aW9uJztcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgaGludFRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgZG9jdW1lbnRGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgcHVibGljIG1vY2tEb2N1bWVudENhc2VGaWVsZDogQ2FzZUZpZWxkO1xuICBwcml2YXRlIGRvY3VtZW50Rm9ybUNvbnRyb2xTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBAT3V0cHV0KCkgcHVibGljIGRvY3VtZW50Q29sbGVjdGlvblVwZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybURvY3VtZW50W10+KCk7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFRoaXMgZmllbGQgaXMgbW9ja2VkIHRvIGFsbG93IHRoZSBkb2N1bWVudCBjb21wb25lbnQgdG8gYmUgdXNlZCBpbiBpc29sYXRpb25cbiAgICB0aGlzLm1vY2tEb2N1bWVudENhc2VGaWVsZCA9IE9iamVjdC5hc3NpZ24obmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICBpZDogUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudC5ET0NVTUVOVFNfRk9STV9DT05UUk9MX05BTUUsXG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwgOiAnQWRkIGRvY3VtZW50JyxcbiAgICAgIGhpbnRfdGV4dDogdGhpcy5oaW50VGV4dCA/IHRoaXMuaGludFRleHQgOiAnQXR0YWNoIGEgZG9jdW1lbnQgdG8gdGhpcyBtZXNzYWdlJyxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ09QVElPTkFMJyxcbiAgICAgIGRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXI6ICcjQ09MTEVDVElPTihhbGxvd0luc2VydCxhbGxvd1VwZGF0ZSknLFxuICAgICAgZmllbGRfdHlwZTogT2JqZWN0LmFzc2lnbihuZXcgRmllbGRUeXBlKCksIHtcbiAgICAgICAgaWQ6ICdxdWVyeURvY3VtZW50cycsXG4gICAgICAgIHR5cGU6ICdxdWVyeURvY3VtZW50cycsXG4gICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgbWF4OiBudWxsLFxuICAgICAgICByZWd1bGFyX2V4cHJlc3Npb246IG51bGwsXG4gICAgICAgIGZpeGVkX2xpc3RfaXRlbXM6IFtdLFxuICAgICAgICBjb21wbGV4X2ZpZWxkczogW10sXG4gICAgICAgIGNvbGxlY3Rpb25fZmllbGRfdHlwZTogT2JqZWN0LmFzc2lnbihuZXcgRmllbGRUeXBlKCksIHtcbiAgICAgICAgICBpZDogJ0RvY3VtZW50JyxcbiAgICAgICAgICB0eXBlOiAnRG9jdW1lbnQnLFxuICAgICAgICAgIG1pbjogbnVsbCxcbiAgICAgICAgICBtYXg6IG51bGwsXG4gICAgICAgICAgcmVndWxhcl9leHByZXNzaW9uOiBudWxsLFxuICAgICAgICAgIGZpeGVkX2xpc3RfaXRlbXM6IFtdLFxuICAgICAgICAgIGNvbXBsZXhfZmllbGRzOiBbXSxcbiAgICAgICAgICBjb2xsZWN0aW9uX2ZpZWxkX3R5cGU6IG51bGxcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICB0aGlzLm1vY2tEb2N1bWVudENhc2VGaWVsZC52YWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldCgnYXR0YWNobWVudHMnKT8udmFsdWVcbiAgICAgIC5tYXAoUXVlcnlNYW5hZ2VtZW50VXRpbHMuZG9jdW1lbnRUb0NvbGxlY3Rpb25Gb3JtRG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudEZvcm1Db250cm9sID0gdGhpcy5kb2N1bWVudEZvcm1Hcm91cC5nZXQoUXVlcnlXcml0ZUFkZERvY3VtZW50c0NvbXBvbmVudC5ET0NVTUVOVFNfRk9STV9DT05UUk9MX05BTUUpO1xuICAgIGlmIChkb2N1bWVudEZvcm1Db250cm9sKSB7XG4gICAgICB0aGlzLmRvY3VtZW50Rm9ybUNvbnRyb2xTdWJzY3JpcHRpb24gPSAoZG9jdW1lbnRGb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTx7IGlkOiBzdHJpbmcsIHZhbHVlOiBGb3JtRG9jdW1lbnR9W10+KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGRvY3VtZW50cykgPT4gKFxuICAgICAgICAgICAgZG9jdW1lbnRzLmZpbHRlcigoZG9jdW1lbnQpID0+ICEhZG9jdW1lbnQ/LnZhbHVlPy5kb2N1bWVudF91cmwpKVxuICAgICAgICAgICksXG4gICAgICAgICAgbWFwKChkb2N1bWVudHMpID0+IGRvY3VtZW50cy5tYXAoKGRvY3VtZW50KSA9PiBkb2N1bWVudD8udmFsdWUpKSxcbiAgICAgICAgICB0YXAoKGRvY3VtZW50cykgPT4gdGhpcy5kb2N1bWVudENvbGxlY3Rpb25VcGRhdGUuZW1pdChkb2N1bWVudHMpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRGb3JtQ29udHJvbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGNjZC13cml0ZS1jb2xsZWN0aW9uLWZpZWxkIFtmb3JtR3JvdXBdPVwiZG9jdW1lbnRGb3JtR3JvdXBcIiBbY2FzZUZpZWxkXT1cIm1vY2tEb2N1bWVudENhc2VGaWVsZFwiPlxuPC9jY2Qtd3JpdGUtY29sbGVjdGlvbi1maWVsZD5cbiJdfQ==
@@ -18,4 +18,4 @@ export var TaskState;
18
18
  TaskState["Terminated"] = "TERMINATED";
19
19
  TaskState["PendingReConfiguration"] = "PENDING_RECONFIGURATION";
20
20
  })(TaskState || (TaskState = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEQSxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFVLENBQUE7SUFDVixrQ0FBa0IsQ0FBQTtJQUNsQiw0QkFBWSxDQUFBO0lBQ1osZ0NBQWdCLENBQUE7SUFDaEIsZ0NBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3QixzREFBeUMsQ0FBQTtJQUN6QyxrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QixvQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBeUIsQ0FBQTtJQUN6QiwrREFBa0QsQ0FBQTtBQUNwRCxDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhc2sge1xuICBhc3NpZ25lZT86IHN0cmluZztcbiAgYXV0b19hc3NpZ25lZD86IGJvb2xlYW47XG4gIGNhc2VfY2F0ZWdvcnk6IHN0cmluZztcbiAgY2FzZV9pZDogc3RyaW5nO1xuICBjYXNlX21hbmFnZW1lbnRfY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGNhc2VfbmFtZT86IHN0cmluZztcbiAgY2FzZV90eXBlX2lkPzogc3RyaW5nO1xuICBjcmVhdGVkX2RhdGU6IHN0cmluZztcbiAgZHVlX2RhdGU/OiBzdHJpbmc7XG4gIGV4ZWN1dGlvbl90eXBlPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBqdXJpc2RpY3Rpb246IHN0cmluZztcbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIGxvY2F0aW9uX25hbWU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBlcm1pc3Npb25zOiB7IHZhbHVlczogUGVybWlzc2lvbnNbXX07XG4gIHJlZ2lvbj86IHN0cmluZztcbiAgc2VjdXJpdHlfY2xhc3NpZmljYXRpb24/OiBzdHJpbmc7XG4gIHRhc2tfc3RhdGU/OiBzdHJpbmc7XG4gIHRhc2tfc3lzdGVtPzogc3RyaW5nO1xuICB0YXNrX3RpdGxlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB3YXJuaW5nX2xpc3Q/OiB7IHZhbHVlczogc3RyaW5nW119O1xuICB3YXJuaW5ncz86IHRydWU7XG4gIHdvcmtfdHlwZV9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyVGFzayB7XG4gIHRhc2tfZGF0YTogVGFzayxcbiAgY29tcGxldGVfdGFzazogYm9vbGVhblxufVxuXG4vLyBRdWVyeTogVXNlcklEIHdpbGwgYmUgcmVtb3ZlZCBvbiBsb2dvdXQvbG9naW4gKGlzIGl0IG5lY2Vzc2FyeSk/XG5leHBvcnQgaW50ZXJmYWNlIFRhc2tFdmVudENvbXBsZXRpb25JbmZvIHtcbiAgdGFza0lkOiBzdHJpbmc7XG4gIGV2ZW50SWQ6IHN0cmluZztcbiAgY2FzZUlkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBjcmVhdGVkVGltZXN0YW1wOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnREZXRhaWxzIHtcbiAgZXZlbnRJZDogc3RyaW5nO1xuICBjYXNlSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGFzc2lnbk5lZWRlZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUGVybWlzc2lvbnMge1xuICBPd249ICdPV04nLFxuICBFeGVjdXRlPSAnRVhFQ1VURScsXG4gIFJlYWQ9ICdSRUFEJyxcbiAgTWFuYWdlPSAnTUFOQUdFJyxcbiAgQ2FuY2VsPSAnQ0FOQ0VMJyxcbn1cblxuZXhwb3J0IGVudW0gVGFza1N0YXRlIHtcbiAgVW5Db25maWd1cmVkID0gJ1VOQ09ORklHVVJFRCcsXG4gIFBlbmRpbmdBdXRvQXNzaWduID0gJ1BFTkRJTkdfQVVUT19BU1NJR04nLFxuICBBc3NpZ25lZCA9ICdBU1NJR05FRCcsXG4gIENvbmZpZ3VyZWQgPSAnQ09ORklHVVJFRCcsXG4gIFVuYXNzaWduZWQgPSAnVU5BU1NJR05FRCcsXG4gIENvbXBsZXRlZCA9ICdDT01QTEVURUQnLFxuICBDYW5jZWxsZWQgPSAnQ0FOQ0VMTEVEJyxcbiAgVGVybWluYXRlZCA9ICdURVJNSU5BVEVEJyxcbiAgUGVuZGluZ1JlQ29uZmlndXJhdGlvbiA9ICdQRU5ESU5HX1JFQ09ORklHVVJBVElPTidcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZG9tYWluL3dvcmstYWxsb2NhdGlvbi9UYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEQSxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ3JCLDBCQUFVLENBQUE7SUFDVixrQ0FBa0IsQ0FBQTtJQUNsQiw0QkFBWSxDQUFBO0lBQ1osZ0NBQWdCLENBQUE7SUFDaEIsZ0NBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCO0FBRUQsTUFBTSxDQUFOLElBQVksU0FVWDtBQVZELFdBQVksU0FBUztJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3QixzREFBeUMsQ0FBQTtJQUN6QyxrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QixvQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBeUIsQ0FBQTtJQUN6QiwrREFBa0QsQ0FBQTtBQUNwRCxDQUFDLEVBVlcsU0FBUyxLQUFULFNBQVMsUUFVcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhc2sge1xuICBhc3NpZ25lZT86IHN0cmluZztcbiAgYXV0b19hc3NpZ25lZD86IGJvb2xlYW47XG4gIGNhc2VfY2F0ZWdvcnk6IHN0cmluZztcbiAgY2FzZV9pZDogc3RyaW5nO1xuICBjYXNlX21hbmFnZW1lbnRfY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIGNhc2VfbmFtZT86IHN0cmluZztcbiAgY2FzZV90eXBlX2lkPzogc3RyaW5nO1xuICBjcmVhdGVkX2RhdGU6IHN0cmluZztcbiAgZHVlX2RhdGU/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBleGVjdXRpb25fdHlwZT86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAganVyaXNkaWN0aW9uOiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBsb2NhdGlvbl9uYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogeyB2YWx1ZXM6IFBlcm1pc3Npb25zW119O1xuICByZWdpb24/OiBzdHJpbmc7XG4gIHNlY3VyaXR5X2NsYXNzaWZpY2F0aW9uPzogc3RyaW5nO1xuICB0YXNrX3N0YXRlPzogc3RyaW5nO1xuICB0YXNrX3N5c3RlbT86IHN0cmluZztcbiAgdGFza190aXRsZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgd2FybmluZ19saXN0PzogeyB2YWx1ZXM6IHN0cmluZ1tdfTtcbiAgd2FybmluZ3M/OiB0cnVlO1xuICB3b3JrX3R5cGVfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclRhc2sge1xuICB0YXNrX2RhdGE6IFRhc2ssXG4gIGNvbXBsZXRlX3Rhc2s6IGJvb2xlYW5cbn1cblxuLy8gUXVlcnk6IFVzZXJJRCB3aWxsIGJlIHJlbW92ZWQgb24gbG9nb3V0L2xvZ2luIChpcyBpdCBuZWNlc3NhcnkpP1xuZXhwb3J0IGludGVyZmFjZSBUYXNrRXZlbnRDb21wbGV0aW9uSW5mbyB7XG4gIHRhc2tJZDogc3RyaW5nO1xuICBldmVudElkOiBzdHJpbmc7XG4gIGNhc2VJZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgY3JlYXRlZFRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50RGV0YWlscyB7XG4gIGV2ZW50SWQ6IHN0cmluZztcbiAgY2FzZUlkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBhc3NpZ25OZWVkZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25zIHtcbiAgT3duPSAnT1dOJyxcbiAgRXhlY3V0ZT0gJ0VYRUNVVEUnLFxuICBSZWFkPSAnUkVBRCcsXG4gIE1hbmFnZT0gJ01BTkFHRScsXG4gIENhbmNlbD0gJ0NBTkNFTCcsXG59XG5cbmV4cG9ydCBlbnVtIFRhc2tTdGF0ZSB7XG4gIFVuQ29uZmlndXJlZCA9ICdVTkNPTkZJR1VSRUQnLFxuICBQZW5kaW5nQXV0b0Fzc2lnbiA9ICdQRU5ESU5HX0FVVE9fQVNTSUdOJyxcbiAgQXNzaWduZWQgPSAnQVNTSUdORUQnLFxuICBDb25maWd1cmVkID0gJ0NPTkZJR1VSRUQnLFxuICBVbmFzc2lnbmVkID0gJ1VOQVNTSUdORUQnLFxuICBDb21wbGV0ZWQgPSAnQ09NUExFVEVEJyxcbiAgQ2FuY2VsbGVkID0gJ0NBTkNFTExFRCcsXG4gIFRlcm1pbmF0ZWQgPSAnVEVSTUlOQVRFRCcsXG4gIFBlbmRpbmdSZUNvbmZpZ3VyYXRpb24gPSAnUEVORElOR19SRUNPTkZJR1VSQVRJT04nXG59XG4iXX0=
@@ -3,12 +3,16 @@ import { Injectable } from '@angular/core';
3
3
  import { throwError } from 'rxjs';
4
4
  import { HttpError } from '../../domain/http/http-error.model';
5
5
  import { AuthService } from '../auth/auth.service';
6
+ import { LoadingService } from '../loading';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../auth/auth.service";
9
+ import * as i2 from "../loading";
8
10
  export class HttpErrorService {
9
11
  authService;
10
- constructor(authService) {
12
+ loadingService;
13
+ constructor(authService, loadingService) {
11
14
  this.authService = authService;
15
+ this.loadingService = loadingService;
12
16
  }
13
17
  static CONTENT_TYPE = 'Content-Type';
14
18
  static JSON = 'json';
@@ -52,16 +56,19 @@ export class HttpErrorService {
52
56
  handle(error, redirectIfNotAuthorised = true) {
53
57
  console.error('Handling error in http error service.');
54
58
  console.error(error);
59
+ if (this.loadingService.hasSharedSpinner()) {
60
+ this.loadingService.unregisterSharedSpinner();
61
+ }
55
62
  const httpError = HttpErrorService.convertToHttpError(error);
56
63
  if (redirectIfNotAuthorised && httpError.status === 401) {
57
64
  this.authService.signIn();
58
65
  }
59
66
  return throwError(httpError);
60
67
  }
61
- static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(i1.AuthService)); };
68
+ static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.LoadingService)); };
62
69
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HttpErrorService, factory: HttpErrorService.ɵfac });
63
70
  }
64
71
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpErrorService, [{
65
72
  type: Injectable
66
- }], () => [{ type: i1.AuthService }], null); })();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9odHRwL2h0dHAtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSW5ELE1BQU0sT0FBTyxnQkFBZ0I7SUFFRTtJQUE3QixZQUE2QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFakQsTUFBTSxDQUFVLFlBQVksR0FBRyxjQUFjLENBQUM7SUFDOUMsTUFBTSxDQUFVLElBQUksR0FBRyxNQUFNLENBQUM7SUFFOUIsS0FBSyxDQUFZO0lBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUE4QjtRQUM3RCxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUYsSUFBSSxDQUFDO29CQUNILFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBOEIsRUFBRSx1QkFBdUIsR0FBRyxJQUFJO1FBQzFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUFjLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLElBQUksdUJBQXVCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixDQUFDOzBFQXJEVSxnQkFBZ0I7Z0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0I7O2lGQUFoQixnQkFBZ0I7Y0FENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vZG9tYWluL2h0dHAvaHR0cC1lcnJvci5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEVycm9yU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ09OVEVOVF9UWVBFID0gJ0NvbnRlbnQtVHlwZSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEpTT04gPSAnanNvbic7XG5cbiAgcHJpdmF0ZSBlcnJvcjogSHR0cEVycm9yO1xuICBwdWJsaWMgc3RhdGljIGNvbnZlcnRUb0h0dHBFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnkpOiBIdHRwRXJyb3Ige1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvcikge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH1cbiAgICBsZXQgaHR0cEVycm9yID0gbmV3IEh0dHBFcnJvcigpO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgICBpZiAoZXJyb3IuaGVhZGVycz8uZ2V0KEh0dHBFcnJvclNlcnZpY2UuQ09OVEVOVF9UWVBFKS5pbmRleE9mKEh0dHBFcnJvclNlcnZpY2UuSlNPTikgIT09IC0xKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaHR0cEVycm9yID0gSHR0cEVycm9yLmZyb20oZXJyb3IpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlLCBlLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWh0dHBFcnJvci5zdGF0dXMpIHtcbiAgICAgICAgaHR0cEVycm9yLnN0YXR1cyA9IGVycm9yLnN0YXR1cztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IubWVzc2FnZSkge1xuICAgICAgICBodHRwRXJyb3IubWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgIGh0dHBFcnJvci5zdGF0dXMgPSBlcnJvci5zdGF0dXM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBodHRwRXJyb3I7XG4gIH1cblxuICBwdWJsaWMgc2V0RXJyb3IoZXJyb3I6IEh0dHBFcnJvcikge1xuICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVFcnJvcigpOiBIdHRwRXJyb3Ige1xuICAgIGNvbnN0IGVycm9yID0gdGhpcy5lcnJvcjtcbiAgICB0aGlzLmVycm9yID0gbnVsbDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSwgcmVkaXJlY3RJZk5vdEF1dGhvcmlzZWQgPSB0cnVlKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0hhbmRsaW5nIGVycm9yIGluIGh0dHAgZXJyb3Igc2VydmljZS4nKTtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICBjb25zdCBodHRwRXJyb3I6IEh0dHBFcnJvciA9IEh0dHBFcnJvclNlcnZpY2UuY29udmVydFRvSHR0cEVycm9yKGVycm9yKTtcbiAgICBpZiAocmVkaXJlY3RJZk5vdEF1dGhvcmlzZWQgJiYgaHR0cEVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25JbigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcihodHRwRXJyb3IpO1xuICB9XG59XG4iXX0=
73
+ }], () => [{ type: i1.AuthService }, { type: i2.LoadingService }], null); })();
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9odHRwL2h0dHAtZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBSTVDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFRTtJQUNOO0lBRHZCLFlBQTZCLFdBQXdCLEVBQzlCLGNBQThCO1FBRHhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNsRCxDQUFDO0lBRUksTUFBTSxDQUFVLFlBQVksR0FBRyxjQUFjLENBQUM7SUFDOUMsTUFBTSxDQUFVLElBQUksR0FBRyxNQUFNLENBQUM7SUFFOUIsS0FBSyxDQUFZO0lBQ2xCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUE4QjtRQUM3RCxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUMvQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUYsSUFBSSxDQUFDO29CQUNILFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBOEIsRUFBRSx1QkFBdUIsR0FBRyxJQUFJO1FBQzFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ2hELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBYyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxJQUFJLHVCQUF1QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsQ0FBQzswRUExRFUsZ0JBQWdCO2dFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCOztpRkFBaEIsZ0JBQWdCO2NBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uLy4uL2RvbWFpbi9odHRwL2h0dHAtZXJyb3IubW9kZWwnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL2xvYWRpbmcnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENPTlRFTlRfVFlQRSA9ICdDb250ZW50LVR5cGUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBKU09OID0gJ2pzb24nO1xuXG4gIHByaXZhdGUgZXJyb3I6IEh0dHBFcnJvcjtcbiAgcHVibGljIHN0YXRpYyBjb252ZXJ0VG9IdHRwRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KTogSHR0cEVycm9yIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3IpIHtcbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9XG4gICAgbGV0IGh0dHBFcnJvciA9IG5ldyBIdHRwRXJyb3IoKTtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgaWYgKGVycm9yLmhlYWRlcnM/LmdldChIdHRwRXJyb3JTZXJ2aWNlLkNPTlRFTlRfVFlQRSkuaW5kZXhPZihIdHRwRXJyb3JTZXJ2aWNlLkpTT04pICE9PSAtMSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGh0dHBFcnJvciA9IEh0dHBFcnJvci5mcm9tKGVycm9yKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSwgZS5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFodHRwRXJyb3Iuc3RhdHVzKSB7XG4gICAgICAgIGh0dHBFcnJvci5zdGF0dXMgPSBlcnJvci5zdGF0dXM7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yLm1lc3NhZ2UpIHtcbiAgICAgICAgaHR0cEVycm9yLm1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgfVxuICAgICAgaWYgKGVycm9yLnN0YXR1cykge1xuICAgICAgICBodHRwRXJyb3Iuc3RhdHVzID0gZXJyb3Iuc3RhdHVzO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaHR0cEVycm9yO1xuICB9XG5cbiAgcHVibGljIHNldEVycm9yKGVycm9yOiBIdHRwRXJyb3IpIHtcbiAgICB0aGlzLmVycm9yID0gZXJyb3I7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRXJyb3IoKTogSHR0cEVycm9yIHtcbiAgICBjb25zdCBlcnJvciA9IHRoaXMuZXJyb3I7XG4gICAgdGhpcy5lcnJvciA9IG51bGw7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnksIHJlZGlyZWN0SWZOb3RBdXRob3Jpc2VkID0gdHJ1ZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICBjb25zb2xlLmVycm9yKCdIYW5kbGluZyBlcnJvciBpbiBodHRwIGVycm9yIHNlcnZpY2UuJyk7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgaWYgKHRoaXMubG9hZGluZ1NlcnZpY2UuaGFzU2hhcmVkU3Bpbm5lcigpKXtcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UudW5yZWdpc3RlclNoYXJlZFNwaW5uZXIoKTtcbiAgICB9XG4gICAgY29uc3QgaHR0cEVycm9yOiBIdHRwRXJyb3IgPSBIdHRwRXJyb3JTZXJ2aWNlLmNvbnZlcnRUb0h0dHBFcnJvcihlcnJvcik7XG4gICAgaWYgKHJlZGlyZWN0SWZOb3RBdXRob3Jpc2VkICYmIGh0dHBFcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5zaWduSW4oKTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoaHR0cEVycm9yKTtcbiAgfVxufVxuIl19
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
5
5
  export class LoadingService {
6
6
  registered = new Map();
7
7
  loading = new BehaviorSubject(false);
8
+ sharedSpinners = [];
8
9
  get isLoading() {
9
10
  return this.loading.pipe(distinctUntilChanged());
10
11
  }
@@ -18,6 +19,17 @@ export class LoadingService {
18
19
  this.registered.delete(token);
19
20
  this.loading.next(this.registered.size > 0);
20
21
  }
22
+ addSharedSpinner(spinnerId) {
23
+ this.sharedSpinners.push(spinnerId);
24
+ }
25
+ hasSharedSpinner() {
26
+ return this.sharedSpinners.length > 0;
27
+ }
28
+ unregisterSharedSpinner() {
29
+ this.registered.delete(this.sharedSpinners[0]);
30
+ this.sharedSpinners.shift();
31
+ this.loading.next(this.registered.size > 0);
32
+ }
21
33
  generateToken() {
22
34
  const timestamp = window.performance.now();
23
35
  return `toolkit-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
@@ -28,4 +40,4 @@ export class LoadingService {
28
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingService, [{
29
41
  type: Injectable
30
42
  }], null, null); })();
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0MsT0FBTyxtQkFBbUIsU0FBUyxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDakcsQ0FBQzt3RUF2QlUsY0FBYztnRUFBZCxjQUFjLFdBQWQsY0FBYzs7aUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RlcmVkID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGluZy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdlbmVyYXRlVG9rZW4oKTtcbiAgICB0aGlzLnJlZ2lzdGVyZWQuc2V0KHRva2VuLCB0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodG9rZW4pO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcmV0dXJuIGB0b29sa2l0LWxvYWRpbmctJHt0aW1lc3RhbXB9YDsgLy8gZm9ybWF0OiBbc291cmNlLWxpYnJhcnldLVt1bmlxdWUgaW5jcmVtZW50aW5nIG51bWJlcl1cbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxjQUFjO0lBQ1IsVUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRXJDLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFNBQWlCO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzNDLE9BQU8sbUJBQW1CLFNBQVMsRUFBRSxDQUFDLENBQUMsd0RBQXdEO0lBQ2pHLENBQUM7d0VBdENVLGNBQWM7Z0VBQWQsY0FBYyxXQUFkLGNBQWM7O2lGQUFkLGNBQWM7Y0FEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0ZXJlZCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlZFNwaW5uZXJzID0gW107XG5cbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGluZy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdlbmVyYXRlVG9rZW4oKTtcbiAgICB0aGlzLnJlZ2lzdGVyZWQuc2V0KHRva2VuLCB0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodG9rZW4pO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwdWJsaWMgYWRkU2hhcmVkU3Bpbm5lcihzcGlubmVySWQ6IHN0cmluZyl7XG4gICAgdGhpcy5zaGFyZWRTcGlubmVycy5wdXNoKHNwaW5uZXJJZCk7XG4gIH1cblxuICBwdWJsaWMgaGFzU2hhcmVkU3Bpbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZWRTcGlubmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXJTaGFyZWRTcGlubmVyKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodGhpcy5zaGFyZWRTcGlubmVyc1swXSk7XG4gICAgdGhpcy5zaGFyZWRTcGlubmVycy5zaGlmdCgpO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcmV0dXJuIGB0b29sa2l0LWxvYWRpbmctJHt0aW1lc3RhbXB9YDsgLy8gZm9ybWF0OiBbc291cmNlLWxpYnJhcnldLVt1bmlxdWUgaW5jcmVtZW50aW5nIG51bWJlcl1cbiAgfVxufVxuIl19