@hmcts/rpx-xui-common-lib 2.0.37 → 2.0.38-ongoing-accessibility

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.
@@ -313,12 +313,12 @@ export class SelectedCaseComponent {
313
313
  return `${elementName}-${this.sharedCase.caseId}`;
314
314
  }
315
315
  static { this.ɵfac = function SelectedCaseComponent_Factory(t) { return new (t || SelectedCaseComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); }; }
316
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 18, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-controls", "accordion-with-summary-sections-content-1", "aria-describedby", "accordion-with-summary-sections-summary-1", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], ["aria-labelledby", "buildElementId('accordion-with-summary-sections-heading')", 1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "javascript:void(0);", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "javascript:void(0);", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
316
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 20, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], [1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "javascript:void(0);", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "javascript:void(0);", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
317
317
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
318
318
  i0.ɵɵtext(4);
319
319
  i0.ɵɵpipe(5, "rpxTranslate");
320
320
  i0.ɵɵelementEnd();
321
- i0.ɵɵelementStart(6, "h1", 4);
321
+ i0.ɵɵelementStart(6, "h3", 4);
322
322
  i0.ɵɵtext(7);
323
323
  i0.ɵɵpipe(8, "rpxTranslate");
324
324
  i0.ɵɵelementEnd()();
@@ -337,18 +337,20 @@ export class SelectedCaseComponent {
337
337
  i0.ɵɵadvance(3);
338
338
  i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("case-title"));
339
339
  i0.ɵɵadvance();
340
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 12, ctx.sharedCase.caseTitle));
340
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, ctx.sharedCase.caseTitle));
341
341
  i0.ɵɵadvance(2);
342
342
  i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("case-id"));
343
343
  i0.ɵɵadvance();
344
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 14, ctx.sharedCase.caseId));
344
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 16, ctx.sharedCase.caseId));
345
345
  i0.ɵɵadvance(3);
346
346
  i0.ɵɵproperty("ngIf", ctx.caseCount > 1);
347
347
  i0.ɵɵadvance(3);
348
348
  i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("accordion-with-summary-sections-heading"));
349
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(14, 16, "Expand or Collapse"));
349
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(14, 18, "Expand or Collapse"));
350
+ i0.ɵɵattribute("aria-controls", "accordion-with-summary-sections-content" + ctx.buildElementId("accordion-with-summary-sections-heading"));
350
351
  i0.ɵɵadvance(3);
351
352
  i0.ɵɵpropertyInterpolate("id", ctx.buildElementId("accordion-with-summary-sections-content"));
353
+ i0.ɵɵattribute("aria-labelledby", ctx.buildElementId("accordion-with-summary-sections-heading"));
352
354
  i0.ɵɵadvance();
353
355
  i0.ɵɵproperty("ngIf", ctx.showNoUsersAccessInfo());
354
356
  i0.ɵɵadvance();
@@ -359,7 +361,7 @@ export class SelectedCaseComponent {
359
361
  }
360
362
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseComponent, [{
361
363
  type: Component,
362
- args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h1>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\r\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
364
+ args: [{ selector: 'xuilib-selected-case', template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\r\n <div class=\"govuk-grid-row govuk-case-header\">\r\n <div class=\"govuk-grid-column-three-quarters\">\r\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\r\n <h3 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h3>\r\n </div>\r\n <div class=\"govuk-grid-column-ten-percent\">\r\n <button *ngIf=\"caseCount > 1\"\r\n id=\"{{buildElementId('btn-deselect-case')}}\"\r\n class=\"govuk-button hmcts-button--secondary\"\r\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\r\n {{'Deselect case' | rpxTranslate}}\r\n </button>\r\n </div>\r\n <div class=\"govuk-accordion__section-header govuk-grid-column-ten-percent\">\r\n <div class=\"govuk-accordion__section-heading\">\r\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\r\n [attr.aria-controls]=\"'accordion-with-summary-sections-content' + buildElementId('accordion-with-summary-sections-heading')\" class=\"govuk-accordion__section-button\"\r\n aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\r\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\r\n [attr.aria-labelledby]=\"buildElementId('accordion-with-summary-sections-heading')\" >\r\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\r\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\r\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\r\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\r\n </span>\r\n </div>\r\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\r\n <thead class=\"govuk-table__head\">\r\n <tr class=\"govuk-table__row\">\r\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\r\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"govuk-table__body\">\r\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\r\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\r\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\r\n <td class=\"govuk-table__cell\">\r\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\r\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\r\n </td>\r\n <td class=\"govuk-table__cell\">\r\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\r\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-ten-percent{box-sizing:border-box;padding-top:10px;width:10%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}.govuk-accordion__section-heading,.govuk-accordion__section-button{border-top:0}\n"] }]
363
365
  }], () => [{ type: i1.CaseSharingStateService }], { sharedCase: [{
364
366
  type: Input
365
367
  }], selectedUser: [{
@@ -376,4 +378,4 @@ export class SelectedCaseComponent {
376
378
  type: Output
377
379
  }] }); })();
