ctt-babylon 0.26.8 → 0.26.10

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,20 +4,17 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  export class BabylonAiBadgeComponent {
6
6
  constructor() {
7
- this.badgeId = 'ai-modified';
8
- this.text = 'AI MODIFIED';
7
+ this.badges = []; // Recibe el array de badges
9
8
  this.position = 'top-right';
10
9
  this.additionalClasses = '';
11
10
  }
12
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonAiBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BabylonAiBadgeComponent, isStandalone: true, selector: "lib-babylon-ai-badge", inputs: { badgeId: "badgeId", text: "text", position: "position", additionalClasses: "additionalClasses", top: "top", bottom: "bottom", left: "left", right: "right" }, ngImport: i0, template: "<div\n [id]=\"badgeId\"\n class=\"ai-badge\"\n [ngClass]=\"'badge-' + position + ' ' + additionalClasses\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.left]=\"left\"\n [style.right]=\"right\"\n>\n <span class=\"ai-badge__text\">{{ text }}</span>\n</div>\n", styles: [".ai-badge{position:absolute;z-index:10;padding:0 12px;background-color:#2828289e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;box-shadow:0 2px 8px #00000040;pointer-events:none}.ai-badge__text{font-family:inherit;font-size:11px;font-weight:700!important;letter-spacing:.08em;color:#fff;text-transform:uppercase}.ai-badge#render{background-color:var(--cl_btn-box)!important}.ai-badge#render .ai-badge__text{color:#000;font-weight:700!important}.ai-badge.badge-top-right{top:15px;right:15px}.ai-badge.badge-top-left{top:15px;left:15px}.ai-badge.badge-bottom-right{bottom:15px;right:15px}.ai-badge.badge-bottom-left{bottom:15px;left:15px}.ai-badge.top--100{top:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BabylonAiBadgeComponent, isStandalone: true, selector: "lib-babylon-ai-badge", inputs: { badges: "badges", position: "position", additionalClasses: "additionalClasses", top: "top", bottom: "bottom", left: "left", right: "right" }, ngImport: i0, template: "<div\n class=\"ai-badge-container\"\n [ngClass]=\"'badge-' + position + ' ' + additionalClasses\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.left]=\"left\"\n [style.right]=\"right\"\n>\n <div *ngFor=\"let badge of badges\" [id]=\"badge.id\" class=\"ai-badge\">\n <span class=\"ai-badge__text\">{{ badge.name }}</span>\n </div>\n</div>\n", styles: [".ai-badge-container{position:absolute;z-index:10;pointer-events:none;display:flex;flex-direction:column;gap:8px}.ai-badge-container.badge-top-right{top:15px;right:15px}.ai-badge-container.badge-top-left{top:15px;left:15px}.ai-badge-container.badge-bottom-right{bottom:15px;right:15px}.ai-badge-container.badge-bottom-left{bottom:15px;left:15px}.ai-badge-container.top--100{top:100px}.ai-badge{padding:0 12px;background-color:#2828289e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;box-shadow:0 2px 8px #00000040}.ai-badge__text{font-family:inherit;font-size:11px;font-weight:700!important;letter-spacing:.08em;color:#fff;text-transform:uppercase;text-align:center;width:100%;display:block}.ai-badge#render{background-color:var(--cl_btn-box)!important}.ai-badge#render .ai-badge__text{color:#000;font-weight:700!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
13
  }
15
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonAiBadgeComponent, decorators: [{
16
15
  type: Component,
17
- args: [{ selector: 'lib-babylon-ai-badge', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [id]=\"badgeId\"\n class=\"ai-badge\"\n [ngClass]=\"'badge-' + position + ' ' + additionalClasses\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.left]=\"left\"\n [style.right]=\"right\"\n>\n <span class=\"ai-badge__text\">{{ text }}</span>\n</div>\n", styles: [".ai-badge{position:absolute;z-index:10;padding:0 12px;background-color:#2828289e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;box-shadow:0 2px 8px #00000040;pointer-events:none}.ai-badge__text{font-family:inherit;font-size:11px;font-weight:700!important;letter-spacing:.08em;color:#fff;text-transform:uppercase}.ai-badge#render{background-color:var(--cl_btn-box)!important}.ai-badge#render .ai-badge__text{color:#000;font-weight:700!important}.ai-badge.badge-top-right{top:15px;right:15px}.ai-badge.badge-top-left{top:15px;left:15px}.ai-badge.badge-bottom-right{bottom:15px;right:15px}.ai-badge.badge-bottom-left{bottom:15px;left:15px}.ai-badge.top--100{top:100px}\n"] }]
18
- }], propDecorators: { badgeId: [{
19
- type: Input
20
- }], text: [{
16
+ args: [{ selector: 'lib-babylon-ai-badge', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ai-badge-container\"\n [ngClass]=\"'badge-' + position + ' ' + additionalClasses\"\n [style.top]=\"top\"\n [style.bottom]=\"bottom\"\n [style.left]=\"left\"\n [style.right]=\"right\"\n>\n <div *ngFor=\"let badge of badges\" [id]=\"badge.id\" class=\"ai-badge\">\n <span class=\"ai-badge__text\">{{ badge.name }}</span>\n </div>\n</div>\n", styles: [".ai-badge-container{position:absolute;z-index:10;pointer-events:none;display:flex;flex-direction:column;gap:8px}.ai-badge-container.badge-top-right{top:15px;right:15px}.ai-badge-container.badge-top-left{top:15px;left:15px}.ai-badge-container.badge-bottom-right{bottom:15px;right:15px}.ai-badge-container.badge-bottom-left{bottom:15px;left:15px}.ai-badge-container.top--100{top:100px}.ai-badge{padding:0 12px;background-color:#2828289e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;box-shadow:0 2px 8px #00000040}.ai-badge__text{font-family:inherit;font-size:11px;font-weight:700!important;letter-spacing:.08em;color:#fff;text-transform:uppercase;text-align:center;width:100%;display:block}.ai-badge#render{background-color:var(--cl_btn-box)!important}.ai-badge#render .ai-badge__text{color:#000;font-weight:700!important}\n"] }]
17
+ }], propDecorators: { badges: [{
21
18
  type: Input
22
19
  }], position: [{
23
20
  type: Input
@@ -32,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
32
29
  }], right: [{
33
30
  type: Input
34
31
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVUxRSxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU2EsWUFBTyxHQUFXLGFBQWEsQ0FBQztRQUNoQyxTQUFJLEdBQVcsYUFBYSxDQUFDO1FBQzdCLGFBQVEsR0FDK0MsV0FBVyxDQUFDO1FBQ25FLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztLQU0zQzsrR0FYWSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3UENYcEMsd1NBV0EsdXZCRExjLFlBQVk7OzRGQUtiLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDSSxzQkFBc0IsY0FDcEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUdOLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWJhYnlsb24tYWktYmFkZ2UnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tYWktYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9iYWJ5bG9uLWFpLWJhZGdlLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkFpQmFkZ2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGJhZGdlSWQ6IHN0cmluZyA9ICdhaS1tb2RpZmllZCc7XG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJ0FJIE1PRElGSUVEJztcbiAgICBASW5wdXQoKSBwb3NpdGlvbjpcbiAgICAgICAgJ3RvcC1yaWdodCcgfCAndG9wLWxlZnQnIHwgJ2JvdHRvbS1yaWdodCcgfCAnYm90dG9tLWxlZnQnID0gJ3RvcC1yaWdodCc7XG4gICAgQElucHV0KCkgYWRkaXRpb25hbENsYXNzZXM6IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KCkgdG9wPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJvdHRvbT86IHN0cmluZztcbiAgICBASW5wdXQoKSBsZWZ0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHJpZ2h0Pzogc3RyaW5nO1xufVxuIiwiPGRpdlxuICAgIFtpZF09XCJiYWRnZUlkXCJcbiAgICBjbGFzcz1cImFpLWJhZGdlXCJcbiAgICBbbmdDbGFzc109XCInYmFkZ2UtJyArIHBvc2l0aW9uICsgJyAnICsgYWRkaXRpb25hbENsYXNzZXNcIlxuICAgIFtzdHlsZS50b3BdPVwidG9wXCJcbiAgICBbc3R5bGUuYm90dG9tXT1cImJvdHRvbVwiXG4gICAgW3N0eWxlLmxlZnRdPVwibGVmdFwiXG4gICAgW3N0eWxlLnJpZ2h0XT1cInJpZ2h0XCJcbj5cbiAgICA8c3BhbiBjbGFzcz1cImFpLWJhZGdlX190ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYWktYmFkZ2UvYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWUxRSxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU2EsV0FBTSxHQUFjLEVBQUUsQ0FBQyxDQUFDLDRCQUE0QjtRQUNwRCxhQUFRLEdBQytDLFdBQVcsQ0FBQztRQUNuRSxzQkFBaUIsR0FBVyxFQUFFLENBQUM7S0FNM0M7K0dBVlksdUJBQXVCO21HQUF2Qix1QkFBdUIsd09DaEJwQyxpWUFZQSxtNUJERGMsWUFBWTs7NEZBS2IsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNJLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFpQmFkZ2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWFpLWJhZGdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWJ5bG9uLWFpLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1haS1iYWRnZS5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25BaUJhZGdlQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBiYWRnZXM6IEFpQmFkZ2VbXSA9IFtdOyAvLyBSZWNpYmUgZWwgYXJyYXkgZGUgYmFkZ2VzXG4gICAgQElucHV0KCkgcG9zaXRpb246XG4gICAgICAgICd0b3AtcmlnaHQnIHwgJ3RvcC1sZWZ0JyB8ICdib3R0b20tcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyA9ICd0b3AtcmlnaHQnO1xuICAgIEBJbnB1dCgpIGFkZGl0aW9uYWxDbGFzc2VzOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHRvcD86IHN0cmluZztcbiAgICBASW5wdXQoKSBib3R0b20/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbGVmdD86IHN0cmluZztcbiAgICBASW5wdXQoKSByaWdodD86IHN0cmluZztcbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImFpLWJhZGdlLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwiJ2JhZGdlLScgKyBwb3NpdGlvbiArICcgJyArIGFkZGl0aW9uYWxDbGFzc2VzXCJcbiAgICBbc3R5bGUudG9wXT1cInRvcFwiXG4gICAgW3N0eWxlLmJvdHRvbV09XCJib3R0b21cIlxuICAgIFtzdHlsZS5sZWZ0XT1cImxlZnRcIlxuICAgIFtzdHlsZS5yaWdodF09XCJyaWdodFwiXG4+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2YgYmFkZ2VzXCIgW2lkXT1cImJhZGdlLmlkXCIgY2xhc3M9XCJhaS1iYWRnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFpLWJhZGdlX190ZXh0XCI+e3sgYmFkZ2UubmFtZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,8 +1,8 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Component, EventEmitter, HostListener, Inject, input, Input, Output, output, signal, } from '@angular/core';
3
- import { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';
4
3
  import { NavigationEnd } from '@angular/router';
5
4
  import { filter } from 'rxjs';
5
+ import { BabylonLinkTypeDirective } from '../../../directives/link-type/link-type.directive';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/router";
8
8
  export class BabylonBookingBannerComponent {
@@ -24,7 +24,7 @@ export class BabylonBookingBannerComponent {
24
24
  this.routerSub = this.router.events
25
25
  .pipe(filter((event) => event instanceof NavigationEnd))
26
26
  .subscribe(() => {
27
- this.checkStickyState();
27
+ this.checkStickyState(true);
28
28
  });
29
29
  }
30
30
  ngAfterViewInit() {
@@ -49,7 +49,7 @@ export class BabylonBookingBannerComponent {
49
49
  openEngineModalV2() {
50
50
  this.openEngine.emit();
51
51
  }
52
- checkStickyState() {
52
+ checkStickyState(init = false) {
53
53
  setTimeout(() => {
54
54
  if (this.document.body.classList.contains('header_sticky')) {
55
55
  this.isInitSticky.set(true);
@@ -59,14 +59,14 @@ export class BabylonBookingBannerComponent {
59
59
  this.isInitSticky.set(false);
60
60
  this.isSticky.set(window.scrollY > this.triggerPoint);
61
61
  }
62
- }, 50);
62
+ }, init ? 1000 : 50);
63
63
  }
64
64
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonBookingBannerComponent, deps: [{ token: i0.Renderer2 }, { token: DOCUMENT }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonBookingBannerComponent, isStandalone: true, selector: "lib-babylon-booking-banner", inputs: { texts: { classPropertyName: "texts", publicName: "texts", isSignal: false, isRequired: false, transformFunction: null }, buttons: { classPropertyName: "buttons", publicName: "buttons", isSignal: false, isRequired: false, transformFunction: null }, offer: { classPropertyName: "offer", publicName: "offer", isSignal: false, isRequired: false, transformFunction: null }, triggerPoint: { classPropertyName: "triggerPoint", publicName: "triggerPoint", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, ctaLabel: { classPropertyName: "ctaLabel", publicName: "ctaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openEngine: "openEngine", ctaClick: "ctaClick" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<aside\n class=\"promo-banner\"\n [class.promo-banner--sticky]=\"isSticky()\"\n [class.promo-banner--no-anim]=\"isInitSticky()\"\n role=\"complementary\"\n aria-label=\"Promoci\u00F3n especial\"\n>\n <div class=\"promo-banner__content\">\n <div class=\"promo-banner__info\">\n <span class=\"promo-banner__icon\" aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"28\"\n height=\"28\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <polyline points=\"12 7 12 12 15 14\"></polyline>\n <path d=\"M5 3 L3 5\"></path>\n <path d=\"M19 3 L21 5\"></path>\n </svg>\n </span>\n <div class=\"promo-banner__text\">\n @if (offer?.texts?.title || texts?.title) {\n <strong class=\"promo-banner__title\">{{\n offer?.texts?.title || texts?.title\n }}</strong>\n }\n @if (offer?.texts?.description || texts?.description) {\n <div\n class=\"promo-banner__desc\"\n [innerHTML]=\"\n offer?.texts?.description || texts?.description\n \"\n ></div>\n }\n </div>\n </div>\n\n @if (offer?.buttons?.[0] || offer?.button; as btn) {\n <a\n type=\"button\"\n class=\"promo-banner__cta\"\n [linkType]=\"btn.linkType\"\n [href]=\"btn.url\"\n [attr.aria-label]=\"btn.label\"\n >\n {{ btn.label }}\n </a>\n } @else if (buttons?.[0]) {\n <button\n type=\"button\"\n class=\"promo-banner__cta\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n (click)=\"openEngineModalV2()\"\n >\n {{ buttons?.[0]?.label }}\n </button>\n }\n </div>\n</aside>\n", styles: [".promo-banner{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #0000000f;padding:8px 16px;position:absolute;top:0;left:0;z-index:10;transition:transform .3s ease}:host-context(.header_sticky) .promo-banner{top:80px;display:block}@media (min-width: 1680px){:host-context(.header_sticky) .promo-banner{top:90px}}@media (max-width: 1024px){:host-context(.header_sticky) .promo-banner{top:85px}}@media (max-width: 768px){:host-context(.header_sticky) .promo-banner{top:75px}}@media (max-width: 540px){:host-context(.header_sticky) .promo-banner{top:60px}}:host-context(body:not(.header_sticky)) .promo-banner{opacity:0;pointer-events:none}.promo-banner--sticky{position:fixed;top:80px;z-index:9;animation:slideDown .3s ease-out forwards}@media (min-width: 1680px){.promo-banner--sticky{top:90px}}@media (max-width: 1024px){.promo-banner--sticky{top:85px}}@media (max-width: 768px){.promo-banner--sticky{top:75px}}@media (max-width: 540px){.promo-banner--sticky{top:60px}}.promo-banner--no-anim{animation:none!important}.promo-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px}@media (max-width: 768px){.promo-banner__content{flex-direction:column;justify-content:center;gap:8px;padding:4px 0;width:100%}}.promo-banner__info{display:inline-flex;align-items:center;gap:12px}@media (max-width: 768px){.promo-banner__info{width:100%;align-items:flex-start}}.promo-banner__icon{display:flex;align-items:center;justify-content:center;color:var(--cl_title);flex-shrink:0}.promo-banner__icon svg{display:block}.promo-banner__text{font-size:14px;line-height:1.3;color:var(--cl_text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media (max-width: 768px){.promo-banner__text{font-size:12px;flex-direction:column;align-items:flex-start;gap:1px;flex:1;text-align:left}}.promo-banner__title{font-weight:700;color:var(--cl_title);font-size:1.6rem}.promo-banner__desc{font-weight:400;color:var(--cl_text);font-size:1.6rem}@media (max-width: 768px){.promo-banner__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}}.promo-banner__cta{background-color:var(--cl_corp);color:var(--cl_text-light);border:none;border-radius:20px;padding:8px 24px;font-size:1.6rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap;flex-shrink:0}.promo-banner__cta:hover{background-color:#1e3f63}.promo-banner__cta:active{transform:scale(.98)}@media (max-width: 768px){.promo-banner__cta{padding:6px 16px;font-size:12px}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"], dependencies: [{ kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }] }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonBookingBannerComponent, isStandalone: true, selector: "lib-babylon-booking-banner", inputs: { texts: { classPropertyName: "texts", publicName: "texts", isSignal: false, isRequired: false, transformFunction: null }, buttons: { classPropertyName: "buttons", publicName: "buttons", isSignal: false, isRequired: false, transformFunction: null }, offer: { classPropertyName: "offer", publicName: "offer", isSignal: false, isRequired: false, transformFunction: null }, triggerPoint: { classPropertyName: "triggerPoint", publicName: "triggerPoint", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, ctaLabel: { classPropertyName: "ctaLabel", publicName: "ctaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openEngine: "openEngine", ctaClick: "ctaClick" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<aside\n class=\"promo-banner\"\n [class.promo-banner--sticky]=\"isSticky()\"\n [class.promo-banner--no-anim]=\"isInitSticky()\"\n role=\"complementary\"\n aria-label=\"Promoci\u00F3n especial\"\n>\n <div class=\"promo-banner__content\">\n <div class=\"promo-banner__info\">\n <span class=\"promo-banner__icon\" aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"28\"\n height=\"28\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <polyline points=\"12 7 12 12 15 14\"></polyline>\n <path d=\"M5 3 L3 5\"></path>\n <path d=\"M19 3 L21 5\"></path>\n </svg>\n </span>\n <div class=\"promo-banner__text\">\n @if (offer?.texts?.title || texts?.title) {\n <strong class=\"promo-banner__title\">{{\n offer?.texts?.title || texts?.title\n }}</strong>\n }\n @if (offer?.texts?.description || texts?.description) {\n <div\n class=\"promo-banner__desc\"\n [innerHTML]=\"\n offer?.texts?.description || texts?.description\n \"\n ></div>\n }\n </div>\n </div>\n\n @if (offer?.buttons?.[0] || offer?.button; as btn) {\n <a\n type=\"button\"\n class=\"promo-banner__cta\"\n [linkType]=\"btn.linkType\"\n [href]=\"btn.url\"\n [attr.aria-label]=\"btn.label\"\n >\n {{ btn.label }}\n </a>\n } @else if (buttons?.[0]) {\n <button\n type=\"button\"\n class=\"promo-banner__cta\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n (click)=\"openEngineModalV2()\"\n >\n {{ buttons?.[0]?.label }}\n </button>\n }\n </div>\n</aside>\n", styles: [".promo-banner{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #0000000f;padding:8px 16px;position:absolute;top:0;left:0;z-index:10;transition:transform .3s ease}:host-context(.header_sticky) .promo-banner{top:80px;display:block}@media (min-width: 1680px){:host-context(.header_sticky) .promo-banner{top:90px}}@media (max-width: 1024px){:host-context(.header_sticky) .promo-banner{top:85px}}@media (max-width: 768px){:host-context(.header_sticky) .promo-banner{top:75px}}@media (max-width: 540px){:host-context(.header_sticky) .promo-banner{top:60px}}.promo-banner--sticky{position:fixed;top:80px;z-index:9;animation:slideDown .3s ease-out forwards}@media (min-width: 1680px){.promo-banner--sticky{top:90px}}@media (max-width: 1024px){.promo-banner--sticky{top:85px}}@media (max-width: 768px){.promo-banner--sticky{top:75px}}@media (max-width: 540px){.promo-banner--sticky{top:60px}}.promo-banner--no-anim{animation:none!important}:host-context(body:not(.header_sticky)) .promo-banner{opacity:0;pointer-events:none;top:0}.promo-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px}@media (max-width: 768px){.promo-banner__content{flex-direction:column;justify-content:center;gap:8px;padding:4px 0;width:100%}}.promo-banner__info{display:inline-flex;align-items:center;gap:12px}@media (max-width: 768px){.promo-banner__info{width:100%;align-items:flex-start}}.promo-banner__icon{display:flex;align-items:center;justify-content:center;color:var(--cl_title);flex-shrink:0}.promo-banner__icon svg{display:block}.promo-banner__text{font-size:14px;line-height:1.3;color:var(--cl_text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media (max-width: 768px){.promo-banner__text{font-size:12px;flex-direction:column;align-items:flex-start;gap:1px;flex:1;text-align:left}}.promo-banner__title{font-weight:700;color:var(--cl_title);font-size:1.6rem}.promo-banner__desc{font-weight:400;color:var(--cl_text);font-size:1.6rem}@media (max-width: 768px){.promo-banner__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}}.promo-banner__cta{background-color:var(--cl_corp);color:var(--cl_text-light);border:none;border-radius:20px;padding:8px 24px;font-size:1.6rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap;flex-shrink:0}.promo-banner__cta:hover{background-color:#1e3f63}.promo-banner__cta:active{transform:scale(.98)}@media (max-width: 768px){.promo-banner__cta{padding:6px 16px;font-size:12px}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"], dependencies: [{ kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }] }); }
66
66
  }
67
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonBookingBannerComponent, decorators: [{
68
68
  type: Component,
69
- args: [{ selector: 'lib-babylon-booking-banner', standalone: true, imports: [BabylonLinkTypeDirective], template: "<aside\n class=\"promo-banner\"\n [class.promo-banner--sticky]=\"isSticky()\"\n [class.promo-banner--no-anim]=\"isInitSticky()\"\n role=\"complementary\"\n aria-label=\"Promoci\u00F3n especial\"\n>\n <div class=\"promo-banner__content\">\n <div class=\"promo-banner__info\">\n <span class=\"promo-banner__icon\" aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"28\"\n height=\"28\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <polyline points=\"12 7 12 12 15 14\"></polyline>\n <path d=\"M5 3 L3 5\"></path>\n <path d=\"M19 3 L21 5\"></path>\n </svg>\n </span>\n <div class=\"promo-banner__text\">\n @if (offer?.texts?.title || texts?.title) {\n <strong class=\"promo-banner__title\">{{\n offer?.texts?.title || texts?.title\n }}</strong>\n }\n @if (offer?.texts?.description || texts?.description) {\n <div\n class=\"promo-banner__desc\"\n [innerHTML]=\"\n offer?.texts?.description || texts?.description\n \"\n ></div>\n }\n </div>\n </div>\n\n @if (offer?.buttons?.[0] || offer?.button; as btn) {\n <a\n type=\"button\"\n class=\"promo-banner__cta\"\n [linkType]=\"btn.linkType\"\n [href]=\"btn.url\"\n [attr.aria-label]=\"btn.label\"\n >\n {{ btn.label }}\n </a>\n } @else if (buttons?.[0]) {\n <button\n type=\"button\"\n class=\"promo-banner__cta\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n (click)=\"openEngineModalV2()\"\n >\n {{ buttons?.[0]?.label }}\n </button>\n }\n </div>\n</aside>\n", styles: [".promo-banner{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #0000000f;padding:8px 16px;position:absolute;top:0;left:0;z-index:10;transition:transform .3s ease}:host-context(.header_sticky) .promo-banner{top:80px;display:block}@media (min-width: 1680px){:host-context(.header_sticky) .promo-banner{top:90px}}@media (max-width: 1024px){:host-context(.header_sticky) .promo-banner{top:85px}}@media (max-width: 768px){:host-context(.header_sticky) .promo-banner{top:75px}}@media (max-width: 540px){:host-context(.header_sticky) .promo-banner{top:60px}}:host-context(body:not(.header_sticky)) .promo-banner{opacity:0;pointer-events:none}.promo-banner--sticky{position:fixed;top:80px;z-index:9;animation:slideDown .3s ease-out forwards}@media (min-width: 1680px){.promo-banner--sticky{top:90px}}@media (max-width: 1024px){.promo-banner--sticky{top:85px}}@media (max-width: 768px){.promo-banner--sticky{top:75px}}@media (max-width: 540px){.promo-banner--sticky{top:60px}}.promo-banner--no-anim{animation:none!important}.promo-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px}@media (max-width: 768px){.promo-banner__content{flex-direction:column;justify-content:center;gap:8px;padding:4px 0;width:100%}}.promo-banner__info{display:inline-flex;align-items:center;gap:12px}@media (max-width: 768px){.promo-banner__info{width:100%;align-items:flex-start}}.promo-banner__icon{display:flex;align-items:center;justify-content:center;color:var(--cl_title);flex-shrink:0}.promo-banner__icon svg{display:block}.promo-banner__text{font-size:14px;line-height:1.3;color:var(--cl_text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media (max-width: 768px){.promo-banner__text{font-size:12px;flex-direction:column;align-items:flex-start;gap:1px;flex:1;text-align:left}}.promo-banner__title{font-weight:700;color:var(--cl_title);font-size:1.6rem}.promo-banner__desc{font-weight:400;color:var(--cl_text);font-size:1.6rem}@media (max-width: 768px){.promo-banner__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}}.promo-banner__cta{background-color:var(--cl_corp);color:var(--cl_text-light);border:none;border-radius:20px;padding:8px 24px;font-size:1.6rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap;flex-shrink:0}.promo-banner__cta:hover{background-color:#1e3f63}.promo-banner__cta:active{transform:scale(.98)}@media (max-width: 768px){.promo-banner__cta{padding:6px 16px;font-size:12px}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"] }]
69
+ args: [{ selector: 'lib-babylon-booking-banner', standalone: true, imports: [BabylonLinkTypeDirective], template: "<aside\n class=\"promo-banner\"\n [class.promo-banner--sticky]=\"isSticky()\"\n [class.promo-banner--no-anim]=\"isInitSticky()\"\n role=\"complementary\"\n aria-label=\"Promoci\u00F3n especial\"\n>\n <div class=\"promo-banner__content\">\n <div class=\"promo-banner__info\">\n <span class=\"promo-banner__icon\" aria-hidden=\"true\">\n <svg\n viewBox=\"0 0 24 24\"\n width=\"28\"\n height=\"28\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.8\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"9\"></circle>\n <polyline points=\"12 7 12 12 15 14\"></polyline>\n <path d=\"M5 3 L3 5\"></path>\n <path d=\"M19 3 L21 5\"></path>\n </svg>\n </span>\n <div class=\"promo-banner__text\">\n @if (offer?.texts?.title || texts?.title) {\n <strong class=\"promo-banner__title\">{{\n offer?.texts?.title || texts?.title\n }}</strong>\n }\n @if (offer?.texts?.description || texts?.description) {\n <div\n class=\"promo-banner__desc\"\n [innerHTML]=\"\n offer?.texts?.description || texts?.description\n \"\n ></div>\n }\n </div>\n </div>\n\n @if (offer?.buttons?.[0] || offer?.button; as btn) {\n <a\n type=\"button\"\n class=\"promo-banner__cta\"\n [linkType]=\"btn.linkType\"\n [href]=\"btn.url\"\n [attr.aria-label]=\"btn.label\"\n >\n {{ btn.label }}\n </a>\n } @else if (buttons?.[0]) {\n <button\n type=\"button\"\n class=\"promo-banner__cta\"\n [attr.aria-label]=\"buttons?.[0]?.label\"\n (click)=\"openEngineModalV2()\"\n >\n {{ buttons?.[0]?.label }}\n </button>\n }\n </div>\n</aside>\n", styles: [".promo-banner{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px #0000000f;padding:8px 16px;position:absolute;top:0;left:0;z-index:10;transition:transform .3s ease}:host-context(.header_sticky) .promo-banner{top:80px;display:block}@media (min-width: 1680px){:host-context(.header_sticky) .promo-banner{top:90px}}@media (max-width: 1024px){:host-context(.header_sticky) .promo-banner{top:85px}}@media (max-width: 768px){:host-context(.header_sticky) .promo-banner{top:75px}}@media (max-width: 540px){:host-context(.header_sticky) .promo-banner{top:60px}}.promo-banner--sticky{position:fixed;top:80px;z-index:9;animation:slideDown .3s ease-out forwards}@media (min-width: 1680px){.promo-banner--sticky{top:90px}}@media (max-width: 1024px){.promo-banner--sticky{top:85px}}@media (max-width: 768px){.promo-banner--sticky{top:75px}}@media (max-width: 540px){.promo-banner--sticky{top:60px}}.promo-banner--no-anim{animation:none!important}:host-context(body:not(.header_sticky)) .promo-banner{opacity:0;pointer-events:none;top:0}.promo-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px}@media (max-width: 768px){.promo-banner__content{flex-direction:column;justify-content:center;gap:8px;padding:4px 0;width:100%}}.promo-banner__info{display:inline-flex;align-items:center;gap:12px}@media (max-width: 768px){.promo-banner__info{width:100%;align-items:flex-start}}.promo-banner__icon{display:flex;align-items:center;justify-content:center;color:var(--cl_title);flex-shrink:0}.promo-banner__icon svg{display:block}.promo-banner__text{font-size:14px;line-height:1.3;color:var(--cl_text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}@media (max-width: 768px){.promo-banner__text{font-size:12px;flex-direction:column;align-items:flex-start;gap:1px;flex:1;text-align:left}}.promo-banner__title{font-weight:700;color:var(--cl_title);font-size:1.6rem}.promo-banner__desc{font-weight:400;color:var(--cl_text);font-size:1.6rem}@media (max-width: 768px){.promo-banner__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}}.promo-banner__cta{background-color:var(--cl_corp);color:var(--cl_text-light);border:none;border-radius:20px;padding:8px 24px;font-size:1.6rem;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:background-color .2s ease,transform .1s ease;white-space:nowrap;flex-shrink:0}.promo-banner__cta:hover{background-color:#1e3f63}.promo-banner__cta:active{transform:scale(.98)}@media (max-width: 768px){.promo-banner__cta{padding:6px 16px;font-size:12px}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}\n"] }]
70
70
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: Document, decorators: [{
71
71
  type: Inject,
72
72
  args: [DOCUMENT]
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
84
84
  type: HostListener,
85
85
  args: ['window:scroll', []]
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy1iYW5uZXIvYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy1iYW5uZXIvYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEVBRU4sTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBTTdGLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBUzVDLE1BQU0sT0FBTyw2QkFBNkI7SUF1QnRDLFlBQ1ksUUFBbUIsRUFDRCxRQUFrQixFQUNwQyxNQUFjO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQW5CakIsaUJBQVksR0FBVyxHQUFHLENBQUM7UUFFMUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsVUFBSyxHQUFHLEtBQUssQ0FBUyxxQkFBcUIsQ0FBQyxDQUFDO1FB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fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBpbnB1dCxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBvdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBCYWJ5bG9uQnV0dG9uSSxcbiAgICBCYWJ5bG9uT2ZmZXJJdGVtSSxcbiAgICBCYWJ5bG9uVGV4dEluZm9JLFxufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWJvb2tpbmctYmFubmVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWJ5bG9uLWJvb2tpbmctYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Cb29raW5nQmFubmVyQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxue1xuICAgIEBJbnB1dCgpIHRleHRzPzogQmFieWxvblRleHRJbmZvSTtcbiAgICBASW5wdXQoKSBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbiAgICBASW5wdXQoKSBvZmZlcj86IEJhYnlsb25PZmZlckl0ZW1JO1xuXG4gICAgQElucHV0KCkgdHJpZ2dlclBvaW50OiBudW1iZXIgPSAxMDA7XG5cbiAgICBAT3V0cHV0KCkgb3BlbkVuZ2luZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPignRWFybHkgQm9va2luZyAyMDI3OicpO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPihcbiAgICAgICAgJy0xMCUgcmVzZXJ2YW5kbyBhbnRlcyBkZWwgMzEgZGUgZW5lcm8nXG4gICAgKTtcbiAgICByZWFkb25seSBjdGFMYWJlbCA9IGlucHV0PHN0cmluZz4oJ1Jlc2VydmFyJyk7XG4gICAgcmVhZG9ubHkgY3RhQ2xpY2sgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAgIGlzU3RpY2t5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgICBpc0luaXRTdGlja3kgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSByb3V0ZXJTdWIhOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZG9jdW1lbnQuYm9keSwgJ2hhcy1wcm9tby1iYW5uZXInKTtcbiAgICAgICAgdGhpcy5yb3V0ZXJTdWIgPSB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrU3RpY2t5U3RhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja1N0aWNreVN0YXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5kb2N1bWVudC5ib2R5LCAnaGFzLXByb21vLWJhbm5lcicpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSlcbiAgICBvbldpbmRvd1Njcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0U3RpY2t5KCkpIHJldHVybjtcbiAgICAgICAgaWYgKHdpbmRvdy5zY3JvbGxZID4gdGhpcy50cmlnZ2VyUG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTdGlja3kuc2V0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc1N0aWNreS5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNlcnZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN0YUNsaWNrLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvcGVuRW5naW5lTW9kYWxWMigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuRW5naW5lLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrU3RpY2t5U3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoJ2hlYWRlcl9zdGlja3knKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0U3RpY2t5LnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU3RpY2t5LnNldCh0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRTdGlja3kuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzU3RpY2t5LnNldCh3aW5kb3cuc2Nyb2xsWSA+IHRoaXMudHJpZ2dlclBvaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgNTApO1xuICAgIH1cbn1cbiIsIjxhc2lkZVxuICAgIGNsYXNzPVwicHJvbW8tYmFubmVyXCJcbiAgICBbY2xhc3MucHJvbW8tYmFubmVyLS1zdGlja3ldPVwiaXNTdGlja3koKVwiXG4gICAgW2NsYXNzLnByb21vLWJhbm5lci0tbm8tYW5pbV09XCJpc0luaXRTdGlja3koKVwiXG4gICAgcm9sZT1cImNvbXBsZW1lbnRhcnlcIlxuICAgIGFyaWEtbGFiZWw9XCJQcm9tb2Npw7NuIGVzcGVjaWFsXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvbW8tYmFubmVyX19jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tby1iYW5uZXJfX2luZm9cIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJvbW8tYmFubmVyX19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyOFwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjI4XCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjhcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI5XCI+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCIxMiA3IDEyIDEyIDE1IDE0XCI+PC9wb2x5bGluZT5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDMgTDMgNVwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xOSAzIEwyMSA1XCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb21vLWJhbm5lcl9fdGV4dFwiPlxuICAgICAgICAgICAgICAgIEBpZiAob2ZmZXI/LnRleHRzPy50aXRsZSB8fCB0ZXh0cz8udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cInByb21vLWJhbm5lcl9fdGl0bGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgb2ZmZXI/LnRleHRzPy50aXRsZSB8fCB0ZXh0cz8udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChvZmZlcj8udGV4dHM/LmRlc2NyaXB0aW9uIHx8IHRleHRzPy5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb21vLWJhbm5lcl9fZGVzY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZmVyPy50ZXh0cz8uZGVzY3JpcHRpb24gfHwgdGV4dHM/LmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAob2ZmZXI/LmJ1dHRvbnM/LlswXSB8fCBvZmZlcj8uYnV0dG9uOyBhcyBidG4pIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9tby1iYW5uZXJfX2N0YVwiXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ0bi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiYnRuLnVybFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidG4ubGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGJ0bi5sYWJlbCB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIGlmIChidXR0b25zPy5bMF0pIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb21vLWJhbm5lcl9fY3RhXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbnM/LlswXT8ubGFiZWxcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRW5naW5lTW9kYWxWMigpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBidXR0b25zPy5bMF0/LmxhYmVsIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9hc2lkZT5cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy1iYW5uZXIvYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tYm9va2luZy1iYW5uZXIvYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUdMLE1BQU0sRUFDTixNQUFNLEVBRU4sTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7O0FBYzdGLE1BQU0sT0FBTyw2QkFBNkI7SUF1QnRDLFlBQ1ksUUFBbUIsRUFDRCxRQUFrQixFQUNwQyxNQUFjO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQW5CakIsaUJBQVksR0FBVyxHQUFHLENBQUM7UUFFMUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFakMsVUFBSyxHQUFHLEtBQUssQ0FBUyxxQkFBcUIsQ0FBQyxDQUFDO1FB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RGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgaW5wdXQsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgb3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBCYWJ5bG9uQnV0dG9uSSxcbiAgICBCYWJ5bG9uT2ZmZXJJdGVtSSxcbiAgICBCYWJ5bG9uVGV4dEluZm9JLFxufSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYmFieWxvbi1ib29raW5nLWJhbm5lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFieWxvbi1ib29raW5nLWJhbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhYnlsb24tYm9va2luZy1iYW5uZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uQm9va2luZ0Jhbm5lckNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbntcbiAgICBASW5wdXQoKSB0ZXh0cz86IEJhYnlsb25UZXh0SW5mb0k7XG4gICAgQElucHV0KCkgYnV0dG9ucz86IEJhYnlsb25CdXR0b25JW107XG4gICAgQElucHV0KCkgb2ZmZXI/OiBCYWJ5bG9uT2ZmZXJJdGVtSTtcblxuICAgIEBJbnB1dCgpIHRyaWdnZXJQb2ludDogbnVtYmVyID0gMTAwO1xuXG4gICAgQE91dHB1dCgpIG9wZW5FbmdpbmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICByZWFkb25seSB0aXRsZSA9IGlucHV0PHN0cmluZz4oJ0Vhcmx5IEJvb2tpbmcgMjAyNzonKTtcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbiA9IGlucHV0PHN0cmluZz4oXG4gICAgICAgICctMTAlIHJlc2VydmFuZG8gYW50ZXMgZGVsIDMxIGRlIGVuZXJvJ1xuICAgICk7XG4gICAgcmVhZG9ubHkgY3RhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdSZXNlcnZhcicpO1xuICAgIHJlYWRvbmx5IGN0YUNsaWNrID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgICBpc1N0aWNreSA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gICAgaXNJbml0U3RpY2t5ID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIHByaXZhdGUgcm91dGVyU3ViITogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdoYXMtcHJvbW8tYmFubmVyJyk7XG4gICAgICAgIHRoaXMucm91dGVyU3ViID0gdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja1N0aWNreVN0YXRlKHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrU3RpY2t5U3RhdGUoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdoYXMtcHJvbW8tYmFubmVyJyk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxuICAgIG9uV2luZG93U2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5pc0luaXRTdGlja3koKSkgcmV0dXJuO1xuICAgICAgICBpZiAod2luZG93LnNjcm9sbFkgPiB0aGlzLnRyaWdnZXJQb2ludCkge1xuICAgICAgICAgICAgdGhpcy5pc1N0aWNreS5zZXQodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzU3RpY2t5LnNldChmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlc2VydmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3RhQ2xpY2suZW1pdCgpO1xuICAgIH1cblxuICAgIG9wZW5FbmdpbmVNb2RhbFYyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5FbmdpbmUuZW1pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTdGlja3lTdGF0ZShpbml0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dChcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygnaGVhZGVyX3N0aWNreScpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0U3RpY2t5LnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N0aWNreS5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0luaXRTdGlja3kuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N0aWNreS5zZXQod2luZG93LnNjcm9sbFkgPiB0aGlzLnRyaWdnZXJQb2ludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGluaXQgPyAxMDAwIDogNTBcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8YXNpZGVcbiAgICBjbGFzcz1cInByb21vLWJhbm5lclwiXG4gICAgW2NsYXNzLnByb21vLWJhbm5lci0tc3RpY2t5XT1cImlzU3RpY2t5KClcIlxuICAgIFtjbGFzcy5wcm9tby1iYW5uZXItLW5vLWFuaW1dPVwiaXNJbml0U3RpY2t5KClcIlxuICAgIHJvbGU9XCJjb21wbGVtZW50YXJ5XCJcbiAgICBhcmlhLWxhYmVsPVwiUHJvbW9jacOzbiBlc3BlY2lhbFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cInByb21vLWJhbm5lcl9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvbW8tYmFubmVyX19pbmZvXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb21vLWJhbm5lcl9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjhcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyOFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS44XCJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiOVwiPjwvY2lyY2xlPlxuICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTIgNyAxMiAxMiAxNSAxNFwiPjwvcG9seWxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAzIEwzIDVcIj48L3BhdGg+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTkgMyBMMjEgNVwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tby1iYW5uZXJfX3RleHRcIj5cbiAgICAgICAgICAgICAgICBAaWYgKG9mZmVyPy50ZXh0cz8udGl0bGUgfHwgdGV4dHM/LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJwcm9tby1iYW5uZXJfX3RpdGxlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mZmVyPy50ZXh0cz8udGl0bGUgfHwgdGV4dHM/LnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAob2ZmZXI/LnRleHRzPy5kZXNjcmlwdGlvbiB8fCB0ZXh0cz8uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9tby1iYW5uZXJfX2Rlc2NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZlcj8udGV4dHM/LmRlc2NyaXB0aW9uIHx8IHRleHRzPy5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKG9mZmVyPy5idXR0b25zPy5bMF0gfHwgb2ZmZXI/LmJ1dHRvbjsgYXMgYnRuKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvbW8tYmFubmVyX19jdGFcIlxuICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidG4ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cImJ0bi51cmxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnRuLmxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBidG4ubGFiZWwgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoYnV0dG9ucz8uWzBdKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9tby1iYW5uZXJfX2N0YVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25zPy5bMF0/LmxhYmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkVuZ2luZU1vZGFsVjIoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgYnV0dG9ucz8uWzBdPy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvYXNpZGU+XG4iXX0=