@hmcts/rpx-xui-common-lib 2.1.4-exui-3329-rc1 → 2.1.5-javascript-void-removal

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.
@@ -75,7 +75,7 @@ function WriteAddressFieldComponent_div_2_div_13_Template(rf, ctx) { if (rf & 1)
75
75
  function WriteAddressFieldComponent_div_2_a_14_Template(rf, ctx) { if (rf & 1) {
76
76
  const _r5 = i0.ɵɵgetCurrentView();
77
77
  i0.ɵɵelementStart(0, "a", 23);
78
- i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_a_14_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.blankAddress()); });
78
+ i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_a_14_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.blankAddress(); return i0.ɵɵresetView($event.preventDefault()); });
79
79
  i0.ɵɵtext(1, "I can't enter a UK postcode");
80
80
  i0.ɵɵelementEnd();
81
81
  } }
@@ -296,7 +296,7 @@ export class WriteAddressFieldComponent {
296
296
  this.addressFormGroup.get('postcode').patchValue(postcodeNeeded ? this.formGroup.get('address').get('postCode').value : '');
297
297
  }
298
298
  static { this.ɵfac = function WriteAddressFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(i1.AddressService)); }; }
299
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "javascript:void(0)", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
299
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "#", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "#", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
300
300
  i0.ɵɵelementStart(0, "div", 0);
301
301
  i0.ɵɵtemplate(1, WriteAddressFieldComponent_p_1_Template, 4, 1, "p", 1)(2, WriteAddressFieldComponent_div_2_Template, 15, 9, "div", 2)(3, WriteAddressFieldComponent_div_3_Template, 11, 1, "div", 3)(4, WriteAddressFieldComponent_xuilib_write_address_inputs_4_Template, 1, 3, "xuilib-write-address-inputs", 4);
302
302
  i0.ɵɵelementEnd();
@@ -314,7 +314,7 @@ export class WriteAddressFieldComponent {
314
314
  }
315
315
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteAddressFieldComponent, [{
316
316
  type: Component,
317
- args: [{ selector: 'xuilib-write-address-field', template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\"\n [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcode-lookup\" id=\"addressLookup\"\n [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button find-address\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\" [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\"\n (click)=\"blankAddress()\" href=\"javascript:void(0)\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\"\n [isInternational]=\"isInternational\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n\n</div>", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-20px}.find-address{left:1%}:host{display:block}\n"] }]
317
+ args: [{ selector: 'xuilib-write-address-field', template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\"\n [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcode-lookup\" id=\"addressLookup\"\n [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button find-address\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\" [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\"\n (click)=\"blankAddress(); $event.preventDefault()\" href=\"#\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\"\n [isInternational]=\"isInternational\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n\n</div>", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-20px}.find-address{left:1%}:host{display:block}\n"] }]
318
318
  }], () => [{ type: i1.AddressService }], { formGroup: [{
319
319
  type: Input
320
320
  }], internationalMode: [{
@@ -339,4 +339,4 @@ export class WriteAddressFieldComponent {
339
339
  type: Output
340
340
  }] }); })();