378
380
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectedCaseComponent, { className: "SelectedCaseComponent", filePath: "lib/components/selected-case/selected-case.component.ts", lineNumber: 14 }); })();
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxxTEFBUyxvQ0FBc0IsS0FBQztJQUNoQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCwwRUFBNEM7SUFHNUMsY0FDRjtJQURFLHNFQUNGOzs7SUFjQSxBQURGLCtCQUE0RCxlQUN3QjtJQUNoRixZQUNGOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSEUsY0FBOEM7SUFBOUMsNEVBQThDO0lBQ2xELGNBQ0Y7SUFERSw0SEFDRjs7O0lBR0EsQUFERiwrQkFBNEQsZUFDMEI7SUFDbEYsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0g7OztJQUhFLGNBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxjQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQXNIO0lBQWhFLHdPQUFTLDJDQUEwQixLQUFDO0lBQTRCLFlBQTRCOztJQUFBLGdDQUFvQztJQUFBLFlBQXlFOztJQUFPLEFBQVAsaUJBQU8sRUFBSTs7O0lBQXBKLGNBQTRCO0lB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LDRCQUE4RDtZQUdwRSxBQURFLEFBREUsQUFEZ0UsaUJBQVMsRUFDbkUsRUFDRixFQUNGO1lBQ04sZ0NBQ2tGO1lBV2hGLEFBTEEsQUFMQSx5RUFBNEQsNERBS0Esa0VBS0g7WUF5QjdELEFBREUsaUJBQU0sRUFDRjs7WUE1REQsOEVBQW1EO1lBRzlDLGVBQXFDO1lBQXJDLGdFQUFxQztZQUEwQixjQUF5QztZQUF6QyxxRUFBeUM7WUFDeEcsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQThCLGNBQXNDO1lBQXRDLGtFQUFzQztZQUdqRyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFTSixlQUFrRTtZQUFsRSw2RkFBa0U7WUFFQyxvRUFBNkM7WUFLdkksZUFBa0U7WUFBbEUsNkZBQWtFO1lBRXhDLGNBQTZCO1lBQTdCLGtEQUE2QjtZQUs3QixjQUE2QjtZQUE3QixrREFBNkI7WUFLOUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7d0RBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNOztrRkFUSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcbiAgQElucHV0KCkgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlVc2VySWQodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyLmlkYW1JZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW1vdmUoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFDYXNlLnNoYXJlZFdpdGggJiYgYUNhc2Uuc2hhcmVkV2l0aC5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZVJlbW92ZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVBZGRlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh1c2VyLCBzaGFyZWRDYXNlLmNhc2VJZCk7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RDYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIC8vIEEgdXNlciBpcyBhZGRlZCB0byBhIGNhc2VcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBjYXNlIGhhcyAwIHVzZXJzIHdpdGggYWNjZXNzIHRvIGl0XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY2Nlc3MgdG8gdGhlIGxhc3QgdXNlciBpcyByZW1vdmVkXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VySGFzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJBY2Nlc3NUYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aDogVXNlckRldGFpbHNbXSwgcGVuZGluZ1NoYXJlczogVXNlckRldGFpbHNbXSk6IFVzZXJEZXRhaWxzW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zaGFyZWRXaXRoLFxuICAgICAgLi4ucGVuZGluZ1NoYXJlc1xuICAgIF0uc29ydCgodXNlcjEsIHVzZXIyKSA9PiB7XG4gICAgICByZXR1cm4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAodXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXNlcklkU2V0dGVyKGlzUGVuZGluZzogYm9vbGVhbiwgaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzUGVuZGluZyA/IGBwZW5kaW5nU2hhcmVzLSR7aWR9YCA6IGAke2lkfWA7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbGVtZW50SWQoZWxlbWVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2VsZW1lbnROYW1lfS0ke3RoaXMuc2hhcmVkQ2FzZS5jYXNlSWR9YDtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2dvdnVrLWFjY29yZGlvbl9fc2VjdGlvbicpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay1jYXNlLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XHJcbiAgICAgIDxoMyBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtdGl0bGUnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlVGl0bGUgfCBycHhUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8aDEgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLWlkJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS1zdWItdGl0bGVcIj57eyBzaGFyZWRDYXNlLmNhc2VJZCB8IHJweFRyYW5zbGF0ZSB9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY2FzZUNvdW50ID4gMVwiXHJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGhtY3RzLWJ1dHRvbi0tc2Vjb25kYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25EZXNlbGVjdChzaGFyZWRDYXNlKVwiIHRpdGxlPVwiRGVzZWxlY3QgY2FzZVwiPlxyXG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLXRlbi1wZXJjZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZ1wiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cImFjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtY29udGVudC0xXCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uXCJcclxuICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1zdW1tYXJ5LTFcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBbdGl0bGVdPVwiJ0V4cGFuZCBvciBDb2xsYXBzZScgfCBycHhUcmFuc2xhdGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1jb250ZW50Jyl9fVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnRcIlxyXG4gICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiYnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLW5vLXVzZXInKX19XCIgY2xhc3M9XCJnb3Z1ay1kaXYtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgIHt7J05vIHVzZXJzIGZyb20geW91ciBvcmdhbmlzYXRpb24gY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cInNob3dVc2VySGFzQWNjZXNzSW5mbygpXCI+XHJcbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydVc2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIHdpdGggYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwic2hvd1VzZXJBY2Nlc3NUYWJsZSgpXCI+XHJcbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCduYW1lLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2VtYWlsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbGFiZWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWxhYmVsXCIgc2NvcGU9XCJjb2xcIj57eyAnU3RhdHVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGNvbWJpbmVkU29ydGVkU2hhcmVzOyBpbmRleCBhcyBpZHg7IHRyYWNrQnk6IHRyYWNrQnlVc2VySWRcIj5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZW1haWwte3sgdXNlcklkU2V0dGVyKGNhbkNhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luYywgaWR4KSB9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyB1c2VyLmVtYWlsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3snZnJvbSBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCJjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiAoY2xpY2spPVwib25DYW5jZWwodXNlciwgc2hhcmVkQ2FzZSlcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPnt7J0NhbmNlbCcgfCBycHhUcmFuc2xhdGV9fSA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J2FkZGluZycgfCBycHhUcmFuc2xhdGV9fSB7eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3sndG8gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVSZW1vdmVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZSBobWN0cy1iYWRnZS0tcmVkXCI+e3snVG8gYmUgcmVtb3ZlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVBZGRlZChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIGNsYXNzPVwiaG1jdHMtYmFkZ2VcIj57eydUbyBiZSBhZGRlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90Ym9keT5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0lDQ2pHLGtDQUd5RDtJQUF2RCxxTEFBUyxvQ0FBc0IsS0FBQztJQUNoQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCwwRUFBNEM7SUFHNUMsY0FDRjtJQURFLHNFQUNGOzs7SUFjQSxBQURGLCtCQUE0RCxlQUN3QjtJQUNoRixZQUNGOztJQUNGLEFBREUsaUJBQU8sRUFDSDs7O0lBSEUsY0FBOEM7SUFBOUMsNEVBQThDO0lBQ2xELGNBQ0Y7SUFERSw0SEFDRjs7O0lBR0EsQUFERiwrQkFBNEQsZUFDMEI7SUFDbEYsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0g7OztJQUhFLGNBQWdEO0lBQWhELDhFQUFnRDtJQUNwRCxjQUNGO0lBREUsK0dBQ0Y7Ozs7SUFnQk0sNkJBQXNIO0lBQWhFLHdPQUFTLDJDQUEwQixLQUFDO0lBQTRCLFlBQTRCOztJQUFBLGdDQUFvQztJQUFBLFlBQXlFOztJQUFPLEFBQVAsaUJBQU8sRUFBSTs7O0lBQXBKLGNBQTRCO0lB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LDRCQUE4RDtZQUdwRSxBQURFLEFBREUsQUFEZ0UsaUJBQVMsRUFDbkUsRUFDRixFQUNGO1lBQ04sZ0NBQ3lGO1lBV3ZGLEFBTEEsQUFMQSx5RUFBNEQsNERBS0Esa0VBS0g7WUF5QjdELEFBREUsaUJBQU0sRUFDRjs7WUE1REQsOEVBQW1EO1lBRzlDLGVBQXFDO1lBQXJDLGdFQUFxQztZQUEwQixjQUF5QztZQUF6QyxxRUFBeUM7WUFDeEcsZUFBa0M7WUFBbEMsNkRBQWtDO1lBQThCLGNBQXNDO1lBQXRDLGtFQUFzQztZQUdqRyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFTSixlQUFrRTtZQUFsRSw2RkFBa0U7WUFFM0Qsb0VBQTZDOztZQUszRSxlQUFrRTtZQUFsRSw2RkFBa0U7O1lBRXhDLGNBQTZCO1lBQTdCLGtEQUE2QjtZQUs3QixjQUE2QjtZQUE3QixrREFBNkI7WUFLOUIsY0FBMkI7WUFBM0IsZ0RBQTJCOzs7aUZEdEI5QyxxQkFBcUI7Y0FMakMsU0FBUzsyQkFDRSxzQkFBc0I7d0RBTWhCLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLDBCQUEwQjtrQkFBekMsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxRQUFRO2tCQUF4QixNQUFNO1lBQ1UsZ0JBQWdCO2tCQUFoQyxNQUFNOztrRkFUSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRVc2VyOiBVc2VyRGV0YWlscztcbiAgQElucHV0KCkgcHVibGljIG9wZW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlQ291bnQ6IG51bWJlcjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25EZXNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy51bnNlbGVjdC5lbWl0KGMpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlVc2VySWQodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyLmlkYW1JZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5SZW1vdmUoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgaWYgKHRoaXMucmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT24pIHtcbiAgICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGFDYXNlLnNoYXJlZFdpdGggJiYgYUNhc2Uuc2hhcmVkV2l0aC5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgY2FuQ2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZVJlbW92ZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVBZGRlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmUodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh1c2VyLCBzaGFyZWRDYXNlLmNhc2VJZCk7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RDYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIC8vIEEgdXNlciBpcyBhZGRlZCB0byBhIGNhc2VcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQSBjYXNlIGhhcyAwIHVzZXJzIHdpdGggYWNjZXNzIHRvIGl0XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBY2Nlc3MgdG8gdGhlIGxhc3QgdXNlciBpcyByZW1vdmVkXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDBcbiAgICAgICAgJiYgdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID09PSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VySGFzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2hvd05vVXNlcnNBY2Nlc3NJbmZvKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJBY2Nlc3NUYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgY29tYmluZUFuZFNvcnRTaGFyZXMoc2hhcmVkV2l0aDogVXNlckRldGFpbHNbXSwgcGVuZGluZ1NoYXJlczogVXNlckRldGFpbHNbXSk6IFVzZXJEZXRhaWxzW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5zaGFyZWRXaXRoLFxuICAgICAgLi4ucGVuZGluZ1NoYXJlc1xuICAgIF0uc29ydCgodXNlcjEsIHVzZXIyKSA9PiB7XG4gICAgICByZXR1cm4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAodXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXNlcklkU2V0dGVyKGlzUGVuZGluZzogYm9vbGVhbiwgaWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzUGVuZGluZyA/IGBwZW5kaW5nU2hhcmVzLSR7aWR9YCA6IGAke2lkfWA7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbGVtZW50SWQoZWxlbWVudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2VsZW1lbnROYW1lfS0ke3RoaXMuc2hhcmVkQ2FzZS5jYXNlSWR9YDtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2dvdnVrLWFjY29yZGlvbl9fc2VjdGlvbicpfX1cIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvbl9fc2VjdGlvblwiPlxyXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvdyBnb3Z1ay1jYXNlLWhlYWRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXRocmVlLXF1YXJ0ZXJzXCI+XHJcbiAgICAgIDxoMyBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2Nhc2UtdGl0bGUnKX19XCIgY2xhc3M9XCJnb3Z1ay1jYXNlLXRpdGxlXCI+e3sgc2hhcmVkQ2FzZS5jYXNlVGl0bGUgfCBycHhUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8aDMgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdjYXNlLWlkJyl9fVwiIGNsYXNzPVwiZ292dWstY2FzZS1zdWItdGl0bGVcIj57eyBzaGFyZWRDYXNlLmNhc2VJZCB8IHJweFRyYW5zbGF0ZSB9fTwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10ZW4tcGVyY2VudFwiPlxyXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiY2FzZUNvdW50ID4gMVwiXHJcbiAgICAgICAgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdidG4tZGVzZWxlY3QtY2FzZScpfX1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGhtY3RzLWJ1dHRvbi0tc2Vjb25kYXJ5XCJcclxuICAgICAgICAoY2xpY2spPVwib25EZXNlbGVjdChzaGFyZWRDYXNlKVwiIHRpdGxlPVwiRGVzZWxlY3QgY2FzZVwiPlxyXG4gICAgICAgIHt7J0Rlc2VsZWN0IGNhc2UnIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIGdvdnVrLWdyaWQtY29sdW1uLXRlbi1wZXJjZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZ1wiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1oZWFkaW5nJyl9fVwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInYWNjb3JkaW9uLXdpdGgtc3VtbWFyeS1zZWN0aW9ucy1jb250ZW50JyArIGJ1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWhlYWRpbmcnKVwiIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIFt0aXRsZV09XCInRXhwYW5kIG9yIENvbGxhcHNlJyB8IHJweFRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstYWNjb3JkaW9uX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCdhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zLWNvbnRlbnQnKX19XCIgY2xhc3M9XCJnb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudFwiXHJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYnVpbGRFbGVtZW50SWQoJ2FjY29yZGlvbi13aXRoLXN1bW1hcnktc2VjdGlvbnMtaGVhZGluZycpXCIgPlxyXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKVwiPlxyXG4gICAgICA8c3BhbiBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjY2Vzcy1pbmZvLW5vLXVzZXInKX19XCIgY2xhc3M9XCJnb3Z1ay1kaXYtYWxpZ24tbGVmdFwiPlxyXG4gICAgICAgIHt7J05vIHVzZXJzIGZyb20geW91ciBvcmdhbmlzYXRpb24gY3VycmVudGx5IGhhdmUgYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cInNob3dVc2VySGFzQWNjZXNzSW5mbygpXCI+XHJcbiAgICAgIDxzcGFuIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnYWNjZXNzLWluZm8taGFzLXVzZXJzJyl9fVwiIGNsYXNzPVwiZ292dWstZGl2LWFsaWduLWxlZnRcIj5cclxuICAgICAgICB7eydVc2VycyBmcm9tIHlvdXIgb3JnYW5pc2F0aW9uIHdpdGggYWNjZXNzIHRvIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwic2hvd1VzZXJBY2Nlc3NUYWJsZSgpXCI+XHJcbiAgICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cclxuICAgICAgICA8dGggaWQ9XCJ7e2J1aWxkRWxlbWVudElkKCduYW1lLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2VtYWlsLWhlYWRpbmcnKX19XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGdvdnVrLXRhYmxlLWNvbHVtbi1oZWFkZXJcIiBzY29wZT1cImNvbFwiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxyXG4gICAgICAgIDx0aCBpZD1cInt7YnVpbGRFbGVtZW50SWQoJ2FjdGlvbi1oZWFkaW5nJyl9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBnb3Z1ay10YWJsZS1jb2x1bW4tYWN0aW9uc1wiIHNjb3BlPVwiY29sXCI+e3snQWN0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgPHRoIGlkPVwie3tidWlsZEVsZW1lbnRJZCgnbGFiZWwtaGVhZGluZycpfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgZ292dWstdGFibGUtY29sdW1uLWxhYmVsXCIgc2NvcGU9XCJjb2xcIj57eyAnU3RhdHVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XHJcbiAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGhlYWQ+XHJcbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGNvbWJpbmVkU29ydGVkU2hhcmVzOyBpbmRleCBhcyBpZHg7IHRyYWNrQnk6IHRyYWNrQnlVc2VySWRcIj5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZnVsbC1uYW1lLXt7IHVzZXJJZFNldHRlcihjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmMsIGlkeCkgfX1cIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLmxhc3ROYW1lIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBpZD1cInVzZXItZW1haWwte3sgdXNlcklkU2V0dGVyKGNhbkNhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luYywgaWR4KSB9fVwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyB1c2VyLmVtYWlsIH19PC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiY2FuUmVtb3ZlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uUmVtb3ZlKHVzZXIsIHNoYXJlZENhc2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3snZnJvbSBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCJjYW5DYW5jZWwoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpIHwgYXN5bmNcIiAoY2xpY2spPVwib25DYW5jZWwodXNlciwgc2hhcmVkQ2FzZSlcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiPnt7J0NhbmNlbCcgfCBycHhUcmFuc2xhdGV9fSA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J2FkZGluZycgfCBycHhUcmFuc2xhdGV9fSB7eyB1c2VyLmZpcnN0TmFtZSArICcgJyArIHVzZXIubGFzdE5hbWUgfX0ge3sndG8gY2FzZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVSZW1vdmVkKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKSB8IGFzeW5jXCIgY2xhc3M9XCJobWN0cy1iYWRnZSBobWN0cy1iYWRnZS0tcmVkXCI+e3snVG8gYmUgcmVtb3ZlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1RvQmVBZGRlZChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcikgfCBhc3luY1wiIGNsYXNzPVwiaG1jdHMtYmFkZ2VcIj57eydUbyBiZSBhZGRlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90Ym9keT5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -7,14 +7,17 @@ function UserDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
7
7
  i0.ɵɵelementStart(0, "div", 5)(1, "span", 6);
