ctt-puro 0.70.36 → 0.70.37

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.
@@ -1,12 +1,30 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
3
3
  import { PuroLinkTypeDirective, PuroResizeZoomDirective, } from '../../directives';
4
4
  import { PuroDynamicHeadingComponent } from '../../shared/puro-dynamic-heading';
5
+ import { ScreenSizerService } from '../../services/screen-sizer';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/common";
7
8
  export class PuroInfoBigComponent {
9
+ constructor() {
10
+ this.screenSizer = inject(ScreenSizerService);
11
+ }
12
+ get isMobile() {
13
+ const w = this.screenSizer.viewportWidth;
14
+ // ⛔️ Si aún no sabemos el viewport, NO es mobile
15
+ if (!w || w <= 0) {
16
+ return false;
17
+ }
18
+ return w <= 768;
19
+ }
20
+ get resolvedImage() {
21
+ if (this.isMobile && this.imgMobile) {
22
+ return this.imgMobile;
23
+ }
24
+ return this.img;
25
+ }
8
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoBigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoBigComponent, isStandalone: true, selector: "lib-puro-info-big", inputs: { pretitle: "pretitle", title: "title", subtitle: "subtitle", description: "description", ndDescription: "ndDescription", buttons: "buttons", link: "link", img: "img", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + img?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoBigComponent, isStandalone: true, selector: "lib-puro-info-big", inputs: { pretitle: "pretitle", title: "title", subtitle: "subtitle", description: "description", ndDescription: "ndDescription", buttons: "buttons", link: "link", img: "img", imgMobile: "imgMobile", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + resolvedImage?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "directive", type: PuroResizeZoomDirective, selector: "[resizeZoom]" }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
28
  }
11
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoBigComponent, decorators: [{
12
30
  type: Component,
@@ -15,7 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
15
33
  PuroLinkTypeDirective,
16
34
  PuroResizeZoomDirective,
17
35
  PuroDynamicHeadingComponent,
18
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + img?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"] }]
36
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withBg\"\n resizeZoom\n [ngStyle]=\"{\n background: 'url(' + resolvedImage?.src + ') no-repeat center bottom',\n backgroundSize: 'cover',\n }\"\n>\n <div class=\"moments__container\">\n <lib-puro-dynamic-heading\n [tag]=\"tags?.pretitle || 'span'\"\n cssClass=\"moments__title\"\n [color]=\"textColors?.pretitle\"\n [content]=\"pretitle\"\n ></lib-puro-dynamic-heading>\n <lib-puro-dynamic-heading\n [tag]=\"tags?.title || 'h2'\"\n cssClass=\"moments__heading\"\n [color]=\"textColors?.title\"\n [content]=\"title\"\n ></lib-puro-dynamic-heading>\n <div class=\"moments__paragraph\">\n <div [innerHTML]=\"subtitle\"></div>\n\n <span class=\"more-content\" [innerHTML]=\"description\"> </span>\n\n <div class=\"more-content\" [innerHTML]=\"ndDescription\"></div>\n </div>\n <div class=\"btn__group\">\n <!-- @if (buttons) {\n <button\n class=\"btn btn__secondary--outline btn__moreLess\"\n aria-label=\"Buttons more\"\n >\n @for (btn of buttons; track $index) {\n <span\n [ngClass]=\"{\n 'btn__moreLess-.more': $even,\n 'btn__moreLess-less': $odd,\n }\"\n >{{ btn.label }}</span\n >\n }\n </button>\n } -->\n @if (buttons) {\n @for (btn of buttons; track $index) {\n <a\n [href]=\"btn.url\"\n class=\"btn btn__secondary--outline\"\n [linkType]=\"btn.linkType\"\n [attr.aria-label]=\"btn.label\"\n >\n <span>{{ btn.label }}</span>\n </a>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@media (max-width: 768px){.moments.moments--withBg{background-size:cover!important}}@media screen and (min-width: 1366px) and (max-width: 1680px){.moments__heading{width:98.8rem}}\n"] }]
19
37
  }], propDecorators: { pretitle: [{
20
38
  type: Input
21
39
  }], title: [{
@@ -32,9 +50,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
32
50
  type: Input
33
51
  }], img: [{
34
52
  type: Input
53
+ }], imgMobile: [{
54
+ type: Input
35
55
  }], tags: [{
36
56
  type: Input
37
57
  }], textColors: [{
38
58
  type: Input
39
59
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWJpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWluZm8tYmlnL3B1cm8taW5mby1iaWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWJpZy9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUMxQixNQUFNLGtCQUFrQixDQUFDO0FBTzFCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFlaEYsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO21HQUFwQixvQkFBb0IsdVNDM0JqQyx3bkVBNERBLDhPRDFDUSxZQUFZLG9IQUNaLHFCQUFxQiw0SUFDckIsdUJBQXVCLHlEQUN2QiwyQkFBMkI7OzRGQU10QixvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7cUJBQzlCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1iaWcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG4gICAgICAgIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1pbmZvLWJpZy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvQmlnQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBuZERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwibW9tZW50cyBtb21lbnRzLS13aXRoQmdcIlxuICAgIHJlc2l6ZVpvb21cbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICd1cmwoJyArIGltZz8uc3JjICsgJykgbm8tcmVwZWF0IGNlbnRlciBib3R0b20nLFxuICAgICAgICBiYWNrZ3JvdW5kU2l6ZTogJ2NvdmVyJyxcbiAgICB9XCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9tZW50c19fY29udGFpbmVyXCI+XG4gICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgIFt0YWddPVwidGFncz8ucHJldGl0bGUgfHwgJ3NwYW4nXCJcbiAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19fdGl0bGVcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnByZXRpdGxlXCJcbiAgICAgICAgICAgIFtjb250ZW50XT1cInByZXRpdGxlXCJcbiAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMidcIlxuICAgICAgICAgICAgY3NzQ2xhc3M9XCJtb21lbnRzX19oZWFkaW5nXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInN1YnRpdGxlXCI+PC9kaXY+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9yZS1jb250ZW50XCIgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvblwiPiA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb3JlLWNvbnRlbnRcIiBbaW5uZXJIVE1MXT1cIm5kRGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICA8IS0tIEBpZiAoYnV0dG9ucykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19zZWNvbmRhcnktLW91dGxpbmUgYnRuX19tb3JlTGVzc1wiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJCdXR0b25zIG1vcmVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIGJ1dHRvbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX21vcmVMZXNzLS5tb3JlJzogJGV2ZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidG5fX21vcmVMZXNzLWxlc3MnOiAkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBidG4ubGFiZWwgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfSAtLT5cbiAgICAgICAgICAgIEBpZiAoYnV0dG9ucykge1xuICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBidXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ0bi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19zZWNvbmRhcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ0bi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ0bi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWJpZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wdXJvL3NyYy9saWIvY29tcG9uZW50cy9wdXJvLWluZm8tYmlnL3B1cm8taW5mby1iaWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWJpZy9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUNILHFCQUFxQixFQUNyQix1QkFBdUIsR0FDMUIsTUFBTSxrQkFBa0IsQ0FBQztBQU8xQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBZ0JqRSxNQUFNLE9BQU8sb0JBQW9CO0lBYmpDO1FBMEJ1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBbUIvRDtJQWpCRyxJQUFJLFFBQVE7UUFDUixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUV6QyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6QjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNwQixDQUFDOytHQS9CUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwrVEM3QmpDLGtvRUE0REEsOE9EeENRLFlBQVksb0hBQ1oscUJBQXFCLDRJQUNyQix1QkFBdUIseURBQ3ZCLDJCQUEyQjs7NEZBTXRCLG9CQUFvQjtrQkFiaEMsU0FBUzsrQkFDSSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjtxQkFDOUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG4gICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5pbXBvcnQgeyBTY3JlZW5TaXplclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY3JlZW4tc2l6ZXInO1xuaW1wb3J0IHsgUHVyb0luZm9CaWdJIH0gZnJvbSAnLi9wdXJvLWluZm8tYmlnLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1iaWcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFB1cm9MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgUHVyb1Jlc2l6ZVpvb21EaXJlY3RpdmUsXG4gICAgICAgIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXJvLWluZm8tYmlnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcHVyby1pbmZvLWJpZy5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvQmlnQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwcmV0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBuZERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJ1dHRvbnM/OiBQdXJvQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBpbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIGltZ01vYmlsZT86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgdGFncz86IFB1cm9UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogUHVyb1RleHRzQ29sb3JzSTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY3JlZW5TaXplciA9IGluamVjdChTY3JlZW5TaXplclNlcnZpY2UpO1xuICAgIFxuICAgIGdldCBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdyA9IHRoaXMuc2NyZWVuU2l6ZXIudmlld3BvcnRXaWR0aDtcblxuICAgICAgICAvLyDim5TvuI8gU2kgYcO6biBubyBzYWJlbW9zIGVsIHZpZXdwb3J0LCBOTyBlcyBtb2JpbGVcbiAgICAgICAgaWYgKCF3IHx8IHcgPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHcgPD0gNzY4O1xuICAgIH1cblxuICAgIGdldCByZXNvbHZlZEltYWdlKCk6IFB1cm9JbWFnZUkgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmltZ01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW1nTW9iaWxlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmltZztcbiAgICB9XG59XG4iLCI8c2VjdGlvblxuICAgIGNsYXNzPVwibW9tZW50cyBtb21lbnRzLS13aXRoQmdcIlxuICAgIHJlc2l6ZVpvb21cbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIGJhY2tncm91bmQ6ICd1cmwoJyArIHJlc29sdmVkSW1hZ2U/LnNyYyArICcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tJyxcbiAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb3ZlcicsXG4gICAgfVwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX2NvbnRhaW5lclwiPlxuICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnByZXRpdGxlIHx8ICdzcGFuJ1wiXG4gICAgICAgICAgICBjc3NDbGFzcz1cIm1vbWVudHNfX3RpdGxlXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy5wcmV0aXRsZVwiXG4gICAgICAgICAgICBbY29udGVudF09XCJwcmV0aXRsZVwiXG4gICAgICAgID48L2xpYi1wdXJvLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgPGxpYi1wdXJvLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy50aXRsZSB8fCAnaDInXCJcbiAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19faGVhZGluZ1wiXG4gICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgW2NvbnRlbnRdPVwidGl0bGVcIlxuICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb21lbnRzX19wYXJhZ3JhcGhcIj5cbiAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzdWJ0aXRsZVwiPjwvZGl2PlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vcmUtY29udGVudFwiIFtpbm5lckhUTUxdPVwiZGVzY3JpcHRpb25cIj4gPC9zcGFuPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9yZS1jb250ZW50XCIgW2lubmVySFRNTF09XCJuZERlc2NyaXB0aW9uXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgPCEtLSBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lIGJ0bl9fbW9yZUxlc3NcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQnV0dG9ucyBtb3JlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBidXR0b25zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19tb3JlTGVzcy0ubW9yZSc6ICRldmVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnRuX19tb3JlTGVzcy1sZXNzJzogJG9kZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgYnRuLmxhYmVsIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidG4udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidG4ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidG4ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidG4ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19