ctt-puro 0.70.26 → 0.70.28
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.
- package/esm2022/lib/components/puro-info-intro/puro-info-intro.component.mjs +3 -3
- package/esm2022/lib/components/puro-vertical-info/puro-vertical-info.component.mjs +3 -3
- package/esm2022/lib/components/puro-vertical-info/puro-vertical-info.interface.mjs +1 -1
- package/esm2022/lib/directives/puro-script/puro-script.directive.mjs +34 -38
- package/esm2022/lib/services/mapper/mapper.service.mjs +9 -4
- package/fesm2022/ctt-puro.mjs +45 -44
- package/fesm2022/ctt-puro.mjs.map +1 -1
- package/lib/components/puro-vertical-info/puro-vertical-info.component.d.ts +5 -1
- package/lib/components/puro-vertical-info/puro-vertical-info.interface.d.ts +2 -2
- package/package.json +1 -1
|
@@ -19,11 +19,11 @@ export class PuroInfoIntroComponent {
|
|
|
19
19
|
this.showDescription = !this.showDescription;
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\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 }\n @if (title) {\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 }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroInfoIntroComponent, isStandalone: true, selector: "lib-puro-info-intro", inputs: { title: "title", pretitle: "pretitle", description: "description", descriptionHidden: "descriptionHidden", ndDescription: "ndDescription", buttons: "buttons", seeMore: "seeMore", seeLess: "seeLess", backgroundImg: "backgroundImg", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\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 }\n @if (title) {\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 }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }, { kind: "component", type: PuroDynamicHeadingComponent, selector: "lib-puro-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroInfoIntroComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\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 }\n @if (title) {\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 }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n
|
|
26
|
+
args: [{ selector: 'lib-puro-info-intro', standalone: true, imports: [CommonModule, PuroLinkTypeDirective, PuroDynamicHeadingComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section\n class=\"moments moments--withTopGraphic generalMargin\"\n [class.has-custom-bg]=\"hasCustomBg\"\n [style.--bg-url]=\"hasCustomBg ? cssBgUrl : null\"\n>\n <div class=\"moments__container\">\n @if (pretitle) {\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 }\n @if (title) {\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 }\n <div class=\"moments__paragraph\">\n @if (description) {\n <div [innerHTML]=\"description\"></div>\n }\n @if (descriptionHidden) {\n <span\n class=\"more-content\"\n [class.more-content--open]=\"showDescription\"\n [innerHTML]=\"descriptionHidden\"\n ></span>\n }\n @if (ndDescription) {\n <div [innerHTML]=\"ndDescription\"></div>\n }\n </div>\n <div class=\"btn__group\">\n @if (buttons) {\n @for (button of buttons; track $index) {\n <a\n [href]=\"button.url || button.linkValue\"\n [linkType]=\"button.linkType\"\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"button.label\"\n >\n <span>{{ button.label }}</span>\n </a>\n }\n }\n @if (seeLess && seeMore && descriptionHidden) {\n <button\n class=\"btn btn__primary--outline btn__moreLess\"\n (click)=\"toggleDescription()\"\n >\n {{ showDescription ? seeLess : seeMore }}\n </button>\n }\n </div>\n </div>\n</section>\n", styles: [".moments--withTopGraphic.has-custom-bg.moments--withTopGraphic:before{background-image:var(--bg-url)}.more-content{display:none}.more-content.more-content--open{display:inline}\n"] }]
|
|
27
27
|
}], propDecorators: { title: [{
|
|
28
28
|
type: Input
|
|
29
29
|
}], pretitle: [{
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
47
47
|
}], textColors: [{
|
|
48
48
|
type: Input
|
|
49
49
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby1pbmZvLWludHJvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8taW5mby1pbnRyby9wdXJvLWluZm8taW50cm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby1pbmZvLWludHJvL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVVoRixNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBcUJJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxFQUFFLENBQUM7S0FZakI7SUFWRyxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDOytHQTFCUSxzQkFBc0I7bUdBQXRCLHNCQUFzQix5V0N4Qm5DLHN0RUE2REEsMk9EMUNjLFlBQVksK0JBQUUscUJBQXFCLDRJQUFFLDJCQUEyQjs7NEZBS2pFLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLG1CQUcxRCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFB1cm9MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvQnV0dG9uSSxcbiAgICBQdXJvSW1hZ2VJLFxuICAgIFB1cm9UYWdzSSxcbiAgICBQdXJvVGV4dHNDb2xvcnNJLFxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9wdXJvLWR5bmFtaWMtaGVhZGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLXB1cm8taW5mby1pbnRybycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQdXJvTGlua1R5cGVEaXJlY3RpdmUsIFB1cm9EeW5hbWljSGVhZGluZ0NvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8taW5mby1pbnRyby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9JbmZvSW50cm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uSGlkZGVuPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG5kRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYnV0dG9ucz86IFB1cm9CdXR0b25JW107XG4gICAgQElucHV0KCkgc2VlTW9yZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzZWVMZXNzPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRJbWc/OiBQdXJvSW1hZ2VJO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBQdXJvVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IFB1cm9UZXh0c0NvbG9yc0k7XG5cbiAgICBzaG93RGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBoYXNDdXN0b21CZyA9IGZhbHNlO1xuICAgIGNzc0JnVXJsID0gJyc7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEltZz8uc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmNzc0JnVXJsID0gYHVybChcIiR7dGhpcy5iYWNrZ3JvdW5kSW1nLnNyY31cIilgO1xuICAgICAgICAgICAgdGhpcy5oYXNDdXN0b21CZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVEZXNjcmlwdGlvbigpIHtcbiAgICAgICAgdGhpcy5zaG93RGVzY3JpcHRpb24gPSAhdGhpcy5zaG93RGVzY3JpcHRpb247XG4gICAgfVxufVxuIiwiPHNlY3Rpb25cbiAgICBjbGFzcz1cIm1vbWVudHMgbW9tZW50cy0td2l0aFRvcEdyYXBoaWMgZ2VuZXJhbE1hcmdpblwiXG4gICAgW2NsYXNzLmhhcy1jdXN0b20tYmddPVwiaGFzQ3VzdG9tQmdcIlxuICAgIFtzdHlsZS4tLWJnLXVybF09XCJoYXNDdXN0b21CZyA/IGNzc0JnVXJsIDogbnVsbFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX2NvbnRhaW5lclwiPlxuICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICA8bGliLXB1cm8tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgW3RhZ109XCJ0YWdzPy5wcmV0aXRsZSB8fCAnc3BhbidcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19fdGl0bGVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy5wcmV0aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwicHJldGl0bGVcIlxuICAgICAgICAgICAgPjwvbGliLXB1cm8tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgIDxsaWItcHVyby1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMidcIlxuICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwibW9tZW50c19faGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICBbY29udGVudF09XCJ0aXRsZVwiXG4gICAgICAgICAgICA+PC9saWItcHVyby1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vbWVudHNfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvblwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChkZXNjcmlwdGlvbkhpZGRlbikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibW9yZS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1vcmUtY29udGVudC0tb3Blbl09XCJzaG93RGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImRlc2NyaXB0aW9uSGlkZGVuXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChuZERlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIm5kRGVzY3JpcHRpb25cIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICBAaWYgKGJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChidXR0b24gb2YgYnV0dG9uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b24udXJsIHx8IGJ1dHRvbi5saW5rVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBidXR0b24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNlZUxlc3MgJiYgc2VlTW9yZSAmJiBkZXNjcmlwdGlvbkhpZGRlbikge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lIGJ0bl9fbW9yZUxlc3NcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGVzY3JpcHRpb24oKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBzaG93RGVzY3JpcHRpb24gPyBzZWVMZXNzIDogc2VlTW9yZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -29,7 +29,7 @@ export class PuroVerticalInfoComponent {
|
|
|
29
29
|
return `https://www.linkedin.com/sharing/share-offsite/?url=${url}`;
|
|
30
30
|
}
|
|
31
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroVerticalInfoComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroVerticalInfoComponent, isStandalone: true, selector: "lib-puro-vertical-info", inputs: { pretitle: "pretitle", tag: "tag", title: "title", subtitle: "subtitle", price: "price", from: "from", to: "to", discount: "discount", currency: "currency", img: "img", socialTitle: "socialTitle", contactTitle: "contactTitle", extraTitle: "extraTitle", extraDescription: "extraDescription", fileTitle: "fileTitle", location: "location", intro: "intro", infoList: "infoList", imgList: "imgList", ndInfoList: "ndInfoList", infoButton: "infoButton", contactLinks: "contactLinks", buttonBook: "buttonBook", buttonGuests: "buttonGuests", pdfLink: "pdfLink", buttonSubscribe: "buttonSubscribe", buttonBack: "buttonBack", socialMedia: "socialMedia", hotelName: "hotelName" }, outputs: { btnBookClick: "btnBookClick" }, ngImport: i0, template: "<section class=\"vertical-info generalMargin\">\n <div class=\"vertical-info__left\">\n <div class=\"vertical-info__content\">\n <div class=\"vertical-info__main\">\n @if (pretitle) {\n <p class=\"vertical-info__pretitle\">{{ pretitle }}</p>\n }\n @if (buttonBack) {\n <a\n [href]=\"buttonBack.url\"\n class=\"btn btn__primary--outline vertical-info__btn-back\"\n [attr.aria-label]=\"buttonBack.label\"\n >{{ buttonBack.label }}</a\n >\n }\n <div>\n @if (tag) {\n <span class=\"vertical-info__tag\">{{ tag }}</span>\n }\n @if (title) {\n <h2 class=\"vertical-info__title\">{{ title }}</h2>\n }\n @if (subtitle) {\n <div\n class=\"vertical-info__subtitle\"\n [innerHTML]=\"subtitle\"\n ></div>\n }\n </div>\n <!-- TODO: add discount -->\n <div class=\"vertical-info__boxes\">\n <div class=\"vertical-info__box\">\n @if (from) {\n <p class=\"vertical-info__from\">\n {{ from }}\n </p>\n }\n @if (price) {\n <p class=\"vertical-info__price\">\n {{ price }}{{ currency || '\u20AC' }}\n </p>\n <p class=\"vertical-info__pp\">Por persona</p>\n } @else {\n @if (discount) {\n <p class=\"vertical-info__price\">\n {{ discount }}%\n </p>\n }\n }\n </div>\n @if (buttonSubscribe) {\n <a\n [href]=\"buttonSubscribe.url\"\n class=\"vertical-info__btn btn btn__primary--outline\"\n [attr.aria-label]=\"buttonSubscribe.label\"\n >\n {{ buttonSubscribe.label }}\n </a>\n }\n </div>\n @if (intro) {\n <div class=\"vertical-info__data\">\n @for (item of intro; track $index) {\n <div>\n @if (item.title) {\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n }\n @if (item.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n }\n </div>\n }\n </div>\n }\n \n @if (buttonGuests) {\n <a\n [href]=\"buttonGuests.url\"\n class=\"btn btn__primary--outline vertical-info__btn-full\"\n [attr.aria-label]=\"buttonGuests.label\"\n >{{ buttonGuests.label }}</a\n >\n }\n @if (buttonBook) {\n @if (buttonBook.linkType == 'component_link') {\n <a\n (click)=\"btnBookClick.emit(hotelName)\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n @if (buttonBook.linkType != 'component_link') {\n <a\n [href]=\"buttonBook.url\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n }\n </div>\n\n @if (img) {\n <img\n class=\"vertical-info__image\"\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"431\"\n height=\"531\"\n loading=\"lazy\"\n />\n }\n </div>\n\n <div class=\"vertical-info__right\">\n @if (infoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ infoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of infoList.items; track $index) {\n <li>{{ item }}</li>\n }\n </ul>\n </div>\n }\n @if (imgList) {\n <div class=\"vertical-info__schedule\">\n <p class=\"vertical-info__title\">{{ imgList.title }}</p>\n <ul class=\"vertical-info__img-list\">\n @for (item of imgList.items; track $index) {\n <li>\n @if (item.image) {\n <img\n class=\"vertical-info__performance-img\"\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n width=\"77\"\n height=\"77\"\n loading=\"lazy\"\n />\n }\n <div>\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n </div>\n </li>\n }\n </ul>\n </div>\n }\n @if (ndInfoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ ndInfoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"ndInfoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of ndInfoList.items; track $index) {\n <li>\n {{ item.title || item.name }}\n <span class=\"vertical-info__price\"\n >{{ item.price\n }}{{ item.currency || '\u20AC' }}</span\n >\n </li>\n }\n </ul>\n </div>\n }\n @if (infoButton) {\n <div class=\"vertical-info__book\">\n @if (infoButton.title) {\n <p class=\"vertical-info__title\">\n {{ infoButton.title }}\n </p>\n }\n @if (infoButton.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoButton.description\"\n ></div>\n }\n @if (infoButton.button) {\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"infoButton.button.label\"\n >\n {{ infoButton.button.label }}\n </button>\n }\n </div>\n }\n <div class=\"vertical-info__separator\"></div>\n @if (socialTitle) {\n <div class=\"vertical-info__social\">\n <p class=\"vertical-info__small-title\">{{ socialTitle }}</p>\n <div class=\"vertical-info__media\">\n <a\n [href]=\"facebookShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en Facebook\"\n class=\"share-facebook\"\n >\n <i class=\"icon-5\"></i>\n </a>\n <a\n [href]=\"twitterShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en X\"\n class=\"share-twitter\"\n >\n <i class=\"icon-4\"></i>\n </a>\n <a\n [href]=\"linkedinShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en LinkedIn\"\n class=\"share-linkedin\"\n >\n <i class=\"icon-2\"></i>\n </a>\n </div>\n </div>\n }\n @if (contactTitle && contactLinks) {\n <div\n class=\"vertical-info__additional vertical-info__additional--contact\"\n >\n <p class=\"vertical-info__small-title\">{{ contactTitle }}</p>\n\n <div class=\"vertical-info__links\">\n @for (link of contactLinks; track $index) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </div>\n </div>\n }\n @if (extraTitle && extraDescription) {\n <div class=\"vertical-info__additional\">\n <p class=\"vertical-info__small-title\">{{ extraTitle }}</p>\n\n <div>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"extraDescription\"\n ></div>\n </div>\n </div>\n }\n @if (location) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n <p class=\"vertical-info__small-title\">\n {{ location.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"location.description\"\n ></div>\n </div>\n\n @if (location.button) {\n <a\n [href]=\"location.button.url\"\n [linkType]=\"location.button.linkType\"\n class=\"btn btn__primary--outline vertical-info__btn-map\"\n [attr.aria-label]=\"location.button.label\"\n >{{ location.button.label }}</a\n >\n }\n }\n @if (pdfLink) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n @if (fileTitle) {\n <p class=\"vertical-info__small-title\">\n {{ fileTitle }}\n </p>\n }\n </div>\n\n <a\n [href]=\"pdfLink.url\"\n linkType=\"external\"\n class=\"btn__link\"\n [attr.aria-label]=\"pdfLink.label\"\n >{{ pdfLink.label }}</a\n >\n }\n </div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PuroVerticalInfoComponent, isStandalone: true, selector: "lib-puro-vertical-info", inputs: { pretitle: "pretitle", tag: "tag", title: "title", subtitle: "subtitle", price: "price", from: "from", to: "to", discount: "discount", currency: "currency", img: "img", socialTitle: "socialTitle", contactTitle: "contactTitle", extraTitle: "extraTitle", extraDescription: "extraDescription", fileTitle: "fileTitle", location: "location", intro: "intro", infoList: "infoList", imgList: "imgList", ndInfoList: "ndInfoList", infoButton: "infoButton", contactLinks: "contactLinks", buttonBook: "buttonBook", buttonGuests: "buttonGuests", pdfLink: "pdfLink", buttonSubscribe: "buttonSubscribe", buttonBack: "buttonBack", socialMedia: "socialMedia", hotelName: "hotelName" }, outputs: { btnBookClick: "btnBookClick" }, ngImport: i0, template: "<section class=\"vertical-info generalMargin\">\n <div class=\"vertical-info__left\">\n <div class=\"vertical-info__content\">\n <div class=\"vertical-info__main\">\n @if (pretitle) {\n <p class=\"vertical-info__pretitle\">{{ pretitle }}</p>\n }\n @if (buttonBack) {\n <a\n [href]=\"buttonBack.url\"\n class=\"btn btn__primary--outline vertical-info__btn-back\"\n [attr.aria-label]=\"buttonBack.label\"\n >{{ buttonBack.label }}</a\n >\n }\n <div>\n @if (tag) {\n <span class=\"vertical-info__tag\">{{ tag }}</span>\n }\n @if (title) {\n <h2 class=\"vertical-info__title\">{{ title }}</h2>\n }\n @if (subtitle) {\n <div\n class=\"vertical-info__subtitle\"\n [innerHTML]=\"subtitle\"\n ></div>\n }\n </div>\n <!-- TODO: add discount -->\n <div class=\"vertical-info__boxes\">\n <div class=\"vertical-info__box\">\n @if (from) {\n <p class=\"vertical-info__from\">\n {{ from }}\n </p>\n }\n @if (price) {\n <p class=\"vertical-info__price\">\n {{ price.value }}{{ currency || '\u20AC' }}\n </p>\n <p class=\"vertical-info__pp\">{{ price.label }}</p>\n } @else {\n @if (discount) {\n <p class=\"vertical-info__price\">\n {{ discount }}%\n </p>\n }\n }\n </div>\n @if (buttonSubscribe) {\n <a\n [href]=\"buttonSubscribe.url\"\n class=\"vertical-info__btn btn btn__primary--outline\"\n [attr.aria-label]=\"buttonSubscribe.label\"\n >\n {{ buttonSubscribe.label }}\n </a>\n }\n </div>\n @if (intro) {\n <div class=\"vertical-info__data\">\n @for (item of intro; track $index) {\n <div>\n @if (item.title) {\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n }\n @if (item.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n }\n </div>\n }\n </div>\n }\n @if (socialTitle) {\n <div class=\"vertical-info__social\">\n <p class=\"vertical-info__small-title\">\n {{ socialTitle }}\n </p>\n <div class=\"vertical-info__media\">\n <a\n [href]=\"facebookShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en Facebook\"\n class=\"share-facebook\"\n >\n <i class=\"icon-5\"></i>\n </a>\n <a\n [href]=\"twitterShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en X\"\n class=\"share-twitter\"\n >\n <i class=\"icon-4\"></i>\n </a>\n <a\n [href]=\"linkedinShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en LinkedIn\"\n class=\"share-linkedin\"\n >\n <i class=\"icon-2\"></i>\n </a>\n </div>\n </div>\n }\n @if (contactTitle && contactLinks) {\n <div\n class=\"vertical-info__additional vertical-info__additional--contact\"\n >\n <p class=\"vertical-info__small-title\">\n {{ contactTitle }}\n </p>\n\n <div class=\"vertical-info__links\">\n @for (link of contactLinks; track $index) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </div>\n </div>\n }\n @if (pdfLink && pdfLink.url) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n @if (fileTitle) {\n <p class=\"vertical-info__small-title\">\n {{ fileTitle }}\n </p>\n }\n </div>\n\n <a\n [href]=\"pdfLink.url\"\n linkType=\"external\"\n class=\"btn__link\"\n [attr.aria-label]=\"pdfLink.label\"\n >{{ pdfLink.label }}</a\n >\n }\n @if (buttonGuests) {\n <a\n [href]=\"buttonGuests.url\"\n class=\"btn btn__primary--outline vertical-info__btn-full\"\n [attr.aria-label]=\"buttonGuests.label\"\n >{{ buttonGuests.label }}</a\n >\n }\n @if (buttonBook) {\n @if (buttonBook.linkType == 'component_link') {\n <a\n (click)=\"btnBookClick.emit(hotelName)\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n @if (buttonBook.linkType != 'component_link') {\n <a\n [href]=\"buttonBook.url\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n }\n </div>\n\n @if (img) {\n <img\n class=\"vertical-info__image\"\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"431\"\n height=\"531\"\n loading=\"lazy\"\n />\n }\n </div>\n\n <div class=\"vertical-info__right\">\n @if (infoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ infoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of infoList.items; track $index) {\n <li>{{ item }}</li>\n }\n </ul>\n </div>\n }\n @if (imgList && imgList.items && imgList.items.length > 0) {\n <div class=\"vertical-info__schedule\">\n <p class=\"vertical-info__title\">{{ imgList.title }}</p>\n <ul class=\"vertical-info__img-list\">\n @for (item of imgList.items; track $index) {\n <li>\n @if (item.image) {\n <img\n class=\"vertical-info__performance-img\"\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n width=\"77\"\n height=\"77\"\n loading=\"lazy\"\n />\n }\n <div>\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n </div>\n </li>\n }\n </ul>\n </div>\n }\n @if (ndInfoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ ndInfoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"ndInfoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of ndInfoList.items; track $index) {\n <li>\n {{ item.title || item.name }}\n <span class=\"vertical-info__price\"\n >{{ item.price\n }}{{ item.currency || '\u20AC' }}</span\n >\n </li>\n }\n </ul>\n </div>\n }\n @if (infoButton) {\n <div class=\"vertical-info__book\">\n @if (infoButton.title) {\n <p class=\"vertical-info__title\">\n {{ infoButton.title }}\n </p>\n }\n @if (infoButton.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoButton.description\"\n ></div>\n }\n @if (infoButton.button) {\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"infoButton.button.label\"\n >\n {{ infoButton.button.label }}\n </button>\n }\n </div>\n }\n <div class=\"vertical-info__separator\"></div>\n @if (extraTitle && extraDescription) {\n <div class=\"vertical-info__additional\">\n <p class=\"vertical-info__small-title\">{{ extraTitle }}</p>\n\n <div>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"extraDescription\"\n ></div>\n </div>\n </div>\n }\n <!-- @if (location) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n <p class=\"vertical-info__small-title\">\n {{ location.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"location.description\"\n ></div>\n </div>\n\n @if (location.button) {\n <a\n [href]=\"location.button.url\"\n [linkType]=\"location.button.linkType\"\n class=\"btn btn__primary--outline vertical-info__btn-map\"\n [attr.aria-label]=\"location.button.label\"\n >{{ location.button.label }}</a\n >\n }\n } -->\n </div>\n </div>\n</section>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: AutoImageZoomWrapperDirective, selector: "img[src]" }, { kind: "directive", type: PuroLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["bookClick", "anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
33
33
|
}
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PuroVerticalInfoComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
@@ -37,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
37
37
|
CommonModule,
|
|
38
38
|
AutoImageZoomWrapperDirective,
|
|
39
39
|
PuroLinkTypeDirective,
|
|
40
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"vertical-info generalMargin\">\n <div class=\"vertical-info__left\">\n <div class=\"vertical-info__content\">\n <div class=\"vertical-info__main\">\n @if (pretitle) {\n <p class=\"vertical-info__pretitle\">{{ pretitle }}</p>\n }\n @if (buttonBack) {\n <a\n [href]=\"buttonBack.url\"\n class=\"btn btn__primary--outline vertical-info__btn-back\"\n [attr.aria-label]=\"buttonBack.label\"\n >{{ buttonBack.label }}</a\n >\n }\n <div>\n @if (tag) {\n <span class=\"vertical-info__tag\">{{ tag }}</span>\n }\n @if (title) {\n <h2 class=\"vertical-info__title\">{{ title }}</h2>\n }\n @if (subtitle) {\n <div\n class=\"vertical-info__subtitle\"\n [innerHTML]=\"subtitle\"\n ></div>\n }\n </div>\n <!-- TODO: add discount -->\n <div class=\"vertical-info__boxes\">\n <div class=\"vertical-info__box\">\n @if (from) {\n <p class=\"vertical-info__from\">\n {{ from }}\n </p>\n }\n @if (price) {\n <p class=\"vertical-info__price\">\n {{ price }}{{ currency || '\u20AC' }}\n </p>\n <p class=\"vertical-info__pp\">Por persona</p>\n } @else {\n @if (discount) {\n <p class=\"vertical-info__price\">\n {{ discount }}%\n </p>\n }\n }\n </div>\n @if (buttonSubscribe) {\n <a\n [href]=\"buttonSubscribe.url\"\n class=\"vertical-info__btn btn btn__primary--outline\"\n [attr.aria-label]=\"buttonSubscribe.label\"\n >\n {{ buttonSubscribe.label }}\n </a>\n }\n </div>\n @if (intro) {\n <div class=\"vertical-info__data\">\n @for (item of intro; track $index) {\n <div>\n @if (item.title) {\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n }\n @if (item.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n }\n </div>\n }\n </div>\n }\n \n @if (buttonGuests) {\n <a\n [href]=\"buttonGuests.url\"\n class=\"btn btn__primary--outline vertical-info__btn-full\"\n [attr.aria-label]=\"buttonGuests.label\"\n >{{ buttonGuests.label }}</a\n >\n }\n @if (buttonBook) {\n @if (buttonBook.linkType == 'component_link') {\n <a\n (click)=\"btnBookClick.emit(hotelName)\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n @if (buttonBook.linkType != 'component_link') {\n <a\n [href]=\"buttonBook.url\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n }\n </div>\n\n @if (img) {\n <img\n class=\"vertical-info__image\"\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"431\"\n height=\"531\"\n loading=\"lazy\"\n />\n }\n </div>\n\n <div class=\"vertical-info__right\">\n @if (infoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ infoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of infoList.items; track $index) {\n <li>{{ item }}</li>\n }\n </ul>\n </div>\n }\n @if (imgList) {\n <div class=\"vertical-info__schedule\">\n <p class=\"vertical-info__title\">{{ imgList.title }}</p>\n <ul class=\"vertical-info__img-list\">\n @for (item of imgList.items; track $index) {\n <li>\n @if (item.image) {\n <img\n class=\"vertical-info__performance-img\"\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n width=\"77\"\n height=\"77\"\n loading=\"lazy\"\n />\n }\n <div>\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n </div>\n </li>\n }\n </ul>\n </div>\n }\n @if (ndInfoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ ndInfoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"ndInfoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of ndInfoList.items; track $index) {\n <li>\n {{ item.title || item.name }}\n <span class=\"vertical-info__price\"\n >{{ item.price\n }}{{ item.currency || '\u20AC' }}</span\n >\n </li>\n }\n </ul>\n </div>\n }\n @if (infoButton) {\n <div class=\"vertical-info__book\">\n @if (infoButton.title) {\n <p class=\"vertical-info__title\">\n {{ infoButton.title }}\n </p>\n }\n @if (infoButton.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoButton.description\"\n ></div>\n }\n @if (infoButton.button) {\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"infoButton.button.label\"\n >\n {{ infoButton.button.label }}\n </button>\n }\n </div>\n }\n <div class=\"vertical-info__separator\"></div>\n @if (socialTitle) {\n <div class=\"vertical-info__social\">\n <p class=\"vertical-info__small-title\">{{ socialTitle }}</p>\n <div class=\"vertical-info__media\">\n <a\n [href]=\"facebookShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en Facebook\"\n class=\"share-facebook\"\n >\n <i class=\"icon-5\"></i>\n </a>\n <a\n [href]=\"twitterShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en X\"\n class=\"share-twitter\"\n >\n <i class=\"icon-4\"></i>\n </a>\n <a\n [href]=\"linkedinShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en LinkedIn\"\n class=\"share-linkedin\"\n >\n <i class=\"icon-2\"></i>\n </a>\n </div>\n </div>\n }\n @if (contactTitle && contactLinks) {\n <div\n class=\"vertical-info__additional vertical-info__additional--contact\"\n >\n <p class=\"vertical-info__small-title\">{{ contactTitle }}</p>\n\n <div class=\"vertical-info__links\">\n @for (link of contactLinks; track $index) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </div>\n </div>\n }\n @if (extraTitle && extraDescription) {\n <div class=\"vertical-info__additional\">\n <p class=\"vertical-info__small-title\">{{ extraTitle }}</p>\n\n <div>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"extraDescription\"\n ></div>\n </div>\n </div>\n }\n @if (location) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n <p class=\"vertical-info__small-title\">\n {{ location.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"location.description\"\n ></div>\n </div>\n\n @if (location.button) {\n <a\n [href]=\"location.button.url\"\n [linkType]=\"location.button.linkType\"\n class=\"btn btn__primary--outline vertical-info__btn-map\"\n [attr.aria-label]=\"location.button.label\"\n >{{ location.button.label }}</a\n >\n }\n }\n @if (pdfLink) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n @if (fileTitle) {\n <p class=\"vertical-info__small-title\">\n {{ fileTitle }}\n </p>\n }\n </div>\n\n <a\n [href]=\"pdfLink.url\"\n linkType=\"external\"\n class=\"btn__link\"\n [attr.aria-label]=\"pdfLink.label\"\n >{{ pdfLink.label }}</a\n >\n }\n </div>\n </div>\n</section>\n" }]
|
|
40
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"vertical-info generalMargin\">\n <div class=\"vertical-info__left\">\n <div class=\"vertical-info__content\">\n <div class=\"vertical-info__main\">\n @if (pretitle) {\n <p class=\"vertical-info__pretitle\">{{ pretitle }}</p>\n }\n @if (buttonBack) {\n <a\n [href]=\"buttonBack.url\"\n class=\"btn btn__primary--outline vertical-info__btn-back\"\n [attr.aria-label]=\"buttonBack.label\"\n >{{ buttonBack.label }}</a\n >\n }\n <div>\n @if (tag) {\n <span class=\"vertical-info__tag\">{{ tag }}</span>\n }\n @if (title) {\n <h2 class=\"vertical-info__title\">{{ title }}</h2>\n }\n @if (subtitle) {\n <div\n class=\"vertical-info__subtitle\"\n [innerHTML]=\"subtitle\"\n ></div>\n }\n </div>\n <!-- TODO: add discount -->\n <div class=\"vertical-info__boxes\">\n <div class=\"vertical-info__box\">\n @if (from) {\n <p class=\"vertical-info__from\">\n {{ from }}\n </p>\n }\n @if (price) {\n <p class=\"vertical-info__price\">\n {{ price.value }}{{ currency || '\u20AC' }}\n </p>\n <p class=\"vertical-info__pp\">{{ price.label }}</p>\n } @else {\n @if (discount) {\n <p class=\"vertical-info__price\">\n {{ discount }}%\n </p>\n }\n }\n </div>\n @if (buttonSubscribe) {\n <a\n [href]=\"buttonSubscribe.url\"\n class=\"vertical-info__btn btn btn__primary--outline\"\n [attr.aria-label]=\"buttonSubscribe.label\"\n >\n {{ buttonSubscribe.label }}\n </a>\n }\n </div>\n @if (intro) {\n <div class=\"vertical-info__data\">\n @for (item of intro; track $index) {\n <div>\n @if (item.title) {\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n }\n @if (item.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n }\n </div>\n }\n </div>\n }\n @if (socialTitle) {\n <div class=\"vertical-info__social\">\n <p class=\"vertical-info__small-title\">\n {{ socialTitle }}\n </p>\n <div class=\"vertical-info__media\">\n <a\n [href]=\"facebookShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en Facebook\"\n class=\"share-facebook\"\n >\n <i class=\"icon-5\"></i>\n </a>\n <a\n [href]=\"twitterShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en X\"\n class=\"share-twitter\"\n >\n <i class=\"icon-4\"></i>\n </a>\n <a\n [href]=\"linkedinShareUrl\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"Compartir en LinkedIn\"\n class=\"share-linkedin\"\n >\n <i class=\"icon-2\"></i>\n </a>\n </div>\n </div>\n }\n @if (contactTitle && contactLinks) {\n <div\n class=\"vertical-info__additional vertical-info__additional--contact\"\n >\n <p class=\"vertical-info__small-title\">\n {{ contactTitle }}\n </p>\n\n <div class=\"vertical-info__links\">\n @for (link of contactLinks; track $index) {\n <a\n [href]=\"link.url\"\n [linkType]=\"link.linkType\"\n [attr.aria-label]=\"link.label\"\n >{{ link.label }}</a\n >\n }\n </div>\n </div>\n }\n @if (pdfLink && pdfLink.url) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n @if (fileTitle) {\n <p class=\"vertical-info__small-title\">\n {{ fileTitle }}\n </p>\n }\n </div>\n\n <a\n [href]=\"pdfLink.url\"\n linkType=\"external\"\n class=\"btn__link\"\n [attr.aria-label]=\"pdfLink.label\"\n >{{ pdfLink.label }}</a\n >\n }\n @if (buttonGuests) {\n <a\n [href]=\"buttonGuests.url\"\n class=\"btn btn__primary--outline vertical-info__btn-full\"\n [attr.aria-label]=\"buttonGuests.label\"\n >{{ buttonGuests.label }}</a\n >\n }\n @if (buttonBook) {\n @if (buttonBook.linkType == 'component_link') {\n <a\n (click)=\"btnBookClick.emit(hotelName)\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n @if (buttonBook.linkType != 'component_link') {\n <a\n [href]=\"buttonBook.url\"\n class=\"btn btn__primary vertical-info__btn-full\"\n [attr.aria-label]=\"buttonBook.label\"\n >{{ buttonBook.label }}</a\n >\n }\n }\n </div>\n\n @if (img) {\n <img\n class=\"vertical-info__image\"\n [src]=\"img.src\"\n [alt]=\"img.alt\"\n width=\"431\"\n height=\"531\"\n loading=\"lazy\"\n />\n }\n </div>\n\n <div class=\"vertical-info__right\">\n @if (infoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ infoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of infoList.items; track $index) {\n <li>{{ item }}</li>\n }\n </ul>\n </div>\n }\n @if (imgList && imgList.items && imgList.items.length > 0) {\n <div class=\"vertical-info__schedule\">\n <p class=\"vertical-info__title\">{{ imgList.title }}</p>\n <ul class=\"vertical-info__img-list\">\n @for (item of imgList.items; track $index) {\n <li>\n @if (item.image) {\n <img\n class=\"vertical-info__performance-img\"\n [src]=\"item.image.src\"\n [alt]=\"item.image.alt\"\n width=\"77\"\n height=\"77\"\n loading=\"lazy\"\n />\n }\n <div>\n <p class=\"vertical-info__small-title\">\n {{ item.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"item.description\"\n ></div>\n </div>\n </li>\n }\n </ul>\n </div>\n }\n @if (ndInfoList) {\n <div class=\"vertical-info__info-description\">\n <p class=\"vertical-info__title\">{{ ndInfoList.title }}</p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"ndInfoList.description\"\n ></div>\n <ul class=\"vertical-info__list\">\n @for (item of ndInfoList.items; track $index) {\n <li>\n {{ item.title || item.name }}\n <span class=\"vertical-info__price\"\n >{{ item.price\n }}{{ item.currency || '\u20AC' }}</span\n >\n </li>\n }\n </ul>\n </div>\n }\n @if (infoButton) {\n <div class=\"vertical-info__book\">\n @if (infoButton.title) {\n <p class=\"vertical-info__title\">\n {{ infoButton.title }}\n </p>\n }\n @if (infoButton.description) {\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"infoButton.description\"\n ></div>\n }\n @if (infoButton.button) {\n <button\n class=\"btn btn__primary--outline\"\n [attr.aria-label]=\"infoButton.button.label\"\n >\n {{ infoButton.button.label }}\n </button>\n }\n </div>\n }\n <div class=\"vertical-info__separator\"></div>\n @if (extraTitle && extraDescription) {\n <div class=\"vertical-info__additional\">\n <p class=\"vertical-info__small-title\">{{ extraTitle }}</p>\n\n <div>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"extraDescription\"\n ></div>\n </div>\n </div>\n }\n <!-- @if (location) {\n <div\n class=\"vertical-info__additional vertical-info__additional--location\"\n >\n <p class=\"vertical-info__small-title\">\n {{ location.title }}\n </p>\n <div\n class=\"vertical-info__description\"\n [innerHTML]=\"location.description\"\n ></div>\n </div>\n\n @if (location.button) {\n <a\n [href]=\"location.button.url\"\n [linkType]=\"location.button.linkType\"\n class=\"btn btn__primary--outline vertical-info__btn-map\"\n [attr.aria-label]=\"location.button.label\"\n >{{ location.button.label }}</a\n >\n }\n } -->\n </div>\n </div>\n</section>\n" }]
|
|
41
41
|
}], ctorParameters: () => [{ type: Object, decorators: [{
|
|
42
42
|
type: Inject,
|
|
43
43
|
args: [PLATFORM_ID]
|
|
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
102
102
|
}], btnBookClick: [{
|
|
103
103
|
type: Output
|
|
104
104
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby12ZXJ0aWNhbC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tdmVydGljYWwtaW5mby9wdXJvLXZlcnRpY2FsLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby12ZXJ0aWNhbC1pbmZvL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHFCQUFxQixHQUN4QixNQUFNLGtCQUFrQixDQUFDOztBQWUxQixNQUFNLE9BQU8seUJBQXlCO0lBaUNsQyxZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRmpELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVrQixDQUFDO0lBRS9ELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxPQUFPLGdEQUFnRCxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsT0FBTyx3Q0FBd0MsR0FBRyxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sdURBQXVELEdBQUcsRUFBRSxDQUFDO0lBQ3hFLENBQUM7K0dBMURRLHlCQUF5QixrQkFpQ2QsV0FBVzttR0FqQ3RCLHlCQUF5QixteUJDNUJ0QyxtOGFBOFRBLHlERDFTUSxZQUFZLCtCQUNaLDZCQUE2QixxREFDN0IscUJBQXFCOzs0RkFNaEIseUJBQXlCO2tCQVpyQyxTQUFTOytCQUNJLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWiw2QkFBNkI7d0JBQzdCLHFCQUFxQjtxQkFDeEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQW1DbEMsTUFBTTsyQkFBQyxXQUFXO3lDQWhDdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby12ZXJ0aWNhbC1pbmZvJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9WZXJ0aWNhbEluZm9Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRhZz86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBwcmljZT86IG51bWJlcjtcbiAgICBASW5wdXQoKSBmcm9tPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRvPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRpc2NvdW50PzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGN1cnJlbmN5Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGltZz86IFB1cm9JbWFnZUk7XG4gICAgQElucHV0KCkgc29jaWFsVGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29udGFjdFRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dHJhVGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0cmFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBASW5wdXQoKSBmaWxlVGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbG9jYXRpb24/OiBQdXJvVmVydGljYWxJbmZvTG9jYXRpb247XG4gICAgQElucHV0KCkgaW50cm8/OiBQdXJvVmVydGljYWxJbmZvSW50cm9bXTtcbiAgICBASW5wdXQoKSBpbmZvTGlzdD86IFB1cm9WZXJ0aWNhbEluZm9MaXN0O1xuICAgIEBJbnB1dCgpIGltZ0xpc3Q/OiBQdXJvVmVydGljYWxJbmZvSW1hZ2VMaXN0O1xuICAgIEBJbnB1dCgpIG5kSW5mb0xpc3Q/OiBQdXJvVmVydGljYWxJbmZvTmRMaXN0O1xuICAgIEBJbnB1dCgpIGluZm9CdXR0b24/OiBQdXJvVmVydGljYWxJbmZvV2l0aEJ1dHRvbjtcbiAgICBASW5wdXQoKSBjb250YWN0TGlua3M/OiBQdXJvQnV0dG9uSVtdO1xuICAgIEBJbnB1dCgpIGJ1dHRvbkJvb2s/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBidXR0b25HdWVzdHM/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBwZGZMaW5rPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgYnV0dG9uU3Vic2NyaWJlPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgYnV0dG9uQmFjaz86IFB1cm9CdXR0b25JO1xuICAgIEBJbnB1dCgpIHNvY2lhbE1lZGlhPzogUHVyb1ZlcnRpY2FsSW5mb1NvY2lhbE1lZGlhSXRlbVtdO1xuICAgIEBJbnB1dCgpIGhvdGVsTmFtZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKSBidG5Cb29rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCkge31cblxuICAgIGdldCBzaGFyZVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGl0bGUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRVcmwoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gJyc7XG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICB9XG5cbiAgICBnZXQgZmFjZWJvb2tTaGFyZVVybCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB1cmwgPSBlbmNvZGVVUkkodGhpcy5jdXJyZW50VXJsKTtcbiAgICAgICAgcmV0dXJuIGBodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT0ke3VybH1gO1xuICAgIH1cblxuICAgIGdldCB0d2l0dGVyU2hhcmVVcmwoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXJsID0gZW5jb2RlVVJJKHRoaXMuY3VycmVudFVybCk7XG4gICAgICAgIGNvbnN0IHRleHQgPSBlbmNvZGVVUklDb21wb25lbnQodGhpcy5zaGFyZVRleHQpO1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3VybD0ke3VybH0mdGV4dD0ke3RleHR9YDtcbiAgICB9XG5cbiAgICBnZXQgbGlua2VkaW5TaGFyZVVybCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB1cmwgPSBlbmNvZGVVUkkodGhpcy5jdXJyZW50VXJsKTtcbiAgICAgICAgcmV0dXJuIGBodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmluZy9zaGFyZS1vZmZzaXRlLz91cmw9JHt1cmx9YDtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb0xvY2F0aW9uIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb0ludHJvIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb0xpc3Qge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGl0ZW1zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb0ltYWdlTGlzdCB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgaXRlbXM/OiBQdXJvVmVydGljYWxJbmZvSW1hZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb0ltYWdlIHtcbiAgICBpbWFnZT86IFB1cm9JbWFnZUk7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb05kTGlzdCB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgaXRlbXM/OiBQdXJvVmVydGljYWxJbmZvTmRbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb05kIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHByaWNlPzogbnVtYmVyO1xuICAgIGN1cnJlbmN5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9WZXJ0aWNhbEluZm9XaXRoQnV0dG9uIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBidXR0b24/OiBQdXJvQnV0dG9uSTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvU29jaWFsTWVkaWFJdGVtIHtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwidmVydGljYWwtaW5mbyBnZW5lcmFsTWFyZ2luXCI+XG4gICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2xlZnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19tYWluXCI+XG4gICAgICAgICAgICAgICAgQGlmIChwcmV0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3ByZXRpdGxlXCI+e3sgcHJldGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uQmFjaykge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uQmFjay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lIHZlcnRpY2FsLWluZm9fX2J0bi1iYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQmFjay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgYnV0dG9uQmFjay5sYWJlbCB9fTwvYVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodGFnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3RhZ1wiPnt7IHRhZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX190aXRsZVwiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKHN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zdWJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJzdWJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIFRPRE86IGFkZCBkaXNjb3VudCAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fYm94ZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2JveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmcm9tKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19mcm9tXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZyb20gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHByaWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19wcmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmljZSB9fXt7IGN1cnJlbmN5IHx8ICfigqwnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fcHBcIj5Qb3IgcGVyc29uYTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZGlzY291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19wcmljZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGlzY291bnQgfX0lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGJ1dHRvblN1YnNjcmliZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b25TdWJzY3JpYmUudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2J0biBidG4gYnRuX19wcmltYXJ5LS1vdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvblN1YnNjcmliZS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgYnV0dG9uU3Vic2NyaWJlLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBAaWYgKGludHJvKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19kYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGludHJvOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uR3Vlc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b25HdWVzdHMudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZSB2ZXJ0aWNhbC1pbmZvX19idG4tZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkd1ZXN0cy5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgYnV0dG9uR3Vlc3RzLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b25Cb29rKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uQm9vay5saW5rVHlwZSA9PSAnY29tcG9uZW50X2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJidG5Cb29rQ2xpY2suZW1pdChob3RlbE5hbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnkgdmVydGljYWwtaW5mb19fYnRuLWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQm9vay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGJ1dHRvbkJvb2subGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGJ1dHRvbkJvb2subGlua1R5cGUgIT0gJ2NvbXBvbmVudF9saW5rJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b25Cb29rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5IHZlcnRpY2FsLWluZm9fX2J0bi1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkJvb2subGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBidXR0b25Cb29rLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgQGlmIChpbWcpIHtcbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19faW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImltZy5hbHRcIlxuICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjQzMVwiXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjUzMVwiXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fcmlnaHRcIj5cbiAgICAgICAgICAgIEBpZiAoaW5mb0xpc3QpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19faW5mby1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3RpdGxlXCI+e3sgaW5mb0xpc3QudGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpbmZvTGlzdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmVydGljYWwtaW5mb19fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpbmZvTGlzdC5pdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7IGl0ZW0gfX08L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpbWdMaXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NjaGVkdWxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fdGl0bGVcIj57eyBpbWdMaXN0LnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19pbWctbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpbWdMaXN0Lml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fcGVyZm9ybWFuY2UtaW1nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0uaW1hZ2Uuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1hZ2UuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjc3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI3N1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zbWFsbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChuZEluZm9MaXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2luZm8tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX190aXRsZVwiPnt7IG5kSW5mb0xpc3QudGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJuZEluZm9MaXN0LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG5kSW5mb0xpc3QuaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB8fCBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19wcmljZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgaXRlbS5wcmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX17eyBpdGVtLmN1cnJlbmN5IHx8ICfigqwnIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpbmZvQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Jvb2tcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpbmZvQnV0dG9uLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5mb0J1dHRvbi50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaW5mb0J1dHRvbi5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaW5mb0J1dHRvbi5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpbmZvQnV0dG9uLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpbmZvQnV0dG9uLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5mb0J1dHRvbi5idXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICBAaWYgKHNvY2lhbFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NvY2lhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NtYWxsLXRpdGxlXCI+e3sgc29jaWFsVGl0bGUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19tZWRpYVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJmYWNlYm9va1NoYXJlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ29tcGFydGlyIGVuIEZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNoYXJlLWZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb24tNVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwidHdpdHRlclNoYXJlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ29tcGFydGlyIGVuIFhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhcmUtdHdpdHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxpbmtlZGluU2hhcmVVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJDb21wYXJ0aXIgZW4gTGlua2VkSW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhcmUtbGlua2VkaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbi0yXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoY29udGFjdFRpdGxlICYmIGNvbnRhY3RMaW5rcykge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19hZGRpdGlvbmFsIHZlcnRpY2FsLWluZm9fX2FkZGl0aW9uYWwtLWNvbnRhY3RcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zbWFsbC10aXRsZVwiPnt7IGNvbnRhY3RUaXRsZSB9fTwvcD5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgY29udGFjdExpbmtzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJsaW5rLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChleHRyYVRpdGxlICYmIGV4dHJhRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fYWRkaXRpb25hbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NtYWxsLXRpdGxlXCI+e3sgZXh0cmFUaXRsZSB9fTwvcD5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZXh0cmFEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChsb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19hZGRpdGlvbmFsIHZlcnRpY2FsLWluZm9fX2FkZGl0aW9uYWwtLWxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxvY2F0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImxvY2F0aW9uLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgQGlmIChsb2NhdGlvbi5idXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImxvY2F0aW9uLmJ1dHRvbi51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxvY2F0aW9uLmJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmUgdmVydGljYWwtaW5mb19fYnRuLW1hcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxvY2F0aW9uLmJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgbG9jYXRpb24uYnV0dG9uLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHBkZkxpbmspIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fYWRkaXRpb25hbCB2ZXJ0aWNhbC1pbmZvX19hZGRpdGlvbmFsLS1sb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGVUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zbWFsbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbGVUaXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJwZGZMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIGxpbmtUeXBlPVwiZXh0ZXJuYWxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicGRmTGluay5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgID57eyBwZGZMaW5rLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby12ZXJ0aWNhbC1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tdmVydGljYWwtaW5mby9wdXJvLXZlcnRpY2FsLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHVyby9zcmMvbGliL2NvbXBvbmVudHMvcHVyby12ZXJ0aWNhbC1pbmZvL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHFCQUFxQixHQUN4QixNQUFNLGtCQUFrQixDQUFDOztBQWUxQixNQUFNLE9BQU8seUJBQXlCO0lBaUNsQyxZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRmpELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVrQixDQUFDO0lBRS9ELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxPQUFPLGdEQUFnRCxHQUFHLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2YsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsT0FBTyx3Q0FBd0MsR0FBRyxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sdURBQXVELEdBQUcsRUFBRSxDQUFDO0lBQ3hFLENBQUM7K0dBMURRLHlCQUF5QixrQkFpQ2QsV0FBVzttR0FqQ3RCLHlCQUF5QixteUJDNUJ0Qyw4NGJBaVVBLHlERDdTUSxZQUFZLCtCQUNaLDZCQUE2QixxREFDN0IscUJBQXFCOzs0RkFNaEIseUJBQXlCO2tCQVpyQyxTQUFTOytCQUNJLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWiw2QkFBNkI7d0JBQzdCLHFCQUFxQjtxQkFDeEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQW1DbEMsTUFBTTsyQkFBQyxXQUFXO3lDQWhDdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICBQdXJvTGlua1R5cGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgUHVyb0J1dHRvbkksIFB1cm9JbWFnZUkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItcHVyby12ZXJ0aWNhbC1pbmZvJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBdXRvSW1hZ2Vab29tV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgUHVyb0xpbmtUeXBlRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFB1cm9WZXJ0aWNhbEluZm9Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHRhZz86IHN0cmluZztcbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBwcmljZT86IFB1cm9QcmljZUl0ZW1JO1xuICAgIEBJbnB1dCgpIGZyb20/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdG8/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGlzY291bnQ/OiBudW1iZXI7XG4gICAgQElucHV0KCkgY3VycmVuY3k/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaW1nPzogUHVyb0ltYWdlSTtcbiAgICBASW5wdXQoKSBzb2NpYWxUaXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBjb250YWN0VGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0cmFUaXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBleHRyYURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbGVUaXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2NhdGlvbj86IFB1cm9WZXJ0aWNhbEluZm9Mb2NhdGlvbjtcbiAgICBASW5wdXQoKSBpbnRybz86IFB1cm9WZXJ0aWNhbEluZm9JbnRyb1tdO1xuICAgIEBJbnB1dCgpIGluZm9MaXN0PzogUHVyb1ZlcnRpY2FsSW5mb0xpc3Q7XG4gICAgQElucHV0KCkgaW1nTGlzdD86IFB1cm9WZXJ0aWNhbEluZm9JbWFnZUxpc3Q7XG4gICAgQElucHV0KCkgbmRJbmZvTGlzdD86IFB1cm9WZXJ0aWNhbEluZm9OZExpc3Q7XG4gICAgQElucHV0KCkgaW5mb0J1dHRvbj86IFB1cm9WZXJ0aWNhbEluZm9XaXRoQnV0dG9uO1xuICAgIEBJbnB1dCgpIGNvbnRhY3RMaW5rcz86IFB1cm9CdXR0b25JW107XG4gICAgQElucHV0KCkgYnV0dG9uQm9vaz86IFB1cm9CdXR0b25JO1xuICAgIEBJbnB1dCgpIGJ1dHRvbkd1ZXN0cz86IFB1cm9CdXR0b25JO1xuICAgIEBJbnB1dCgpIHBkZkxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBidXR0b25TdWJzY3JpYmU/OiBQdXJvQnV0dG9uSTtcbiAgICBASW5wdXQoKSBidXR0b25CYWNrPzogUHVyb0J1dHRvbkk7XG4gICAgQElucHV0KCkgc29jaWFsTWVkaWE/OiBQdXJvVmVydGljYWxJbmZvU29jaWFsTWVkaWFJdGVtW107XG4gICAgQElucHV0KCkgaG90ZWxOYW1lPzogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIGJ0bkJvb2tDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0KSB7fVxuXG4gICAgZ2V0IHNoYXJlVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50aXRsZSA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudFVybCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgIH1cblxuICAgIGdldCBmYWNlYm9va1NoYXJlVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IGVuY29kZVVSSSh0aGlzLmN1cnJlbnRVcmwpO1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocD91PSR7dXJsfWA7XG4gICAgfVxuXG4gICAgZ2V0IHR3aXR0ZXJTaGFyZVVybCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB1cmwgPSBlbmNvZGVVUkkodGhpcy5jdXJyZW50VXJsKTtcbiAgICAgICAgY29uc3QgdGV4dCA9IGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLnNoYXJlVGV4dCk7XG4gICAgICAgIHJldHVybiBgaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSR7dXJsfSZ0ZXh0PSR7dGV4dH1gO1xuICAgIH1cblxuICAgIGdldCBsaW5rZWRpblNoYXJlVXJsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IGVuY29kZVVSSSh0aGlzLmN1cnJlbnRVcmwpO1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaGFyaW5nL3NoYXJlLW9mZnNpdGUvP3VybD0ke3VybH1gO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvTG9jYXRpb24ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvSW50cm8ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvTGlzdCB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgaXRlbXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvSW1hZ2VMaXN0IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpdGVtcz86IFB1cm9WZXJ0aWNhbEluZm9JbWFnZVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvSW1hZ2Uge1xuICAgIGltYWdlPzogUHVyb0ltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvTmRMaXN0IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpdGVtcz86IFB1cm9WZXJ0aWNhbEluZm9OZFtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBQdXJvVmVydGljYWxJbmZvTmQge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgcHJpY2U/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVyb1ZlcnRpY2FsSW5mb1dpdGhCdXR0b24ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGJ1dHRvbj86IFB1cm9CdXR0b25JO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9WZXJ0aWNhbEluZm9Tb2NpYWxNZWRpYUl0ZW0ge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9QcmljZUl0ZW1Je1xuICAgIHZhbHVlPzogbnVtYmVyO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvIGdlbmVyYWxNYXJnaW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fbGVmdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX21haW5cIj5cbiAgICAgICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fcHJldGl0bGVcIj57eyBwcmV0aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b25CYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJidXR0b25CYWNrLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmUgdmVydGljYWwtaW5mb19fYnRuLWJhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25CYWNrLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID57eyBidXR0b25CYWNrLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgQGlmICh0YWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmVydGljYWwtaW5mb19fdGFnXCI+e3sgdGFnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3RpdGxlXCI+e3sgdGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3N1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwhLS0gVE9ETzogYWRkIGRpc2NvdW50IC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19ib3hlc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZyb20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Zyb21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZnJvbSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAocHJpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3ByaWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByaWNlLnZhbHVlIH19e3sgY3VycmVuY3kgfHwgJ+KCrCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19wcFwiPnt7IHByaWNlLmxhYmVsIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChkaXNjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3ByaWNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkaXNjb3VudCB9fSVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uU3Vic2NyaWJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvblN1YnNjcmliZS51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fYnRuIGJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uU3Vic2NyaWJlLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBidXR0b25TdWJzY3JpYmUubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAoaW50cm8pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2RhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaW50cm87IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zbWFsbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHNvY2lhbFRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zb2NpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzb2NpYWxUaXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX21lZGlhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZmFjZWJvb2tTaGFyZVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNvbXBhcnRpciBlbiBGYWNlYm9va1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2hhcmUtZmFjZWJvb2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLTVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cInR3aXR0ZXJTaGFyZVVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNvbXBhcnRpciBlbiBYXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFyZS10d2l0dGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbi00XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJsaW5rZWRpblNoYXJlVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ29tcGFydGlyIGVuIExpbmtlZEluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzaGFyZS1saW5rZWRpblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb24tMlwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoY29udGFjdFRpdGxlICYmIGNvbnRhY3RMaW5rcykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2FkZGl0aW9uYWwgdmVydGljYWwtaW5mb19fYWRkaXRpb25hbC0tY29udGFjdFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjb250YWN0VGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2xpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBjb250YWN0TGlua3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImxpbmsubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBsaW5rLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAocGRmTGluayAmJiBwZGZMaW5rLnVybCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2FkZGl0aW9uYWwgdmVydGljYWwtaW5mb19fYWRkaXRpb25hbC0tbG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGVUaXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsZVRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwicGRmTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua1R5cGU9XCJleHRlcm5hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bl9fbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInBkZkxpbmsubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHBkZkxpbmsubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGJ1dHRvbkd1ZXN0cykge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uR3Vlc3RzLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmUgdmVydGljYWwtaW5mb19fYnRuLWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25HdWVzdHMubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGJ1dHRvbkd1ZXN0cy5sYWJlbCB9fTwvYVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uQm9vaykge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKGJ1dHRvbkJvb2subGlua1R5cGUgPT0gJ2NvbXBvbmVudF9saW5rJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnRuQm9va0NsaWNrLmVtaXQoaG90ZWxOYW1lKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5IHZlcnRpY2FsLWluZm9fX2J0bi1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkJvb2subGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBidXR0b25Cb29rLmxhYmVsIH19PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChidXR0b25Cb29rLmxpbmtUeXBlICE9ICdjb21wb25lbnRfbGluaycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uQm9vay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeSB2ZXJ0aWNhbC1pbmZvX19idG4tZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25Cb29rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgYnV0dG9uQm9vay5sYWJlbCB9fTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIEBpZiAoaW1nKSB7XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2ltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI0MzFcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1MzFcIlxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3JpZ2h0XCI+XG4gICAgICAgICAgICBAaWYgKGluZm9MaXN0KSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2luZm8tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX190aXRsZVwiPnt7IGluZm9MaXN0LnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaW5mb0xpc3QuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaW5mb0xpc3QuaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57eyBpdGVtIH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaW1nTGlzdCAmJiBpbWdMaXN0Lml0ZW1zICYmIGltZ0xpc3QuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zY2hlZHVsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3RpdGxlXCI+e3sgaW1nTGlzdC50aXRsZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmVydGljYWwtaW5mb19faW1nLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaW1nTGlzdC5pdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3BlcmZvcm1hbmNlLWltZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltYWdlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJpdGVtLmltYWdlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3N1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNzdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fc21hbGwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobmRJbmZvTGlzdCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19pbmZvLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmVydGljYWwtaW5mb19fdGl0bGVcIj57eyBuZEluZm9MaXN0LnRpdGxlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibmRJbmZvTGlzdC5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmVydGljYWwtaW5mb19fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBuZEluZm9MaXN0Lml0ZW1zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfHwgaXRlbS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmVydGljYWwtaW5mb19fcHJpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGl0ZW0ucHJpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19e3sgaXRlbS5jdXJyZW5jeSB8fCAn4oKsJyB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaW5mb0J1dHRvbikge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19ib29rXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaW5mb0J1dHRvbi50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGluZm9CdXR0b24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYgKGluZm9CdXR0b24uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImluZm9CdXR0b24uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaW5mb0J1dHRvbi5idXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3ByaW1hcnktLW91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaW5mb0J1dHRvbi5idXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGluZm9CdXR0b24uYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICAgICAgQGlmIChleHRyYVRpdGxlICYmIGV4dHJhRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtaW5mb19fYWRkaXRpb25hbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZlcnRpY2FsLWluZm9fX3NtYWxsLXRpdGxlXCI+e3sgZXh0cmFUaXRsZSB9fTwvcD5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmVydGljYWwtaW5mb19fZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZXh0cmFEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPCEtLSBAaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2FkZGl0aW9uYWwgdmVydGljYWwtaW5mb19fYWRkaXRpb25hbC0tbG9jYXRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2ZXJ0aWNhbC1pbmZvX19zbWFsbC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgbG9jYXRpb24udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZlcnRpY2FsLWluZm9fX2Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwibG9jYXRpb24uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGxvY2F0aW9uLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibG9jYXRpb24uYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwibG9jYXRpb24uYnV0dG9uLmxpbmtUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeS0tb3V0bGluZSB2ZXJ0aWNhbC1pbmZvX19idG4tbWFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibG9jYXRpb24uYnV0dG9uLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID57eyBsb2NhdGlvbi5idXR0b24ubGFiZWwgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyby12ZXJ0aWNhbC1pbmZvLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3B1cm8vc3JjL2xpYi9jb21wb25lbnRzL3B1cm8tdmVydGljYWwtaW5mby9wdXJvLXZlcnRpY2FsLWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQdXJvQnV0dG9uSSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBQdXJvUHJpY2VJdGVtSSxcbiAgICBQdXJvVmVydGljYWxJbmZvSW1hZ2VMaXN0LFxuICAgIFB1cm9WZXJ0aWNhbEluZm9JbnRybyxcbiAgICBQdXJvVmVydGljYWxJbmZvTGlzdCxcbiAgICBQdXJvVmVydGljYWxJbmZvTG9jYXRpb24sXG4gICAgUHVyb1ZlcnRpY2FsSW5mb05kTGlzdCxcbiAgICBQdXJvVmVydGljYWxJbmZvU29jaWFsTWVkaWFJdGVtLFxuICAgIFB1cm9WZXJ0aWNhbEluZm9XaXRoQnV0dG9uLFxufSBmcm9tICcuL3B1cm8tdmVydGljYWwtaW5mby5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFB1cm9WZXJ0aWNhbEluZm9JIHtcbiAgICBwcmV0aXRsZT86IHN0cmluZztcbiAgICB0YWc/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgZnJvbT86IHN0cmluZztcbiAgICB0bz86IHN0cmluZztcbiAgICBwcmljZT86IFB1cm9QcmljZUl0ZW1JO1xuICAgIGRpc2NvdW50PzogbnVtYmVyLFxuICAgIGN1cnJlbmN5Pzogc3RyaW5nO1xuICAgIGltZz86IHN0cmluZztcbiAgICBzb2NpYWxUaXRsZT86IHN0cmluZztcbiAgICBjb250YWN0VGl0bGU/OiBzdHJpbmc7XG4gICAgZXh0cmFUaXRsZT86IHN0cmluZztcbiAgICBleHRyYURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGZpbGVUaXRsZT86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IFB1cm9WZXJ0aWNhbEluZm9Mb2NhdGlvbjtcbiAgICBpbmZvQnV0dG9uPzogUHVyb1ZlcnRpY2FsSW5mb1dpdGhCdXR0b247XG4gICAgaW50cm8/OiBQdXJvVmVydGljYWxJbmZvSW50cm9bXTtcbiAgICBpbmZvTGlzdD86IFB1cm9WZXJ0aWNhbEluZm9MaXN0O1xuICAgIHNvY2lhbE1lZGlhPzogUHVyb1ZlcnRpY2FsSW5mb1NvY2lhbE1lZGlhSXRlbVtdO1xuICAgIGltZ0xpc3Q/OiBQdXJvVmVydGljYWxJbmZvSW1hZ2VMaXN0O1xuICAgIG5kSW5mb0xpc3Q/OiBQdXJvVmVydGljYWxJbmZvTmRMaXN0O1xuICAgIGNvbnRhY3RMaW5rcz86IFB1cm9CdXR0b25JW107XG4gICAgYnV0dG9uQm9vaz86IFB1cm9CdXR0b25JO1xuICAgIGJ1dHRvbkd1ZXN0cz86IFB1cm9CdXR0b25JO1xuICAgIHBkZkxpbms/OiBQdXJvQnV0dG9uSTtcbiAgICBidXR0b25TdWJzY3JpYmU/OiBQdXJvQnV0dG9uSTtcbiAgICBidXR0b25CYWNrPzogUHVyb0J1dHRvbkk7XG4gICAgaG90ZWxOYW1lPzogc3RyaW5nO1xufVxuIl19
|