8
8
  i0.ɵɵtext(2, "!");
9
9
  i0.ɵɵelementEnd();
10
- i0.ɵɵelementStart(3, "strong", 7);
11
- i0.ɵɵtext(4);
12
- i0.ɵɵpipe(5, "rpxTranslate");
10
+ i0.ɵɵelementStart(3, "span", 7);
11
+ i0.ɵɵtext(4, "Warning");
12
+ i0.ɵɵelementEnd();
13
+ i0.ɵɵelementStart(5, "strong", 8);
14
+ i0.ɵɵtext(6);
15
+ i0.ɵɵpipe(7, "rpxTranslate");
13
16
  i0.ɵɵelementEnd()();
14
17
  } if (rf & 2) {
15
18
  const ctx_r0 = i0.ɵɵnextContext();
16
- i0.ɵɵadvance(4);
17
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 1, ctx_r0.warningTitle), "\n");
19
+ i0.ɵɵadvance(6);
20
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 1, ctx_r0.warningTitle), "\n");
18
21
  } }
19
22
  function UserDetailsComponent_table_1_tr_17_div_5_Template(rf, ctx) { if (rf & 1) {
20
23
  i0.ɵɵelementStart(0, "div");
@@ -72,10 +75,10 @@ function UserDetailsComponent_table_1_tr_17_div_10_Template(rf, ctx) { if (rf &
72
75
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, accesstype_r2));
73
76
  } }
