@searchstax-inc/searchstudio-ux-angular 1.2.51 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/README.md +1188 -686
  3. package/esm2022/lib/components/searchstax-input/searchstax-input.component.mjs +6 -40
  4. package/esm2022/lib/components/searchstax-results/searchstax-results.component.mjs +5 -3
  5. package/esm2022/lib/components/searchstax-search-answer/searchstax-search-answer.component.mjs +4 -3
  6. package/esm2022/lib/components/searchstax-search-external/searchstax-search-external.component.mjs +4 -3
  7. package/esm2022/lib/components/searchstax-search-facets/searchstax-search-facets.component.mjs +5 -3
  8. package/esm2022/lib/components/searchstax-search-location/searchstax-search-location.component.mjs +4 -4
  9. package/esm2022/lib/components/searchstax-search-overview/searchstax-search-overview.component.mjs +4 -3
  10. package/esm2022/lib/components/searchstax-search-pagination/searchstax-search-pagination.component.mjs +5 -3
  11. package/esm2022/lib/components/searchstax-search-related/searchstax-search-related.component.mjs +4 -3
  12. package/esm2022/lib/components/searchstax-search-sorting/searchstax-search-sorting.component.mjs +4 -4
  13. package/esm2022/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.mjs +91 -0
  14. package/esm2022/lib/components/templates/searchstax-search-answer-template.mjs +119 -0
  15. package/esm2022/lib/components/templates/searchstax-search-external-template.mjs +107 -0
  16. package/esm2022/lib/components/templates/searchstax-search-facet-desktop-template.mjs +207 -0
  17. package/esm2022/lib/components/templates/searchstax-search-facet-mobile-template.mjs +343 -0
  18. package/esm2022/lib/components/templates/searchstax-search-input-template.mjs +126 -0
  19. package/esm2022/lib/components/templates/searchstax-search-location-template.mjs +152 -0
  20. package/esm2022/lib/components/templates/searchstax-search-no-results-template.mjs +85 -0
  21. package/esm2022/lib/components/templates/searchstax-search-overview-template.mjs +87 -0
  22. package/esm2022/lib/components/templates/searchstax-search-pagination-infinite-template.mjs +60 -0
  23. package/esm2022/lib/components/templates/searchstax-search-pagination-template.mjs +96 -0
  24. package/esm2022/lib/components/templates/searchstax-search-related-template.mjs +81 -0
  25. package/esm2022/lib/components/templates/searchstax-search-results-template.mjs +171 -0
  26. package/esm2022/lib/components/templates/searchstax-search-sorting-template.mjs +76 -0
  27. package/esm2022/lib/searchstudio-ux-angular.module.mjs +70 -5
  28. package/esm2022/public-api.mjs +14 -1
  29. package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs +1840 -64
  30. package/fesm2022/searchstax-inc-searchstudio-ux-angular.mjs.map +1 -1
  31. package/lib/components/searchstax-input/searchstax-input.component.d.ts +11 -1
  32. package/lib/components/templates/SearchstaxLocationWidgetTemplateConfig.d.ts +13 -0
  33. package/lib/components/templates/searchstax-search-answer-template.d.ts +7 -0
  34. package/lib/components/templates/searchstax-search-external-template.d.ts +7 -0
  35. package/lib/components/templates/searchstax-search-facet-desktop-template.d.ts +7 -0
  36. package/lib/components/templates/searchstax-search-facet-mobile-template.d.ts +7 -0
  37. package/lib/components/templates/searchstax-search-input-template.d.ts +7 -0
  38. package/lib/components/templates/searchstax-search-location-template.d.ts +7 -0
  39. package/lib/components/templates/searchstax-search-no-results-template.d.ts +7 -0
  40. package/lib/components/templates/searchstax-search-overview-template.d.ts +7 -0
  41. package/lib/components/templates/searchstax-search-pagination-infinite-template.d.ts +7 -0
  42. package/lib/components/templates/searchstax-search-pagination-template.d.ts +7 -0
  43. package/lib/components/templates/searchstax-search-related-template.d.ts +7 -0
  44. package/lib/components/templates/searchstax-search-results-template.d.ts +7 -0
  45. package/lib/components/templates/searchstax-search-sorting-template.d.ts +7 -0
  46. package/lib/searchstudio-ux-angular.module.d.ts +16 -3
  47. package/package.json +2 -2
  48. package/public-api.d.ts +13 -0
@@ -1,8 +1,9 @@
1
1
  import { Component, Input } from "@angular/core";
2
+ import { locationWidgetConfig } from "../templates/SearchstaxLocationWidgetTemplateConfig";
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../services/store-service.service";
4
5
  import * as i2 from "@angular/common";