341
341
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/components/write-address/write-address.component.ts", lineNumber: 12 }); })();
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztJQ0RwRSxBQURGLDRCQUEyRCxjQUNyQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQseURBQ25EOzs7SUFTTSxBQURGLDRCQUFxRixjQUMvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQsMkRBQ25EOzs7SUFjSSxBQURGLDRCQUFtRSxjQUM3QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQseURBQ25EOzs7SUFHRSxrQ0FBcUY7SUFDbkYsWUFDRjtJQUFBLGlCQUFTOzs7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QXlCO1lBR25ELGNBQTZCO1lBQTdCLGtEQUE2QjtZQXVDaEMsY0FBNkY7WUFBN0YsOEhBQTZGO1lBc0JsRSxjQUF1RTtZQUF2RSxvR0FBdUU7OztpRkR2RDFGLDBCQUEwQjtjQUx0QyxTQUFTOzJCQUNFLDRCQUE0QjsrQ0FPL0IsU0FBUztrQkFEZixLQUFLO1lBR0MsaUJBQWlCO2tCQUR2QixLQUFLO1lBR0MsZUFBZTtrQkFEckIsS0FBSztZQUdDLG1CQUFtQjtrQkFEekIsS0FBSztZQUdDLG9CQUFvQjtrQkFEMUIsS0FBSztZQUdDLGFBQWE7a0JBRG5CLEtBQUs7WUFHVyxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSx1QkFBdUI7a0JBQXZDLE1BQU07WUFFVSxnQkFBZ0I7a0JBQWhDLE1BQU07WUFHVSxlQUFlO2tCQUEvQixNQUFNOztrRkF0QkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc01lc3NhZ2VFbnVtLCBBZGRyZXNzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWRkcmVzc09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXdyaXRlLWFkZHJlc3MtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnRlcm5hdGlvbmFsTW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNJbnRlcm5hdGlvbmFsOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VibWlzc2lvbkF0dGVtcHRlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhcnRlZEludGVybmF0aW9uYWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRyZXNzQ2hvc2VuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBwb3N0Y29kZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGludGVybmF0aW9uYWxNb2RlU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIGluZGljYXRlZCB3aGF0IGVycm9yIHRvIGRpc3BsYXkgdG8gdXNlclxuICBAT3V0cHV0KCkgcHVibGljIGNhblNlbGVjdEFkZHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIHRlbGxzIHBhcmVudCB0byByZXNldCBzdWJtaXNzaW9uIGF0dGVtcHRlZCBmaWVsZFxuICAvLyBvbmx5IHJlbGV2YW50IHRvIHdoZW4gdXNlciByZS1jbGlja3MgZmluZCBhZGRyZXNzXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVzZXRTdWJtaXNzaW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBhZGRyZXNzRmllbGQ6IEFkZHJlc3NNb2RlbCA9IHtcbiAgICBhZGRyZXNzTGluZTE6ICcnLFxuICAgIGFkZHJlc3NMaW5lMjogJycsXG4gICAgYWRkcmVzc0xpbmUzOiAnJyxcbiAgICBwb3N0Q29kZTogJycsXG4gICAgcG9zdFRvd246ICcnLFxuICAgIGNvdW50cnk6ICcnLFxuICAgIGNvdW50eTogJydcbiAgfTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGFibGUgPSBmYWxzZTtcblxuICBwdWJsaWMgYWRkcmVzc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBhZGRyZXNzT3B0aW9uczogQWRkcmVzc09wdGlvbltdO1xuXG4gIHB1YmxpYyBtaXNzaW5nUG9zdGNvZGUgPSBmYWxzZTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX09QVElPTl9TRUxFQ1RFRDtcbiAgcHVibGljIHBvc3Rjb2RlRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX1BPU1RDT0RFX1NFTEVDVEVEO1xuICBwdWJsaWMgc2VsZWN0RXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLlNFTEVDVF9BRERSRVNTO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzc2VzU2VydmljZTogQWRkcmVzc1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzJywgbmV3IEZvcm1Db250cm9sKHt9KSk7XG4gICAgfVxuICAgIC8vIHNldCB0aGUgZm9ybSBncm91cCByZWxldmFudCB0byBvbmx5IHRoZSBleHRlcm5hbCBwYXJlbnQgY29tcG9uZW50XG4gICAgdGhpcy5hZGRyZXNzRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAvLyByZWxldmFudCB0byBpbnRlcm5hdGlvbmFsIG1vZGVcbiAgICAgIHVrQWRkcmVzczogbmV3IEZvcm1Db250cm9sKHRoaXMuaXNJbnRlcm5hdGlvbmFsICE9PSB1bmRlZmluZWQgPyAodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpIDogbnVsbCksXG4gICAgICAvLyByZWxldmFudCB0byBwb3N0b2NvZGUgbG9va3VwXG4gICAgICBwb3N0Y29kZTogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGFkZHJlc3NMaXN0OiBuZXcgRm9ybUNvbnRyb2woJycpXG4gICAgfSk7XG4gICAgdGhpcy5zZXRQb3N0Y29kZUZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWRkcmVzcygpIHtcbiAgICB0aGlzLnJlc2V0U3VibWlzc2lvbi5lbWl0KCk7XG4gICAgaWYgKCF0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdwb3N0Y29kZScpLnZhbHVlKSB7XG4gICAgICB0aGlzLm1pc3NpbmdQb3N0Y29kZSA9IHRydWU7XG4gICAgICB0aGlzLmNhblNlbGVjdEFkZHJlc3MuZW1pdChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgICB0aGlzLmFkZHJlc3NGaWVsZCA9IG51bGw7XG4gICAgICBjb25zdCBwb3N0Y29kZSA9IHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykudmFsdWU7XG4gICAgICB0aGlzLmFkZHJlc3NPcHRpb25zID0gW107XG4gICAgICB0aGlzLmFkZHJlc3Nlc1NlcnZpY2UuZ2V0QWRkcmVzc2VzRm9yUG9zdGNvZGUocG9zdGNvZGUucmVwbGFjZSgnICcsICcnKS50b1VwcGVyQ2FzZSgpKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmVzdWx0LmZvckVhY2goXG4gICAgICAgICAgICBhZGRyZXNzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy5wdXNoKG5ldyBBZGRyZXNzT3B0aW9uKGFkZHJlc3MsIG51bGwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWRkcmVzc09wdGlvbnMudW5zaGlmdChcbiAgICAgICAgICAgIG5ldyBBZGRyZXNzT3B0aW9uKHVuZGVmaW5lZCwgdGhpcy5kZWZhdWx0TGFiZWwodGhpcy5hZGRyZXNzT3B0aW9ucy5sZW5ndGgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIC8vIEVkaXRlZCB0aGlzIHNvIHRoYXQgZXJyb3JzIG5vdCBwcm9kdWNlZCBpZiB0aGVyZSBhcmUgbm8gcmVzdWx0cyBmb3IgYSBwb3N0Y29kZVxuICAgICAgICAgIGNvbnNvbGUubG9nKGBBbiBlcnJvciBvY2N1cnJlZCByZXRyaWV2aW5nIGFkZHJlc3NlcyBmb3IgcG9zdGNvZGUgJHtwb3N0Y29kZX0uICR7ZXJyb3J9YCk7XG4gICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy51bnNoaWZ0KFxuICAgICAgICAgICAgbmV3IEFkZHJlc3NPcHRpb24odW5kZWZpbmVkLCB0aGlzLmRlZmF1bHRMYWJlbCh0aGlzLmFkZHJlc3NPcHRpb25zLmxlbmd0aCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnNldFZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJsYW5rQWRkcmVzcygpIHtcbiAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIHRoaXMucmVzZXRTdWJtaXNzaW9uLmVtaXQoKTtcbiAgICBpZiAodGhpcy5pbnRlcm5hdGlvbmFsTW9kZSkge1xuICAgICAgdGhpcy5pbnRlcm5hdGlvbmFsTW9kZVN0YXJ0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS52YWx1ZTtcbiAgICBsZXQgaGFzQWRkcmVzcyA9IGZhbHNlO1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBPYmplY3Qua2V5cyhhZGRyZXNzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGFkZHJlc3Nba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgIGhhc0FkZHJlc3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0FkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGVkKCkge1xuICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZGRyZXNzRmllbGQgPSB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnZhbHVlO1xuICAgIHRoaXMuYWRkcmVzc0Nob3NlbiA9IHRydWU7XG4gICAgdGhpcy5zZXRGb3JtVmFsdWUoKTtcbiAgICB0aGlzLnBvc3Rjb2RlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBhZGRyZXNzQ2hhbmdlID0gY2hhbmdlc1snYWRkcmVzc0ZpZWxkJ107XG4gICAgY29uc3QgaW50ZXJuYXRpb25hbENoYW5nZSA9IGNoYW5nZXNbJ2lzSW50ZXJuYXRpb25hbCddO1xuICAgIGlmIChhZGRyZXNzQ2hhbmdlKSB7XG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJuYXRpb25hbENoYW5nZSAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgndWtBZGRyZXNzJykpIHtcbiAgICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3VrQWRkcmVzcycpLnBhdGNoVmFsdWUodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWRkcmVzc0Nob3NlbiAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgnYWRkcmVzc0xpc3QnKSkge1xuICAgICAgLy8gcmVzZXRzIGFkZHJlc3Mgb3B0aW9ucyBvbiBpbnRlcm5hbCBiYWNrXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnBhdGNoVmFsdWUodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0lmRXJyb3JzTmVlZGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZFcnJvcnNOZWVkZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3VibWlzc2lvbkF0dGVtcHRlZCAmJiB0aGlzLmludGVybmF0aW9uYWxNb2RlICYmICF0aGlzLnBvc3Rjb2RlTG9va3VwVmlzaWJsZSgpKSB7XG4gICAgICAvLyBlbnN1cmUgZXJyb3JzIHByZXNlbnQgd2hlbiBzdWJtaXNzaW9uIGF0dG1lbXB0ZWQgb24gaW50ZXJuYXRpb25hbCByYWRpbyBidXR0b25zXG4gICAgICB0aGlzLm9wdGlvbkVycm9yc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgdGhpcy5vcHRpb25FcnJvck1lc3NhZ2UgPSBBZGRyZXNzTWVzc2FnZUVudW0uTk9fT1BUSU9OX1NFTEVDVEVEO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ICYmICh0aGlzLmFkZHJlc3NDaG9zZW4gfHwgdGhpcy5pc0ludGVybmF0aW9uYWwgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIC8vIGVuc3VyZSBwYXJlbnQgZXJyb3JzIG5vdCBwcmVzZW50IHdoZW4gdGhlIGNoaWxkIGZvcm0gZ3JvdXAgaXMgcHJlc2VudFxuICAgICAgdGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEludGVybmF0aW9uYWxBZGRyZXNzKGlzSW50ZXJuYXRpb25hbDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNJbnRlcm5hdGlvbmFsID0gaXNJbnRlcm5hdGlvbmFsO1xuICAgIHRoaXMudWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQuZW1pdCh0aGlzLmlzSW50ZXJuYXRpb25hbCk7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVFcnJvclByZXNlbnQoaXNQb3N0Y29kZUZpZWxkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hlY2tGb3JGaWVsZCA9IGlzUG9zdGNvZGVGaWVsZCA/ICF0aGlzLmFkZHJlc3NTZWxlY3RhYmxlIDogdGhpcy5hZGRyZXNzU2VsZWN0YWJsZTtcbiAgICByZXR1cm4gdGhpcy5zdWJtaXNzaW9uQXR0ZW1wdGVkICYmIGNoZWNrRm9yRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVMb29rdXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zaG91bGRTaG93RGV0YWlsRmllbGRzKCkgfHwgKCF0aGlzLnN0YXJ0ZWRJbnRlcm5hdGlvbmFsICYmICF0aGlzLmFkZHJlc3NDaG9zZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZhdWx0TGFiZWwobnVtYmVyT2ZBZGRyZXNzZXM6IG51bWJlcikge1xuICAgIHRoaXMuYWRkcmVzc1NlbGVjdGFibGUgPSBudW1iZXJPZkFkZHJlc3NlcyA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5jYW5TZWxlY3RBZGRyZXNzLmVtaXQodGhpcy5hZGRyZXNzU2VsZWN0YWJsZSk7XG4gICAgcmV0dXJuIG51bWJlck9mQWRkcmVzc2VzID09PSAwID8gJ05vIGFkZHJlc3MgZm91bmQnXG4gICAgICA6IGAke251bWJlck9mQWRkcmVzc2VzfSR7bnVtYmVyT2ZBZGRyZXNzZXMgPT09IDEgPyAnIGFkZHJlc3MgJyA6ICcgYWRkcmVzc2VzICd9Zm91bmRgO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS5wYXRjaFZhbHVlKFxuICAgICAgICB0aGlzLmFkZHJlc3NGaWVsZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBvc3Rjb2RlRm9ybSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3N0Y29kZU5lZWRlZCA9IHRoaXMuaXNJbnRlcm5hdGlvbmFsID09PSB1bmRlZmluZWQgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykuZ2V0KCdwb3N0Q29kZScpO1xuICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykucGF0Y2hWYWx1ZShwb3N0Y29kZU5lZWRlZCA/IHRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpLmdldCgncG9zdENvZGUnKS52YWx1ZSA6ICcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtR3JvdXBcIlxuICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogb3B0aW9uRXJyb3JzUHJlc2VudH1cIj5cbiAgPHAgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJvcHRpb25FcnJvcnNQcmVzZW50XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tvcHRpb25FcnJvck1lc3NhZ2V9fVxuICA8L3A+XG4gIDxkaXYgKm5nSWY9XCJwb3N0Y29kZUxvb2t1cFZpc2libGUoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZ292dWstbGFiZWxcIj48c3Ryb25nPlByb3ZpZGUgYWRkcmVzcyBkZXRhaWxzPC9zdHJvbmc+PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5IHBvc3Rjb2RlLWxvb2t1cFwiIGlkPVwiYWRkcmVzc0xvb2t1cFwiXG4gICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlIHx8IHBvc3Rjb2RlRXJyb3JQcmVzZW50KHRydWUpfVwiPlxuICAgICAgPGxhYmVsIGZvcj1cInBvc3Rjb2RlSW5wdXRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1oaW50XCI+RW50ZXIgYSBVSyBwb3N0Y29kZTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm1pc3NpbmdQb3N0Y29kZSB8fCBwb3N0Y29kZUVycm9yUHJlc2VudCh0cnVlKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj57e3Bvc3Rjb2RlRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlfVwiIGlkPVwicG9zdGNvZGVJbnB1dFwiIG5hbWU9XCJwb3N0Y29kZVwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS10aGlyZCBwb3N0Y29kZWlucHV0IGlubGluZS1ibG9ja1wiIGZvcm1Db250cm9sTmFtZT1cInBvc3Rjb2RlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGZpbmQtYWRkcmVzc1wiIChjbGljayk9XCJmaW5kQWRkcmVzcygpXCI+RmluZCBhZGRyZXNzPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKm5nSWY9XCJhZGRyZXNzT3B0aW9uc1wiIGlkPVwic2VsZWN0QWRkcmVzc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJvZHlcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogcG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpfVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cImFkZHJlc3NMaXN0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IGFuIGFkZHJlc3M8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tzZWxlY3RFcnJvck1lc3NhZ2V9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZ292dWstc2VsZWN0IGNjZC1kcm9wZG93biBhZGRyZXNzTGlzdFwiIGlkPVwiYWRkcmVzc0xpc3RcIiBuYW1lPVwiYWRkcmVzc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWRkcmVzc0xpc3RcIiAoY2hhbmdlKT1cImFkZHJlc3NTZWxlY3RlZCgpXCIgZm9jdXNFbGVtZW50PlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGFkZHJlc3NPcHRpb24gb2YgYWRkcmVzc09wdGlvbnNcIiBbbmdWYWx1ZV09XCJhZGRyZXNzT3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICB7e2FkZHJlc3NPcHRpb24uZGVzY3JpcHRpb259fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGEgY2xhc3M9XCJtYW51YWwtbGluayBnb3Z1ay1saW5rXCIgKm5nSWY9XCIhc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHx8ICghc3RhcnRlZEludGVybmF0aW9uYWwgJiYgIWFkZHJlc3NDaG9zZW4pXCJcbiAgICAgIChjbGljayk9XCJibGFua0FkZHJlc3MoKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5JIGNhbid0IGVudGVyIGEgVUsgcG9zdGNvZGU8L2E+XG4gIDwvZGl2PlxuXG4gIDxkaXYgaWQ9XCJnb3Z1ay1yYWRpb3NcIiBjbGFzcz1cImdvdnVrLXJhZGlvc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCJcbiAgICAqbmdJZj1cInNob3VsZFNob3dEZXRhaWxGaWVsZHMoKSAmJiBpbnRlcm5hdGlvbmFsTW9kZSAmJiBzdGFydGVkSW50ZXJuYXRpb25hbCAmJiAhYWRkcmVzc0Nob3NlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cInllc1wiIHZhbHVlPVwieWVzXCIgbmFtZT1cInVrQWRkcmVzc1wiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cImFkZHJlc3MtZmllbGRzXCIgKGNsaWNrKT1cInNldEludGVybmF0aW9uYWxBZGRyZXNzKGZhbHNlKVwiIGZvcm1Db250cm9sTmFtZT1cInVrQWRkcmVzc1wiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cInllc1wiPlxuICAgICAgICBZZXNcbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwibm9cIiB2YWx1ZT1cIm5vXCIgbmFtZT1cInVrQWRkcmVzc1wiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cImFkZHJlc3MtZmllbGRzXCIgKGNsaWNrKT1cInNldEludGVybmF0aW9uYWxBZGRyZXNzKHRydWUpXCIgZm9ybUNvbnRyb2xOYW1lPVwidWtBZGRyZXNzXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwibm9cIj5cbiAgICAgICAgTm9cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiBpZD1cImFkZHJlc3MtZmllbGRzXCI+XG4gICAgICA8eHVpbGliLXdyaXRlLWFkZHJlc3MtaW5wdXRzICpuZ0lmPVwiaXNJbnRlcm5hdGlvbmFsICE9PSB1bmRlZmluZWRcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgIFtpc0ludGVybmF0aW9uYWxdPVwiaXNJbnRlcm5hdGlvbmFsXCIgW3N1Ym1pc3Npb25BdHRlbXB0ZWRdPVwic3VibWlzc2lvbkF0dGVtcHRlZFwiPlxuICAgICAgPC94dWlsaWItd3JpdGUtYWRkcmVzcy1pbnB1dHM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDx4dWlsaWItd3JpdGUtYWRkcmVzcy1pbnB1dHMgKm5nSWY9XCJzaG91bGRTaG93RGV0YWlsRmllbGRzKCkgJiYgKGFkZHJlc3NDaG9zZW4gfHwgIWludGVybmF0aW9uYWxNb2RlKVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNJbnRlcm5hdGlvbmFsXT1cImZhbHNlXCIgW3N1Ym1pc3Npb25BdHRlbXB0ZWRdPVwic3VibWlzc2lvbkF0dGVtcHRlZFwiPlxuICA8L3h1aWxpYi13cml0ZS1hZGRyZXNzLWlucHV0cz5cblxuPC9kaXY+Il19
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztJQ0RwRSxBQURGLDRCQUEyRCxjQUNyQjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQseURBQ25EOzs7SUFTTSxBQURGLDRCQUFxRixjQUMvQztJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQsMkRBQ25EOzs7SUFjSSxBQURGLDRCQUFtRSxjQUM3QjtJQUFBLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQseURBQ25EOzs7SUFHRSxrQ0FBcUY7SUFDbkYsWUFDRjtJQUFBLGlCQUFTOzs7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eUI7WUFBekIsOENBQXlCO1lBR25ELGNBQTZCO1lBQTdCLGtEQUE2QjtZQXVDaEMsY0FBNkY7WUFBN0YsOEhBQTZGO1lBc0JsRSxjQUF1RTtZQUF2RSxvR0FBdUU7OztpRkR2RDFGLDBCQUEwQjtjQUx0QyxTQUFTOzJCQUNFLDRCQUE0QjsrQ0FPL0IsU0FBUztrQkFEZixLQUFLO1lBR0MsaUJBQWlCO2tCQUR2QixLQUFLO1lBR0MsZUFBZTtrQkFEckIsS0FBSztZQUdDLG1CQUFtQjtrQkFEekIsS0FBSztZQUdDLG9CQUFvQjtrQkFEMUIsS0FBSztZQUdDLGFBQWE7a0JBRG5CLEtBQUs7WUFHVyxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSx1QkFBdUI7a0JBQXZDLE1BQU07WUFFVSxnQkFBZ0I7a0JBQWhDLE1BQU07WUFHVSxlQUFlO2tCQUEvQixNQUFNOztrRkF0QkksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc01lc3NhZ2VFbnVtLCBBZGRyZXNzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWRkcmVzc09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXdyaXRlLWFkZHJlc3MtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnRlcm5hdGlvbmFsTW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNJbnRlcm5hdGlvbmFsOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VibWlzc2lvbkF0dGVtcHRlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhcnRlZEludGVybmF0aW9uYWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRyZXNzQ2hvc2VuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBwb3N0Y29kZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGludGVybmF0aW9uYWxNb2RlU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIGluZGljYXRlZCB3aGF0IGVycm9yIHRvIGRpc3BsYXkgdG8gdXNlclxuICBAT3V0cHV0KCkgcHVibGljIGNhblNlbGVjdEFkZHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIHRlbGxzIHBhcmVudCB0byByZXNldCBzdWJtaXNzaW9uIGF0dGVtcHRlZCBmaWVsZFxuICAvLyBvbmx5IHJlbGV2YW50IHRvIHdoZW4gdXNlciByZS1jbGlja3MgZmluZCBhZGRyZXNzXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVzZXRTdWJtaXNzaW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBhZGRyZXNzRmllbGQ6IEFkZHJlc3NNb2RlbCA9IHtcbiAgICBhZGRyZXNzTGluZTE6ICcnLFxuICAgIGFkZHJlc3NMaW5lMjogJycsXG4gICAgYWRkcmVzc0xpbmUzOiAnJyxcbiAgICBwb3N0Q29kZTogJycsXG4gICAgcG9zdFRvd246ICcnLFxuICAgIGNvdW50cnk6ICcnLFxuICAgIGNvdW50eTogJydcbiAgfTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGFibGUgPSBmYWxzZTtcblxuICBwdWJsaWMgYWRkcmVzc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBhZGRyZXNzT3B0aW9uczogQWRkcmVzc09wdGlvbltdO1xuXG4gIHB1YmxpYyBtaXNzaW5nUG9zdGNvZGUgPSBmYWxzZTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX09QVElPTl9TRUxFQ1RFRDtcbiAgcHVibGljIHBvc3Rjb2RlRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX1BPU1RDT0RFX1NFTEVDVEVEO1xuICBwdWJsaWMgc2VsZWN0RXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLlNFTEVDVF9BRERSRVNTO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzc2VzU2VydmljZTogQWRkcmVzc1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzJywgbmV3IEZvcm1Db250cm9sKHt9KSk7XG4gICAgfVxuICAgIC8vIHNldCB0aGUgZm9ybSBncm91cCByZWxldmFudCB0byBvbmx5IHRoZSBleHRlcm5hbCBwYXJlbnQgY29tcG9uZW50XG4gICAgdGhpcy5hZGRyZXNzRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAvLyByZWxldmFudCB0byBpbnRlcm5hdGlvbmFsIG1vZGVcbiAgICAgIHVrQWRkcmVzczogbmV3IEZvcm1Db250cm9sKHRoaXMuaXNJbnRlcm5hdGlvbmFsICE9PSB1bmRlZmluZWQgPyAodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpIDogbnVsbCksXG4gICAgICAvLyByZWxldmFudCB0byBwb3N0b2NvZGUgbG9va3VwXG4gICAgICBwb3N0Y29kZTogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGFkZHJlc3NMaXN0OiBuZXcgRm9ybUNvbnRyb2woJycpXG4gICAgfSk7XG4gICAgdGhpcy5zZXRQb3N0Y29kZUZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWRkcmVzcygpIHtcbiAgICB0aGlzLnJlc2V0U3VibWlzc2lvbi5lbWl0KCk7XG4gICAgaWYgKCF0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdwb3N0Y29kZScpLnZhbHVlKSB7XG4gICAgICB0aGlzLm1pc3NpbmdQb3N0Y29kZSA9IHRydWU7XG4gICAgICB0aGlzLmNhblNlbGVjdEFkZHJlc3MuZW1pdChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgICB0aGlzLmFkZHJlc3NGaWVsZCA9IG51bGw7XG4gICAgICBjb25zdCBwb3N0Y29kZSA9IHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykudmFsdWU7XG4gICAgICB0aGlzLmFkZHJlc3NPcHRpb25zID0gW107XG4gICAgICB0aGlzLmFkZHJlc3Nlc1NlcnZpY2UuZ2V0QWRkcmVzc2VzRm9yUG9zdGNvZGUocG9zdGNvZGUucmVwbGFjZSgnICcsICcnKS50b1VwcGVyQ2FzZSgpKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmVzdWx0LmZvckVhY2goXG4gICAgICAgICAgICBhZGRyZXNzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy5wdXNoKG5ldyBBZGRyZXNzT3B0aW9uKGFkZHJlc3MsIG51bGwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWRkcmVzc09wdGlvbnMudW5zaGlmdChcbiAgICAgICAgICAgIG5ldyBBZGRyZXNzT3B0aW9uKHVuZGVmaW5lZCwgdGhpcy5kZWZhdWx0TGFiZWwodGhpcy5hZGRyZXNzT3B0aW9ucy5sZW5ndGgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIC8vIEVkaXRlZCB0aGlzIHNvIHRoYXQgZXJyb3JzIG5vdCBwcm9kdWNlZCBpZiB0aGVyZSBhcmUgbm8gcmVzdWx0cyBmb3IgYSBwb3N0Y29kZVxuICAgICAgICAgIGNvbnNvbGUubG9nKGBBbiBlcnJvciBvY2N1cnJlZCByZXRyaWV2aW5nIGFkZHJlc3NlcyBmb3IgcG9zdGNvZGUgJHtwb3N0Y29kZX0uICR7ZXJyb3J9YCk7XG4gICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy51bnNoaWZ0KFxuICAgICAgICAgICAgbmV3IEFkZHJlc3NPcHRpb24odW5kZWZpbmVkLCB0aGlzLmRlZmF1bHRMYWJlbCh0aGlzLmFkZHJlc3NPcHRpb25zLmxlbmd0aCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnNldFZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJsYW5rQWRkcmVzcygpIHtcbiAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIHRoaXMucmVzZXRTdWJtaXNzaW9uLmVtaXQoKTtcbiAgICBpZiAodGhpcy5pbnRlcm5hdGlvbmFsTW9kZSkge1xuICAgICAgdGhpcy5pbnRlcm5hdGlvbmFsTW9kZVN0YXJ0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS52YWx1ZTtcbiAgICBsZXQgaGFzQWRkcmVzcyA9IGZhbHNlO1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBPYmplY3Qua2V5cyhhZGRyZXNzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGFkZHJlc3Nba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgIGhhc0FkZHJlc3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0FkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGVkKCkge1xuICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZGRyZXNzRmllbGQgPSB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnZhbHVlO1xuICAgIHRoaXMuYWRkcmVzc0Nob3NlbiA9IHRydWU7XG4gICAgdGhpcy5zZXRGb3JtVmFsdWUoKTtcbiAgICB0aGlzLnBvc3Rjb2RlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBhZGRyZXNzQ2hhbmdlID0gY2hhbmdlc1snYWRkcmVzc0ZpZWxkJ107XG4gICAgY29uc3QgaW50ZXJuYXRpb25hbENoYW5nZSA9IGNoYW5nZXNbJ2lzSW50ZXJuYXRpb25hbCddO1xuICAgIGlmIChhZGRyZXNzQ2hhbmdlKSB7XG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJuYXRpb25hbENoYW5nZSAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgndWtBZGRyZXNzJykpIHtcbiAgICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3VrQWRkcmVzcycpLnBhdGNoVmFsdWUodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWRkcmVzc0Nob3NlbiAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgnYWRkcmVzc0xpc3QnKSkge1xuICAgICAgLy8gcmVzZXRzIGFkZHJlc3Mgb3B0aW9ucyBvbiBpbnRlcm5hbCBiYWNrXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnBhdGNoVmFsdWUodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0lmRXJyb3JzTmVlZGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZFcnJvcnNOZWVkZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3VibWlzc2lvbkF0dGVtcHRlZCAmJiB0aGlzLmludGVybmF0aW9uYWxNb2RlICYmICF0aGlzLnBvc3Rjb2RlTG9va3VwVmlzaWJsZSgpKSB7XG4gICAgICAvLyBlbnN1cmUgZXJyb3JzIHByZXNlbnQgd2hlbiBzdWJtaXNzaW9uIGF0dG1lbXB0ZWQgb24gaW50ZXJuYXRpb25hbCByYWRpbyBidXR0b25zXG4gICAgICB0aGlzLm9wdGlvbkVycm9yc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgdGhpcy5vcHRpb25FcnJvck1lc3NhZ2UgPSBBZGRyZXNzTWVzc2FnZUVudW0uTk9fT1BUSU9OX1NFTEVDVEVEO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ICYmICh0aGlzLmFkZHJlc3NDaG9zZW4gfHwgdGhpcy5pc0ludGVybmF0aW9uYWwgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIC8vIGVuc3VyZSBwYXJlbnQgZXJyb3JzIG5vdCBwcmVzZW50IHdoZW4gdGhlIGNoaWxkIGZvcm0gZ3JvdXAgaXMgcHJlc2VudFxuICAgICAgdGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEludGVybmF0aW9uYWxBZGRyZXNzKGlzSW50ZXJuYXRpb25hbDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNJbnRlcm5hdGlvbmFsID0gaXNJbnRlcm5hdGlvbmFsO1xuICAgIHRoaXMudWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQuZW1pdCh0aGlzLmlzSW50ZXJuYXRpb25hbCk7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVFcnJvclByZXNlbnQoaXNQb3N0Y29kZUZpZWxkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hlY2tGb3JGaWVsZCA9IGlzUG9zdGNvZGVGaWVsZCA/ICF0aGlzLmFkZHJlc3NTZWxlY3RhYmxlIDogdGhpcy5hZGRyZXNzU2VsZWN0YWJsZTtcbiAgICByZXR1cm4gdGhpcy5zdWJtaXNzaW9uQXR0ZW1wdGVkICYmIGNoZWNrRm9yRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVMb29rdXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zaG91bGRTaG93RGV0YWlsRmllbGRzKCkgfHwgKCF0aGlzLnN0YXJ0ZWRJbnRlcm5hdGlvbmFsICYmICF0aGlzLmFkZHJlc3NDaG9zZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZhdWx0TGFiZWwobnVtYmVyT2ZBZGRyZXNzZXM6IG51bWJlcikge1xuICAgIHRoaXMuYWRkcmVzc1NlbGVjdGFibGUgPSBudW1iZXJPZkFkZHJlc3NlcyA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5jYW5TZWxlY3RBZGRyZXNzLmVtaXQodGhpcy5hZGRyZXNzU2VsZWN0YWJsZSk7XG4gICAgcmV0dXJuIG51bWJlck9mQWRkcmVzc2VzID09PSAwID8gJ05vIGFkZHJlc3MgZm91bmQnXG4gICAgICA6IGAke251bWJlck9mQWRkcmVzc2VzfSR7bnVtYmVyT2ZBZGRyZXNzZXMgPT09IDEgPyAnIGFkZHJlc3MgJyA6ICcgYWRkcmVzc2VzICd9Zm91bmRgO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS5wYXRjaFZhbHVlKFxuICAgICAgICB0aGlzLmFkZHJlc3NGaWVsZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBvc3Rjb2RlRm9ybSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3N0Y29kZU5lZWRlZCA9IHRoaXMuaXNJbnRlcm5hdGlvbmFsID09PSB1bmRlZmluZWQgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykuZ2V0KCdwb3N0Q29kZScpO1xuICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykucGF0Y2hWYWx1ZShwb3N0Y29kZU5lZWRlZCA/IHRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpLmdldCgncG9zdENvZGUnKS52YWx1ZSA6ICcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtR3JvdXBcIlxuICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogb3B0aW9uRXJyb3JzUHJlc2VudH1cIj5cbiAgPHAgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJvcHRpb25FcnJvcnNQcmVzZW50XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tvcHRpb25FcnJvck1lc3NhZ2V9fVxuICA8L3A+XG4gIDxkaXYgKm5nSWY9XCJwb3N0Y29kZUxvb2t1cFZpc2libGUoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZ292dWstbGFiZWxcIj48c3Ryb25nPlByb3ZpZGUgYWRkcmVzcyBkZXRhaWxzPC9zdHJvbmc+PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5IHBvc3Rjb2RlLWxvb2t1cFwiIGlkPVwiYWRkcmVzc0xvb2t1cFwiXG4gICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlIHx8IHBvc3Rjb2RlRXJyb3JQcmVzZW50KHRydWUpfVwiPlxuICAgICAgPGxhYmVsIGZvcj1cInBvc3Rjb2RlSW5wdXRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1oaW50XCI+RW50ZXIgYSBVSyBwb3N0Y29kZTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm1pc3NpbmdQb3N0Y29kZSB8fCBwb3N0Y29kZUVycm9yUHJlc2VudCh0cnVlKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj57e3Bvc3Rjb2RlRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlfVwiIGlkPVwicG9zdGNvZGVJbnB1dFwiIG5hbWU9XCJwb3N0Y29kZVwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS10aGlyZCBwb3N0Y29kZWlucHV0IGlubGluZS1ibG9ja1wiIGZvcm1Db250cm9sTmFtZT1cInBvc3Rjb2RlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGZpbmQtYWRkcmVzc1wiIChjbGljayk9XCJmaW5kQWRkcmVzcygpXCI+RmluZCBhZGRyZXNzPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKm5nSWY9XCJhZGRyZXNzT3B0aW9uc1wiIGlkPVwic2VsZWN0QWRkcmVzc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJvZHlcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogcG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpfVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cImFkZHJlc3NMaXN0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IGFuIGFkZHJlc3M8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tzZWxlY3RFcnJvck1lc3NhZ2V9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZ292dWstc2VsZWN0IGNjZC1kcm9wZG93biBhZGRyZXNzTGlzdFwiIGlkPVwiYWRkcmVzc0xpc3RcIiBuYW1lPVwiYWRkcmVzc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWRkcmVzc0xpc3RcIiAoY2hhbmdlKT1cImFkZHJlc3NTZWxlY3RlZCgpXCIgZm9jdXNFbGVtZW50PlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGFkZHJlc3NPcHRpb24gb2YgYWRkcmVzc09wdGlvbnNcIiBbbmdWYWx1ZV09XCJhZGRyZXNzT3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICB7e2FkZHJlc3NPcHRpb24uZGVzY3JpcHRpb259fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGEgY2xhc3M9XCJtYW51YWwtbGluayBnb3Z1ay1saW5rXCIgKm5nSWY9XCIhc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHx8ICghc3RhcnRlZEludGVybmF0aW9uYWwgJiYgIWFkZHJlc3NDaG9zZW4pXCJcbiAgICAgIChjbGljayk9XCJibGFua0FkZHJlc3MoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIiBocmVmPVwiI1wiPkkgY2FuJ3QgZW50ZXIgYSBVSyBwb3N0Y29kZTwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cImdvdnVrLXJhZGlvc1wiIGNsYXNzPVwiZ292dWstcmFkaW9zXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIlxuICAgICpuZ0lmPVwic2hvdWxkU2hvd0RldGFpbEZpZWxkcygpICYmIGludGVybmF0aW9uYWxNb2RlICYmIHN0YXJ0ZWRJbnRlcm5hdGlvbmFsICYmICFhZGRyZXNzQ2hvc2VuXCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwieWVzXCIgdmFsdWU9XCJ5ZXNcIiBuYW1lPVwidWtBZGRyZXNzXCIgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgZGF0YS1hcmlhLWNvbnRyb2xzPVwiYWRkcmVzcy1maWVsZHNcIiAoY2xpY2spPVwic2V0SW50ZXJuYXRpb25hbEFkZHJlc3MoZmFsc2UpXCIgZm9ybUNvbnRyb2xOYW1lPVwidWtBZGRyZXNzXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwieWVzXCI+XG4gICAgICAgIFllc1xuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19pdGVtXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2lucHV0XCIgaWQ9XCJub1wiIHZhbHVlPVwibm9cIiBuYW1lPVwidWtBZGRyZXNzXCIgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgZGF0YS1hcmlhLWNvbnRyb2xzPVwiYWRkcmVzcy1maWVsZHNcIiAoY2xpY2spPVwic2V0SW50ZXJuYXRpb25hbEFkZHJlc3ModHJ1ZSlcIiBmb3JtQ29udHJvbE5hbWU9XCJ1a0FkZHJlc3NcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBmb3I9XCJub1wiPlxuICAgICAgICBOb1xuICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiIGlkPVwiYWRkcmVzcy1maWVsZHNcIj5cbiAgICAgIDx4dWlsaWItd3JpdGUtYWRkcmVzcy1pbnB1dHMgKm5nSWY9XCJpc0ludGVybmF0aW9uYWwgIT09IHVuZGVmaW5lZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgW2lzSW50ZXJuYXRpb25hbF09XCJpc0ludGVybmF0aW9uYWxcIiBbc3VibWlzc2lvbkF0dGVtcHRlZF09XCJzdWJtaXNzaW9uQXR0ZW1wdGVkXCI+XG4gICAgICA8L3h1aWxpYi13cml0ZS1hZGRyZXNzLWlucHV0cz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHh1aWxpYi13cml0ZS1hZGRyZXNzLWlucHV0cyAqbmdJZj1cInNob3VsZFNob3dEZXRhaWxGaWVsZHMoKSAmJiAoYWRkcmVzc0Nob3NlbiB8fCAhaW50ZXJuYXRpb25hbE1vZGUpXCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIFtpc0ludGVybmF0aW9uYWxdPVwiZmFsc2VcIiBbc3VibWlzc2lvbkF0dGVtcHRlZF09XCJzdWJtaXNzaW9uQXR0ZW1wdGVkXCI+XG4gIDwveHVpbGliLXdyaXRlLWFkZHJlc3MtaW5wdXRzPlxuXG48L2Rpdj4iXX0=
@@ -2886,14 +2886,14 @@ function FindLocationComponent_label_3_Template(rf, ctx) { if (rf & 1) {
2886
2886
  function FindLocationComponent_a_6_Template(rf, ctx) { if (rf & 1) {
2887
2887
  const _r2 = i0.ɵɵgetCurrentView();
2888
2888
  i0.ɵɵelementStart(0, "a", 7);
2889
- i0.ɵɵlistener("click", function FindLocationComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.addLocation()); });
2889
+ i0.ɵɵlistener("click", function FindLocationComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); ctx_r0.addLocation(); return i0.ɵɵresetView($event.preventDefault()); });
2890
2890
  i0.ɵɵtext(1, " Add location ");
