ctt-puro 0.25.7 → 0.25.8

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.
@@ -4,24 +4,35 @@ import { PuroLinkTypeDirective } from '../../directives';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PuroGrid3colPlusFilterComponent {
6
6
  constructor() {
7
- this.option = signal(0);
8
- this.itemsDisplayed = computed(() => this.filterItems()?.length ? this.filterItems() : this.totalItems);
7
+ this.option = signal("0");
8
+ this.totalItems = signal(undefined);
9
+ this.cssBgUrl = '';
10
+ this.itemsDisplayed = computed(() => {
11
+ const all = this.totalItems() ?? [];
12
+ const selected = this.option();
13
+ if (!selected || selected === "0" || selected === 0)
14
+ return all;
15
+ return all.filter((i) => String(i.filterParent) === String(selected));
16
+ });
9
17
  }
10
18
  set items(items) {
11
- this.totalItems = items;
19
+ this.totalItems.set(items);
12
20
  }
13
- selectOption(option) {
14
- this.option.set(option.target?.value ?? 0);
21
+ ngOnInit() {
22
+ if (this.backgroundImg?.src) {
23
+ this.cssBgUrl = `url("${this.backgroundImg.src}")`;
24
+ }
15
25
  }
16
- filterItems() {
17
- return this.totalItems?.filter((item) => item.filter === this.option());
26
+ selectOption(evt) {
27
+ const value = evt.target.value || "0";
28
+ this.option.set(value);
18
29
  }
19
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button" }, ngImport: i0, template: "<section class=\"events events__list\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option>{{ filter.placeholder }}</option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroGrid3colPlusFilterComponent, isStandalone: true, selector: "lib-puro-grid3col-plus-filter", inputs: { pretitle: "pretitle", title: "title", filter: "filter", items: "items", button: "button", backgroundImg: "backgroundImg", exp: "exp" }, ngImport: i0, template: "<section class=\"events events__list\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>{{ filter.placeholder }}</option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if(exp){\n @if (item.ndTitle) {\n <span class=\"events__location\">{{\n item.ndTitle\n }}</span>\n }\n }\n @else {\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.events__location{flex:1 1 100%;display:flex;justify-content:center;align-items:center;font-size:1.4rem;line-height:1.5;letter-spacing:.14rem;font-weight:700;text-align:center}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
32
  }
22
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroGrid3colPlusFilterComponent, decorators: [{
23
34
  type: Component,
24
- args: [{ selector: 'lib-puro-grid3col-plus-filter', standalone: true, imports: [CommonModule, PuroLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"events events__list\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option>{{ filter.placeholder }}</option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n" }]
35
+ args: [{ selector: 'lib-puro-grid3col-plus-filter', standalone: true, imports: [CommonModule, PuroLinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"events events__list\" [style.--bg-url]=\"cssBgUrl\">\n <div class=\"events__container\">\n <div class=\"events__headingSection\">\n @if (pretitle) {\n <p class=\"events__subHeading\">{{ pretitle }}</p>\n }\n @if (title) {\n <h2 class=\"events__heading\">{{ title }}</h2>\n }\n @if (filter) {\n <div class=\"form__group withIcon\">\n <select\n class=\"form__control\"\n (change)=\"selectOption($event)\"\n >\n <option [value]=\"0\" selected>{{ filter.placeholder }}</option>\n @for (option of filter.options || []; track $index) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"icon-right\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"15\"\n height=\"8\"\n >\n <use href=\"#select-arrow\"></use>\n </svg>\n </span>\n </div>\n }\n </div>\n <div class=\"events__list--inner\">\n @for (item of itemsDisplayed() || []; track $index) {\n <div class=\"events__box\">\n @if (item.title) {\n <div class=\"events__heading\">{{ item.title }}</div>\n }\n <div class=\"events__inner\">\n <div class=\"events__graphic js-slider_fix-arrows-zone\">\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n width=\"509\"\n height=\"510\"\n class=\"events__graphic--img\"\n [alt]=\"item.img.alt\"\n />\n }\n </div>\n <div class=\"events__info\">\n @if(exp){\n @if (item.ndTitle) {\n <span class=\"events__location\">{{\n item.ndTitle\n }}</span>\n }\n }\n @else {\n @if (item.ndTitle) {\n <span class=\"events__name\">{{\n item.ndTitle\n }}</span>\n }\n @if (item.icon) {\n <div class=\"events__icon\">\n <i class=\"{{ item.icon }}\"></i>\n </div>\n }\n @if (item.date) {\n <span class=\"events__date\">{{\n item.date\n }}</span>\n }\n }\n </div>\n <div class=\"btn__group\">\n @for (link of item.links || []; track $index) {\n @if (link) {\n <a\n [linkType]=\"link.linkType\"\n [href]=\"link.url\"\n class=\"btn__link\"\n [attr.aria-label]=\"link.label\"\n ><span>{{ link.label }}</span></a\n >\n }\n }\n @for (button of item.buttons || []; track $index) {\n @if (button) {\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__secondary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n @if (button) {\n <div class=\"btn__group\">\n <a\n [linkType]=\"button.linkType\"\n [href]=\"button.url\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n ><span>{{ button.label }}</span></a\n >\n </div>\n }\n</section>\n", styles: [".events__list:before{content:\"\";position:absolute;display:block;top:-11.5rem;left:-51.5rem;width:101.8rem;transform:scale(1) rotate(90deg);aspect-ratio:1;background:var(--bg-url) center center no-repeat;background-size:100%;opacity:.15}.events__location{flex:1 1 100%;display:flex;justify-content:center;align-items:center;font-size:1.4rem;line-height:1.5;letter-spacing:.14rem;font-weight:700;text-align:center}.btn.btn__secondary--outline:hover{background-color:var(--cl-text-white);color:var(--cl-title);border-color:var(--cl-text-white)}\n"] }]
25
36
  }], propDecorators: { pretitle: [{
26
37
  type: Input
27
38
  }], title: [{
@@ -32,5 +43,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
32
43
  type: Input
33
44
  }], button: [{
34
45
  type: Input
46
+ }], backgroundImg: [{
47
+ type: Input
48
+ }], exp: [{
49
+ type: Input
35
50
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZekQsTUFBTSxPQUFPLCtCQUErQjtJQVI1QztRQWlCcUIsV0FBTSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUk1QyxtQkFBYyxHQUFHLFFBQVEsQ0FBMkMsR0FBRyxFQUFFLENBQ3JFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDcEUsQ0FBQztLQVdMO0lBdEJHLElBQWEsS0FBSyxDQUFDLEtBQStDO1FBQzlELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFXRCxZQUFZLENBQUMsTUFBYTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBRSxNQUFNLENBQUMsTUFBYyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQzFCLENBQUMsSUFBZ0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQ3RFLENBQUM7SUFDTixDQUFDOytHQXpCUSwrQkFBK0I7bUdBQS9CLCtCQUErQiwrTENyQjVDLGcwSkErR0EseUREL0ZjLFlBQVksK0JBQUUscUJBQXFCOzs0RkFLcEMsK0JBQStCO2tCQVIzQyxTQUFTOytCQUNJLCtCQUErQixjQUM3QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsbUJBRzdCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDTyxLQUFLO3NCQUFqQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQdXJvRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHVyb0xpbmtUeXBlRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDNjb2xQbHVzRmlsdGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWx0ZXI/OiBQdXJvRHJvcGRvd25JO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSBpdGVtcztcbiAgICB9XG4gICAgQElucHV0KCkgYnV0dG9uPzogUHVyb0J1dHRvbkk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG4gICAgcHJpdmF0ZSB0b3RhbEl0ZW1zPzogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXTtcblxuICAgIGl0ZW1zRGlzcGxheWVkID0gY29tcHV0ZWQ8UHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZD4oKCkgPT5cbiAgICAgICAgdGhpcy5maWx0ZXJJdGVtcygpPy5sZW5ndGggPyB0aGlzLmZpbHRlckl0ZW1zKCkgOiB0aGlzLnRvdGFsSXRlbXNcbiAgICApO1xuXG4gICAgc2VsZWN0T3B0aW9uKG9wdGlvbjogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb24uc2V0KChvcHRpb24udGFyZ2V0IGFzIGFueSk/LnZhbHVlID8/IDApO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW1zKCk6IFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy50b3RhbEl0ZW1zPy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbTogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW0pID0+IGl0ZW0uZmlsdGVyID09PSB0aGlzLm9wdGlvbigpXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtIHtcbiAgICBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIG5kVGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBkYXRlPzogc3RyaW5nO1xuICAgIGZpbHRlcj86IG51bWJlciB8IHN0cmluZztcbiAgICBidXR0b25zPzogUHVyb0J1dHRvbklbXTtcbiAgICBsaW5rcz86IFB1cm9CdXR0b25JW107XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImV2ZW50cyBldmVudHNfX2xpc3RcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZ1NlY3Rpb25cIj5cbiAgICAgICAgICAgIEBpZiAocHJldGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImV2ZW50c19fc3ViSGVhZGluZ1wiPnt7IHByZXRpdGxlIH19PC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImV2ZW50c19faGVhZGluZ1wiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbj57eyBmaWx0ZXIucGxhY2Vob2xkZXIgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBmaWx0ZXIub3B0aW9ucyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1yaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNzZWxlY3QtYXJyb3dcIj48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19saXN0LS1pbm5lclwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc0Rpc3BsYXllZCgpIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19oZWFkaW5nXCI+e3sgaXRlbS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2lubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19ncmFwaGljIGpzLXNsaWRlcl9maXgtYXJyb3dzLXpvbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV2ZW50c19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubmRUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV2ZW50c19fbmFtZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm5kVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2RhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIGl0ZW0ubGlua3MgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgbGluay5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19zZWNvbmRhcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGJ1dHRvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICA+PHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPjwvYVxuICAgICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L3NlY3Rpb24+XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFZekQsTUFBTSxPQUFPLCtCQUErQjtJQVI1QztRQW1CcUIsV0FBTSxHQUFHLE1BQU0sQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FDbEMsU0FBUyxDQUNWLENBQUM7UUFFRixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUWQsbUJBQWMsR0FBRyxRQUFRLENBQTJDLEdBQUcsRUFBRTtZQUN2RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxHQUFHLElBQUksUUFBUSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxHQUFHLENBQUM7WUFFaEUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0tBTU47SUFqQ0csSUFBYSxLQUFLLENBQUMsS0FBK0M7UUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQVlELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3REO0lBQ0wsQ0FBQztJQVdELFlBQVksQ0FBQyxHQUFVO1FBQ3JCLE1BQU0sS0FBSyxHQUFJLEdBQUcsQ0FBQyxNQUE0QixDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzsrR0FwQ1EsK0JBQStCO21HQUEvQiwrQkFBK0IsMk9DdEI1QyxrMEtBd0hBLDBsQkR2R2MsWUFBWSwrQkFBRSxxQkFBcUI7OzRGQUtwQywrQkFBK0I7a0JBUjNDLFNBQVM7K0JBQ0ksK0JBQStCLGNBQzdCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQdXJvRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wdXJvLWRyb3Bkb3duLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUHVyb0xpbmtUeXBlRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvR3JpZDNjb2xQbHVzRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWx0ZXI/OiBQdXJvRHJvcGRvd25JO1xuICAgIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50b3RhbEl0ZW1zLnNldChpdGVtcyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGV4cD86IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbiA9IHNpZ25hbDxzdHJpbmcgfCBudW1iZXI+KFwiMFwiKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvdGFsSXRlbXMgPSBzaWduYWw8UHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXSB8IHVuZGVmaW5lZD4oXG4gICAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgY3NzQmdVcmwgPSAnJztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kSW1nPy5zcmMpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQmdVcmwgPSBgdXJsKFwiJHt0aGlzLmJhY2tncm91bmRJbWcuc3JjfVwiKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtc0Rpc3BsYXllZCA9IGNvbXB1dGVkPFB1cm9HcmlkM0NvbFBsdXNGaWx0ZXJJdGVtW10gfCB1bmRlZmluZWQ+KCgpID0+IHtcbiAgICAgIGNvbnN0IGFsbCA9IHRoaXMudG90YWxJdGVtcygpID8/IFtdO1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLm9wdGlvbigpO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkIHx8IHNlbGVjdGVkID09PSBcIjBcIiB8fCBzZWxlY3RlZCA9PT0gMCkgcmV0dXJuIGFsbDtcblxuICAgICAgcmV0dXJuIGFsbC5maWx0ZXIoKGkpID0+IFN0cmluZyhpLmZpbHRlclBhcmVudCkgPT09IFN0cmluZyhzZWxlY3RlZCkpO1xuICAgIH0pO1xuXG4gICAgc2VsZWN0T3B0aW9uKGV2dDogRXZlbnQpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gKGV2dC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlIHx8IFwiMFwiO1xuICAgICAgdGhpcy5vcHRpb24uc2V0KHZhbHVlKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW0ge1xuICAgIGltZz86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbmRUaXRsZT86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGRhdGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIGZpbHRlclBhcmVudD86IHN0cmluZyB8IG51bWJlcjtcbiAgICBidXR0b25zPzogUHVyb0J1dHRvbklbXTtcbiAgICBsaW5rcz86IFB1cm9CdXR0b25JW107XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImV2ZW50cyBldmVudHNfX2xpc3RcIiBbc3R5bGUuLS1iZy11cmxdPVwiY3NzQmdVcmxcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faGVhZGluZ1NlY3Rpb25cIj5cbiAgICAgICAgICAgIEBpZiAocHJldGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImV2ZW50c19fc3ViSGVhZGluZ1wiPnt7IHByZXRpdGxlIH19PC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImV2ZW50c19faGVhZGluZ1wiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1fX2dyb3VwIHdpdGhJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybV9fY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwiMFwiIHNlbGVjdGVkPnt7IGZpbHRlci5wbGFjZWhvbGRlciB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIGZpbHRlci5vcHRpb25zIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiOFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBocmVmPVwiI3NlbGVjdC1hcnJvd1wiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2xpc3QtLWlubmVyXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zRGlzcGxheWVkKCkgfHwgW107IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudHNfX2dyYXBoaWMganMtc2xpZGVyX2ZpeC1hcnJvd3Mtem9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI1MDlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXZlbnRzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltZy5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50c19faW5mb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZihleHApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubmRUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2xvY2F0aW9uXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm5kVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLm5kVGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXZlbnRzX19uYW1lXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm5kVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnRzX19pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldmVudHNfX2RhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBpdGVtLmxpbmtzIHx8IFtdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJsaW5rLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5fX2xpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGxpbmsubGFiZWwgfX08L3NwYW4+PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9ucyB8fCBbXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgPjxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj48L2FcbiAgICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9zZWN0aW9uPlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQdXJvQnV0dG9uSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHVyb0Ryb3Bkb3duSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcHVyby1kcm9wZG93bi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW0gfSBmcm9tICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySSB7XG4gICAgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBpdGVtczogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1ncmlkM2NvbC1wbHVzLWZpbHRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWdyaWQzY29sLXBsdXMtZmlsdGVyL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQdXJvQnV0dG9uSSwgUHVyb0ltYWdlSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUHVyb0Ryb3Bkb3duSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcHVyby1kcm9wZG93bi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW0gfSBmcm9tICcuL3B1cm8tZ3JpZDNjb2wtcGx1cy1maWx0ZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBQdXJvR3JpZDNDb2xQbHVzRmlsdGVySSB7XG4gICAgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZmlsdGVyPzogUHVyb0Ryb3Bkb3duSTtcbiAgICBpdGVtczogUHVyb0dyaWQzQ29sUGx1c0ZpbHRlckl0ZW1bXTtcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbiAgICBiYWNrZ3JvdW5kSW1nPzogUHVyb0ltYWdlSTtcbiAgICBleHA/OiBib29sZWFuO1xufVxuIl19
@@ -8,11 +8,11 @@ export class PuroListGeneralComponent {
8
8
  this.rightSide = false;
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 1,\n 'btn__primary--outline': $index === 0,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroListGeneralComponent, isStandalone: true, selector: "lib-puro-list-general", inputs: { title: "title", items: "items", rightSide: "rightSide" }, ngImport: i0, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroSliderDirective, selector: "[puroSlider]", inputs: ["puroSlider"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroListGeneralComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 1,\n 'btn__primary--outline': $index === 0,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
15
+ args: [{ selector: 'lib-puro-list-general', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroSliderDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"suites suites__list\">\n @if (title) {\n <span class=\"suites__title\">{{ title }}</span>\n }\n\n <div class=\"suites__container\">\n @for (item of items; track $index) {\n <div\n class=\"suites__item js-active-slider\"\n [ngClass]=\"{ 'image--right': $odd }\"\n data-slides_infinite=\"true\"\n [puroSlider]=\"items\"\n data-slider_name=\"js-photo-slider\"\n data-slider_showbtns=\"true\"\n data-slider_showdots=\"false\"\n data-slider_fade=\"true\"\n data-slider_autoplay=\"false\"\n data-slides_pc=\"1\"\n >\n <ng-container\n *ngIf=\"rightSide; else leftSide\"\n [ngTemplateOutlet]=\"rightSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n <ng-template #leftSide>\n <ng-container\n [ngTemplateOutlet]=\"leftSideTpl\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-container>\n </ng-template>\n </div>\n }\n </div>\n</section>\n\n<ng-template #leftSideTpl let-item=\"item\">\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #rightSideTpl let-item=\"item\">\n <div class=\"suites__content\">\n <div>\n @if (item.logo) {\n <div class=\"suites__logo\">\n <img\n [src]=\"item.logo.src\"\n width=\"150\"\n height=\"50\"\n [alt]=\"item.logo.alt\"\n loading=\"lazy\"\n />\n </div>\n\n }\n @else {\n @if (item.title) {\n <h2 class=\"suites__heading\">{{ item.title }}</h2>\n }\n }\n <div class=\"suites__slider withOutSlider\">\n @for (equipment of item.equipment; track $index) {\n <div class=\"suites__service\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n width=\"50\"\n height=\"40\"\n [ngClass]=\"equipment.icon\"\n ></svg>\n <span>{{ equipment.text }}</span>\n </div>\n }\n </div>\n @if (item.description) {\n <div class=\"suites__paragraph\">\n <p [innerHTML]=\"item.description\"></p>\n </div>\n }\n <div class=\"btn__group\">\n @for (button of item.buttons; track $index) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn__primary: $index === 0,\n 'btn__primary--outline': $index === 1,\n }\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n <div class=\"suites__graphic relative\">\n <div class=\"js-photo-slider h-100\">\n @for (image of item.images; track $index) {\n <div class=\"h-100\">\n <img\n [src]=\"image.src\"\n width=\"789\"\n class=\"suites__graphic--img\"\n height=\"748\"\n [alt]=\"image.alt\"\n />\n </div>\n }\n </div>\n <div class=\"js-slider-arrows\"></div>\n </div>\n</ng-template>\n", styles: ["svg{background-color:var(--cl-title);max-height:unset!important}.suites__slider{row-gap:2rem;flex-wrap:wrap}.suites__service{flex:1 0 33.3333333333%}@media (max-width: 480px){.suites_service+.suites_service:nth-child(2n):before{display:none}}@media (min-width: 480px) and (max-width: 1024px){.suites_service+.suites_service:nth-child(3n):before{display:none}}@media (min-width: 1024px) and (max-width: 1680px){.suites_service+.suites_service:nth-child(odd):before{display:none}}@media (min-width: 1680px){.suites_service+.suites_service:nth-child(3n):before{display:none}}.suites__logo{display:inline-flex;align-items:center;justify-content:center;--logo-h: clamp(32px, 4vw, 64px);height:var(--logo-h);margin-bottom:clamp(16px,2vw,24px)}@media (min-width: 1024px){.suites__logo{justify-content:flex-start}}.suites__logo img{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;image-rendering:-webkit-optimize-contrast}.suites__logo+.suites__heading{display:none}.suites--on-dark .suites__logo img{filter:brightness(0) invert(1)}\n"] }]
16
16
  }], propDecorators: { title: [{
17
17
  type: Input
18
18
  }], items: [{
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
20
20
  }], rightSide: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFXOUUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVdhLGNBQVMsR0FBWSxLQUFLLENBQUM7S0FDdkM7K0dBSlksd0JBQXdCO21HQUF4Qix3QkFBd0IscUpDYnJDLG1vTUEwS0Esa2xDRGxLYyxZQUFZLHdZQUFFLHFCQUFxQiw0SUFBRSxtQkFBbUI7OzRGQUt6RCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHbEQsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1nZW5lcmFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvTGlzdEdlbmVyYWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RHZW5lcmFsSXRlbVtdO1xuICAgIEBJbnB1dCgpIHJpZ2h0U2lkZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9MaXN0R2VuZXJhbEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGxvZ28/OiBQdXJvSW1hZ2VJO1xuICAgIGltYWdlcz86IFB1cm9JbWFnZUlbXTtcbiAgICBlcXVpcG1lbnQ/OiB7IGljb24/OiBzdHJpbmc7IHRleHQ/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJzdWl0ZXMgc3VpdGVzX19saXN0XCI+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN1aXRlc19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2l0ZW0ganMtYWN0aXZlLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2UtLXJpZ2h0JzogJG9kZCB9XCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtwdXJvU2xpZGVyXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtcGhvdG8tc2xpZGVyXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19wYz1cIjFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyaWdodFNpZGU7IGVsc2UgbGVmdFNpZGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGVUcGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZnRTaWRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0U2lkZVRwbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjbGVmdFNpZGVUcGwgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYyByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtcGhvdG8tc2xpZGVyIGgtMTAwXCI+XG4gICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpdGVtLmltYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fY29udGVudFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIEBpZiAoaXRlbS5sb2dvKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19sb2dvXCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MFwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0ubG9nby5hbHRcIlxuICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgIDxoMiBjbGFzcz1cInN1aXRlc19faGVhZGluZ1wiPnt7IGl0ZW0udGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NsaWRlciB3aXRoT3V0U2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZXF1aXBtZW50IG9mIGl0ZW0uZXF1aXBtZW50OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2VydmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJlcXVpcG1lbnQuaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBlcXVpcG1lbnQudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX19wcmltYXJ5OiAkaW5kZXggPT09IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J0bl9fcHJpbWFyeS0tb3V0bGluZSc6ICRpbmRleCA9PT0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0U2lkZVRwbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzdWl0ZXNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NsaWRlciB3aXRoT3V0U2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZXF1aXBtZW50IG9mIGl0ZW0uZXF1aXBtZW50OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2VydmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJlcXVpcG1lbnQuaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBlcXVpcG1lbnQudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX19wcmltYXJ5OiAkaW5kZXggPT09IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J0bl9fcHJpbWFyeS0tb3V0bGluZSc6ICRpbmRleCA9PT0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYyByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtcGhvdG8tc2xpZGVyIGgtMTAwXCI+XG4gICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpdGVtLmltYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1saXN0LWdlbmVyYWwvcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFXOUUsTUFBTSxPQUFPLHdCQUF3QjtJQVJyQztRQVdhLGNBQVMsR0FBWSxLQUFLLENBQUM7S0FDdkM7K0dBSlksd0JBQXdCO21HQUF4Qix3QkFBd0IscUpDYnJDLCsrTUF3TEEsa2xDRGhMYyxZQUFZLHdZQUFFLHFCQUFxQiw0SUFBRSxtQkFBbUI7OzRGQUt6RCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0ksdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHbEQsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9TbGlkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFB1cm9CdXR0b25JLCBQdXJvSW1hZ2VJIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8tbGlzdC1nZW5lcmFsJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSwgUHVyb1NsaWRlckRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tbGlzdC1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1saXN0LWdlbmVyYWwuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQdXJvTGlzdEdlbmVyYWxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogUHVyb0xpc3RHZW5lcmFsSXRlbVtdO1xuICAgIEBJbnB1dCgpIHJpZ2h0U2lkZTogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9MaXN0R2VuZXJhbEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGxvZ28/OiBQdXJvSW1hZ2VJO1xuICAgIGltYWdlcz86IFB1cm9JbWFnZUlbXTtcbiAgICBlcXVpcG1lbnQ/OiB7IGljb24/OiBzdHJpbmc7IHRleHQ/OiBzdHJpbmcgfVtdO1xuICAgIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJzdWl0ZXMgc3VpdGVzX19saXN0XCI+XG4gICAgQGlmICh0aXRsZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cInN1aXRlc19fdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzdWl0ZXNfX2l0ZW0ganMtYWN0aXZlLXNsaWRlclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaW1hZ2UtLXJpZ2h0JzogJG9kZCB9XCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19pbmZpbml0ZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtwdXJvU2xpZGVyXT1cIml0ZW1zXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9uYW1lPVwianMtcGhvdG8tc2xpZGVyXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9zaG93YnRucz1cInRydWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX3Nob3dkb3RzPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtc2xpZGVyX2ZhZGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlcl9hdXRvcGxheT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXNsaWRlc19wYz1cIjFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyaWdodFNpZGU7IGVsc2UgbGVmdFNpZGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyaWdodFNpZGVUcGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xlZnRTaWRlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0U2lkZVRwbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZSAjbGVmdFNpZGVUcGwgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYyByZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtcGhvdG8tc2xpZGVyIGgtMTAwXCI+XG4gICAgICAgICAgICBAZm9yIChpbWFnZSBvZiBpdGVtLmltYWdlczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNzg5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3VpdGVzX19ncmFwaGljLS1pbWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzQ4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJqcy1zbGlkZXItYXJyb3dzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1aXRlc19fY29udGVudFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIEBpZiAoaXRlbS5sb2dvKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19sb2dvXCI+XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS5sb2dvLnNyY1wiXG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MFwiXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MFwiXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0ubG9nby5hbHRcIlxuICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgIDxoMiBjbGFzcz1cInN1aXRlc19faGVhZGluZ1wiPnt7IGl0ZW0udGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NsaWRlciB3aXRoT3V0U2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZXF1aXBtZW50IG9mIGl0ZW0uZXF1aXBtZW50OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fc2VydmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJlcXVpcG1lbnQuaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBlcXVpcG1lbnQudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCI+PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgaXRlbS5idXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX19wcmltYXJ5OiAkaW5kZXggPT09IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J0bl9fcHJpbWFyeS0tb3V0bGluZSc6ICRpbmRleCA9PT0gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JpZ2h0U2lkZVRwbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19jb250ZW50XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgQGlmIChpdGVtLmxvZ28pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2xvZ29cIj5cbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmxvZ28uc3JjXCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTUwXCJcbiAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5sb2dvLmFsdFwiXG4gICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzdWl0ZXNfX2hlYWRpbmdcIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VpdGVzX19zbGlkZXIgd2l0aE91dFNsaWRlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX3NlcnZpY2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI0MFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZXF1aXBtZW50Lmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXF1aXBtZW50LnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1aXRlc19fcGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiaXRlbS5kZXNjcmlwdGlvblwiPjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoYnV0dG9uIG9mIGl0ZW0uYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9fcHJpbWFyeTogJGluZGV4ID09PSAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX3ByaW1hcnktLW91dGxpbmUnOiAkaW5kZXggPT09IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWl0ZXNfX2dyYXBoaWMgcmVsYXRpdmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImpzLXBob3RvLXNsaWRlciBoLTEwMFwiPlxuICAgICAgICAgICAgQGZvciAoaW1hZ2Ugb2YgaXRlbS5pbWFnZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc4OVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1aXRlc19fZ3JhcGhpYy0taW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjc0OFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwianMtc2xpZGVyLWFycm93c1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==