5
- import * as i3 from "../searchstax-search-location/searchstax-search-location.component";
6
+ import * as i3 from "../templates/searchstax-search-input-template";
6
7
  export class SearchstaxInputWidget {
7
8
  constructor(storeServiceService) {
8
9
  this.storeServiceService = storeServiceService;
@@ -11,6 +12,7 @@ export class SearchstaxInputWidget {
11
12
  this.suggestions = [];
12
13
  this.context = this;
13
14
  this.templateData = null;
15
+ this.locationWidgetConfig = locationWidgetConfig;
14
16
  }
15
17
  ngOnInit() {
16
18
  if (this.storeServiceService.searchstax) {
@@ -40,42 +42,6 @@ export class SearchstaxInputWidget {
40
42
  throw Error("Searchstax instance needs to be passed via props");
41
43
  }
42
44
  }
43
- locationDecode(term) {
44
- return new Promise((resolve) => {
45
- // make a request to google geocoding API to retrieve lat, lon and address
46
- const geocodingAPIKey = "AIzaSyDK5wQQaz7kmP60_DViAto5rTQ301eVBFs";
47
- const geocodingURL = `https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(term)}&key=${geocodingAPIKey}`;
48
- fetch(geocodingURL)
49
- .then((response) => response.json())
50
- .then((data) => {
51
- if (data.status === "OK" && data.results.length > 0) {
52
- const result = data.results[0];
53
- const location = {
54
- lat: result.geometry.location.lat,
55
- lon: result.geometry.location.lng,
56
- address: result.formatted_address,
57
- };
58
- resolve(location);
59
- }
60
- else {
61
- resolve({
62
- address: undefined,
63
- lat: undefined,
64
- lon: undefined,
65
- error: true,
66
- });
67
- }
68
- })
69
- .catch(() => {
70
- resolve({
71
- address: undefined,
72
- lat: undefined,
73
- lon: undefined,
74
- error: true,
75
- });
76
- });
77
- });
78
- }
79
45
  onMouseLeave(context) {
80
46
  context.storeServiceService.searchstax.searchInputWidget?.resetAutosuggestSelection();
81
47
  context.storeServiceService.searchstax.searchInputWidget?.markActiveAutosuggestItem();
@@ -96,11 +62,11 @@ export class SearchstaxInputWidget {
96
62
  });
97
63
  }
98
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxInputWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxInputWidget, selector: "app-searchstax-input", inputs: { afterAutosuggest: "afterAutosuggest", beforeAutosuggest: "beforeAutosuggest", searchInputId: "searchInputId", suggestAfterMinChars: "suggestAfterMinChars", templateOverride: "templateOverride" }, ngImport: i0, template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container searchstax-search-input-container-new\" [class]=\"{ 'searchstax-alternative-render': !!templateData?.locationEnabled }\">\n <ng-container *ngIf=\"!templateOverride\">\n <div class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n aria-label=\"search\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n tabindex=\"0\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n </div>\n <app-searchstax-search-location [locationDecode]=\"locationDecode\"></app-searchstax-search-location>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n aria-label=\"search\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.SearchstaxSearchLocationWidget, selector: "app-searchstax-search-location", inputs: ["templateOverride", "locationSearchEnabled", "locationValuesOverride", "locationDecode", "locationDecodeCoordinatesToAddress"] }] }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxInputWidget, selector: "app-searchstax-input", inputs: { afterAutosuggest: "afterAutosuggest", beforeAutosuggest: "beforeAutosuggest", searchInputId: "searchInputId", suggestAfterMinChars: "suggestAfterMinChars", templateOverride: "templateOverride" }, ngImport: i0, template: "<div id=\"searchstax-input-container\">\n <div\n class=\"searchstax-search-input-container searchstax-search-input-container-new\"\n [class]=\"{\n 'searchstax-alternative-render': !!templateData?.locationEnabled\n }\"\n >\n <ng-container *ngIf=\"!templateOverride\">\n <app-input-template #ref></app-input-template>\n <ng-template\n *ngTemplateOutlet=\"ref.inputTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.InputTemplateComponent, selector: "app-input-template" }] }); }
100
66
  }
101
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxInputWidget, decorators: [{
102
68
  type: Component,
103
- args: [{ selector: "app-searchstax-input", template: "<div id=\"searchstax-input-container\">\n <div class=\"searchstax-search-input-container searchstax-search-input-container-new\" [class]=\"{ 'searchstax-alternative-render': !!templateData?.locationEnabled }\">\n <ng-container *ngIf=\"!templateOverride\">\n <div class=\"searchstax-search-input-wrapper\">\n <input\n type=\"text\"\n id=\"searchstax-search-input\"\n class=\"searchstax-search-input\"\n placeholder=\"SEARCH FOR...\"\n aria-label=\"search\"\n />\n <div\n class=\"searchstax-autosuggest-container\"\n [ngClass]=\"{ hidden: suggestions.length === 0 }\"\n (mouseleave)=\"(onMouseLeave)\"\n >\n <div\n class=\"searchstax-autosuggest-item\"\n *ngFor=\"let suggestion of suggestions\"\n >\n <div\n class=\"searchstax-autosuggest-item-term-container\"\n [innerHtml]=\"suggestion.term\"\n (mouseover)=\"onMouseOver(suggestion, context)\"\n tabindex=\"0\"\n (click)=\"onMouseClick($event, context)\"\n ></div>\n </div>\n </div>\n </div>\n <app-searchstax-search-location [locationDecode]=\"locationDecode\"></app-searchstax-search-location>\n <button\n class=\"searchstax-spinner-icon\"\n id=\"searchstax-search-input-action-button\"\n aria-label=\"search\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n\n <!-- <slot\n name=\"input\"\n :suggestions=\"suggestions\"\n :onMouseClick=\"onMouseClick\"\n :onMouseOver=\"onMouseOver\"\n :onMouseLeave=\"onMouseLeave\"\n ></slot> -->\n </div>\n</div>\n" }]
69
+ args: [{ selector: "app-searchstax-input", template: "<div id=\"searchstax-input-container\">\n <div\n class=\"searchstax-search-input-container searchstax-search-input-container-new\"\n [class]=\"{\n 'searchstax-alternative-render': !!templateData?.locationEnabled\n }\"\n >\n <ng-container *ngIf=\"!templateOverride\">\n <app-input-template #ref></app-input-template>\n <ng-template\n *ngTemplateOutlet=\"ref.inputTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <ng-container *ngIf=\"templateOverride\">\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </ng-container>\n </div>\n</div>\n" }]
104
70
  }], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { afterAutosuggest: [{
105
71
  type: Input
106
72
  }], beforeAutosuggest: [{
@@ -112,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
112
78
  }], templateOverride: [{
113
79
  type: Input
114
80
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1pbnB1dC9zZWFyY2hzdGF4LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LWlucHV0L3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDOzs7OztBQWdCdEUsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFUbkQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFJNUIsVUFBSyxHQUEwQyxFQUFFLENBQUM7UUFDbEQsZ0JBQVcsR0FBNEIsRUFBRSxDQUFDO1FBQzFDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixpQkFBWSxHQUE0QyxJQUFJLENBQUM7SUFFRSxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsMERBQTBEO1lBQzFELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElB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WUFBWSxDQUFDLENBQVEsRUFBRSxPQUFhO1FBQ2xDLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUN6RSxDQUFDLFdBQXlDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUM1RSxDQUFDLElBQTZDLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUMxQixDQUFDLENBQ0YsQ0FBQTtJQUNMLENBQUM7K0dBcEhVLHFCQUFxQjttR0FBckIscUJBQXFCLDBRQ2hCbEMsdXpEQW9EQTs7NEZEcENhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxzQkFBc0I7d0ZBS3ZCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBJU2VhcmNoc3RheExvY2F0aW9uLFxuICBJU2VhcmNoc3RheFNFQVJDSFRFUk0sXG4gIElTZWFyY2hzdGF4U2VhcmNoSW5wdXRSZW5kZXJEYXRhLFxuICBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wcyxcbiAgSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2UsXG4gIElTZWFyY2hzdGF4U3VnZ2VzdGlvbixcbn0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1pbnB1dFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheElucHV0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWZ0ZXJBdXRvc3VnZ2VzdD86IChcbiAgICByZXN1bHQ6IElTZWFyY2hzdGF4U3VnZ2VzdFJlc3BvbnNlXG4gICkgPT4gSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2U7XG4gIEBJbnB1dCgpIGJlZm9yZUF1dG9zdWdnZXN0PzogKFxuICAgIHByb3BzOiBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wc1xuICApID0+IElTZWFyY2hzdGF4U3VnZ2VzdFByb3BzIHwgbnVsbDtcbiAgQElucHV0KCkgc2VhcmNoSW5wdXRJZCA9IFwiXCI7XG4gIEBJbnB1dCgpIHN1Z2dlc3RBZnRlck1pbkNoYXJzPzogbnVtYmVyO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9O1xuICBzdWdnZXN0aW9uczogSVNlYXJjaHN0YXhTdWdnZXN0aW9uW10gPSBbXTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHRlbXBsYXRlRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4U2VhcmNoSW5wdXRSZW5kZXJEYXRhID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICAvLyBjb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9XG4gICAgICBpZiAodGhpcy5hZnRlckF1dG9zdWdnZXN0KSB7XG4gICAgICAgIHRoaXMuaG9va3NbXCJhZnRlckF1dG9zdWdnZXN0XCJdID0gdGhpcy5hZnRlckF1dG9zdWdnZXN0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuYmVmb3JlQXV0b3N1Z2dlc3QpIHtcbiAgICAgICAgdGhpcy5ob29rc1tcImJlZm9yZUF1dG9zdWdnZXN0XCJdID0gdGhpcy5iZWZvcmVBdXRvc3VnZ2VzdDtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRTZWFyY2hJbnB1dFdpZGdldChcbiAgICAgICAgICBcInNlYXJjaHN0YXgtaW5wdXQtY29udGFpbmVyXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3VnZ2VzdEFmdGVyTWluQ2hhcnM6IHRoaXMuc3VnZ2VzdEFmdGVyTWluQ2hhcnMsXG4gICAgICAgICAgICBob29rczogdGhpcy5ob29rcyxcbiAgICAgICAgICAgIHRlbXBsYXRlczoge1xuICAgICAgICAgICAgICBtYWluVGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogYGAsXG4gICAgICAgICAgICAgICAgc2VhcmNoSW5wdXRJZDogdGhpcy5zZWFyY2hJbnB1dElkID8/IFwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXRcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuc2V0SW5wdXRUZW1wbGF0ZVJlbmRlcmVkKHRydWUpXG4gICAgICB9LCAxMDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBsb2NhdGlvbkRlY29kZSh0ZXJtOiBzdHJpbmcpOiBQcm9taXNlPElTZWFyY2hzdGF4TG9jYXRpb24+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIC8vIG1ha2UgYSByZXF1ZXN0IHRvIGdvb2dsZSBnZW9jb2RpbmcgQVBJIHRvIHJldHJpZXZlIGxhdCwgbG9uIGFuZCBhZGRyZXNzXG5cbiAgICAgIGNvbnN0IGdlb2NvZGluZ0FQSUtleSA9IFwiQUl6YVN5REs1d1FRYXo3a21QNjBfRFZpQXRvNXJUUTMwMWVWQkZzXCI7XG4gICAgICBjb25zdCBnZW9jb2RpbmdVUkwgPSBgaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2dlb2NvZGUvanNvbj9hZGRyZXNzPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICB0ZXJtXG4gICAgICApfSZrZXk9JHtnZW9jb2RpbmdBUElLZXl9YDtcbiAgICAgIGZldGNoKGdlb2NvZGluZ1VSTClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKGRhdGEuc3RhdHVzID09PSBcIk9LXCIgJiYgZGF0YS5yZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGRhdGEucmVzdWx0c1swXTtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0ge1xuICAgICAgICAgICAgICBsYXQ6IHJlc3VsdC5nZW9tZXRyeS5sb2NhdGlvbi5sYXQsXG4gICAgICAgICAgICAgIGxvbjogcmVzdWx0Lmdlb21ldHJ5LmxvY2F0aW9uLmxuZyxcbiAgICAgICAgICAgICAgYWRkcmVzczogcmVzdWx0LmZvcm1hdHRlZF9hZGRyZXNzLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlc29sdmUobG9jYXRpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgICAgYWRkcmVzczogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBsYXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbG9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICAgYWRkcmVzczogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbGF0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICBsb246IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uTW91c2VMZWF2ZShjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoSW5wdXRXaWRnZXQ/LnJlc2V0QXV0b3N1Z2dlc3RTZWxlY3Rpb24oKTtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ubWFya0FjdGl2ZUF1dG9zdWdnZXN0SXRlbSgpO1xuICB9XG5cbiAgb25Nb3VzZU92ZXIoc3VnZ2VzdGlvbjogSVNlYXJjaHN0YXhTdWdnZXN0aW9uLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoSW5wdXRXaWRnZXQ/Lm9uU3VnZ2VzdGlvbkVudGVyKFxuICAgICAgc3VnZ2VzdGlvblxuICAgICk7XG4gIH1cblxuICBvbk1vdXNlQ2xpY2soZTogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaElucHV0V2lkZ2V0Py5zdWdnZXN0aW9uQ2hvc2VuKCk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGF1dG9zdWdnZXN0UmVzdWx0cy5zdWJzY3JpYmUoXG4gICAgICAoc3VnZ2VzdGlvbnM6IG51bGwgfCBJU2VhcmNoc3RheFNFQVJDSFRFUk0pID0+IHtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zPy5zdWdnZXN0aW9ucyA/PyBbXTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRpbnB1dFdpZGdldFRlbXBsYXRlRGF0YS5zdWJzY3JpYmUoXG4gICAgICAgIChkYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhTZWFyY2hJbnB1dFJlbmRlckRhdGEpID0+IHtcbiAgICAgICAgICB0aGlzLnRlbXBsYXRlRGF0YSA9IGRhdGFcbiAgICAgICAgfVxuICAgICAgKVxuICB9XG59XG4iLCI8ZGl2IGlkPVwic2VhcmNoc3RheC1pbnB1dC1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLWlucHV0LWNvbnRhaW5lciBzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dC1jb250YWluZXItbmV3XCIgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtYWx0ZXJuYXRpdmUtcmVuZGVyJzogISF0ZW1wbGF0ZURhdGE/LmxvY2F0aW9uRW5hYmxlZCB9XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZW1wbGF0ZU92ZXJyaWRlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXQtd3JhcHBlclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgaWQ9XCJzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dFwiXG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXRcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNFQVJDSCBGT1IuLi5cIlxuICAgICAgICBhcmlhLWxhYmVsPVwic2VhcmNoXCJcbiAgICAgIC8+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1hdXRvc3VnZ2VzdC1jb250YWluZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogc3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwIH1cIlxuICAgICAgICAobW91c2VsZWF2ZSk9XCIob25Nb3VzZUxlYXZlKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtYXV0b3N1Z2dlc3QtaXRlbVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWF1dG9zdWdnZXN0LWl0ZW0tdGVybS1jb250YWluZXJcIlxuICAgICAgICAgICAgW2lubmVySHRtbF09XCJzdWdnZXN0aW9uLnRlcm1cIlxuICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJvbk1vdXNlT3ZlcihzdWdnZXN0aW9uLCBjb250ZXh0KVwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uTW91c2VDbGljaygkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICA+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhcHAtc2VhcmNoc3RheC1zZWFyY2gtbG9jYXRpb24gW2xvY2F0aW9uRGVjb2RlXT1cImxvY2F0aW9uRGVjb2RlXCI+PC9hcHAtc2VhcmNoc3RheC1zZWFyY2gtbG9jYXRpb24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zcGlubmVyLWljb25cIlxuICAgICAgICBpZD1cInNlYXJjaHN0YXgtc2VhcmNoLWlucHV0LWFjdGlvbi1idXR0b25cIlxuICAgICAgICBhcmlhLWxhYmVsPVwic2VhcmNoXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVPdmVycmlkZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSA8c2xvdFxuICAgICAgbmFtZT1cImlucHV0XCJcbiAgICAgIDpzdWdnZXN0aW9ucz1cInN1Z2dlc3Rpb25zXCJcbiAgICAgIDpvbk1vdXNlQ2xpY2s9XCJvbk1vdXNlQ2xpY2tcIlxuICAgICAgOm9uTW91c2VPdmVyPVwib25Nb3VzZU92ZXJcIlxuICAgICAgOm9uTW91c2VMZWF2ZT1cIm9uTW91c2VMZWF2ZVwiXG4gICAgPjwvc2xvdD4gLS0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoc3RheC1pbnB1dC9zZWFyY2hzdGF4LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LWlucHV0L3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBVXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7OztBQU8zRixNQUFNLE9BQU8scUJBQXFCO0lBaUJoQyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVZuRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUk1QixVQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUNsRCxnQkFBVyxHQUE0QixFQUFFLENBQUM7UUFDMUMsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGlCQUFZLEdBQTRDLElBQUksQ0FBQztRQUM3RCx5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztJQUVtQixDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsMERBQTBEO1lBQzFELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDMUQ7WUFDRCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQ3RELDRCQUE0QixFQUM1QjtvQkFDRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CO29CQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRTt3QkFDVCxZQUFZLEVBQUU7NEJBQ1osUUFBUSxFQUFFLEVBQUU7NEJBQ1osYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLElBQUkseUJBQXlCO3lCQUMvRDtxQkFDRjtpQkFDRixDQUNGLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQ3BFLElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1Q7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBR0QsWUFBWSxDQUFDLE9BQWE7UUFDeEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSx5QkFBeUIsRUFBRSxDQUFDO1FBQ3RGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWlDLEVBQUUsT0FBYTtRQUMxRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUN6RSxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBUSxFQUFFLE9BQWE7UUFDbEMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQ3pFLENBQUMsV0FBeUMsRUFBRSxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDcEQsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQzlFLENBQUMsSUFBNkMsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FqRlUscUJBQXFCO21HQUFyQixxQkFBcUIsMFFDakJsQywrcEJBb0JBOzs0RkRIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usc0JBQXNCO3dGQUt2QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVNlYXJjaHN0YXhMb2NhdGlvbixcbiAgSVNlYXJjaHN0YXhTRUFSQ0hURVJNLFxuICBJU2VhcmNoc3RheFNlYXJjaElucHV0UmVuZGVyRGF0YSxcbiAgSVNlYXJjaHN0YXhTdWdnZXN0UHJvcHMsXG4gIElTZWFyY2hzdGF4U3VnZ2VzdFJlc3BvbnNlLFxuICBJU2VhcmNoc3RheFN1Z2dlc3Rpb24sXG59IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgbG9jYXRpb25XaWRnZXRDb25maWcgfSBmcm9tIFwiLi4vdGVtcGxhdGVzL1NlYXJjaHN0YXhMb2NhdGlvbldpZGdldFRlbXBsYXRlQ29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1pbnB1dFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheElucHV0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWZ0ZXJBdXRvc3VnZ2VzdD86IChcbiAgICByZXN1bHQ6IElTZWFyY2hzdGF4U3VnZ2VzdFJlc3BvbnNlXG4gICkgPT4gSVNlYXJjaHN0YXhTdWdnZXN0UmVzcG9uc2U7XG4gIEBJbnB1dCgpIGJlZm9yZUF1dG9zdWdnZXN0PzogKFxuICAgIHByb3BzOiBJU2VhcmNoc3RheFN1Z2dlc3RQcm9wc1xuICApID0+IElTZWFyY2hzdGF4U3VnZ2VzdFByb3BzIHwgbnVsbDtcbiAgQElucHV0KCkgc2VhcmNoSW5wdXRJZCA9IFwiXCI7XG4gIEBJbnB1dCgpIHN1Z2dlc3RBZnRlck1pbkNoYXJzPzogbnVtYmVyO1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9O1xuICBzdWdnZXN0aW9uczogSVNlYXJjaHN0YXhTdWdnZXN0aW9uW10gPSBbXTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHRlbXBsYXRlRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4U2VhcmNoSW5wdXRSZW5kZXJEYXRhID0gbnVsbDtcbiAgbG9jYXRpb25XaWRnZXRDb25maWcgPSBsb2NhdGlvbldpZGdldENvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICAvLyBjb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9XG4gICAgICBpZiAodGhpcy5hZnRlckF1dG9zdWdnZXN0KSB7XG4gICAgICAgIHRoaXMuaG9va3NbXCJhZnRlckF1dG9zdWdnZXN0XCJdID0gdGhpcy5hZnRlckF1dG9zdWdnZXN0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuYmVmb3JlQXV0b3N1Z2dlc3QpIHtcbiAgICAgICAgdGhpcy5ob29rc1tcImJlZm9yZUF1dG9zdWdnZXN0XCJdID0gdGhpcy5iZWZvcmVBdXRvc3VnZ2VzdDtcbiAgICAgIH1cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRTZWFyY2hJbnB1dFdpZGdldChcbiAgICAgICAgICBcInNlYXJjaHN0YXgtaW5wdXQtY29udGFpbmVyXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3VnZ2VzdEFmdGVyTWluQ2hhcnM6IHRoaXMuc3VnZ2VzdEFmdGVyTWluQ2hhcnMsXG4gICAgICAgICAgICBob29rczogdGhpcy5ob29rcyxcbiAgICAgICAgICAgIHRlbXBsYXRlczoge1xuICAgICAgICAgICAgICBtYWluVGVtcGxhdGU6IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogYGAsXG4gICAgICAgICAgICAgICAgc2VhcmNoSW5wdXRJZDogdGhpcy5zZWFyY2hJbnB1dElkID8/IFwic2VhcmNoc3RheC1zZWFyY2gtaW5wdXRcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuc2V0SW5wdXRUZW1wbGF0ZVJlbmRlcmVkKFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG5cbiAgb25Nb3VzZUxlYXZlKGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ucmVzZXRBdXRvc3VnZ2VzdFNlbGVjdGlvbigpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaElucHV0V2lkZ2V0Py5tYXJrQWN0aXZlQXV0b3N1Z2dlc3RJdGVtKCk7XG4gIH1cblxuICBvbk1vdXNlT3ZlcihzdWdnZXN0aW9uOiBJU2VhcmNoc3RheFN1Z2dlc3Rpb24sIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hJbnB1dFdpZGdldD8ub25TdWdnZXN0aW9uRW50ZXIoXG4gICAgICBzdWdnZXN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIG9uTW91c2VDbGljayhlOiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoSW5wdXRXaWRnZXQ/LnN1Z2dlc3Rpb25DaG9zZW4oKTtcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kYXV0b3N1Z2dlc3RSZXN1bHRzLnN1YnNjcmliZShcbiAgICAgIChzdWdnZXN0aW9uczogbnVsbCB8IElTZWFyY2hzdGF4U0VBUkNIVEVSTSkgPT4ge1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnM/LnN1Z2dlc3Rpb25zID8/IFtdO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGlucHV0V2lkZ2V0VGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhTZWFyY2hJbnB1dFJlbmRlckRhdGEpID0+IHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZURhdGEgPSBkYXRhO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJzZWFyY2hzdGF4LWlucHV0LWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1pbnB1dC1jb250YWluZXIgc2VhcmNoc3RheC1zZWFyY2gtaW5wdXQtY29udGFpbmVyLW5ld1wiXG4gICAgW2NsYXNzXT1cIntcbiAgICAgICdzZWFyY2hzdGF4LWFsdGVybmF0aXZlLXJlbmRlcic6ICEhdGVtcGxhdGVEYXRhPy5sb2NhdGlvbkVuYWJsZWRcbiAgICB9XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGVPdmVycmlkZVwiPlxuICAgICAgPGFwcC1pbnB1dC10ZW1wbGF0ZSAjcmVmPjwvYXBwLWlucHV0LXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLmlucHV0VGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlT3ZlcnJpZGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -2,6 +2,8 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/store-service.service";
4
4
  import * as i2 from "@angular/common";
5
+ import * as i3 from "../templates/searchstax-search-results-template";
6
+ import * as i4 from "../templates/searchstax-search-no-results-template";
5
7
  export class SearchstaxResultsWidget {
6
8
  get hooks() {
7
9
  const hooks = {};
@@ -66,11 +68,11 @@ export class SearchstaxResultsWidget {
66
68
  return field.isImage && typeof field.value === 'string';
67
69
  }
68
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxResultsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxResultsWidget, selector: "app-searchstax-results", inputs: { afterLinkClick: "afterLinkClick", noResultsTemplate: "noResultsTemplate", resultsTemplate: "resultsTemplate", renderMethod: "renderMethod" }, ngImport: i0, template: "<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && !noResultsTemplate\"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n >&nbsp;Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\" (click)=\"executeSearch(metadata?.spellingSuggestion ?? '', $event, context)\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <ul>\n <li>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </li>\n <li>Lost? Click on the \u2018X\u201D in the Search Box to reset your search.</li>\n </ul>\n </div>\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n\n <a\n *ngFor=\"let searchResult of searchResults\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n (keyup.enter)=\"resultClicked(searchResult, $event, context)\"\n (keyup.space)=\"resultClicked(searchResult, $event, context)\"\n tabindex=\"0\"\n class=\"searchstax-result-item-link searchstax-result-item-link-wrapping\"\n >\n\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <div\n *ngIf=\"searchResult.ribbon\"\n [innerHTML]=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\" [innerHTML]=\"searchResult.title\"></span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\" [innerHTML]=\"searchResult.paths\">\n </p>\n <p\n *ngIf=\"searchResult.description\"\n [innerHTML]=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\"\n [innerHTML]=\"unmappedField.value\"\n >\n </p>\n </div>\n </div>\n </div>\n </a>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxResultsWidget, selector: "app-searchstax-results", inputs: { afterLinkClick: "afterLinkClick", noResultsTemplate: "noResultsTemplate", resultsTemplate: "resultsTemplate", renderMethod: "renderMethod" }, ngImport: i0, template: "<div id=\"searchstax-results-container\">\n <section aria-label=\"search results container\" tabindex=\"0\">\n <div\n class=\"searchstax-search-results-container\"\n id=\"searchstax-search-results-container\"\n >\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n !noResultsTemplate\n \"\n >\n <app-no-results-template #ref></app-no-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.noResultsTemplate; context: context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n noResultsTemplate\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <app-results-template #ref></app-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.resultsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n </section>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ResultsTemplateComponent, selector: "app-results-template" }, { kind: "component", type: i4.NoResultsTemplateComponent, selector: "app-no-results-template" }] }); }
70
72
  }
71
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxResultsWidget, decorators: [{
72
74
  type: Component,
73
- args: [{ selector: 'app-searchstax-results', template: "<div id=\"searchstax-results-container\">\n <div class=\"searchstax-search-results-container\">\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && !noResultsTemplate\"\n >\n <div class=\"searchstax-no-results\">\n Showing <strong>no results</strong> for\n <strong>\"{{ searchTerm }}\"</strong>\n <br />\n <span *ngIf=\"metadata?.spellingSuggestion\"\n >&nbsp;Did you mean\n <a href=\"#\" class=\"searchstax-suggestion-term\" (click)=\"executeSearch(metadata?.spellingSuggestion ?? '', $event, context)\">{{\n metadata?.spellingSuggestion\n }}</a\n >?</span\n >\n </div>\n <ul>\n <li>\n Try searching for search related terms or topics. We offer a wide\n variety of content to help you get the information you need.\n </li>\n <li>Lost? Click on the \u2018X\u201D in the Search Box to reset your search.</li>\n </ul>\n </div>\n <div\n *ngIf=\"searchResults?.length === 0 && searchTerm !== '' && searchTerm !== '*' && storeServiceService.searchstax.dataLayer.parsedData.firstSearchHappened && noResultsTemplate\"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <div\n class=\"searchstax-search-results\"\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n\n <a\n *ngFor=\"let searchResult of searchResults\"\n [href]=\"searchResult.url\"\n [attr.data-searchstax-unique-result-id]=\"searchResult.uniqueId\"\n (click)=\"resultClicked(searchResult, $event, context)\"\n (keyup.enter)=\"resultClicked(searchResult, $event, context)\"\n (keyup.space)=\"resultClicked(searchResult, $event, context)\"\n tabindex=\"0\"\n class=\"searchstax-result-item-link searchstax-result-item-link-wrapping\"\n >\n\n <div\n class=\"searchstax-search-result\"\n [ngClass]=\"{ 'has-thumbnail': searchResult.thumbnail }\"\n\n >\n <div\n *ngIf=\"searchResult.promoted\"\n class=\"searchstax-search-result-promoted\"\n ></div>\n <div\n *ngIf=\"searchResult.ribbon\"\n [innerHTML]=\"searchResult.ribbon\"\n class=\"searchstax-search-result-ribbon\"\n >\n </div>\n <img\n *ngIf=\"searchResult.thumbnail\"\n [src]=\"searchResult.thumbnail\"\n class=\"searchstax-thumbnail\"\n />\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\" [innerHTML]=\"searchResult.title\"></span>\n </div>\n <p *ngIf=\"searchResult.paths\" class=\"searchstax-search-result-common\" [innerHTML]=\"searchResult.paths\">\n </p>\n <p\n *ngIf=\"searchResult.description\"\n [innerHTML]=\"searchResult.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n </p>\n <div *ngFor=\"let unmappedField of searchResult.unmappedFields\">\n <div\n *ngIf=\"isImage(unmappedField)\"\n class=\"searchstax-search-result-image-container\"\n >\n <img\n [src]=\"unmappedField.value\"\n class=\"searchstax-result-image\"\n />\n </div>\n <div *ngIf=\"!isImage(unmappedField)\">\n <p class=\"searchstax-search-result-common\"\n [innerHTML]=\"unmappedField.value\"\n >\n </p>\n </div>\n </div>\n </div>\n </a>\n </div>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n</div>\n" }]
75
+ args: [{ selector: 'app-searchstax-results', template: "<div id=\"searchstax-results-container\">\n <section aria-label=\"search results container\" tabindex=\"0\">\n <div\n class=\"searchstax-search-results-container\"\n id=\"searchstax-search-results-container\"\n >\n <div id=\"searchstax-result-container\">\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n !noResultsTemplate\n \"\n >\n <app-no-results-template #ref></app-no-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.noResultsTemplate; context: context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n searchResults?.length === 0 &&\n searchTerm !== '' &&\n searchTerm !== '*' &&\n storeServiceService.searchstax.dataLayer.parsedData\n .firstSearchHappened &&\n noResultsTemplate\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"noResultsTemplate; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"searchResults && searchResults.length && !resultsTemplate\"\n >\n <app-results-template #ref></app-results-template>\n <ng-template\n *ngTemplateOutlet=\"ref.resultsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n\n <div *ngIf=\"searchResults && searchResults.length && resultsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"resultsTemplate; context: context\"\n ></ng-container>\n </div>\n </div>\n </div>\n </section>\n</div>\n" }]
74
76
  }], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { afterLinkClick: [{
75
77
  type: Input
76
78
  }], noResultsTemplate: [{
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
80
82
  }], renderMethod: [{
81
83
  type: Input
82
84
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7OztBQVl0RSxNQUFNLE9BQU8sdUJBQXVCO0lBY2xDLElBQUksS0FBSztRQUNQLE1BQU0sS0FBSyxHQUEwQyxFQUFFLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDL0M7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxZQUFtQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWIzRCxrQkFBYSxHQUFxQyxJQUFJLENBQUM7UUFDdkQsYUFBUSxHQUFxQyxJQUFJLENBQUM7UUFDbEQsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsSUFBSSxDQUFDO0lBVStDLENBQUM7SUFFL0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUV6QixVQUFVLENB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IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdCxcbiAgSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSxcbn0gZnJvbSAnQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWFyY2hzdGF4LXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFJlc3VsdHNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhZnRlckxpbmtDbGljaz86IChcbiAgICByZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFxuICApID0+IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0O1xuXG4gIEBJbnB1dCgpIG5vUmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmVzdWx0c1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgcmVuZGVyTWV0aG9kPzogXCJpbmZpbml0ZVNjcm9sbFwiIHwgXCJwYWdpbmF0aW9uXCI7XG5cbiAgc2VhcmNoUmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSB8IG51bGwgPSBudWxsO1xuICBtZXRhZGF0YTogSVNlYXJjaHN0YXhTZWFyY2hNZXRhZGF0YSB8IG51bGwgPSBudWxsO1xuICBzZWFyY2hUZXJtID0gJyc7XG4gIGNvbnRleHQgPSB0aGlzO1xuXG4gIGdldCBob29rcygpOiB7IFtrZXk6IHN0cmluZ106IChwcm9wOiBhbnkpID0+IGFueSB9IHtcbiAgICBjb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiAocHJvcDogYW55KSA9PiBhbnkgfSA9IHt9O1xuICAgIGlmICh0aGlzLmFmdGVyTGlua0NsaWNrKSB7XG4gICAgICBob29rc1snYWZ0ZXJMaW5rQ2xpY2snXSA9IHRoaXMuYWZ0ZXJMaW5rQ2xpY2s7XG4gICAgfVxuICAgIHJldHVybiBob29rcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkU2VhcmNoUmVzdWx0c1dpZGdldChcbiAgICAgICAgICAnc2VhcmNoc3RheC1yZXN1bHRzLWNvbnRhaW5lcicsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVtcGxhdGVzOiB7fSxcbiAgICAgICAgICAgIGhvb2tzOiB0aGlzLmhvb2tzLFxuICAgICAgICAgICAgcmVuZGVyTWV0aG9kOiB0aGlzLnJlbmRlck1ldGhvZCA/PyBcInBhZ2luYXRpb25cIixcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ1NlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wcycpO1xuICAgIH1cbiAgfVxuXG4gIGV4ZWN1dGVTZWFyY2godGVybTogc3RyaW5nLCBldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmV4ZWN1dGVTZWFyY2godGVybSk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFJlc3VsdHMuc3Vic2NyaWJlKFxuICAgICAgKHJlc3VsdHM6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0W10gfCBudWxsKSA9PiB7XG5cbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuc2VhcmNoUmVzdWx0cyA/IFsuLi50aGlzLnNlYXJjaFJlc3VsdHNdIDogW107XG4gICAgICAgIGNvbnN0IG5ld1Jlc3VsdHMgPSByZXN1bHRzID8/IFtdO1xuICAgICAgICBjb25zdCByZXN1bHRzQ29tYmluZWQgPVxuICAgICAgICAgIHRoaXMucmVuZGVyTWV0aG9kID09PSBcImluZmluaXRlU2Nyb2xsXCJcbiAgICAgICAgICAgID8gWy4uLmN1cnJlbnQsIC4uLm5ld1Jlc3VsdHNdXG4gICAgICAgICAgICA6IHJlc3VsdHM7XG4gICAgICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaE9iamVjdC52YWx1ZT8ucGFnZSA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuc2VhcmNoUmVzdWx0cyA9IG5ld1Jlc3VsdHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzID0gcmVzdWx0c0NvbWJpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFRlcm1DaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgKHJlc3VsdDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IHJlc3VsdDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWFyY2hSZXN1bHRzTWV0YWRhdGEuc3Vic2NyaWJlKFxuICAgICAgKHZhbHVlOiBJU2VhcmNoc3RheFNlYXJjaE1ldGFkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMubWV0YWRhdGEgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVzdWx0Q2xpY2tlZChyZXN1bHQ6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0LCBldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmV4ZWN1dGVMaW5rQ2xpY2socmVzdWx0LnVuaXF1ZUlkKTtcbiAgfVxuXG4gIGlzSW1hZ2UoZmllbGQ6IGFueSl7XG4gICAgcmV0dXJuIGZpZWxkLmlzSW1hZ2UgJiYgdHlwZW9mIGZpZWxkLnZhbHVlID09PSAnc3RyaW5nJ1xuICB9XG59XG4iLCI8ZGl2IGlkPVwic2VhcmNoc3RheC1yZXN1bHRzLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGlkPVwic2VhcmNoc3RheC1yZXN1bHQtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0cz8ubGVuZ3RoID09PSAwICYmIHNlYXJjaFRlcm0gIT09ICcnICYmIHNlYXJjaFRlcm0gIT09ICcqJyAmJiBzdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLnBhcnNlZERhdGEuZmlyc3RTZWFyY2hIYXBwZW5lZCAmJiAhbm9SZXN1bHRzVGVtcGxhdGVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1uby1yZXN1bHRzXCI+XG4gICAgICAgICAgU2hvd2luZyA8c3Ryb25nPm5vIHJlc3VsdHM8L3N0cm9uZz4gZm9yXG4gICAgICAgICAgPHN0cm9uZz5cInt7IHNlYXJjaFRlcm0gfX1cIjwvc3Ryb25nPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWV0YWRhdGE/LnNwZWxsaW5nU3VnZ2VzdGlvblwiXG4gICAgICAgICAgICA+Jm5ic3A7RGlkIHlvdSBtZWFuXG4gICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2VhcmNoc3RheC1zdWdnZXN0aW9uLXRlcm1cIiAoY2xpY2spPVwiZXhlY3V0ZVNlYXJjaChtZXRhZGF0YT8uc3BlbGxpbmdTdWdnZXN0aW9uID8/ICcnLCAkZXZlbnQsIGNvbnRleHQpXCI+e3tcbiAgICAgICAgICAgICAgbWV0YWRhdGE/LnNwZWxsaW5nU3VnZ2VzdGlvblxuICAgICAgICAgICAgfX08L2FcbiAgICAgICAgICAgID4/PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIFRyeSBzZWFyY2hpbmcgZm9yIHNlYXJjaCByZWxhdGVkIHRlcm1zIG9yIHRvcGljcy4gV2Ugb2ZmZXIgYSB3aWRlXG4gICAgICAgICAgICB2YXJpZXR5IG9mIGNvbnRlbnQgdG8gaGVscCB5b3UgZ2V0IHRoZSBpbmZvcm1hdGlvbiB5b3UgbmVlZC5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaT5Mb3N0PyBDbGljayBvbiB0aGUg4oCYWOKAnSBpbiB0aGUgU2VhcmNoIEJveCB0byByZXNldCB5b3VyIHNlYXJjaC48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0cz8ubGVuZ3RoID09PSAwICYmIHNlYXJjaFRlcm0gIT09ICcnICYmIHNlYXJjaFRlcm0gIT09ICcqJyAmJiBzdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLnBhcnNlZERhdGEuZmlyc3RTZWFyY2hIYXBwZW5lZCAmJiBub1Jlc3VsdHNUZW1wbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vUmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRzXCJcbiAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHRzICYmIHNlYXJjaFJlc3VsdHMubGVuZ3RoICYmICFyZXN1bHRzVGVtcGxhdGVcIlxuICAgICAgPlxuXG4gICAgICA8YVxuICAgICAgKm5nRm9yPVwibGV0IHNlYXJjaFJlc3VsdCBvZiBzZWFyY2hSZXN1bHRzXCJcbiAgICAgIFtocmVmXT1cInNlYXJjaFJlc3VsdC51cmxcIlxuICAgICAgW2F0dHIuZGF0YS1zZWFyY2hzdGF4LXVuaXF1ZS1yZXN1bHQtaWRdPVwic2VhcmNoUmVzdWx0LnVuaXF1ZUlkXCJcbiAgICAgIChjbGljayk9XCJyZXN1bHRDbGlja2VkKHNlYXJjaFJlc3VsdCwgJGV2ZW50LCBjb250ZXh0KVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwicmVzdWx0Q2xpY2tlZChzZWFyY2hSZXN1bHQsICRldmVudCwgY29udGV4dClcIlxuICAgICAgKGtleXVwLnNwYWNlKT1cInJlc3VsdENsaWNrZWQoc2VhcmNoUmVzdWx0LCAkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVzdWx0LWl0ZW0tbGluayBzZWFyY2hzdGF4LXJlc3VsdC1pdGVtLWxpbmstd3JhcHBpbmdcIlxuICAgID5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy10aHVtYm5haWwnOiBzZWFyY2hSZXN1bHQudGh1bWJuYWlsIH1cIlxuXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdC5wcm9tb3RlZFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1wcm9tb3RlZFwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LnJpYmJvblwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInNlYXJjaFJlc3VsdC5yaWJib25cIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtcmliYm9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgKm5nSWY9XCJzZWFyY2hSZXN1bHQudGh1bWJuYWlsXCJcbiAgICAgICAgICAgIFtzcmNdPVwic2VhcmNoUmVzdWx0LnRodW1ibmFpbFwiXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtdGh1bWJuYWlsXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtdGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZVwiIFtpbm5lckhUTUxdPVwic2VhcmNoUmVzdWx0LnRpdGxlXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwICpuZ0lmPVwic2VhcmNoUmVzdWx0LnBhdGhzXCIgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtY29tbW9uXCIgW2lubmVySFRNTF09XCJzZWFyY2hSZXN1bHQucGF0aHNcIj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgICpuZ0lmPVwic2VhcmNoUmVzdWx0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwic2VhcmNoUmVzdWx0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWRlc2NyaXB0aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdW5tYXBwZWRGaWVsZCBvZiBzZWFyY2hSZXN1bHQudW5tYXBwZWRGaWVsZHNcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc0ltYWdlKHVubWFwcGVkRmllbGQpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtaW1hZ2UtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIFtzcmNdPVwidW5tYXBwZWRGaWVsZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXJlc3VsdC1pbWFnZVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNJbWFnZSh1bm1hcHBlZEZpZWxkKVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIlxuICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInVubWFwcGVkRmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNoUmVzdWx0cyAmJiBzZWFyY2hSZXN1bHRzLmxlbmd0aCAmJiByZXN1bHRzVGVtcGxhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXJlc3VsdHMvc2VhcmNoc3RheC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXRFLE1BQU0sT0FBTyx1QkFBdUI7SUFjbEMsSUFBSSxLQUFLO1FBQ1AsTUFBTSxLQUFLLEdBQTBDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUMvQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQW1CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBYjNELGtCQUFhLEdBQXFDLElBQUksQ0FBQztRQUN2RCxhQUFRLEdBQXFDLElBQUksQ0FBQztRQUNsRCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFVK0MsQ0FBQztJQUUvRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRXpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FDeEQsOEJBQThCLEVBQzlCO29CQUNFLFNBQVMsRUFBRSxFQUFFO29CQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztvQkFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksWUFBWTtpQkFDaEQsQ0FDRixDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxLQUFZLEVBQUUsT0FBYTtRQUNyRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQ3BFLENBQUMsT0FBeUMsRUFBRSxFQUFFO1lBRTVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFVBQVUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2pDLE1BQU0sZUFBZSxHQUNuQixJQUFJLENBQUMsWUFBWSxLQUFLLGdCQUFnQjtnQkFDcEMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDZCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDakYsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7YUFDakM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FDdkUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUMzQixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FDNUUsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQStCLEVBQUUsS0FBWSxFQUFFLE9BQWE7UUFDeEUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxLQUFLLENBQUMsT0FBTyxJQUFJLE9BQU8sS0FBSyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUE7SUFDekQsQ0FBQzsrR0F0RlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsc05DWnBDLGt6REF1REE7OzRGRDNDYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usd0JBQXdCO3dGQUt6QixjQUFjO3NCQUF0QixLQUFLO2dCQUlHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0LFxuICBJU2VhcmNoc3RheFNlYXJjaE1ldGFkYXRhLFxufSBmcm9tICdAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNlYXJjaHN0YXgtcmVzdWx0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2hzdGF4LXJlc3VsdHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hzdGF4UmVzdWx0c1dpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGFmdGVyTGlua0NsaWNrPzogKFxuICAgIHJlc3VsdHM6IElTZWFyY2hzdGF4UGFyc2VkUmVzdWx0XG4gICkgPT4gSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHQ7XG5cbiAgQElucHV0KCkgbm9SZXN1bHRzVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSByZXN1bHRzVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSByZW5kZXJNZXRob2Q/OiBcImluZmluaXRlU2Nyb2xsXCIgfCBcInBhZ2luYXRpb25cIjtcblxuICBzZWFyY2hSZXN1bHRzOiBJU2VhcmNoc3RheFBhcnNlZFJlc3VsdFtdIHwgbnVsbCA9IG51bGw7XG4gIG1ldGFkYXRhOiBJU2VhcmNoc3RheFNlYXJjaE1ldGFkYXRhIHwgbnVsbCA9IG51bGw7XG4gIHNlYXJjaFRlcm0gPSAnJztcbiAgY29udGV4dCA9IHRoaXM7XG5cbiAgZ2V0IGhvb2tzKCk6IHsgW2tleTogc3RyaW5nXTogKHByb3A6IGFueSkgPT4gYW55IH0ge1xuICAgIGNvbnN0IGhvb2tzOiB7IFtrZXk6IHN0cmluZ106IChwcm9wOiBhbnkpID0+IGFueSB9ID0ge307XG4gICAgaWYgKHRoaXMuYWZ0ZXJMaW5rQ2xpY2spIHtcbiAgICAgIGhvb2tzWydhZnRlckxpbmtDbGljayddID0gdGhpcy5hZnRlckxpbmtDbGljaztcbiAgICB9XG4gICAgcmV0dXJuIGhvb2tzO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRTZWFyY2hSZXN1bHRzV2lkZ2V0KFxuICAgICAgICAgICdzZWFyY2hzdGF4LXJlc3VsdHMtY29udGFpbmVyJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0ZW1wbGF0ZXM6IHt9LFxuICAgICAgICAgICAgaG9va3M6IHRoaXMuaG9va3MsXG4gICAgICAgICAgICByZW5kZXJNZXRob2Q6IHRoaXMucmVuZGVyTWV0aG9kID8/IFwicGFnaW5hdGlvblwiLFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcignU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzJyk7XG4gICAgfVxuICB9XG5cbiAgZXhlY3V0ZVNlYXJjaCh0ZXJtOiBzdHJpbmcsIGV2ZW50OiBFdmVudCwgY29udGV4dDogdGhpcyk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXhlY3V0ZVNlYXJjaCh0ZXJtKTtcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoUmVzdWx0cy5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0czogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHRbXSB8IG51bGwpID0+IHtcblxuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zZWFyY2hSZXN1bHRzID8gWy4uLnRoaXMuc2VhcmNoUmVzdWx0c10gOiBbXTtcbiAgICAgICAgY29uc3QgbmV3UmVzdWx0cyA9IHJlc3VsdHMgPz8gW107XG4gICAgICAgIGNvbnN0IHJlc3VsdHNDb21iaW5lZCA9XG4gICAgICAgICAgdGhpcy5yZW5kZXJNZXRob2QgPT09IFwiaW5maW5pdGVTY3JvbGxcIlxuICAgICAgICAgICAgPyBbLi4uY3VycmVudCwgLi4ubmV3UmVzdWx0c11cbiAgICAgICAgICAgIDogcmVzdWx0cztcbiAgICAgICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoT2JqZWN0LnZhbHVlPy5wYWdlID09PSAxKSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHRzID0gbmV3UmVzdWx0cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFJlc3VsdHMgPSByZXN1bHRzQ29tYmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoVGVybUNoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gcmVzdWx0O1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaFJlc3VsdHNNZXRhZGF0YS5zdWJzY3JpYmUoXG4gICAgICAodmFsdWU6IElTZWFyY2hzdGF4U2VhcmNoTWV0YWRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5tZXRhZGF0YSA9IHZhbHVlO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXN1bHRDbGlja2VkKHJlc3VsdDogSVNlYXJjaHN0YXhQYXJzZWRSZXN1bHQsIGV2ZW50OiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXhlY3V0ZUxpbmtDbGljayhyZXN1bHQudW5pcXVlSWQpO1xuICB9XG5cbiAgaXNJbWFnZShmaWVsZDogYW55KXtcbiAgICByZXR1cm4gZmllbGQuaXNJbWFnZSAmJiB0eXBlb2YgZmllbGQudmFsdWUgPT09ICdzdHJpbmcnXG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJzZWFyY2hzdGF4LXJlc3VsdHMtY29udGFpbmVyXCI+XG4gIDxzZWN0aW9uIGFyaWEtbGFiZWw9XCJzZWFyY2ggcmVzdWx0cyBjb250YWluZXJcIiB0YWJpbmRleD1cIjBcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyXCJcbiAgICAgIGlkPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXJcIlxuICAgID5cbiAgICAgIDxkaXYgaWQ9XCJzZWFyY2hzdGF4LXJlc3VsdC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBzZWFyY2hSZXN1bHRzPy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgIHNlYXJjaFRlcm0gIT09ICcnICYmXG4gICAgICAgICAgICBzZWFyY2hUZXJtICE9PSAnKicgJiZcbiAgICAgICAgICAgIHN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIucGFyc2VkRGF0YVxuICAgICAgICAgICAgICAuZmlyc3RTZWFyY2hIYXBwZW5lZCAmJlxuICAgICAgICAgICAgIW5vUmVzdWx0c1RlbXBsYXRlXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtbm8tcmVzdWx0cy10ZW1wbGF0ZSAjcmVmPjwvYXBwLW5vLXJlc3VsdHMtdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlZi5ub1Jlc3VsdHNUZW1wbGF0ZTsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIHNlYXJjaFJlc3VsdHM/Lmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICAgc2VhcmNoVGVybSAhPT0gJycgJiZcbiAgICAgICAgICAgIHNlYXJjaFRlcm0gIT09ICcqJyAmJlxuICAgICAgICAgICAgc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci5wYXJzZWREYXRhXG4gICAgICAgICAgICAgIC5maXJzdFNlYXJjaEhhcHBlbmVkICYmXG4gICAgICAgICAgICBub1Jlc3VsdHNUZW1wbGF0ZVxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vUmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaFJlc3VsdHMgJiYgc2VhcmNoUmVzdWx0cy5sZW5ndGggJiYgIXJlc3VsdHNUZW1wbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXJlc3VsdHMtdGVtcGxhdGUgI3JlZj48L2FwcC1yZXN1bHRzLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWYucmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaFJlc3VsdHMgJiYgc2VhcmNoUmVzdWx0cy5sZW5ndGggJiYgcmVzdWx0c1RlbXBsYXRlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZXN1bHRzVGVtcGxhdGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
@@ -2,6 +2,7 @@ import { Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/store-service.service";
4
4
  import * as i2 from "@angular/common";
5
+ import * as i3 from "../templates/searchstax-search-answer-template";
5
6
  export class SearchstaxSearchAnswerWidget {
6
7
  constructor(storeServiceService) {
7
8
  this.storeServiceService = storeServiceService;
@@ -31,11 +32,11 @@ export class SearchstaxSearchAnswerWidget {
31
32
  });
32
33
  }
33
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchAnswerWidget, selector: "app-searchstax-answer", inputs: { templateOverride: "templateOverride", feedbackwidget: "feedbackwidget", showShowMoreAfterWordCount: "showShowMoreAfterWordCount" }, ngImport: i0, template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div class=\"searchstax-answer-wrap\">\n <div class=\"searchstax-answer-icon\"></div>\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-error\" *ngIf=\"answerData.shouldShowAnswerError\" [innerHTML]=\"answerData.answerErrorMessage\"></div>\n <div\n class=\"searchstax-answer-description\"\n [innerHTML]=\"answerData.fullAnswerFormatted\"\n ></div>\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n <div class=\"searchstax-answer-footer\">\n <div id=\"feedbackWidgetContainer\"></div>\n <div class=\"searchstax-lightweight-widget-separator-inline\"></div>\n <p class=\"searchstax-disclaimer\">Generative AI is Experimental</p>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchAnswerWidget, selector: "app-searchstax-answer", inputs: { templateOverride: "templateOverride", feedbackwidget: "feedbackwidget", showShowMoreAfterWordCount: "showShowMoreAfterWordCount" }, ngImport: i0, template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <app-answer-template #ref></app-answer-template>\n <ng-template\n [ngTemplateOutlet]=\"ref.answerTemplate\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AnswerTemplateComponent, selector: "app-answer-template" }] }); }
35
36
  }
36
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchAnswerWidget, decorators: [{
37
38
  type: Component,
38
- args: [{ selector: "app-searchstax-answer", template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <div class=\"searchstax-answer-wrap\">\n <div class=\"searchstax-answer-icon\"></div>\n <div>\n <div\n [class]=\"\n 'searchstax-answer-container' + answerData.showMoreButtonVisible\n ? 'searchstax-answer-show-more'\n : ''\n \"\n >\n <div class=\"searchstax-answer-title\">Answer</div>\n <div class=\"searchstax-answer-error\" *ngIf=\"answerData.shouldShowAnswerError\" [innerHTML]=\"answerData.answerErrorMessage\"></div>\n <div\n class=\"searchstax-answer-description\"\n [innerHTML]=\"answerData.fullAnswerFormatted\"\n ></div>\n <div\n *ngIf=\"answerData.answerLoading\"\n class=\"searchstax-answer-loading\"\n ></div>\n </div>\n <div\n *ngIf=\"answerData.showMoreButtonVisible\"\n class=\"searchstax-answer-load-more-button-container\"\n >\n <button\n class=\"searchstax-answer-load-more-button\"\n (click)=\"showMore($event, context)\"\n >\n Show More...\n </button>\n </div>\n </div>\n <div class=\"searchstax-answer-footer\">\n <div id=\"feedbackWidgetContainer\"></div>\n <div class=\"searchstax-lightweight-widget-separator-inline\"></div>\n <p class=\"searchstax-disclaimer\">Generative AI is Experimental</p>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
39
+ args: [{ selector: "app-searchstax-answer", template: "<div [id]=\"'searchstax-answer-container' + rand\">\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n !templateOverride\n \"\n >\n <app-answer-template #ref></app-answer-template>\n <ng-template\n [ngTemplateOutlet]=\"ref.answerTemplate\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-template>\n </div>\n <div\n *ngIf=\"\n answerData &&\n answerData?.searchExecuted &&\n answerData.shouldShowAnswer &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
39
40
  }], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
40
41
  type: Input
41
42
  }], feedbackwidget: [{
@@ -43,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
43
44
  }], showShowMoreAfterWordCount: [{
44
45
  type: Input
45
46
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7OztBQVN0RSxNQUFNLE9BQU8sNEJBQTRCO0lBUXZDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSDVELGVBQVUsR0FBaUMsSUFBSSxDQUFDO1FBQ2hELFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQztZQUNyTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQWE7UUFDbEMsSUFBSSxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQzFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUNyRTtJQUNILENBQUM7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUNqRSxDQUFDLFVBQXdDLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUMvQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBbENVLDRCQUE0QjttR0FBNUIsNEJBQTRCLDJNQ1R6Qyw0NkRBOERBOzs0RkRyRGEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHVCQUF1Qjt3RkFLeEIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRmVlZGJhY2tXaWRnZXRQcm9wZXJ0aWVzLCBJU2VhcmNoc3RheEFuc3dlckRhdGEgfSBmcm9tIFwiQHNlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1qc1wiO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zdG9yZS1zZXJ2aWNlLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1zZWFyY2hzdGF4LWFuc3dlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWFuc3dlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hzdGF4U2VhcmNoQW5zd2VyV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZlZWRiYWNrd2lkZ2V0PzogSUZlZWRiYWNrV2lkZ2V0UHJvcGVydGllcztcbiAgQElucHV0KCkgc2hvd1Nob3dNb3JlQWZ0ZXJXb3JkQ291bnQ/OiBudW1iZXI7XG5cbiAgYW5zd2VyRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4QW5zd2VyRGF0YSA9IG51bGw7XG4gIHJhbmQgPSBNYXRoLnJhbmRvbSgpO1xuICBjb250ZXh0ID0gdGhpcztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZEFuc3dlcldpZGdldCgnc2VhcmNoc3RheC1hbnN3ZXItY29udGFpbmVyJyArIHRoaXMucmFuZCwge3Nob3dTaG93TW9yZUFmdGVyV29yZENvdW50OiB0aGlzLnNob3dTaG93TW9yZUFmdGVyV29yZENvdW50LCBmZWVkYmFja3dpZGdldDogdGhpcy5mZWVkYmFja3dpZGdldH0pO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIHNob3dNb3JlKGV2ZW50OiBFdmVudCwgY29udGV4dDogdGhpcykge1xuICAgIGlmIChjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYW5zd2VyV2lkZ2V0Py5zaG93TW9yZShldmVudClcbiAgICB9XG4gIH1cblxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kYW5zd2VyRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoYW5zd2VyRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4QW5zd2VyRGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmFuc3dlckRhdGEgPSBhbnN3ZXJEYXRhO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgW2lkXT1cIidzZWFyY2hzdGF4LWFuc3dlci1jb250YWluZXInICsgcmFuZFwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIGFuc3dlckRhdGEgJiZcbiAgICAgIGFuc3dlckRhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBhbnN3ZXJEYXRhLnNob3VsZFNob3dBbnN3ZXIgJiZcbiAgICAgICF0ZW1wbGF0ZU92ZXJyaWRlXG4gICAgXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci13cmFwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItaWNvblwiPjwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIFtjbGFzc109XCJcbiAgICAgICAgICAgICdzZWFyY2hzdGF4LWFuc3dlci1jb250YWluZXInICsgYW5zd2VyRGF0YS5zaG93TW9yZUJ1dHRvblZpc2libGVcbiAgICAgICAgICAgICAgPyAnc2VhcmNoc3RheC1hbnN3ZXItc2hvdy1tb3JlJ1xuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci10aXRsZVwiPkFuc3dlcjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1lcnJvclwiICpuZ0lmPVwiYW5zd2VyRGF0YS5zaG91bGRTaG93QW5zd2VyRXJyb3JcIiBbaW5uZXJIVE1MXT1cImFuc3dlckRhdGEuYW5zd2VyRXJyb3JNZXNzYWdlXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cImFuc3dlckRhdGEuZnVsbEFuc3dlckZvcm1hdHRlZFwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYW5zd2VyRGF0YS5hbnN3ZXJMb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItbG9hZGluZ1wiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiYW5zd2VyRGF0YS5zaG93TW9yZUJ1dHRvblZpc2libGVcIlxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1hbnN3ZXItbG9hZC1tb3JlLWJ1dHRvbi1jb250YWluZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1sb2FkLW1vcmUtYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzaG93TW9yZSgkZXZlbnQsIGNvbnRleHQpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBTaG93IE1vcmUuLi5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWFuc3dlci1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBpZD1cImZlZWRiYWNrV2lkZ2V0Q29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWxpZ2h0d2VpZ2h0LXdpZGdldC1zZXBhcmF0b3ItaW5saW5lXCI+PC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwic2VhcmNoc3RheC1kaXNjbGFpbWVyXCI+R2VuZXJhdGl2ZSBBSSBpcyBFeHBlcmltZW50YWw8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgYW5zd2VyRGF0YSAmJlxuICAgICAgYW5zd2VyRGF0YT8uc2VhcmNoRXhlY3V0ZWQgJiZcbiAgICAgIGFuc3dlckRhdGEuc2hvdWxkU2hvd0Fuc3dlciAmJlxuICAgICAgdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIvc2VhcmNoc3RheC1zZWFyY2gtYW5zd2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTdEUsTUFBTSxPQUFPLDRCQUE0QjtJQVF2QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCxlQUFVLEdBQWlDLElBQUksQ0FBQztRQUNoRCxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDZ0QsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDLENBQUM7WUFDck0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1A7YUFBTTtZQUNMLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7U0FDakU7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVksRUFBRSxPQUFhO1FBQ2xDLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUMxQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDckU7SUFDSCxDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDakUsQ0FBQyxVQUF3QyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQWxDVSw0QkFBNEI7bUdBQTVCLDRCQUE0QiwyTUNUekMsOHFCQTRCQTs7NEZEbkJhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSx1QkFBdUI7d0ZBS3hCLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUZlZWRiYWNrV2lkZ2V0UHJvcGVydGllcywgSVNlYXJjaHN0YXhBbnN3ZXJEYXRhIH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1hbnN3ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zZWFyY2hzdGF4LXNlYXJjaC1hbnN3ZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEFuc3dlcldpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBmZWVkYmFja3dpZGdldD86IElGZWVkYmFja1dpZGdldFByb3BlcnRpZXM7XG4gIEBJbnB1dCgpIHNob3dTaG93TW9yZUFmdGVyV29yZENvdW50PzogbnVtYmVyO1xuXG4gIGFuc3dlckRhdGE6IG51bGwgfCBJU2VhcmNoc3RheEFuc3dlckRhdGEgPSBudWxsO1xuICByYW5kID0gTWF0aC5yYW5kb20oKTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRBbnN3ZXJXaWRnZXQoJ3NlYXJjaHN0YXgtYW5zd2VyLWNvbnRhaW5lcicgKyB0aGlzLnJhbmQsIHtzaG93U2hvd01vcmVBZnRlcldvcmRDb3VudDogdGhpcy5zaG93U2hvd01vcmVBZnRlcldvcmRDb3VudCwgZmVlZGJhY2t3aWRnZXQ6IHRoaXMuZmVlZGJhY2t3aWRnZXR9KTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlNlYXJjaHN0YXggaW5zdGFuY2UgbmVlZHMgdG8gYmUgcGFzc2VkIHZpYSBwcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBzaG93TW9yZShldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBpZiAoY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFuc3dlcldpZGdldD8uc2hvd01vcmUoZXZlbnQpXG4gICAgfVxuICB9XG5cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGFuc3dlckRhdGEuc3Vic2NyaWJlKFxuICAgICAgKGFuc3dlckRhdGE6IG51bGwgfCBJU2VhcmNoc3RheEFuc3dlckRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5hbnN3ZXJEYXRhID0gYW5zd2VyRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1hbnN3ZXItY29udGFpbmVyJyArIHJhbmRcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBhbnN3ZXJEYXRhICYmXG4gICAgICBhbnN3ZXJEYXRhPy5zZWFyY2hFeGVjdXRlZCAmJlxuICAgICAgYW5zd2VyRGF0YS5zaG91bGRTaG93QW5zd2VyICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8YXBwLWFuc3dlci10ZW1wbGF0ZSAjcmVmPjwvYXBwLWFuc3dlci10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlZi5hbnN3ZXJUZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29udGV4dFwiXG4gICAgPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIGFuc3dlckRhdGEgJiZcbiAgICAgIGFuc3dlckRhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBhbnN3ZXJEYXRhLnNob3VsZFNob3dBbnN3ZXIgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -2,6 +2,7 @@ import { Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/store-service.service";
4
4
  import * as i2 from "@angular/common";
5
+ import * as i3 from "../templates/searchstax-search-external-template";
5
6
  export class SearchstaxSearchExternalPromotionsWidget {
6
7
  constructor(storeServiceService) {
7
8
  this.storeServiceService = storeServiceService;
@@ -29,12 +30,12 @@ export class SearchstaxSearchExternalPromotionsWidget {
29
30
  });
30
31
  }
31
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchExternalPromotionsWidget, selector: "app-searchstax-external-promotions", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchExternalPromotionsWidget, selector: "app-searchstax-external-promotions", inputs: { templateOverride: "templateOverride" }, ngImport: i0, template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <ng-container\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <app-external-template #ref></app-external-template>\n <ng-template\n *ngTemplateOutlet=\"ref.externalPromotionsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ExternalPromotionsTemplateComponent, selector: "app-external-template" }] }); }
33
34
  }
34
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchExternalPromotionsWidget, decorators: [{
35
36
  type: Component,
36
- args: [{ selector: "app-searchstax-external-promotions", template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <div\n class=\"searchstax-external-promotions-container\"\n id=\"searchstax-external-promotions-container\"\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <div\n class=\"searchstax-external-promotion searchstax-search-result\"\n *ngFor=\"let externalPromotion of externalPromotionsData.externalPromotions\"\n >\n <div class=\"icon-elevated\"></div>\n <a\n *ngIf=\"externalPromotion.url\"\n [href]=\"externalPromotion.url\"\n (click)=\"trackClick(externalPromotion, $event, context)\"\n class=\"searchstax-result-item-link\"\n ></a>\n <div class=\"searchstax-search-result-title-container\">\n <span class=\"searchstax-search-result-title\">{{ externalPromotion.name }}</span>\n </div>\n <p\n *ngIf=\"externalPromotion.description\"\n class=\"searchstax-search-result-description searchstax-search-result-common\"\n >\n {{ externalPromotion.description }}\n </p>\n <p *ngIf=\"externalPromotion.url\" class=\"searchstax-search-result-description searchstax-search-result-common\">\n {{ externalPromotion.url }}\n </p>\n </div>\n </div>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container *ngTemplateOutlet=\"templateOverride; context: context\"></ng-container>\n </div>\n</div>\n" }]
37
+ args: [{ selector: "app-searchstax-external-promotions", template: "<div [id]=\"'searchstax-external-promotions-layout-container' + rand\">\n <ng-container\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n !templateOverride\n \"\n >\n <app-external-template #ref></app-external-template>\n <ng-template\n *ngTemplateOutlet=\"ref.externalPromotionsTemplate; context: context\"\n ></ng-template>\n </ng-container>\n <div\n *ngIf=\"\n externalPromotionsData &&\n externalPromotionsData?.searchExecuted &&\n externalPromotionsData?.hasExternalPromotions &&\n templateOverride\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverride; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
37
38
  }], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverride: [{
38
39
  type: Input
39
40
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdEUsTUFBTSxPQUFPLHdDQUF3QztJQU1uRCxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUg1RCwyQkFBc0IsR0FBNkMsSUFBSSxDQUFDO1FBQ3hFLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUNnRCxDQUFDO0lBRWhFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLDJCQUEyQixDQUM3RCxpREFBaUQsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUM3RCxFQUFFLENBQ0gsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNQO2FBQU07WUFDTCxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxpQkFBcUMsRUFBRSxLQUFZLEVBQUUsT0FBYTtRQUMzRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxDQUNuRixDQUFDLHNCQUFnRSxFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLHNCQUFzQixDQUFDO1FBQ3ZELENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FoQ1Usd0NBQXdDO21HQUF4Qyx3Q0FBd0MsNEhDVHJELHVxREErQ0E7OzRGRHRDYSx3Q0FBd0M7a0JBTHBELFNBQVM7K0JBQ0Usb0NBQW9DO3dGQUtyQyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElFeHRlcm5hbFByb21vdGlvbiwgSVNlYXJjaHN0YXhFeHRlcm5hbFByb21vdGlvbnNEYXRhIH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoc3RheFNlYXJjaEV4dGVybmFsUHJvbW90aW9uc1dpZGdldCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGV4dGVybmFsUHJvbW90aW9uc0RhdGE6IG51bGwgfCBJU2VhcmNoc3RheEV4dGVybmFsUHJvbW90aW9uc0RhdGEgPSBudWxsO1xuICByYW5kID0gTWF0aC5yYW5kb20oKTtcbiAgY29udGV4dCA9IHRoaXM7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRFeHRlcm5hbFByb21vdGlvbnNXaWRnZXQoXG4gICAgICAgICAgXCJzZWFyY2hzdGF4LWV4dGVybmFsLXByb21vdGlvbnMtbGF5b3V0LWNvbnRhaW5lclwiICsgdGhpcy5yYW5kLFxuICAgICAgICAgIHt9XG4gICAgICAgICk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJTZWFyY2hzdGF4IGluc3RhbmNlIG5lZWRzIHRvIGJlIHBhc3NlZCB2aWEgcHJvcHNcIik7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tDbGljayhleHRlcm5hbFByb21vdGlvbjogSUV4dGVybmFsUHJvbW90aW9uLCBldmVudDogRXZlbnQsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5leHRlcm5hbFByb21vdGlvbnNXaWRnZXQ/LnRyYWNrQ2xpY2soZXh0ZXJuYWxQcm9tb3Rpb24sIGV2ZW50KTtcbiAgfVxuXG4gIGF0dGFjaE9ic2VydmFibGVzKCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmRhdGFMYXllci4kc2VhcmNoRXh0ZXJuYWxQcm9tb3Rpb25zRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YTogbnVsbCB8IElTZWFyY2hzdGF4RXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSkgPT4ge1xuICAgICAgICB0aGlzLmV4dGVybmFsUHJvbW90aW9uc0RhdGEgPSBleHRlcm5hbFByb21vdGlvbnNEYXRhO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgW2lkXT1cIidzZWFyY2hzdGF4LWV4dGVybmFsLXByb21vdGlvbnMtbGF5b3V0LWNvbnRhaW5lcicgKyByYW5kXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9ucy1jb250YWluZXJcIlxuICAgIGlkPVwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWNvbnRhaW5lclwiXG4gICAgKm5nSWY9XCJcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGEgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5oYXNFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgICF0ZW1wbGF0ZU92ZXJyaWRlXG4gICAgXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb24gc2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0XCJcbiAgICAgICpuZ0Zvcj1cImxldCBleHRlcm5hbFByb21vdGlvbiBvZiBleHRlcm5hbFByb21vdGlvbnNEYXRhLmV4dGVybmFsUHJvbW90aW9uc1wiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImljb24tZWxldmF0ZWRcIj48L2Rpdj5cbiAgICAgIDxhXG4gICAgICAgICpuZ0lmPVwiZXh0ZXJuYWxQcm9tb3Rpb24udXJsXCJcbiAgICAgICAgW2hyZWZdPVwiZXh0ZXJuYWxQcm9tb3Rpb24udXJsXCJcbiAgICAgICAgKGNsaWNrKT1cInRyYWNrQ2xpY2soZXh0ZXJuYWxQcm9tb3Rpb24sICRldmVudCwgY29udGV4dClcIlxuICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtcmVzdWx0LWl0ZW0tbGlua1wiXG4gICAgICA+PC9hPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC10aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtdGl0bGVcIj57eyBleHRlcm5hbFByb21vdGlvbi5uYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8cFxuICAgICAgICAqbmdJZj1cImV4dGVybmFsUHJvbW90aW9uLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LXNlYXJjaC1yZXN1bHQtZGVzY3JpcHRpb24gc2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWNvbW1vblwiXG4gICAgICA+XG4gICAgICAgIHt7IGV4dGVybmFsUHJvbW90aW9uLmRlc2NyaXB0aW9uIH19XG4gICAgICA8L3A+XG4gICAgICA8cCAqbmdJZj1cImV4dGVybmFsUHJvbW90aW9uLnVybFwiIGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtcmVzdWx0LWRlc2NyaXB0aW9uIHNlYXJjaHN0YXgtc2VhcmNoLXJlc3VsdC1jb21tb25cIj5cbiAgICAgICAge3sgZXh0ZXJuYWxQcm9tb3Rpb24udXJsIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGEgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5oYXNFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGU7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZXh0ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC9zZWFyY2hzdGF4LXNlYXJjaC1leHRlcm5hbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU3RFLE1BQU0sT0FBTyx3Q0FBd0M7SUFNbkQsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFINUQsMkJBQXNCLEdBQTZDLElBQUksQ0FBQztRQUN4RSxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFDZ0QsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FDN0QsaURBQWlELEdBQUcsSUFBSSxDQUFDLElBQUksRUFDN0QsRUFBRSxDQUNILENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsTUFBTSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztTQUNqRTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsaUJBQXFDLEVBQUUsS0FBWSxFQUFFLE9BQWE7UUFDM0UsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLFNBQVMsQ0FDbkYsQ0FBQyxzQkFBZ0UsRUFBRSxFQUFFO1lBQ25FLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztRQUN2RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBaENVLHdDQUF3QzttR0FBeEMsd0NBQXdDLDRIQ1RyRCw0eEJBMkJBOzs0RkRsQmEsd0NBQXdDO2tCQUxwRCxTQUFTOytCQUNFLG9DQUFvQzt3RkFLckMsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRXh0ZXJuYWxQcm9tb3Rpb24sIElTZWFyY2hzdGF4RXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSB9IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtZXh0ZXJuYWwtcHJvbW90aW9uc1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWV4dGVybmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hFeHRlcm5hbFByb21vdGlvbnNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBleHRlcm5hbFByb21vdGlvbnNEYXRhOiBudWxsIHwgSVNlYXJjaHN0YXhFeHRlcm5hbFByb21vdGlvbnNEYXRhID0gbnVsbDtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlU2VydmljZVNlcnZpY2U6IFN0b3JlU2VydmljZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4KSB7XG4gICAgICB0aGlzLmF0dGFjaE9ic2VydmFibGVzKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguYWRkRXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0KFxuICAgICAgICAgIFwic2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXJcIiArIHRoaXMucmFuZCxcbiAgICAgICAgICB7fVxuICAgICAgICApO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrQ2xpY2soZXh0ZXJuYWxQcm9tb3Rpb246IElFeHRlcm5hbFByb21vdGlvbiwgZXZlbnQ6IEV2ZW50LCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZXh0ZXJuYWxQcm9tb3Rpb25zV2lkZ2V0Py50cmFja0NsaWNrKGV4dGVybmFsUHJvbW90aW9uLCBldmVudCk7XG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlYXJjaEV4dGVybmFsUHJvbW90aW9uc0RhdGEuc3Vic2NyaWJlKFxuICAgICAgKGV4dGVybmFsUHJvbW90aW9uc0RhdGE6IG51bGwgfCBJU2VhcmNoc3RheEV4dGVybmFsUHJvbW90aW9uc0RhdGEpID0+IHtcbiAgICAgICAgdGhpcy5leHRlcm5hbFByb21vdGlvbnNEYXRhID0gZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YTtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCInc2VhcmNoc3RheC1leHRlcm5hbC1wcm9tb3Rpb25zLWxheW91dC1jb250YWluZXInICsgcmFuZFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGEgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/LnNlYXJjaEV4ZWN1dGVkICYmXG4gICAgICBleHRlcm5hbFByb21vdGlvbnNEYXRhPy5oYXNFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgICF0ZW1wbGF0ZU92ZXJyaWRlXG4gICAgXCJcbiAgPlxuICAgIDxhcHAtZXh0ZXJuYWwtdGVtcGxhdGUgI3JlZj48L2FwcC1leHRlcm5hbC10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLmV4dGVybmFsUHJvbW90aW9uc1RlbXBsYXRlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YSAmJlxuICAgICAgZXh0ZXJuYWxQcm9tb3Rpb25zRGF0YT8uc2VhcmNoRXhlY3V0ZWQgJiZcbiAgICAgIGV4dGVybmFsUHJvbW90aW9uc0RhdGE/Lmhhc0V4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgdGVtcGxhdGVPdmVycmlkZVxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -2,6 +2,8 @@ import { Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/store-service.service";
4
4
  import * as i2 from "@angular/common";
5
+ import * as i3 from "../templates/searchstax-search-facet-desktop-template";
6
+ import * as i4 from "../templates/searchstax-search-facet-mobile-template";
5
7
  export class SearchstaxSearchFacetsWidget {
6
8
  // @ViewChildren("facetContainers") facetContainers: QueryList<ElementRef>;
7
9
  constructor(storeServiceService) {
@@ -91,11 +93,11 @@ export class SearchstaxSearchFacetsWidget {
91
93
  return facet;
92
94
  }
93
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchFacetsWidget, deps: [{ token: i1.StoreServiceService }], target: i0.ɵɵFactoryTarget.Component }); }
94
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchFacetsWidget, selector: "app-searchstax-search-facets", inputs: { templateOverrideMobile: "templateOverrideMobile", templateOverrideDesktop: "templateOverrideDesktop", facetingType: "facetingType", itemsPerPageDesktop: "itemsPerPageDesktop", itemsPerPageMobile: "itemsPerPageMobile", specificFacets: "specificFacets" }, ngImport: i0, template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\" (keyup.enter)=\"showMoreLessDesktop($event, facet, context)\" (keyup.space)=\"showMoreLessDesktop($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessMobile($event, facet, context)\" (keyup.enter)=\"showMoreLessMobile($event, facet, context)\" (keyup.space)=\"showMoreLessMobile($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SearchstaxSearchFacetsWidget, selector: "app-searchstax-search-facets", inputs: { templateOverrideMobile: "templateOverrideMobile", templateOverrideDesktop: "templateOverrideDesktop", facetingType: "facetingType", itemsPerPageDesktop: "itemsPerPageDesktop", itemsPerPageMobile: "itemsPerPageMobile", specificFacets: "specificFacets" }, ngImport: i0, template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <ng-container\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n !templateOverrideDesktop\n \"\n >\n <app-facet-desktop-template #ref></app-facet-desktop-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideDesktop; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n templateOverrideDesktop\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n !templateOverrideMobile\n \"\n >\n <app-facet-mobile-template #ref></app-facet-mobile-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideMobile; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n templateOverrideMobile\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideMobile; context: context\"\n ></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FacetDesktopTemplateComponent, selector: "app-facet-desktop-template" }, { kind: "component", type: i4.FacetMobileTemplateComponent, selector: "app-facet-mobile-template" }] }); }
95
97
  }
96
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SearchstaxSearchFacetsWidget, decorators: [{
97
99
  type: Component,
98
- args: [{ selector: "app-searchstax-search-facets", template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <div\n *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && !templateOverrideDesktop\"\n class=\"searchstax-facets-container-desktop\"\n >\n <div\n class=\"searchstax-facet-container\"\n *ngFor=\"let facet of facetsTemplateDataDesktop?.facets\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div class=\"searchstax-facet-value-label\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n {{ facetValue.value }}\n </div>\n <div class=\"searchstax-facet-value-count\" (click)=\"selectFacet(ref, $event, facetValue, false, context)\">\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessDesktop($event, facet, context)\" (keyup.enter)=\"showMoreLessDesktop($event, facet, context)\" (keyup.space)=\"showMoreLessDesktop($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataDesktop?.hasResultsOrExternalPromotions && templateOverrideDesktop\">\n <ng-container *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"></ng-container>\n </div>\n\n <div\n class=\"searchstax-facets-container-mobile\"\n *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && !templateOverrideMobile\"\n >\n <div class=\"searchstax-facets-pills-container\">\n <div class=\"searchstax-facets-pill searchstax-facets-pill-filter-by\" (click)=\"openOverlay(context)\">\n <div class=\"searchstax-facets-pill-label\">Filter By</div>\n </div>\n <div class=\"searchstax-facets-pills-selected\">\n <div\n class=\"searchstax-facets-pill searchstax-facets-pill-facets\"\n *ngFor=\"let facet of selectedFacetsCheckboxes\"\n (click)=\"unselectFacet(facet, context)\"\n >\n <div class=\"searchstax-facets-pill-label\">{{ facet.value }} ({{ facet.count }})</div>\n <div class=\"searchstax-facets-pill-icon-close\"></div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-pill searchstax-clear-filters searchstax-facets-pill-clear-all\"\n *ngIf=\"selectedFacetsCheckboxes.length\"\n (click)=\"unselectAll(context)\"\n >\n <div class=\"searchstax-facets-pill-label\">Clear Filters</div>\n </div>\n </div>\n <div\n class=\"searchstax-facets-mobile-overlay\"\n [class]=\"{ 'searchstax-show': facetMobileData(facetsTemplateDataMobile)?.overlayOpened }\"\n >\n <div class=\"searchstax-facets-mobile-overlay-header\">\n <div class=\"searchstax-facets-mobile-overlay-header-title\">Filter By</div>\n <div class=\"searchstax-search-close\" (click)=\"closeOverlay(context)\"></div>\n </div>\n <div class=\"searchstax-facets-container-mobile\">\n <div\n *ngFor=\"let facet of facetsTemplateDataMobile?.facets\"\n class=\"searchstax-facet-container\"\n [class]=\"{ active: isNotDeactivated(facet.name, context) }\"\n >\n <div>\n <div class=\"searchstax-facet-title-container\" (click)=\"toggleFacetGroup(facet.name, context)\">\n <div class=\"searchstax-facet-title\">{{ facet.label }}</div>\n <div class=\"searchstax-facet-title-arrow active\"></div>\n </div>\n <div class=\"searchstax-facet-values-container\">\n <div\n *ngFor=\"let facetValue of facetValues(facet); index as key\"\n class=\"searchstax-facet-value-container\"\n [class]=\"{ 'searchstax-facet-value-disabled': facetValue.disabled }\"\n #ref\n >\n <div class=\"searchstax-facet-input\">\n <input\n type=\"checkbox\"\n class=\"searchstax-facet-input-checkbox\"\n [attr.aria-label]=\"facetValue.value + ' ' + facetValue.count\"\n [checked]=\"isChecked(facetValue, context)\"\n [disabled]=\"facetValue.disabled\"\n (click)=\"selectFacet(ref, $event, facetValue, true, context)\"\n />\n </div>\n <div\n class=\"searchstax-facet-value-label\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n {{ facetValue.value }}\n </div>\n <div\n class=\"searchstax-facet-value-count\"\n (click)=\"selectFacet(ref, $event, facetValue, false, context)\"\n >\n ({{ facetValue.count }})\n </div>\n </div>\n <div class=\"searchstax-facet-show-more-container\" *ngIf=\"facet.hasMoreFacets\">\n <div class=\"searchstax-facet-show-more-container\" (click)=\"showMoreLessMobile($event, facet, context)\" (keyup.enter)=\"showMoreLessMobile($event, facet, context)\" (keyup.space)=\"showMoreLessMobile($event, facet, context)\" tabindex=\"0\">\n <div\n *ngIf=\"facet.showingAllFacets\"\n class=\"searchstax-facet-show-less-button searchstax-facet-show-button\"\n >\n less\n </div>\n <div\n *ngIf=\"!facet.showingAllFacets\"\n class=\"searchstax-facet-show-more-button searchstax-facet-show-button\"\n >\n more\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <button class=\"searchstax-facets-mobile-overlay-done\" (click)=\"closeOverlay(context)\">Done</button>\n </div>\n </div>\n <div *ngIf=\"facetsTemplateDataMobile?.hasResultsOrExternalPromotions && templateOverrideMobile\">\n <ng-container *ngTemplateOutlet=\"templateOverrideMobile; context: context\"></ng-container>\n </div>\n</div>\n" }]
100
+ args: [{ selector: "app-searchstax-search-facets", template: "<div [id]=\"'searchstax-facets-container' + rand\">\n <ng-container\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n !templateOverrideDesktop\n \"\n >\n <app-facet-desktop-template #ref></app-facet-desktop-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideDesktop; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataDesktop?.hasResultsOrExternalPromotions &&\n templateOverrideDesktop\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideDesktop; context: context\"\n ></ng-container>\n </div>\n\n <ng-container\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n !templateOverrideMobile\n \"\n >\n <app-facet-mobile-template #ref></app-facet-mobile-template>\n <ng-template\n *ngTemplateOutlet=\"ref.templateOverrideMobile; context: context\"\n ></ng-template>\n </ng-container>\n\n <div\n *ngIf=\"\n facetsTemplateDataMobile?.hasResultsOrExternalPromotions &&\n templateOverrideMobile\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"templateOverrideMobile; context: context\"\n ></ng-container>\n </div>\n</div>\n" }]
99
101
  }], ctorParameters: () => [{ type: i1.StoreServiceService }], propDecorators: { templateOverrideMobile: [{
100
102
  type: Input
101
103
  }], templateOverrideDesktop: [{
@@ -109,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
109
111
  }], specificFacets: [{
110
112
  type: Input
111
113
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUEyRCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN0SCxNQUFNLE9BQU8sNEJBQTRCO0lBZXZDLDJFQUEyRTtJQUMzRSxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQVI1RCw4QkFBeUIsR0FBK0IsSUFBSSxDQUFDO1FBQzdELDZCQUF3QixHQUErQixJQUFJLENBQUM7UUFDNUQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLDZCQUF3QixHQUFrQixFQUFFLENBQUM7UUFDN0Msd0JBQW1CLEdBQXVCLEVBQUUsQ0FBQztRQUM3QyxTQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRzBDLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNu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WUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElGYWNldERhdGEsIElGYWNldFZhbHVlLCBJRmFjZXRWYWx1ZURhdGEsIElGYWNldFZhbHVlUmFuZ2UsIElGYWNldHNUZW1wbGF0ZURhdGEsIElQYWdpbmF0aW9uRGF0YSwgSVNlYXJjaE9iamVjdCB9IGZyb20gXCJAc2VhcmNoc3RheC1pbmMvc2VhcmNoc3R1ZGlvLXV4LWpzXCI7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JlLXNlcnZpY2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXBwLXNlYXJjaHN0YXgtc2VhcmNoLWZhY2V0c1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlYXJjaHN0YXgtc2VhcmNoLWZhY2V0cy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hzdGF4U2VhcmNoRmFjZXRzV2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZU1vYmlsZT86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZmFjZXRpbmdUeXBlITogXCJhbmRcIiB8IFwib3JcIiB8IFwic2hvd1VuYXZhaWxhYmxlXCIgfCBcInRhYnNcIjtcbiAgQElucHV0KCkgaXRlbXNQZXJQYWdlRGVza3RvcCE6IG51bWJlcjtcbiAgQElucHV0KCkgaXRlbXNQZXJQYWdlTW9iaWxlITogbnVtYmVyO1xuICBASW5wdXQoKSBzcGVjaWZpY0ZhY2V0cyE6IHN0cmluZ1tdO1xuXG4gIGZhY2V0c1RlbXBsYXRlRGF0YURlc2t0b3A6IG51bGwgfCBJRmFjZXRzVGVtcGxhdGVEYXRhID0gbnVsbDtcbiAgZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlOiBudWxsIHwgSUZhY2V0c1RlbXBsYXRlRGF0YSA9IG51bGw7XG4gIGNvbnRleHQgPSB0aGlzO1xuICBzZWxlY3RlZEZhY2V0c0NoZWNrYm94ZXM6IElGYWNldFZhbHVlW10gPSBbXTtcbiAgc2VsZWN0ZWRGYWNldHNSYW5nZTogSUZhY2V0VmFsdWVSYW5nZVtdID0gW107XG4gIHJhbmQgPSBNYXRoLnJhbmRvbSgpO1xuXG4gIC8vIEBWaWV3Q2hpbGRyZW4oXCJmYWNldENvbnRhaW5lcnNcIikgZmFjZXRDb250YWluZXJzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmVTZXJ2aWNlU2VydmljZTogU3RvcmVTZXJ2aWNlU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXgpIHtcbiAgICAgIHRoaXMuYXR0YWNoT2JzZXJ2YWJsZXMoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmFkZFdpZGdldCgpO1xuICAgICAgfSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKFwiU2VhcmNoc3RheCBpbnN0YW5jZSBuZWVkcyB0byBiZSBwYXNzZWQgdmlhIHByb3BzXCIpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFdpZGdldCgpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5hZGRGYWNldHNXaWRnZXQoJ3NlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lcicgKyB0aGlzLnJhbmQsIHtcbiAgICAgIGZhY2V0aW5nVHlwZTogdGhpcy5mYWNldGluZ1R5cGUsXG4gICAgICBzcGVjaWZpY0ZhY2V0czogdGhpcy5zcGVjaWZpY0ZhY2V0cyxcbiAgICAgIGl0ZW1zUGVyUGFnZURlc2t0b3A6IHRoaXMuaXRlbXNQZXJQYWdlRGVza3RvcCxcbiAgICAgIGl0ZW1zUGVyUGFnZU1vYmlsZTogdGhpcy5pdGVtc1BlclBhZ2VNb2JpbGVcbiAgICB9KVxuICB9XG5cbiAgYXR0YWNoT2JzZXJ2YWJsZXMoKSB7XG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRmYWNldHNUZW1wbGF0ZURhdGEuc3Vic2NyaWJlKFxuICAgICAgKGRhdGE6IG51bGwgfCBJRmFjZXRzVGVtcGxhdGVEYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhPy5pc01vYmlsZSkge1xuICAgICAgICAgIHRoaXMuZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlID0gZGF0YTtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcCA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguZGF0YUxheWVyLiRzZWxlY3RlZEZhY2V0c1RlbXBsYXRlRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogbnVsbCB8IChJRmFjZXRWYWx1ZSB8IElGYWNldFZhbHVlUmFuZ2UpW10pID0+IHtcbiAgICAgICAgY29uc3QgZGEgPSBkYXRhID8/IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlcyA9IGRhLmZpbHRlcigoZCkgPT4gZC50eXBlID09PSAnY2hlY2tib3gnKSBhcyBJRmFjZXRWYWx1ZVtdO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuXG4gIHVuc2VsZWN0RmFjZXQoZmFjZXQ6IElGYWNldFZhbHVlLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py51bnNlbGVjdEZhY2V0KGZhY2V0KVxuICB9XG5cbiAgdW5zZWxlY3RBbGwoY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ucmVtb3ZlU2VsZWN0ZWRGYWNldHMoKVxuICB9XG5cbiAgaXNOb3REZWFjdGl2YXRlZChuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICByZXR1cm4gIWNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8uZGVhY3RpdmF0ZWRGYWNldHNbbmFtZV1cbiAgfVxuXG4gIHRvZ2dsZUZhY2V0R3JvdXAobmFtZTogc3RyaW5nLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgaWYoY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0KVxuICAgIGlmIChjb250ZXh0LmlzTm90RGVhY3RpdmF0ZWQobmFtZSwgY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldC5kZWFjdGl2YXRlZEZhY2V0c1tuYW1lXSA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0LmRlYWN0aXZhdGVkRmFjZXRzW25hbWVdID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBpc0NoZWNrZWQoZmFjZXRWYWx1ZTogSUZhY2V0VmFsdWVEYXRhLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgcmV0dXJuIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8uaXNDaGVja2VkKGZhY2V0VmFsdWUpXG4gIH1cblxuICBzZWxlY3RGYWNldChlbDogSFRNTERpdkVsZW1lbnQsIGV2ZW50OiBFdmVudCwgZGF0YTogSUZhY2V0VmFsdWVEYXRhLCBpc0lucHV0OiBib29sZWFuLCBjb250ZXh0OiB0aGlzKSB7XG4gICAgY29uc3Qgd3JhcHBlckRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHdyYXBwZXJEaXYuaW5uZXJIVE1MID0gZWwub3V0ZXJIVE1MO1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub25GYWNldFNlbGVjdChldmVudCwgZGF0YSwgZWwsIGlzSW5wdXQpXG5cbiAgfVxuXG4gIHNob3dNb3JlTGVzc0Rlc2t0b3AoZTogRXZlbnQsIGRhdGE6IElGYWNldERhdGEsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/Lm9uU2hvd01vcmVMZXNzQ2xpY2soZSwgZGF0YSwgZmFsc2UpXG4gIH1cblxuICBzaG93TW9yZUxlc3NNb2JpbGUoZTogRXZlbnQsIGRhdGE6IElGYWNldERhdGEsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/Lm9uU2hvd01vcmVMZXNzQ2xpY2soZSwgZGF0YSwgdHJ1ZSlcbiAgfVxuXG4gIG9wZW5PdmVybGF5KGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/Lm9wZW5PdmVybGF5KCk7XG4gIH1cblxuICBjbG9zZU92ZXJsYXkoY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8uY2xvc2VPdmVybGF5KCk7XG4gIH1cblxuICBmYWNldFZhbHVlcyhmYWNldDogSUZhY2V0RGF0YSkgOiBJRmFjZXRWYWx1ZURhdGFbXSB7XG4gICAgcmV0dXJuIGZhY2V0LnZhbHVlcyBhcyBJRmFjZXRWYWx1ZURhdGFbXTtcbiAgfVxuXG4gIGZhY2V0TW9iaWxlRGF0YShmYWNldDogSUZhY2V0c1RlbXBsYXRlRGF0YSB8IG51bGwpIDogYW55IHtcbiAgICByZXR1cm4gZmFjZXQgYXMgYW55XG4gIH1cbn1cbiIsIjxkaXYgW2lkXT1cIidzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXInICsgcmFuZFwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJmYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiYgIXRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXCJcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lci1kZXNrdG9wXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1jb250YWluZXJcIlxuICAgICAgKm5nRm9yPVwibGV0IGZhY2V0IG9mIGZhY2V0c1RlbXBsYXRlRGF0YURlc2t0b3A/LmZhY2V0c1wiXG4gICAgICBbY2xhc3NdPVwieyBhY3RpdmU6IGlzTm90RGVhY3RpdmF0ZWQoZmFjZXQubmFtZSwgY29udGV4dCkgfVwiXG4gICAgPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGUtY29udGFpbmVyXCIgKGNsaWNrKT1cInRvZ2dsZUZhY2V0R3JvdXAoZmFjZXQubmFtZSwgY29udGV4dClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZVwiPnt7IGZhY2V0LmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdGl0bGUtYXJyb3cgYWN0aXZlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZhY2V0VmFsdWUgb2YgZmFjZXRWYWx1ZXMoZmFjZXQpOyBpbmRleCBhcyBrZXlcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbY2xhc3NdPVwieyAnc2VhcmNoc3RheC1mYWNldC12YWx1ZS1kaXNhYmxlZCc6IGZhY2V0VmFsdWUuZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICAjcmVmXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtaW5wdXQtY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmFjZXRWYWx1ZS52YWx1ZSArICcgJyArIGZhY2V0VmFsdWUuY291bnRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChmYWNldFZhbHVlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhY2V0VmFsdWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RGYWNldChyZWYsICRldmVudCwgZmFjZXRWYWx1ZSwgdHJ1ZSwgY29udGV4dClcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1sYWJlbFwiIChjbGljayk9XCJzZWxlY3RGYWNldChyZWYsICRldmVudCwgZmFjZXRWYWx1ZSwgZmFsc2UsIGNvbnRleHQpXCI+XG4gICAgICAgICAgICAgIHt7IGZhY2V0VmFsdWUudmFsdWUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtdmFsdWUtY291bnRcIiAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiPlxuICAgICAgICAgICAgICAoe3sgZmFjZXRWYWx1ZS5jb3VudCB9fSlcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1jb250YWluZXJcIiAqbmdJZj1cImZhY2V0Lmhhc01vcmVGYWNldHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1jb250YWluZXJcIiAoY2xpY2spPVwic2hvd01vcmVMZXNzRGVza3RvcCgkZXZlbnQsIGZhY2V0LCBjb250ZXh0KVwiIChrZXl1cC5lbnRlcik9XCJzaG93TW9yZUxlc3NEZXNrdG9wKCRldmVudCwgZmFjZXQsIGNvbnRleHQpXCIgKGtleXVwLnNwYWNlKT1cInNob3dNb3JlTGVzc0Rlc2t0b3AoJGV2ZW50LCBmYWNldCwgY29udGV4dClcIiB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmFjZXQuc2hvd2luZ0FsbEZhY2V0c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbGVzcy1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBsZXNzXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZmFjZXQuc2hvd2luZ0FsbEZhY2V0c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXNob3ctbW9yZS1idXR0b24gc2VhcmNoc3RheC1mYWNldC1zaG93LWJ1dHRvblwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBtb3JlXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lci1tb2JpbGVcIlxuICAgICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiYgIXRlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGxzLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1maWx0ZXItYnlcIiAoY2xpY2spPVwib3Blbk92ZXJsYXkoY29udGV4dClcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwtbGFiZWxcIj5GaWx0ZXIgQnk8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGxzLXNlbGVjdGVkXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLXBpbGwgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1mYWNldHNcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmYWNldCBvZiBzZWxlY3RlZEZhY2V0c0NoZWNrYm94ZXNcIlxuICAgICAgICAgIChjbGljayk9XCJ1bnNlbGVjdEZhY2V0KGZhY2V0LCBjb250ZXh0KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1sYWJlbFwiPnt7IGZhY2V0LnZhbHVlIH19ICh7eyBmYWNldC5jb3VudCB9fSk8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1pY29uLWNsb3NlXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbCBzZWFyY2hzdGF4LWNsZWFyLWZpbHRlcnMgc2VhcmNoc3RheC1mYWNldHMtcGlsbC1jbGVhci1hbGxcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlcy5sZW5ndGhcIlxuICAgICAgICAoY2xpY2spPVwidW5zZWxlY3RBbGwoY29udGV4dClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtcGlsbC1sYWJlbFwiPkNsZWFyIEZpbHRlcnM8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXlcIlxuICAgICAgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtc2hvdyc6IGZhY2V0TW9iaWxlRGF0YShmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGUpPy5vdmVybGF5T3BlbmVkIH1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1tb2JpbGUtb3ZlcmxheS1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXRzLW1vYmlsZS1vdmVybGF5LWhlYWRlci10aXRsZVwiPkZpbHRlciBCeTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1zZWFyY2gtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VPdmVybGF5KGNvbnRleHQpXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0cy1jb250YWluZXItbW9iaWxlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXQgb2YgZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5mYWNldHNcIlxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1jb250YWluZXJcIlxuICAgICAgICAgIFtjbGFzc109XCJ7IGFjdGl2ZTogaXNOb3REZWFjdGl2YXRlZChmYWNldC5uYW1lLCBjb250ZXh0KSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZS1jb250YWluZXJcIiAoY2xpY2spPVwidG9nZ2xlRmFjZXRHcm91cChmYWNldC5uYW1lLCBjb250ZXh0KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC10aXRsZVwiPnt7IGZhY2V0LmxhYmVsIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXRpdGxlLWFycm93IGFjdGl2ZVwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmFjZXRWYWx1ZSBvZiBmYWNldFZhbHVlcyhmYWNldCk7IGluZGV4IGFzIGtleVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LXZhbHVlLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cInsgJ3NlYXJjaHN0YXgtZmFjZXQtdmFsdWUtZGlzYWJsZWQnOiBmYWNldFZhbHVlLmRpc2FibGVkIH1cIlxuICAgICAgICAgICAgICAgICNyZWZcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2hzdGF4LWZhY2V0LWlucHV0LWNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmYWNldFZhbHVlLnZhbHVlICsgJyAnICsgZmFjZXRWYWx1ZS5jb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzQ2hlY2tlZChmYWNldFZhbHVlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmYWNldFZhbHVlLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEZhY2V0KHJlZiwgJGV2ZW50LCBmYWNldFZhbHVlLCB0cnVlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZmFjZXRWYWx1ZS52YWx1ZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC12YWx1ZS1jb3VudFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RmFjZXQocmVmLCAkZXZlbnQsIGZhY2V0VmFsdWUsIGZhbHNlLCBjb250ZXh0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgKHt7IGZhY2V0VmFsdWUuY291bnQgfX0pXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoc3RheC1mYWNldC1zaG93LW1vcmUtY29udGFpbmVyXCIgKm5nSWY9XCJmYWNldC5oYXNNb3JlRmFjZXRzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtc2hvdy1tb3JlLWNvbnRhaW5lclwiIChjbGljayk9XCJzaG93TW9yZUxlc3NNb2JpbGUoJGV2ZW50LCBmYWNldCwgY29udGV4dClcIiAoa2V5dXAuZW50ZXIpPVwic2hvd01vcmVMZXNzTW9iaWxlKCRldmVudCwgZmFjZXQsIGNvbnRleHQpXCIgKGtleXVwLnNwYWNlKT1cInNob3dNb3JlTGVzc01vYmlsZSgkZXZlbnQsIGZhY2V0LCBjb250ZXh0KVwiIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZhY2V0LnNob3dpbmdBbGxGYWNldHNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtc2hvdy1sZXNzLWJ1dHRvbiBzZWFyY2hzdGF4LWZhY2V0LXNob3ctYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgbGVzc1xuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZhY2V0LnNob3dpbmdBbGxGYWNldHNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaHN0YXgtZmFjZXQtc2hvdy1tb3JlLWJ1dHRvbiBzZWFyY2hzdGF4LWZhY2V0LXNob3ctYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgbW9yZVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwic2VhcmNoc3RheC1mYWNldHMtbW9iaWxlLW92ZXJsYXktZG9uZVwiIChjbGljayk9XCJjbG9zZU92ZXJsYXkoY29udGV4dClcIj5Eb25lPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZmFjZXRzVGVtcGxhdGVEYXRhTW9iaWxlPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiYgdGVtcGxhdGVPdmVycmlkZU1vYmlsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlOyBjb250ZXh0OiBjb250ZXh0XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NlYXJjaHN0YXgtaW5jL3NlYXJjaHN0dWRpby11eC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2hzdGF4LXNlYXJjaC1mYWNldHMvc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUEyRCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3RILE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsMkVBQTJFO0lBQzNFLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBUjVELDhCQUF5QixHQUErQixJQUFJLENBQUM7UUFDN0QsNkJBQXdCLEdBQStCLElBQUksQ0FBQztRQUM1RCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsNkJBQXdCLEdBQWtCLEVBQUUsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBdUIsRUFBRSxDQUFDO1FBQzdDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFHMEMsQ0FBQztJQUVoRSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lB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RyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUZhY2V0RGF0YSwgSUZhY2V0VmFsdWUsIElGYWNldFZhbHVlRGF0YSwgSUZhY2V0VmFsdWVSYW5nZSwgSUZhY2V0c1RlbXBsYXRlRGF0YSwgSVBhZ2luYXRpb25EYXRhLCBJU2VhcmNoT2JqZWN0IH0gZnJvbSBcIkBzZWFyY2hzdGF4LWluYy9zZWFyY2hzdHVkaW8tdXgtanNcIjtcbmltcG9ydCB7IFN0b3JlU2VydmljZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmUtc2VydmljZS5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VhcmNoc3RheC1zZWFyY2gtZmFjZXRzLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaHN0YXhTZWFyY2hGYWNldHNXaWRnZXQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgdGVtcGxhdGVPdmVycmlkZURlc2t0b3A/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBmYWNldGluZ1R5cGUhOiBcImFuZFwiIHwgXCJvclwiIHwgXCJzaG93VW5hdmFpbGFibGVcIiB8IFwidGFic1wiO1xuICBASW5wdXQoKSBpdGVtc1BlclBhZ2VEZXNrdG9wITogbnVtYmVyO1xuICBASW5wdXQoKSBpdGVtc1BlclBhZ2VNb2JpbGUhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNwZWNpZmljRmFjZXRzITogc3RyaW5nW107XG5cbiAgZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcDogbnVsbCB8IElGYWNldHNUZW1wbGF0ZURhdGEgPSBudWxsO1xuICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU6IG51bGwgfCBJRmFjZXRzVGVtcGxhdGVEYXRhID0gbnVsbDtcbiAgY29udGV4dCA9IHRoaXM7XG4gIHNlbGVjdGVkRmFjZXRzQ2hlY2tib3hlczogSUZhY2V0VmFsdWVbXSA9IFtdO1xuICBzZWxlY3RlZEZhY2V0c1JhbmdlOiBJRmFjZXRWYWx1ZVJhbmdlW10gPSBbXTtcbiAgcmFuZCA9IE1hdGgucmFuZG9tKCk7XG5cbiAgLy8gQFZpZXdDaGlsZHJlbihcImZhY2V0Q29udGFpbmVyc1wiKSBmYWNldENvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZVNlcnZpY2VTZXJ2aWNlOiBTdG9yZVNlcnZpY2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheCkge1xuICAgICAgdGhpcy5hdHRhY2hPYnNlcnZhYmxlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWRkV2lkZ2V0KCk7XG4gICAgICB9LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoXCJTZWFyY2hzdGF4IGluc3RhbmNlIG5lZWRzIHRvIGJlIHBhc3NlZCB2aWEgcHJvcHNcIik7XG4gICAgfVxuICB9XG5cbiAgYWRkV2lkZ2V0KCkge1xuICAgIHRoaXMuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LmFkZEZhY2V0c1dpZGdldCgnc2VhcmNoc3RheC1mYWNldHMtY29udGFpbmVyJyArIHRoaXMucmFuZCwge1xuICAgICAgZmFjZXRpbmdUeXBlOiB0aGlzLmZhY2V0aW5nVHlwZSxcbiAgICAgIHNwZWNpZmljRmFjZXRzOiB0aGlzLnNwZWNpZmljRmFjZXRzLFxuICAgICAgaXRlbXNQZXJQYWdlRGVza3RvcDogdGhpcy5pdGVtc1BlclBhZ2VEZXNrdG9wLFxuICAgICAgaXRlbXNQZXJQYWdlTW9iaWxlOiB0aGlzLml0ZW1zUGVyUGFnZU1vYmlsZVxuICAgIH0pXG4gIH1cblxuICBhdHRhY2hPYnNlcnZhYmxlcygpIHtcbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJGZhY2V0c1RlbXBsYXRlRGF0YS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogbnVsbCB8IElGYWNldHNUZW1wbGF0ZURhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGE/LmlzTW9iaWxlKSB7XG4gICAgICAgICAgdGhpcy5mYWNldHNUZW1wbGF0ZURhdGFNb2JpbGUgPSBkYXRhO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5kYXRhTGF5ZXIuJHNlbGVjdGVkRmFjZXRzVGVtcGxhdGVEYXRhLnN1YnNjcmliZShcbiAgICAgIChkYXRhOiBudWxsIHwgKElGYWNldFZhbHVlIHwgSUZhY2V0VmFsdWVSYW5nZSlbXSkgPT4ge1xuICAgICAgICBjb25zdCBkYSA9IGRhdGEgPz8gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGYWNldHNDaGVja2JveGVzID0gZGEuZmlsdGVyKChkKSA9PiBkLnR5cGUgPT09ICdjaGVja2JveCcpIGFzIElGYWNldFZhbHVlW107XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG5cbiAgdW5zZWxlY3RGYWNldChmYWNldDogSUZhY2V0VmFsdWUsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQ/LnVuc2VsZWN0RmFjZXQoZmFjZXQpXG4gIH1cblxuICB1bnNlbGVjdEFsbChjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5yZW1vdmVTZWxlY3RlZEZhY2V0cygpXG4gIH1cblxuICBpc05vdERlYWN0aXZhdGVkKG5hbWU6IHN0cmluZywgY29udGV4dDogdGhpcykge1xuICAgIHJldHVybiAhY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5kZWFjdGl2YXRlZEZhY2V0c1tuYW1lXVxuICB9XG5cbiAgdG9nZ2xlRmFjZXRHcm91cChuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBpZihjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQpXG4gICAgaWYgKGNvbnRleHQuaXNOb3REZWFjdGl2YXRlZChuYW1lLCBjb250ZXh0KSkge1xuICAgICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0LmRlYWN0aXZhdGVkRmFjZXRzW25hbWVdID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LnN0b3JlU2VydmljZVNlcnZpY2Uuc2VhcmNoc3RheC5zZWFyY2hGYWNldHNXaWRnZXQuZGVhY3RpdmF0ZWRGYWNldHNbbmFtZV0gPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGlzQ2hlY2tlZChmYWNldFZhbHVlOiBJRmFjZXRWYWx1ZURhdGEsIGNvbnRleHQ6IHRoaXMpIHtcbiAgICByZXR1cm4gY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5pc0NoZWNrZWQoZmFjZXRWYWx1ZSlcbiAgfVxuXG4gIHNlbGVjdEZhY2V0KGVsOiBIVE1MRGl2RWxlbWVudCwgZXZlbnQ6IEV2ZW50LCBkYXRhOiBJRmFjZXRWYWx1ZURhdGEsIGlzSW5wdXQ6IGJvb2xlYW4sIGNvbnRleHQ6IHRoaXMpIHtcbiAgICBjb25zdCB3cmFwcGVyRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgd3JhcHBlckRpdi5pbm5lckhUTUwgPSBlbC5vdXRlckhUTUw7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5vbkZhY2V0U2VsZWN0KGV2ZW50LCBkYXRhLCBlbCwgaXNJbnB1dClcblxuICB9XG5cbiAgc2hvd01vcmVMZXNzRGVza3RvcChlOiBFdmVudCwgZGF0YTogSUZhY2V0RGF0YSwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub25TaG93TW9yZUxlc3NDbGljayhlLCBkYXRhLCBmYWxzZSlcbiAgfVxuXG4gIHNob3dNb3JlTGVzc01vYmlsZShlOiBFdmVudCwgZGF0YTogSUZhY2V0RGF0YSwgY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub25TaG93TW9yZUxlc3NDbGljayhlLCBkYXRhLCB0cnVlKVxuICB9XG5cbiAgb3Blbk92ZXJsYXkoY29udGV4dDogdGhpcykge1xuICAgIGNvbnRleHQuc3RvcmVTZXJ2aWNlU2VydmljZS5zZWFyY2hzdGF4LnNlYXJjaEZhY2V0c1dpZGdldD8ub3Blbk92ZXJsYXkoKTtcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheShjb250ZXh0OiB0aGlzKSB7XG4gICAgY29udGV4dC5zdG9yZVNlcnZpY2VTZXJ2aWNlLnNlYXJjaHN0YXguc2VhcmNoRmFjZXRzV2lkZ2V0Py5jbG9zZU92ZXJsYXkoKTtcbiAgfVxuXG4gIGZhY2V0VmFsdWVzKGZhY2V0OiBJRmFjZXREYXRhKSA6IElGYWNldFZhbHVlRGF0YVtdIHtcbiAgICByZXR1cm4gZmFjZXQudmFsdWVzIGFzIElGYWNldFZhbHVlRGF0YVtdO1xuICB9XG5cbiAgZmFjZXRNb2JpbGVEYXRhKGZhY2V0OiBJRmFjZXRzVGVtcGxhdGVEYXRhIHwgbnVsbCkgOiBhbnkge1xuICAgIHJldHVybiBmYWNldCBhcyBhbnlcbiAgfVxufVxuIiwiPGRpdiBbaWRdPVwiJ3NlYXJjaHN0YXgtZmFjZXRzLWNvbnRhaW5lcicgKyByYW5kXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIlxuICAgICAgZmFjZXRzVGVtcGxhdGVEYXRhRGVza3RvcD8uaGFzUmVzdWx0c09yRXh0ZXJuYWxQcm9tb3Rpb25zICYmXG4gICAgICAhdGVtcGxhdGVPdmVycmlkZURlc2t0b3BcbiAgICBcIlxuICA+XG4gICAgPGFwcC1mYWNldC1kZXNrdG9wLXRlbXBsYXRlICNyZWY+PC9hcHAtZmFjZXQtZGVza3RvcC10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVmLnRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFEZXNrdG9wPy5oYXNSZXN1bHRzT3JFeHRlcm5hbFByb21vdGlvbnMgJiZcbiAgICAgIHRlbXBsYXRlT3ZlcnJpZGVEZXNrdG9wXG4gICAgXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVPdmVycmlkZURlc2t0b3A7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU/Lmhhc1Jlc3VsdHNPckV4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgIXRlbXBsYXRlT3ZlcnJpZGVNb2JpbGVcbiAgICBcIlxuICA+XG4gICAgPGFwcC1mYWNldC1tb2JpbGUtdGVtcGxhdGUgI3JlZj48L2FwcC1mYWNldC1tb2JpbGUtdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInJlZi50ZW1wbGF0ZU92ZXJyaWRlTW9iaWxlOyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBmYWNldHNUZW1wbGF0ZURhdGFNb2JpbGU/Lmhhc1Jlc3VsdHNPckV4dGVybmFsUHJvbW90aW9ucyAmJlxuICAgICAgdGVtcGxhdGVPdmVycmlkZU1vYmlsZVxuICAgIFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlT3ZlcnJpZGVNb2JpbGU7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==