2891
2891
  i0.ɵɵelementEnd();
2892
2892
  } }
2893
2893
  function FindLocationComponent_ul_7_li_1_Template(rf, ctx) { if (rf & 1) {
2894
2894
  const _r3 = i0.ɵɵgetCurrentView();
2895
2895
  i0.ɵɵelementStart(0, "li", 10)(1, "a", 11);
2896
- i0.ɵɵlistener("click", function FindLocationComponent_ul_7_li_1_Template_a_click_1_listener() { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.removeLocation(selection_r4)); });
2896
+ i0.ɵɵlistener("click", function FindLocationComponent_ul_7_li_1_Template_a_click_1_listener($event) { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.removeLocation(selection_r4); return i0.ɵɵresetView($event.preventDefault()); });
2897
2897
  i0.ɵɵtext(2);
2898
2898
  i0.ɵɵelementEnd()();
2899
2899
  } if (rf & 2) {
@@ -3032,7 +3032,7 @@ class FindLocationComponent {
3032
3032
  } if (rf & 2) {
3033
3033
  let _t;
3034
3034
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchLocationComponent = _t.first);
3035
- } }, inputs: { submitted: "submitted", enableAddLocationButton: "enableAddLocationButton", form: "form", field: "field", fields: "fields", locationTitle: "locationTitle", disableInputField: "disableInputField", formSubmissionEvent$: "formSubmissionEvent$", disabled: "disabled", services: "services" }, outputs: { locationFieldChanged: "locationFieldChanged" }, decls: 8, vars: 13, consts: [[1, "location-picker-custom"], [1, "search-location"], ["id", "input-selected-location-label", 4, "ngIf"], [1, "search-location", 3, "locationTermSearchInputChanged", "locationSelected", "searchLocationChanged", "form", "field", "selectedLocations", "delay", "disabled", "singleMode", "bookingCheck", "serviceIds", "propertyNameFilter", "locationType"], ["href", "javascript:void(0)", "class", "govuk-button add-location-button", "data-module", "govuk-button", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "input-selected-location-label"], ["href", "javascript:void(0)", "data-module", "govuk-button", 1, "govuk-button", "add-location-button", 3, "click"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "javascript:void(0)", 1, "hmcts-filter__tag", 3, "click"]], template: function FindLocationComponent_Template(rf, ctx) { if (rf & 1) {
3035
+ } }, inputs: { submitted: "submitted", enableAddLocationButton: "enableAddLocationButton", form: "form", field: "field", fields: "fields", locationTitle: "locationTitle", disableInputField: "disableInputField", formSubmissionEvent$: "formSubmissionEvent$", disabled: "disabled", services: "services" }, outputs: { locationFieldChanged: "locationFieldChanged" }, decls: 8, vars: 13, consts: [[1, "location-picker-custom"], [1, "search-location"], ["id", "input-selected-location-label", 4, "ngIf"], [1, "search-location", 3, "locationTermSearchInputChanged", "locationSelected", "searchLocationChanged", "form", "field", "selectedLocations", "delay", "disabled", "singleMode", "bookingCheck", "serviceIds", "propertyNameFilter", "locationType"], ["href", "#", "class", "govuk-button add-location-button", "data-module", "govuk-button", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "input-selected-location-label"], ["href", "#", "data-module", "govuk-button", 1, "govuk-button", "add-location-button", 3, "click"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "#", 1, "hmcts-filter__tag", 3, "click"]], template: function FindLocationComponent_Template(rf, ctx) { if (rf & 1) {
3036
3036
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div");
3037
3037
  i0.ɵɵtemplate(3, FindLocationComponent_label_3_Template, 2, 1, "label", 2);
3038
3038
  i0.ɵɵelementEnd();
@@ -3057,7 +3057,7 @@ class FindLocationComponent {
3057
3057
  }
3058
3058
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindLocationComponent, [{
3059
3059
  type: Component,
3060
- args: [{ selector: 'xuilib-find-location', template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [form]=\"form\"\n [field]=\"field\"\n [selectedLocations]=\"selectedLocations\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [serviceIds]=\"serviceIds\"\n [propertyNameFilter]=\"propertyNameFilter\"\n (locationTermSearchInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\">\n </exui-search-location>\n </div>\n\n <div>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button add-location-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n", styles: [".add-location-button{margin-top:10px;margin-bottom:0}.search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}\n"] }]
3060
+ args: [{ selector: 'xuilib-find-location', template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [form]=\"form\"\n [field]=\"field\"\n [selectedLocations]=\"selectedLocations\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [serviceIds]=\"serviceIds\"\n [propertyNameFilter]=\"propertyNameFilter\"\n (locationTermSearchInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\">\n </exui-search-location>\n </div>\n\n <div>\n <a href=\"#\" (click)=\"addLocation(); $event.preventDefault()\" class=\"govuk-button add-location-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection); $event.preventDefault()\" href=\"#\">\n {{ selection[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n", styles: [".add-location-button{margin-top:10px;margin-bottom:0}.search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}\n"] }]
3061
3061
  }], null, { locationFieldChanged: [{
3062
3062
  type: Output
3063
3063
  }], submitted: [{
@@ -3404,7 +3404,7 @@ function FindServiceComponent_label_3_Template(rf, ctx) { if (rf & 1) {
3404
3404
  function FindServiceComponent_a_6_Template(rf, ctx) { if (rf & 1) {
3405
3405
  const _r2 = i0.ɵɵgetCurrentView();
3406
3406
  i0.ɵɵelementStart(0, "a", 9);
3407
- i0.ɵɵlistener("click", function FindServiceComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.addOption(ctx_r0.tempSelectedService)); });
3407
+ i0.ɵɵlistener("click", function FindServiceComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); ctx_r0.addOption(ctx_r0.tempSelectedService); return i0.ɵɵresetView($event.preventDefault()); });
3408
3408
  i0.ɵɵtext(1);
3409
3409
  i0.ɵɵpipe(2, "rpxTranslate");
3410
3410
  i0.ɵɵelementStart(3, "span", 10);
@@ -3420,7 +3420,7 @@ function FindServiceComponent_a_6_Template(rf, ctx) { if (rf & 1) {
3420
3420
  function FindServiceComponent_ul_7_li_1_Template(rf, ctx) { if (rf & 1) {
3421
3421
  const _r3 = i0.ɵɵgetCurrentView();
3422
3422
  i0.ɵɵelementStart(0, "li", 13)(1, "a", 14);
3423
- i0.ɵɵlistener("click", function FindServiceComponent_ul_7_li_1_Template_a_click_1_listener() { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.removeOption(selection_r4)); });
3423
+ i0.ɵɵlistener("click", function FindServiceComponent_ul_7_li_1_Template_a_click_1_listener($event) { const selection_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.removeOption(selection_r4); return i0.ɵɵresetView($event.preventDefault()); });
3424
3424
  i0.ɵɵtext(2);
3425
3425
  i0.ɵɵpipe(3, "rpxTranslate");
3426
3426
  i0.ɵɵelementEnd()();
@@ -3533,7 +3533,7 @@ class FindServiceComponent {
3533
3533
  } if (rf & 2) {
3534
3534
  let _t;
3535
3535
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchServiceComponent = _t.first);
3536
- } }, inputs: { field: "field", serviceTitle: "serviceTitle", form: "form", disabled: "disabled", formSubmissionEvent$: "formSubmissionEvent$" }, outputs: { serviceFieldChanged: "serviceFieldChanged" }, decls: 8, vars: 6, consts: [[1, "service-picker-custom"], [1, "search-service"], [1, "govuk-body"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select", 4, "ngIf"], [1, "search-service__input-container"], [1, "search-service__input", 3, "optionChanged", "options", "selectedOptions", "disabled"], ["href", "javascript:void(0)", "class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "data-module", "govuk-button", "id", "add-service", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select"], ["href", "javascript:void(0)", "data-module", "govuk-button", "id", "add-service", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "javascript:void(0)", 1, "hmcts-filter__tag", 3, "click"]], template: function FindServiceComponent_Template(rf, ctx) { if (rf & 1) {
3536
+ } }, inputs: { field: "field", serviceTitle: "serviceTitle", form: "form", disabled: "disabled", formSubmissionEvent$: "formSubmissionEvent$" }, outputs: { serviceFieldChanged: "serviceFieldChanged" }, decls: 8, vars: 6, consts: [[1, "service-picker-custom"], [1, "search-service"], [1, "govuk-body"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select", 4, "ngIf"], [1, "search-service__input-container"], [1, "search-service__input", 3, "optionChanged", "options", "selectedOptions", "disabled"], ["href", "#", "class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "data-module", "govuk-button", "id", "add-service", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select"], ["href", "#", "data-module", "govuk-button", "id", "add-service", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "#", 1, "hmcts-filter__tag", 3, "click"]], template: function FindServiceComponent_Template(rf, ctx) { if (rf & 1) {
3537
3537
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
3538
3538
  i0.ɵɵtemplate(3, FindServiceComponent_label_3_Template, 3, 3, "label", 3);
3539
3539
  i0.ɵɵelementEnd();
@@ -3557,7 +3557,7 @@ class FindServiceComponent {
3557
3557
  }
3558
3558
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindServiceComponent, [{
3559
3559
  type: Component,
3560
- args: [{ selector: 'xuilib-find-service', template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addOption(tempSelectedService)\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'service' | rpxTranslate}}</span>\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection)\" href=\"javascript:void(0)\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n", styles: ["#add-service{background-color:#ddd}\n"] }]
3560
+ args: [{ selector: 'xuilib-find-service', template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"#\" (click)=\"addOption(tempSelectedService); $event.preventDefault()\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'service' | rpxTranslate}}</span>\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection); $event.preventDefault()\" href=\"#\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n", styles: ["#add-service{background-color:#ddd}\n"] }]
3561
3561
  }], null, { field: [{
3562
3562
  type: Input
3563
3563
  }], serviceTitle: [{
@@ -5703,7 +5703,7 @@ function SelectedCaseComponent_div_18_Template(rf, ctx) { if (rf & 1) {
5703
5703
  function SelectedCaseComponent_table_19_tr_16_a_8_Template(rf, ctx) { if (rf & 1) {
5704
5704
  const _r3 = i0.ɵɵgetCurrentView();
5705
5705
  i0.ɵɵelementStart(0, "a", 30);
5706
- i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_8_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onRemove(user_r4, ctx_r1.sharedCase)); });
5706
+ i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_8_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onRemove(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
5707
5707
  i0.ɵɵtext(1);
5708
5708
  i0.ɵɵpipe(2, "rpxTranslate");
5709
5709
  i0.ɵɵelementStart(3, "span", 31);
@@ -5720,7 +5720,7 @@ function SelectedCaseComponent_table_19_tr_16_a_8_Template(rf, ctx) { if (rf & 1
5720
5720
  function SelectedCaseComponent_table_19_tr_16_a_10_Template(rf, ctx) { if (rf & 1) {
5721
5721
  const _r5 = i0.ɵɵgetCurrentView();
5722
5722
  i0.ɵɵelementStart(0, "a", 30);
5723
- i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_10_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r5); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCancel(user_r4, ctx_r1.sharedCase)); });
5723
+ i0.ɵɵlistener("click", function SelectedCaseComponent_table_19_tr_16_a_10_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const user_r4 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.onCancel(user_r4, ctx_r1.sharedCase); return i0.ɵɵresetView($event.preventDefault()); });
5724
5724
  i0.ɵɵtext(1);
5725
5725
  i0.ɵɵpipe(2, "rpxTranslate");
5726
5726
  i0.ɵɵelementStart(3, "span", 31);
@@ -5971,7 +5971,7 @@ class SelectedCaseComponent {
5971
5971
  return `${elementName}-${this.sharedCase.caseId}`;
5972
5972
  }
5973
5973
  static { this.ɵfac = function SelectedCaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
5974
- 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) {
5974
+ 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", "#", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "#", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
5975
5975
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
5976
5976
  i0.ɵɵtext(4);
5977
5977
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -6019,7 +6019,7 @@ class SelectedCaseComponent {
6019
6019
  }
6020
6020
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseComponent, [{
6021
6021
  type: Component,
6022
- 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"] }]
6022
+ 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); $event.preventDefault()\" href=\"#\">{{'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); $event.preventDefault()\" href=\"#\">{{'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"] }]
6023
6023
  }], () => [{ type: CaseSharingStateService }], { sharedCase: [{
6024
6024
  type: Input
6025
6025
  }], selectedUser: [{
@@ -7932,7 +7932,7 @@ class CookieBannerComponent {
7932
7932
  function PaginationComponent_a_6_Template(rf, ctx) { if (rf & 1) {
7933
7933
  const _r1 = i0.ɵɵgetCurrentView();
7934
7934
  i0.ɵɵelementStart(0, "a", 8);
7935
- i0.ɵɵlistener("click", function PaginationComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onPrevious()); });
7935
+ i0.ɵɵlistener("click", function PaginationComponent_a_6_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onPrevious(); return i0.ɵɵresetView($event.preventDefault()); });
7936
7936
  i0.ɵɵtext(1);
7937
7937
  i0.ɵɵpipe(2, "rpxTranslate");
7938
7938
  i0.ɵɵelementEnd();
@@ -7952,7 +7952,7 @@ function PaginationComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
7952
7952
  function PaginationComponent_a_10_Template(rf, ctx) { if (rf & 1) {
7953
7953
  const _r3 = i0.ɵɵgetCurrentView();
7954
7954
  i0.ɵɵelementStart(0, "a", 8);
7955
- i0.ɵɵlistener("click", function PaginationComponent_a_10_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNext()); });
7955
+ i0.ɵɵlistener("click", function PaginationComponent_a_10_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onNext(); return i0.ɵɵresetView($event.preventDefault()); });
7956
7956
  i0.ɵɵtext(1);
7957
7957
  i0.ɵɵpipe(2, "rpxTranslate");
7958
7958
  i0.ɵɵelementEnd();
@@ -7981,7 +7981,7 @@ class PaginationComponent {
7981
7981
  this.nextPage.emit(null);
7982
7982
  }
7983
7983
  static { this.ɵfac = function PaginationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PaginationComponent)(); }; }
7984
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["xuilib-pagination"]], inputs: { moreItems: "moreItems", firstRecord: "firstRecord" }, outputs: { previousPage: "previousPage", nextPage: "nextPage" }, decls: 13, vars: 7, consts: [["noPrevious", ""], ["noNext", ""], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", "href", "javascript:void(0)", 3, "click", 4, "ngIf", "ngIfElse"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], ["href", "javascript:void(0)", 1, "hmcts-pagination__link", 3, "click"], [1, "hmcts-pagination__link"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
7984
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["xuilib-pagination"]], inputs: { moreItems: "moreItems", firstRecord: "firstRecord" }, outputs: { previousPage: "previousPage", nextPage: "nextPage" }, decls: 13, vars: 7, consts: [["noPrevious", ""], ["noNext", ""], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", "href", "#", 3, "click", 4, "ngIf", "ngIfElse"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], ["href", "#", 1, "hmcts-pagination__link", 3, "click"], [1, "hmcts-pagination__link"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
7985
7985
  i0.ɵɵelementStart(0, "nav", 2)(1, "p", 3);
7986
7986
  i0.ɵɵtext(2);
7987
7987
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -8005,7 +8005,7 @@ class PaginationComponent {
8005
8005
  }
8006
8006
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationComponent, [{
8007
8007
  type: Component,
8008
- args: [{ selector: 'xuilib-pagination', template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious()\" href=\"javascript:void(0)\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext()\" href=\"javascript:void(0)\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: ["span.hmcts-pagination__link:hover{color:revert}\n"] }]
8008
+ args: [{ selector: 'xuilib-pagination', template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious(); $event.preventDefault()\" href=\"#\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext(); $event.preventDefault()\" href=\"#\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n", styles: ["span.hmcts-pagination__link:hover{color:revert}\n"] }]
8009
8009
  }], () => [], { moreItems: [{
8010
8010
  type: Input
8011
8011
  }], firstRecord: [{
@@ -8669,7 +8669,7 @@ function WriteAddressFieldComponent_div_2_div_13_Template(rf, ctx) { if (rf & 1)
8669
8669
  function WriteAddressFieldComponent_div_2_a_14_Template(rf, ctx) { if (rf & 1) {
8670
8670
  const _r5 = i0.ɵɵgetCurrentView();
8671
8671
  i0.ɵɵelementStart(0, "a", 23);
8672
- i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_a_14_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.blankAddress()); });
8672
+ i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_a_14_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.blankAddress(); return i0.ɵɵresetView($event.preventDefault()); });
8673
8673
  i0.ɵɵtext(1, "I can't enter a UK postcode");
8674
8674
  i0.ɵɵelementEnd();
8675
8675
  } }
@@ -8890,7 +8890,7 @@ class WriteAddressFieldComponent {
8890
8890
  this.addressFormGroup.get('postcode').patchValue(postcodeNeeded ? this.formGroup.get('address').get('postCode').value : '');
8891
8891
  }
8892
8892
  static { this.ɵfac = function WriteAddressFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(AddressService)); }; }
8893
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "javascript:void(0)", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
8893
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "#", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "#", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
8894
8894
  i0.ɵɵelementStart(0, "div", 0);
8895
8895
  i0.ɵɵtemplate(1, WriteAddressFieldComponent_p_1_Template, 4, 1, "p", 1)(2, WriteAddressFieldComponent_div_2_Template, 15, 9, "div", 2)(3, WriteAddressFieldComponent_div_3_Template, 11, 1, "div", 3)(4, WriteAddressFieldComponent_xuilib_write_address_inputs_4_Template, 1, 3, "xuilib-write-address-inputs", 4);
8896
8896
  i0.ɵɵelementEnd();
@@ -8908,7 +8908,7 @@ class WriteAddressFieldComponent {
8908
8908
  }
8909
8909
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteAddressFieldComponent, [{
8910
8910
  type: Component,
8911
- args: [{ selector: 'xuilib-write-address-field', template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\"\n [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcode-lookup\" id=\"addressLookup\"\n [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button find-address\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\" [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\"\n (click)=\"blankAddress()\" href=\"javascript:void(0)\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\"\n [isInternational]=\"isInternational\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n\n</div>", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-20px}.find-address{left:1%}:host{display:block}\n"] }]
8911
+ args: [{ selector: 'xuilib-write-address-field', template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\"\n [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcode-lookup\" id=\"addressLookup\"\n [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button find-address\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\" [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\"\n (click)=\"blankAddress(); $event.preventDefault()\" href=\"#\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\"\n [isInternational]=\"isInternational\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n\n</div>", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-20px}.find-address{left:1%}:host{display:block}\n"] }]
8912
8912
  }], () => [{ type: AddressService }], { formGroup: [{
8913
8913
  type: Input
8914
8914
  }], internationalMode: [{