74
77
  function UserDetailsComponent_table_1_tr_17_a_12_Template(rf, ctx) { if (rf & 1) {
75
- i0.ɵɵelementStart(0, "a", 16);
78
+ i0.ɵɵelementStart(0, "a", 17);
76
79
  i0.ɵɵtext(1);
77
80
  i0.ɵɵpipe(2, "rpxTranslate");
78
- i0.ɵɵelementStart(3, "span", 17);
81
+ i0.ɵɵelementStart(3, "span", 7);
79
82
  i0.ɵɵtext(4);
80
83
  i0.ɵɵpipe(5, "rpxTranslate");
81
84
  i0.ɵɵelementEnd()();
@@ -88,15 +91,15 @@ function UserDetailsComponent_table_1_tr_17_a_12_Template(rf, ctx) { if (rf & 1)
88
91
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 5, "roles"));
89
92
  } }
90
93
  function UserDetailsComponent_table_1_tr_17_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "tr", 10)(1, "th", 11);
94
+ i0.ɵɵelementStart(0, "tr", 11)(1, "th", 12);
92
95
  i0.ɵɵtext(2);
93
96
  i0.ɵɵpipe(3, "rpxTranslate");
94
97
  i0.ɵɵelementEnd();
95
- i0.ɵɵelementStart(4, "td", 12);
96
- i0.ɵɵtemplate(5, UserDetailsComponent_table_1_tr_17_div_5_Template, 3, 3, "div", 3)(6, UserDetailsComponent_table_1_tr_17_div_6_Template, 3, 3, "div", 3)(7, UserDetailsComponent_table_1_tr_17_div_7_Template, 3, 3, "div", 3)(8, UserDetailsComponent_table_1_tr_17_div_8_Template, 3, 3, "div", 3)(9, UserDetailsComponent_table_1_tr_17_div_9_Template, 3, 3, "div", 3)(10, UserDetailsComponent_table_1_tr_17_div_10_Template, 3, 3, "div", 14);
98
+ i0.ɵɵelementStart(4, "td", 13);
99
+ i0.ɵɵtemplate(5, UserDetailsComponent_table_1_tr_17_div_5_Template, 3, 3, "div", 3)(6, UserDetailsComponent_table_1_tr_17_div_6_Template, 3, 3, "div", 3)(7, UserDetailsComponent_table_1_tr_17_div_7_Template, 3, 3, "div", 3)(8, UserDetailsComponent_table_1_tr_17_div_8_Template, 3, 3, "div", 3)(9, UserDetailsComponent_table_1_tr_17_div_9_Template, 3, 3, "div", 3)(10, UserDetailsComponent_table_1_tr_17_div_10_Template, 3, 3, "div", 15);
97
100
  i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(11, "td", 12);
99
- i0.ɵɵtemplate(12, UserDetailsComponent_table_1_tr_17_a_12_Template, 6, 7, "a", 15);
101
+ i0.ɵɵelementStart(11, "td", 13);
102
+ i0.ɵɵtemplate(12, UserDetailsComponent_table_1_tr_17_a_12_Template, 6, 7, "a", 16);
100
103
  i0.ɵɵelementEnd()();
101
104
  } if (rf & 2) {
102
105
  const ctx_r0 = i0.ɵɵnextContext(2);
@@ -118,26 +121,26 @@ function UserDetailsComponent_table_1_tr_17_Template(rf, ctx) { if (rf & 1) {
118
121
  i0.ɵɵproperty("ngIf", ctx_r0.editPermissionRouterLink && ctx_r0.showEditLink);
119
122
  } }
120
123
  function UserDetailsComponent_table_1_Template(rf, ctx) { if (rf & 1) {
121
- i0.ɵɵelementStart(0, "table", 8)(1, "tbody", 9)(2, "tr", 10)(3, "th", 11);
124
+ i0.ɵɵelementStart(0, "table", 9)(1, "tbody", 10)(2, "tr", 11)(3, "th", 12);
122
125
  i0.ɵɵtext(4);
123
126
  i0.ɵɵpipe(5, "rpxTranslate");
124
127
  i0.ɵɵelementEnd();
125
- i0.ɵɵelementStart(6, "td", 12);
128
+ i0.ɵɵelementStart(6, "td", 13);
126
129
  i0.ɵɵtext(7);
127
130
  i0.ɵɵpipe(8, "rpxTranslate");
128
131
  i0.ɵɵelementEnd();
129
- i0.ɵɵelement(9, "td", 12);
132
+ i0.ɵɵelement(9, "td", 13);
130
133
  i0.ɵɵelementEnd();
131
- i0.ɵɵelementStart(10, "tr", 10)(11, "th", 11);
134
+ i0.ɵɵelementStart(10, "tr", 11)(11, "th", 12);
132
135
  i0.ɵɵtext(12);
133
136
  i0.ɵɵpipe(13, "rpxTranslate");
134
137
  i0.ɵɵelementEnd();
135
- i0.ɵɵelementStart(14, "td", 12);
138
+ i0.ɵɵelementStart(14, "td", 13);
136
139
  i0.ɵɵtext(15);
137
140
  i0.ɵɵelementEnd();
138
- i0.ɵɵelement(16, "td", 12);
141
+ i0.ɵɵelement(16, "td", 13);
139
142
  i0.ɵɵelementEnd();
140
- i0.ɵɵtemplate(17, UserDetailsComponent_table_1_tr_17_Template, 13, 10, "tr", 13);
143
+ i0.ɵɵtemplate(17, UserDetailsComponent_table_1_tr_17_Template, 13, 10, "tr", 14);
141
144
  i0.ɵɵelementEnd()();
142
145
  } if (rf & 2) {
143
146
  const ctx_r0 = i0.ɵɵnextContext();
@@ -155,7 +158,7 @@ function UserDetailsComponent_table_1_Template(rf, ctx) { if (rf & 1) {
155
158
  function UserDetailsComponent_button_2_Template(rf, ctx) { if (rf & 1) {
156
159
  const _r3 = i0.ɵɵgetCurrentView();
157
160
  i0.ɵɵelementStart(0, "button", 18);
158
- i0.ɵɵlistener("click", function UserDetailsComponent_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.suspendUser(ctx_r0.user)); });
161
+ i0.ɵɵlistener("click", function UserDetailsComponent_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.suspendUser(ctx_r0.user)); })("keyup.enter", function UserDetailsComponent_button_2_Template_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.suspendUser(ctx_r0.user)); });
159
162
  i0.ɵɵtext(1);
160
163
  i0.ɵɵpipe(2, "rpxTranslate");
161
164
  i0.ɵɵelementEnd();
@@ -177,8 +180,8 @@ function UserDetailsComponent_div_3_Template(rf, ctx) { if (rf & 1) {
177
180
  i0.ɵɵtext(9);
178
181
  i0.ɵɵpipe(10, "rpxTranslate");
179
182
  i0.ɵɵelementEnd()();
180
- i0.ɵɵelementStart(11, "a", 20);
181
- i0.ɵɵlistener("click", function UserDetailsComponent_div_3_Template_a_click_11_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.reinviteClick(ctx_r0.user)); });
183
+ i0.ɵɵelementStart(11, "button", 20);
184
+ i0.ɵɵlistener("click", function UserDetailsComponent_div_3_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.reinviteClick(ctx_r0.user)); })("keyup.enter", function UserDetailsComponent_div_3_Template_button_keyup_enter_11_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.reinviteClick(ctx_r0.user)); });
182
185
  i0.ɵɵtext(12);
183
186
  i0.ɵɵpipe(13, "rpxTranslate");
184
187
  i0.ɵɵelementEnd()();
@@ -231,8 +234,8 @@ export class UserDetailsComponent {
231
234
  return false;
232
235
  }
233
236
  static { this.ɵfac = function UserDetailsComponent_Factory(t) { return new (t || UserDetailsComponent)(); }; }
234
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDetailsComponent, selectors: [["xuilib-user-details"]], inputs: { user: "user", enabledAccessTypes: "enabledAccessTypes", editPermissionRouterLink: "editPermissionRouterLink", warningTitle: "warningTitle", showEditLink: "showEditLink", showHelpLink: "showHelpLink", suspendHelpLink: "suspendHelpLink", showSuspendUserButton: "showSuspendUserButton" }, outputs: { suspendUserEvent: "suspendUserEvent", reinvite: "reinvite" }, decls: 5, vars: 5, consts: [["class", "govuk-warning-text", 4, "ngIf"], ["class", "govuk-table", "role", "presentation", 4, "ngIf"], ["class", "govuk-button govuk-button--warning", 3, "click", 4, "ngIf"], [4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], [1, "govuk-warning-text"], [1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], ["role", "presentation", 1, "govuk-table"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["role", "link", 3, "routerLink", 4, "ngIf"], ["role", "link", 3, "routerLink"], [1, "govuk-visually-hidden"], [1, "govuk-button", "govuk-button--warning", 3, "click"], [1, "govuk-inset-text"], ["role", "button", "draggable", "false", "id", "resend-invite-button", 1, "govuk-button", 3, "click"], [1, "govuk-body"], ["target", "_blank", 3, "routerLink"]], template: function UserDetailsComponent_Template(rf, ctx) { if (rf & 1) {
235
- i0.ɵɵtemplate(0, UserDetailsComponent_div_0_Template, 6, 3, "div", 0)(1, UserDetailsComponent_table_1_Template, 18, 11, "table", 1)(2, UserDetailsComponent_button_2_Template, 3, 3, "button", 2)(3, UserDetailsComponent_div_3_Template, 14, 12, "div", 3)(4, UserDetailsComponent_p_4_Template, 6, 7, "p", 4);
237
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDetailsComponent, selectors: [["xuilib-user-details"]], inputs: { user: "user", enabledAccessTypes: "enabledAccessTypes", editPermissionRouterLink: "editPermissionRouterLink", warningTitle: "warningTitle", showEditLink: "showEditLink", showHelpLink: "showHelpLink", suspendHelpLink: "suspendHelpLink", showSuspendUserButton: "showSuspendUserButton" }, outputs: { suspendUserEvent: "suspendUserEvent", reinvite: "reinvite" }, decls: 5, vars: 5, consts: [["class", "govuk-warning-text", 4, "ngIf"], ["class", "govuk-table", "role", "presentation", 4, "ngIf"], ["class", "govuk-button govuk-button--warning", "tabindex", "0", 3, "click", "keyup.enter", 4, "ngIf"], [4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], [1, "govuk-warning-text"], [1, "govuk-warning-text__icon"], [1, "govuk-visually-hidden"], [1, "govuk-warning-text__text"], ["role", "presentation", 1, "govuk-table"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["role", "link", 3, "routerLink", 4, "ngIf"], ["role", "link", 3, "routerLink"], ["tabindex", "0", 1, "govuk-button", "govuk-button--warning", 3, "click", "keyup.enter"], [1, "govuk-inset-text"], ["tabindex", "0", "id", "resend-invite-button", 1, "govuk-button", 3, "click", "keyup.enter"], [1, "govuk-body"], ["target", "_blank", 3, "routerLink"]], template: function UserDetailsComponent_Template(rf, ctx) { if (rf & 1) {
238
+ i0.ɵɵtemplate(0, UserDetailsComponent_div_0_Template, 8, 3, "div", 0)(1, UserDetailsComponent_table_1_Template, 18, 11, "table", 1)(2, UserDetailsComponent_button_2_Template, 3, 3, "button", 2)(3, UserDetailsComponent_div_3_Template, 14, 12, "div", 3)(4, UserDetailsComponent_p_4_Template, 6, 7, "p", 4);
236
239
  } if (rf & 2) {
237
240
  i0.ɵɵproperty("ngIf", ctx.warningTitle && ctx.warningTitle !== "");
238
241
  i0.ɵɵadvance();
@@ -247,7 +250,7 @@ export class UserDetailsComponent {
247
250
  }
248
251
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserDetailsComponent, [{
249
252
  type: Component,
250
- args: [{ selector: 'xuilib-user-details', template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle | rpxTranslate}}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\" role=\"presentation\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Name' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.fullName | rpxTranslate}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Email address' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Permissions' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">{{'Manage organisations' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">{{'Manage users' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">{{'Manage cases' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-caa')\">{{'Case access administrator' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">{{'Manage fee accounts' | rpxTranslate}}</div>\n <div *ngFor=\"let accesstype of enabledAccessTypes\">{{ accesstype | rpxTranslate}}</div> \n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" role=\"link\" [routerLink]=\"editPermissionRouterLink\">{{'Change' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'roles' | rpxTranslate}}</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" (click)=\"suspendUser(user)\">\n {{'Suspend account' | rpxTranslate}}\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>{{'This user has already been invited but has not activated their account.' | rpxTranslate}}</p>\n <p>{{'If you resend an invitation, they\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.' | rpxTranslate}}</p>\n <p>{{'You can\\'t invite the same user more than once an hour.' | rpxTranslate}}</p>\n </div>\n <a role=\"button\" draggable=\"false\" class=\"govuk-button\" (click)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n {{'Resend invitation' | rpxTranslate}}\n </a>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">{{'Get help' | rpxTranslate}}</a> {{'to reactivate this account.' | rpxTranslate}}</p>\n", styles: [":host{display:block}\n"] }]
253
+ args: [{ selector: 'xuilib-user-details', template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<span class=\"govuk-visually-hidden\">Warning</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle | rpxTranslate}}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\" role=\"presentation\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Name' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.fullName | rpxTranslate}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Email address' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Permissions' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">{{'Manage organisations' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">{{'Manage users' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">{{'Manage cases' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-caa')\">{{'Case access administrator' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">{{'Manage fee accounts' | rpxTranslate}}</div>\n <div *ngFor=\"let accesstype of enabledAccessTypes\">{{ accesstype | rpxTranslate}}</div> \n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" role=\"link\" [routerLink]=\"editPermissionRouterLink\">{{'Change' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'roles' | rpxTranslate}}</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" tabindex=\"0\" (click)=\"suspendUser(user)\" (keyup.enter)=\"suspendUser(user)\">\n {{'Suspend account' | rpxTranslate}}\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>{{'This user has already been invited but has not activated their account.' | rpxTranslate}}</p>\n <p>{{'If you resend an invitation, they\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.' | rpxTranslate}}</p>\n <p>{{'You can\\'t invite the same user more than once an hour.' | rpxTranslate}}</p>\n </div>\n <button class=\"govuk-button\" tabindex=\"0\" (click)=\"reinviteClick(user)\" (keyup.enter)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n {{'Resend invitation' | rpxTranslate}}\n </button>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">{{'Get help' | rpxTranslate}}</a> {{'to reactivate this account.' | rpxTranslate}}</p>\n", styles: [":host{display:block}\n"] }]
251
254
  }], null, { user: [{
252
255
  type: Input
253
256
  }], enabledAccessTypes: [{
@@ -270,4 +273,4 @@ export class UserDetailsComponent {
270
273
  type: Output
271
274
  }] }); })();
272
275
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserDetailsComponent, { className: "UserDetailsComponent", filePath: "lib/components/user-details/user-details.component.ts", lineNumber: 9 }); })();
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQ3ZFLEFBREEsOEJBQTRFLGNBQ3JDO0lBQUEsaUJBQUM7SUFBQSxpQkFBTztJQUMvQyxpQ0FBeUM7SUFDckMsWUFDSjs7SUFDQSxBQURBLGlCQUFTLEVBQ0g7OztJQUZGLGVBQ0o7SUFESSwyRUFDSjs7O0lBaUJVLDJCQUFnRDtJQUFBLFlBQXlDOztJQUFBLGlCQUFNOztJQUEvQyxjQUF5QztJQUF6QyxrRUFBeUM7OztJQUN6RiwyQkFBd0M7SUFBQSxZQUFpQzs7SUFBQSxpQkFBTTs7SUFBdkMsY0FBaUM7SUFBakMsMERBQWlDOzs7SUFDekUsMkJBQXdDO0lBQUEsWUFBaUM7O0lBQUEsaUJBQU07O0lBQXZDLGNBQWlDO0lBQWpDLDBEQUFpQzs7O0lBQ3pFLDJCQUFvQztJQUFBLFlBQThDOztJQUFBLGlCQUFNOztJQUFwRCxjQUE4QztJQUE5Qyx1RUFBOEM7OztJQUNsRiwyQkFBZ0Q7SUFBQSxZQUF3Qzs7SUFBQSxpQkFBTTs7SUFBOUMsY0FBd0M7SUFBeEMsaUVBQXdDOzs7SUFDeEYsMkJBQW1EO0lBQUEsWUFBOEI7O0lBQUEsaUJBQU07OztJQUFwQyxjQUE4QjtJQUE5Qix5REFBOEI7OztJQUVyRCw2QkFBd0c7SUFB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SUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZTtRQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3FGQXpCUSxvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQ3FDakMsQUFWQSxBQUhBLEFBMUJBLEFBTkEscUVBQTRFLDhEQU1oQiw4REEwQmlELDBEQUd0RSxvREFVdUI7O1lBN0M3QixrRUFBeUM7WUFNOUMsY0FBVTtZQUFWLCtCQUFVO1lBMEI3QixjQUEyQjtZQUEzQixnREFBMkI7WUFHOUIsY0FBK0I7WUFBL0Isd0RBQStCO1lBVWQsY0FBcUM7WUFBckMsOERBQXFDOzs7aUZEckMvQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDSSxxQkFBcUI7Z0JBS2YsSUFBSTtrQkFBbkIsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLHdCQUF3QjtrQkFBdkMsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDUyxxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVyxRQUFRO2tCQUF4QixNQUFNOztrRkFWRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLXVzZXItZGV0YWlscycsXG4gICAgc3R5bGVVcmxzOiBbJy4vdXNlci1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VzZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlckRldGFpbHNDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyB1c2VyOiBVc2VyO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVkQWNjZXNzVHlwZXM6IHN0cmluZ1tdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGVkaXRQZXJtaXNzaW9uUm91dGVyTGluazogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB3YXJuaW5nVGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd0VkaXRMaW5rOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHNob3dIZWxwTGluazogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXNwZW5kSGVscExpbms6IHN0cmluZztcbiAgICBAT3V0cHV0KCkgcHVibGljIHN1c3BlbmRVc2VyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXI+KCk7XG4gICAgQElucHV0KCkgcHVibGljIHNob3dTdXNwZW5kVXNlckJ1dHRvbiA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVpbnZpdGUgPSBuZXcgRXZlbnRFbWl0dGVyPFVzZXI+KCk7XG5cbiAgICBwdWJsaWMgcmVpbnZpdGVDbGljayh1c2VyOiBVc2VyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVpbnZpdGUuZW1pdCh1c2VyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3VzcGVuZFVzZXIoc3VzcGVuZFVzZXI6IFVzZXIpOiB2b2lkIHtcbiAgICAgIHRoaXMuc3VzcGVuZFVzZXJFdmVudC5lbWl0KHN1c3BlbmRVc2VyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXNlckhhc1JvbGUodGhlUm9sZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICBpZiAodGhpcy51c2VyICYmIHRoaXMudXNlci5yb2xlcykge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyLnJvbGVzLmluY2x1ZGVzKHRoZVJvbGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRcIiAqbmdJZj1cIndhcm5pbmdUaXRsZSAmJiB3YXJuaW5nVGl0bGUgIT09ICcnXCI+XG48c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiPiE8L3NwYW4+XG48c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAge3sgd2FybmluZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbjwvc3Ryb25nPlxuPC9kaXY+XG48dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiICpuZ0lmPVwidXNlclwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cInJvd1wiPnt7J05hbWUnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7dXNlci5mdWxsTmFtZSB8IHJweFRyYW5zbGF0ZX19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJyb3dcIj57eydFbWFpbCBhZGRyZXNzJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57e3VzZXIuZW1haWx9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cIiF1c2VyLnJlc2VuZEludml0ZVwiPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJyb3dcIj57eydQZXJtaXNzaW9ucycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXIubWFuYWdlT3JnYW5pc2F0aW9ucyA9PT0gJ1llcydcIj57eydNYW5hZ2Ugb3JnYW5pc2F0aW9ucycgfCBycHhUcmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyLm1hbmFnZVVzZXJzID09PSAnWWVzJ1wiPnt7J01hbmFnZSB1c2VycycgfCBycHhUcmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyLm1hbmFnZUNhc2VzID09PSAnWWVzJ1wiPnt7J01hbmFnZSBjYXNlcycgfCBycHhUcmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VySGFzUm9sZSgncHVpLWNhYScpXCI+e3snQ2FzZSBhY2Nlc3MgYWRtaW5pc3RyYXRvcicgfCBycHhUcmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VySGFzUm9sZSgncHVpLWZpbmFuY2UtbWFuYWdlcicpXCI+e3snTWFuYWdlIGZlZSBhY2NvdW50cycgfCBycHhUcmFuc2xhdGV9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFjY2Vzc3R5cGUgb2YgZW5hYmxlZEFjY2Vzc1R5cGVzXCI+e3sgYWNjZXNzdHlwZSB8IHJweFRyYW5zbGF0ZX19PC9kaXY+IFxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjxhICpuZ0lmPVwiZWRpdFBlcm1pc3Npb25Sb3V0ZXJMaW5rICYmIHNob3dFZGl0TGlua1wiIHJvbGU9XCJsaW5rXCIgW3JvdXRlckxpbmtdPVwiZWRpdFBlcm1pc3Npb25Sb3V0ZXJMaW5rXCI+e3snQ2hhbmdlJyB8IHJweFRyYW5zbGF0ZX19IDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sncm9sZXMnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9hPjwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG48YnV0dG9uICpuZ0lmPVwic2hvd1N1c3BlbmRVc2VyQnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS13YXJuaW5nXCIgKGNsaWNrKT1cInN1c3BlbmRVc2VyKHVzZXIpXCI+XG4gIHt7J1N1c3BlbmQgYWNjb3VudCcgfCBycHhUcmFuc2xhdGV9fVxuPC9idXR0b24+XG48ZGl2ICpuZ0lmPVwidXNlciAmJiB1c2VyLnJlc2VuZEludml0ZVwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstaW5zZXQtdGV4dFwiPlxuICAgIDxwPnt7J1RoaXMgdXNlciBoYXMgYWxyZWFkeSBiZWVuIGludml0ZWQgYnV0IGhhcyBub3QgYWN0aXZhdGVkIHRoZWlyIGFjY291bnQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuICAgIDxwPnt7J0lmIHlvdSByZXNlbmQgYW4gaW52aXRhdGlvbiwgdGhleVxcJ2xsIHJlY2VpdmUgYW4gZW1haWwgZnJvbSBITSBDb3VydHMgYW5kIFRyaWJ1bmFscyB0byBmaW5pc2ggc2V0dGluZyB1cCB0aGVpciBhY2NvdW50LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICA8cD57eydZb3UgY2FuXFwndCBpbnZpdGUgdGhlIHNhbWUgdXNlciBtb3JlIHRoYW4gb25jZSBhbiBob3VyLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgPC9kaXY+XG4gIDxhIHJvbGU9XCJidXR0b25cIiBkcmFnZ2FibGU9XCJmYWxzZVwiIGNsYXNzPVwiZ292dWstYnV0dG9uXCIgKGNsaWNrKT1cInJlaW52aXRlQ2xpY2sodXNlcilcIiBpZD1cInJlc2VuZC1pbnZpdGUtYnV0dG9uXCI+XG4gICAgICB7eydSZXNlbmQgaW52aXRhdGlvbicgfCBycHhUcmFuc2xhdGV9fVxuICA8L2E+XG48L2Rpdj5cbjxwIGNsYXNzPVwiZ292dWstYm9keVwiICpuZ0lmPVwic2hvd0hlbHBMaW5rICYmIHN1c3BlbmRIZWxwTGlua1wiPjxhIFtyb3V0ZXJMaW5rXT1cInN1c3BlbmRIZWxwTGlua1wiIHRhcmdldD1cIl9ibGFua1wiPnt7J0dldCBoZWxwJyB8IHJweFRyYW5zbGF0ZX19PC9hPiB7eyd0byByZWFjdGl2YXRlIHRoaXMgYWNjb3VudC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQ3ZFLEFBREEsOEJBQTRFLGNBQ3JDO0lBQUEsaUJBQUM7SUFBQSxpQkFBTztJQUMvQywrQkFBb0M7SUFBQSx1QkFBTztJQUFBLGlCQUFPO0lBQ2xELGlDQUF5QztJQUNyQyxZQUNKOztJQUNBLEFBREEsaUJBQVMsRUFDSDs7O0lBRkYsZUFDSjtJQURJLDJFQUNKOzs7SUFpQlUsMkJBQWdEO0lBQUEsWUFBeUM7O0lBQUEsaUJBQU07O0lBQS9DLGNBQXlDO0lBQXpDLGtFQUF5Qzs7O0lBQ3pGLDJCQUF3QztJQUFBLFlBQWlDOztJQUFBLGlCQUFNOztJQUF2QyxjQUFpQztJQUFqQywwREFBaUM7OztJQUN6RSwyQkFBd0M7SUFBQSxZQUFpQzs7SUFBQSxpQkFBTTs7SUFBdkMsY0FBaUM7SUFBakMsMERBQWlDOzs7SUFDekUsMkJBQW9DO0lBQUEsWUFBOEM7O0lBQUEsaUJBQU07O0lBQXBELGNBQThDO0lBQTlDLHVFQUE4Qzs7O0lBQ2xGLDJCQUFnRDtJQUFBLFlBQXdDOztJQUFBLGlCQUFNOztJQUE5QyxjQUF3QztJQUF4QyxpRUFBd0M7OztJQUN4RiwyQkFBbUQ7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTTs7O0lBQXBDLGNB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LElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVyxDQUFDLFdBQWlCO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFlO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7cUZBekJRLG9CQUFvQjtvRUFBcEIsb0JBQW9CO1lDc0NqQyxBQVZBLEFBSEEsQUExQkEsQUFQQSxxRUFBNEUsOERBT2hCLDhEQTBCZ0csMERBR3JILG9EQVV1Qjs7WUE5QzdCLGtFQUF5QztZQU85QyxjQUFVO1lBQVYsK0JBQVU7WUEwQjdCLGNBQTJCO1lBQTNCLGdEQUEyQjtZQUc5QixjQUErQjtZQUEvQix3REFBK0I7WUFVZCxjQUFxQztZQUFyQyw4REFBcUM7OztpRkR0Qy9DLG9CQUFvQjtjQUxoQyxTQUFTOzJCQUNJLHFCQUFxQjtnQkFLZixJQUFJO2tCQUFuQixLQUFLO1lBQ1Usa0JBQWtCO2tCQUFqQyxLQUFLO1lBQ1Usd0JBQXdCO2tCQUF2QyxLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsZUFBZTtrQkFBOUIsS0FBSztZQUNXLGdCQUFnQjtrQkFBaEMsTUFBTTtZQUNTLHFCQUFxQjtrQkFBcEMsS0FBSztZQUNXLFFBQVE7a0JBQXhCLE1BQU07O2tGQVZFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd4dWlsaWItdXNlci1kZXRhaWxzJyxcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdXNlci1kZXRhaWxzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVc2VyRGV0YWlsc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIHVzZXI6IFVzZXI7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZWRBY2Nlc3NUeXBlczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZWRpdFBlcm1pc3Npb25Sb3V0ZXJMaW5rOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIHdhcm5pbmdUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93RWRpdExpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd0hlbHBMaW5rOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHN1c3BlbmRIZWxwTGluazogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc3VzcGVuZFVzZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlcj4oKTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd1N1c3BlbmRVc2VyQnV0dG9uID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWludml0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlcj4oKTtcblxuICAgIHB1YmxpYyByZWludml0ZUNsaWNrKHVzZXI6IFVzZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWludml0ZS5lbWl0KHVzZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdXNwZW5kVXNlcihzdXNwZW5kVXNlcjogVXNlcik6IHZvaWQge1xuICAgICAgdGhpcy5zdXNwZW5kVXNlckV2ZW50LmVtaXQoc3VzcGVuZFVzZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1c2VySGFzUm9sZSh0aGVSb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIGlmICh0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnJvbGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXModGhlUm9sZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dFwiICpuZ0lmPVwid2FybmluZ1RpdGxlICYmIHdhcm5pbmdUaXRsZSAhPT0gJydcIj5cbjxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCI+ITwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+V2FybmluZzwvc3Bhbj5cbjxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICB7eyB3YXJuaW5nVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuPC9zdHJvbmc+XG48L2Rpdj5cbjx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCIgKm5nSWY9XCJ1c2VyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwicm93XCI+e3snTmFtZScgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3t1c2VyLmZ1bGxOYW1lIHwgcnB4VHJhbnNsYXRlfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cInJvd1wiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7dXNlci5lbWFpbH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiIXVzZXIucmVzZW5kSW52aXRlXCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cInJvd1wiPnt7J1Blcm1pc3Npb25zJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlci5tYW5hZ2VPcmdhbmlzYXRpb25zID09PSAnWWVzJ1wiPnt7J01hbmFnZSBvcmdhbmlzYXRpb25zJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXIubWFuYWdlVXNlcnMgPT09ICdZZXMnXCI+e3snTWFuYWdlIHVzZXJzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXIubWFuYWdlQ2FzZXMgPT09ICdZZXMnXCI+e3snTWFuYWdlIGNhc2VzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJIYXNSb2xlKCdwdWktY2FhJylcIj57eydDYXNlIGFjY2VzcyBhZG1pbmlzdHJhdG9yJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJIYXNSb2xlKCdwdWktZmluYW5jZS1tYW5hZ2VyJylcIj57eydNYW5hZ2UgZmVlIGFjY291bnRzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWNjZXNzdHlwZSBvZiBlbmFibGVkQWNjZXNzVHlwZXNcIj57eyBhY2Nlc3N0eXBlIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj4gXG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgKm5nSWY9XCJlZGl0UGVybWlzc2lvblJvdXRlckxpbmsgJiYgc2hvd0VkaXRMaW5rXCIgcm9sZT1cImxpbmtcIiBbcm91dGVyTGlua109XCJlZGl0UGVybWlzc2lvblJvdXRlckxpbmtcIj57eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydyb2xlcycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+PC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbjxidXR0b24gKm5nSWY9XCJzaG93U3VzcGVuZFVzZXJCdXR0b25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXdhcm5pbmdcIiB0YWJpbmRleD1cIjBcIiAoY2xpY2spPVwic3VzcGVuZFVzZXIodXNlcilcIiAoa2V5dXAuZW50ZXIpPVwic3VzcGVuZFVzZXIodXNlcilcIj5cbiAge3snU3VzcGVuZCBhY2NvdW50JyB8IHJweFRyYW5zbGF0ZX19XG48L2J1dHRvbj5cbjxkaXYgKm5nSWY9XCJ1c2VyICYmIHVzZXIucmVzZW5kSW52aXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1pbnNldC10ZXh0XCI+XG4gICAgPHA+e3snVGhpcyB1c2VyIGhhcyBhbHJlYWR5IGJlZW4gaW52aXRlZCBidXQgaGFzIG5vdCBhY3RpdmF0ZWQgdGhlaXIgYWNjb3VudC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgPHA+e3snSWYgeW91IHJlc2VuZCBhbiBpbnZpdGF0aW9uLCB0aGV5XFwnbGwgcmVjZWl2ZSBhbiBlbWFpbCBmcm9tIEhNIENvdXJ0cyBhbmQgVHJpYnVuYWxzIHRvIGZpbmlzaCBzZXR0aW5nIHVwIHRoZWlyIGFjY291bnQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuICAgIDxwPnt7J1lvdSBjYW5cXCd0IGludml0ZSB0aGUgc2FtZSB1c2VyIG1vcmUgdGhhbiBvbmNlIGFuIGhvdXIuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuICA8L2Rpdj5cbiAgPGJ1dHRvbiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChjbGljayk9XCJyZWludml0ZUNsaWNrKHVzZXIpXCIgKGtleXVwLmVudGVyKT1cInJlaW52aXRlQ2xpY2sodXNlcilcIiBpZD1cInJlc2VuZC1pbnZpdGUtYnV0dG9uXCI+XG4gICAgICB7eydSZXNlbmQgaW52aXRhdGlvbicgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKm5nSWY9XCJzaG93SGVscExpbmsgJiYgc3VzcGVuZEhlbHBMaW5rXCI+PGEgW3JvdXRlckxpbmtdPVwic3VzcGVuZEhlbHBMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3snR2V0IGhlbHAnIHwgcnB4VHJhbnNsYXRlfX08L2E+IHt7J3RvIHJlYWN0aXZhdGUgdGhpcyBhY2NvdW50LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiJdfQ==