ctt-babylon 0.18.49 → 0.18.50
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.
|
@@ -38,14 +38,6 @@ export class LisC2ImgTxtCtaV4Component {
|
|
|
38
38
|
if (found) {
|
|
39
39
|
this.selectedDestination = found;
|
|
40
40
|
this.updateFilteredItems();
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
// Si no encuentra en destinationOptions, buscar en los items por country
|
|
44
|
-
const itemWithCountry = this.items?.find((item) => item.country?.toLowerCase().trim() === normalizedName);
|
|
45
|
-
if (itemWithCountry && itemWithCountry.country) {
|
|
46
|
-
// Filtrar directamente por country aunque no exista en destinationOptions
|
|
47
|
-
this.selectedDestination = itemWithCountry.country;
|
|
48
|
-
this.updateFilteredItems();
|
|
49
41
|
}
|
|
50
42
|
}
|
|
51
43
|
/**
|
|
@@ -155,27 +147,13 @@ export class LisC2ImgTxtCtaV4Component {
|
|
|
155
147
|
return normalizeGlobalItems(this._filteredItemsRaw);
|
|
156
148
|
}
|
|
157
149
|
updateFilteredItems() {
|
|
158
|
-
|
|
150
|
+
const items = filteredItems({
|
|
159
151
|
items: this.items ?? [],
|
|
160
152
|
selectedHotelType: this.selectedHotelType,
|
|
161
153
|
selectedDestination: this.selectedDestination,
|
|
162
154
|
selectedBrand: this.selectedBrand,
|
|
163
155
|
additional1LikeMarca: this.additional1LikeMarca ?? false,
|
|
164
156
|
});
|
|
165
|
-
// Si hay destinationSelected y no tiene resultados, intentar filtrar por country
|
|
166
|
-
if (this.selectedDestination && items.length === 0 && this.items) {
|
|
167
|
-
items = this.items.filter((item) => {
|
|
168
|
-
const hotelTypeOk = !this.selectedHotelType ||
|
|
169
|
-
item?.hoteltype === this.selectedHotelType;
|
|
170
|
-
const destinationOk = !this.selectedDestination ||
|
|
171
|
-
item.country?.toLowerCase().trim() ===
|
|
172
|
-
this.selectedDestination.toLowerCase().trim();
|
|
173
|
-
const brandOk = !this.selectedBrand ||
|
|
174
|
-
Utils.toSlug(getItemBrand(item, this.additional1LikeMarca ?? false)) ===
|
|
175
|
-
Utils.toSlug(this.selectedBrand);
|
|
176
|
-
return hotelTypeOk && destinationOk && brandOk;
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
157
|
this._filteredItemsRaw = items;
|
|
180
158
|
this.cdr.markForCheck();
|
|
181
159
|
}
|
|
@@ -214,7 +192,7 @@ export class LisC2ImgTxtCtaV4Component {
|
|
|
214
192
|
return index;
|
|
215
193
|
}
|
|
216
194
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LisC2ImgTxtCtaV4Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LisC2ImgTxtCtaV4Component, isStandalone: true, selector: "lis-c2-img-txt-cta-v4", inputs: { texts: "texts", items: "items", links: "links", additional1LikeMarca: "additional1LikeMarca", showCleanFilters: "showCleanFilters", showFilters: "showFilters" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-content\">\n <div class=\"m-top\">\n <div class=\"m-left\">\n @if (texts?.title) {\n <div class=\"m-titulo\" [innerHTML]=\"texts?.title\"></div>\n }\n @if (texts?.subtitle) {\n <div class=\"m-subtitulo\" [innerHTML]=\"texts?.subtitle\"></div>\n }\n </div>\n\n @if (showFilters) {\n <div class=\"m-right\">\n <div class=\"selectors\">\n <fieldset class=\"select-field\">\n @if (texts?.marca) {\n <legend>{{ texts?.marca }}</legend>\n }\n <select\n [(ngModel)]=\"selectedBrand\"\n (ngModelChange)=\"onBrandChange($event)\"\n >\n <option value=\"\">{{ texts?.marca }}</option>\n @for (opt of brandOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n\n <fieldset class=\"select-field\">\n @if (texts?.destinations) {\n <legend>{{ texts?.destinations }}</legend>\n }\n <select\n [(ngModel)]=\"selectedDestination\"\n (ngModelChange)=\"onDestinationChange($event)\"\n >\n <option value=\"\">{{ texts?.destinations }}</option>\n @for (opt of destinationOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-item m-open\">\n <div class=\"m-listado\">\n @for (item of filteredItems; track trackOffer($index)) {\n <div class=\"m-item-list\">\n <a\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n <div class=\"m-imagen\">\n @if (\n getFirstImageByTag(tagName, item?.multimedia?.imagenes ?? []) ?? item?.multimedia?.imagenes?.[0];\n as img\n ) {\n <img\n [src]=\"img?.img?.src\"\n [attr.alt]=\"img?.img?.alt ?? (item?.texts?.title || item?.texts?.name || '')\"\n />\n }\n </div>\n\n @if (item?.texts?.title || item?.texts?.name) {\n <div\n class=\"m-titulo\"\n [innerHTML]=\"item?.texts?.title || item?.texts?.name\"\n ></div>\n }\n\n @if (item?.texts?.additional1) {\n <div\n class=\"m-subtitulo\"\n [innerHTML]=\"item?.texts?.additional1\"\n ></div>\n }\n @if (getHotelStars(item)) {\n <div class=\"m-stars\" [attr.aria-label]=\"getHotelStars(item) + ' estrellas'\">\n @for (star of getHotelStarIndexes(item); track star) {\n <svg width=\"12\" height=\"11\" viewBox=\"0 0 12 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\" fill=\"#393637\"/>\n </svg>\n }\n </div>\n }\n\n </a>\n\n <div class=\"m-buttons\">\n @if (getButtonLabel(item, 0)) {\n <a\n class=\"m-button1\"\n [href]=\"getButtonUrl(item, 0)\"\n [linkType]=\"getButtonLinkType(item, 0)\"\n >\n {{ getButtonLabel(item, 0) }}\n </a>\n }\n\n @if (getButtonLabel(item, 1)) {\n <a\n class=\"m-button2\"\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n {{ getButtonLabel(item, 1) }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n @if (!filteredItems?.length && texts?.notFound) {\n <div class=\"m-foot\">\n <div class=\"m-texto\" [innerHTML]=\"texts?.notFound\"></div>\n </div>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:0 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right{font-family:new-atten,sans-serif}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{display:flex;gap:40px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{width:21.4rem;border:2px solid #cfcfcf;border-radius:.4rem;padding:4px 16px 14px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field legend{padding:0 8px;font-size:13px;color:#393939;margin-top:-1.6rem;background-color:#fdfbf9;width:fit-content}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field select{width:100%;border:none;outline:none;font-size:14px;color:#666;background:transparent;appearance:none;cursor:pointer}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field:after{content:\"\";position:absolute;right:18px;top:57%;width:10px;height:10px;border-right:3px solid #777;border-bottom:3px solid #777;transform:translateY(-120%) rotate(45deg);pointer-events:none}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{margin-top:3rem!important;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;text-align:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list a{display:flex;flex-direction:column;align-items:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:0 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{flex-direction:column;align-items:center;text-align:center;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{flex-direction:column;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: LisC2ImgTxtCtaV4Component, isStandalone: true, selector: "lis-c2-img-txt-cta-v4", inputs: { texts: "texts", items: "items", links: "links", additional1LikeMarca: "additional1LikeMarca", showCleanFilters: "showCleanFilters", showFilters: "showFilters" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-content\">\n <div class=\"m-top\">\n <div class=\"m-left\">\n @if (texts?.title) {\n <div class=\"m-titulo\" [innerHTML]=\"texts?.title\"></div>\n }\n @if (texts?.subtitle) {\n <div class=\"m-subtitulo\" [innerHTML]=\"texts?.subtitle\"></div>\n }\n </div>\n\n @if (showFilters) {\n <div class=\"m-right\">\n <div class=\"selectors\">\n <fieldset class=\"select-field\">\n @if (texts?.marca) {\n <legend>{{ texts?.marca }}</legend>\n }\n <select\n [(ngModel)]=\"selectedBrand\"\n (ngModelChange)=\"onBrandChange($event)\"\n >\n <option value=\"\">{{ texts?.marca }}</option>\n @for (opt of brandOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n\n <fieldset class=\"select-field\">\n @if (texts?.destinations) {\n <legend>{{ texts?.destinations }}</legend>\n }\n <select\n [(ngModel)]=\"selectedDestination\"\n (ngModelChange)=\"onDestinationChange($event)\"\n >\n <option value=\"\">{{ texts?.destinations }}</option>\n @for (opt of destinationOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-item m-open\">\n <div class=\"m-listado\">\n @for (item of filteredItems; track trackOffer($index)) {\n <div class=\"m-item-list\">\n <a\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n <div class=\"m-imagen\">\n @if (\n getFirstImageByTag(tagName, item?.multimedia?.imagenes ?? []) ?? item?.multimedia?.imagenes?.[0];\n as img\n ) {\n <img\n [src]=\"img?.img?.src\"\n [attr.alt]=\"img?.img?.alt ?? (item?.texts?.title || item?.texts?.name || '')\"\n />\n }\n </div>\n\n @if (item?.texts?.title || item?.texts?.name) {\n <div\n class=\"m-titulo\"\n [innerHTML]=\"item?.texts?.title || item?.texts?.name\"\n ></div>\n }\n\n @if (item?.texts?.additional1) {\n <div\n class=\"m-subtitulo\"\n [innerHTML]=\"item?.texts?.additional1\"\n ></div>\n }\n @if (getHotelStars(item)) {\n <div class=\"m-stars\" [attr.aria-label]=\"getHotelStars(item) + ' estrellas'\">\n @for (star of getHotelStarIndexes(item); track star) {\n <svg width=\"12\" height=\"11\" viewBox=\"0 0 12 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\" fill=\"#393637\"/>\n </svg>\n }\n </div>\n }\n\n </a>\n\n <div class=\"m-buttons\">\n @if (getButtonLabel(item, 0)) {\n <a\n class=\"m-button1\"\n [href]=\"getButtonUrl(item, 0)\"\n [linkType]=\"getButtonLinkType(item, 0)\"\n >\n {{ getButtonLabel(item, 0) }}\n </a>\n }\n\n @if (getButtonLabel(item, 1)) {\n <a\n class=\"m-button2\"\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n {{ getButtonLabel(item, 1) }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n @if (!filteredItems?.length && texts?.notFound) {\n <div class=\"m-foot\">\n <div class=\"m-texto\" [innerHTML]=\"texts?.notFound\"></div>\n </div>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:0 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right{font-family:new-atten,sans-serif}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{display:flex;gap:40px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{font-family:new-atten,sans-serif;width:21.4rem;border:2px solid #cfcfcf;border-radius:.4rem;padding:4px 16px 14px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field legend{font-family:new-atten,sans-serif;padding:0 8px;font-size:13px;color:#393939;margin-top:-1.6rem;background-color:#fdfbf9;width:fit-content}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field select{font-family:new-atten,sans-serif;width:100%;border:none;outline:none;font-size:14px;color:#666;background:transparent;appearance:none;cursor:pointer}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{font-family:new-atten,sans-serif;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field:after{font-family:new-atten,sans-serif;content:\"\";position:absolute;right:18px;top:57%;width:10px;height:10px;border-right:3px solid #777;border-bottom:3px solid #777;transform:translateY(-120%) rotate(45deg);pointer-events:none}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{margin-top:3rem!important;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;text-align:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list a{display:flex;flex-direction:column;align-items:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:0 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{flex-direction:column;align-items:center;text-align:center;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{flex-direction:column;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup", "disablePointerNone"], outputs: ["anchorClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
218
196
|
}
|
|
219
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LisC2ImgTxtCtaV4Component, decorators: [{
|
|
220
198
|
type: Component,
|
|
@@ -223,7 +201,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
223
201
|
BabylonLinkTypeDirective,
|
|
224
202
|
BabylonCurrencyPipe,
|
|
225
203
|
FormsModule,
|
|
226
|
-
], encapsulation: ViewEncapsulation.Emulated, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-content\">\n <div class=\"m-top\">\n <div class=\"m-left\">\n @if (texts?.title) {\n <div class=\"m-titulo\" [innerHTML]=\"texts?.title\"></div>\n }\n @if (texts?.subtitle) {\n <div class=\"m-subtitulo\" [innerHTML]=\"texts?.subtitle\"></div>\n }\n </div>\n\n @if (showFilters) {\n <div class=\"m-right\">\n <div class=\"selectors\">\n <fieldset class=\"select-field\">\n @if (texts?.marca) {\n <legend>{{ texts?.marca }}</legend>\n }\n <select\n [(ngModel)]=\"selectedBrand\"\n (ngModelChange)=\"onBrandChange($event)\"\n >\n <option value=\"\">{{ texts?.marca }}</option>\n @for (opt of brandOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n\n <fieldset class=\"select-field\">\n @if (texts?.destinations) {\n <legend>{{ texts?.destinations }}</legend>\n }\n <select\n [(ngModel)]=\"selectedDestination\"\n (ngModelChange)=\"onDestinationChange($event)\"\n >\n <option value=\"\">{{ texts?.destinations }}</option>\n @for (opt of destinationOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-item m-open\">\n <div class=\"m-listado\">\n @for (item of filteredItems; track trackOffer($index)) {\n <div class=\"m-item-list\">\n <a\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n <div class=\"m-imagen\">\n @if (\n getFirstImageByTag(tagName, item?.multimedia?.imagenes ?? []) ?? item?.multimedia?.imagenes?.[0];\n as img\n ) {\n <img\n [src]=\"img?.img?.src\"\n [attr.alt]=\"img?.img?.alt ?? (item?.texts?.title || item?.texts?.name || '')\"\n />\n }\n </div>\n\n @if (item?.texts?.title || item?.texts?.name) {\n <div\n class=\"m-titulo\"\n [innerHTML]=\"item?.texts?.title || item?.texts?.name\"\n ></div>\n }\n\n @if (item?.texts?.additional1) {\n <div\n class=\"m-subtitulo\"\n [innerHTML]=\"item?.texts?.additional1\"\n ></div>\n }\n @if (getHotelStars(item)) {\n <div class=\"m-stars\" [attr.aria-label]=\"getHotelStars(item) + ' estrellas'\">\n @for (star of getHotelStarIndexes(item); track star) {\n <svg width=\"12\" height=\"11\" viewBox=\"0 0 12 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\" fill=\"#393637\"/>\n </svg>\n }\n </div>\n }\n\n </a>\n\n <div class=\"m-buttons\">\n @if (getButtonLabel(item, 0)) {\n <a\n class=\"m-button1\"\n [href]=\"getButtonUrl(item, 0)\"\n [linkType]=\"getButtonLinkType(item, 0)\"\n >\n {{ getButtonLabel(item, 0) }}\n </a>\n }\n\n @if (getButtonLabel(item, 1)) {\n <a\n class=\"m-button2\"\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n {{ getButtonLabel(item, 1) }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n @if (!filteredItems?.length && texts?.notFound) {\n <div class=\"m-foot\">\n <div class=\"m-texto\" [innerHTML]=\"texts?.notFound\"></div>\n </div>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:0 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right{font-family:new-atten,sans-serif}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{display:flex;gap:40px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{width:21.4rem;border:2px solid #cfcfcf;border-radius:.4rem;padding:4px 16px 14px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field legend{padding:0 8px;font-size:13px;color:#393939;margin-top:-1.6rem;background-color:#fdfbf9;width:fit-content}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field select{width:100%;border:none;outline:none;font-size:14px;color:#666;background:transparent;appearance:none;cursor:pointer}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field:after{content:\"\";position:absolute;right:18px;top:57%;width:10px;height:10px;border-right:3px solid #777;border-bottom:3px solid #777;transform:translateY(-120%) rotate(45deg);pointer-events:none}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{margin-top:3rem!important;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;text-align:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list a{display:flex;flex-direction:column;align-items:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:0 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{flex-direction:column;align-items:center;text-align:center;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{flex-direction:column;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:auto}}\n"] }]
|
|
204
|
+
], encapsulation: ViewEncapsulation.Emulated, template: "<section class=\"mdl-LisC1ImgTxt\">\n <div class=\"mdl-container\">\n <div class=\"m-content\">\n <div class=\"m-top\">\n <div class=\"m-left\">\n @if (texts?.title) {\n <div class=\"m-titulo\" [innerHTML]=\"texts?.title\"></div>\n }\n @if (texts?.subtitle) {\n <div class=\"m-subtitulo\" [innerHTML]=\"texts?.subtitle\"></div>\n }\n </div>\n\n @if (showFilters) {\n <div class=\"m-right\">\n <div class=\"selectors\">\n <fieldset class=\"select-field\">\n @if (texts?.marca) {\n <legend>{{ texts?.marca }}</legend>\n }\n <select\n [(ngModel)]=\"selectedBrand\"\n (ngModelChange)=\"onBrandChange($event)\"\n >\n <option value=\"\">{{ texts?.marca }}</option>\n @for (opt of brandOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n\n <fieldset class=\"select-field\">\n @if (texts?.destinations) {\n <legend>{{ texts?.destinations }}</legend>\n }\n <select\n [(ngModel)]=\"selectedDestination\"\n (ngModelChange)=\"onDestinationChange($event)\"\n >\n <option value=\"\">{{ texts?.destinations }}</option>\n @for (opt of destinationOptions; track trackOption($index)) {\n <option [value]=\"opt\">{{ opt }}</option>\n }\n </select>\n </fieldset>\n </div>\n </div>\n }\n </div>\n\n <div class=\"m-item m-open\">\n <div class=\"m-listado\">\n @for (item of filteredItems; track trackOffer($index)) {\n <div class=\"m-item-list\">\n <a\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n <div class=\"m-imagen\">\n @if (\n getFirstImageByTag(tagName, item?.multimedia?.imagenes ?? []) ?? item?.multimedia?.imagenes?.[0];\n as img\n ) {\n <img\n [src]=\"img?.img?.src\"\n [attr.alt]=\"img?.img?.alt ?? (item?.texts?.title || item?.texts?.name || '')\"\n />\n }\n </div>\n\n @if (item?.texts?.title || item?.texts?.name) {\n <div\n class=\"m-titulo\"\n [innerHTML]=\"item?.texts?.title || item?.texts?.name\"\n ></div>\n }\n\n @if (item?.texts?.additional1) {\n <div\n class=\"m-subtitulo\"\n [innerHTML]=\"item?.texts?.additional1\"\n ></div>\n }\n @if (getHotelStars(item)) {\n <div class=\"m-stars\" [attr.aria-label]=\"getHotelStars(item) + ' estrellas'\">\n @for (star of getHotelStarIndexes(item); track star) {\n <svg width=\"12\" height=\"11\" viewBox=\"0 0 12 11\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 0L7.416 4.2H12L8.292 6.8L9.708 11L6 8.4L2.292 11L3.708 6.8L0 4.2H4.584L6 0Z\" fill=\"#393637\"/>\n </svg>\n }\n </div>\n }\n\n </a>\n\n <div class=\"m-buttons\">\n @if (getButtonLabel(item, 0)) {\n <a\n class=\"m-button1\"\n [href]=\"getButtonUrl(item, 0)\"\n [linkType]=\"getButtonLinkType(item, 0)\"\n >\n {{ getButtonLabel(item, 0) }}\n </a>\n }\n\n @if (getButtonLabel(item, 1)) {\n <a\n class=\"m-button2\"\n [href]=\"getButtonUrl(item, 1)\"\n [linkType]=\"getButtonLinkType(item, 1)\"\n >\n {{ getButtonLabel(item, 1) }}\n </a>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n @if (!filteredItems?.length && texts?.notFound) {\n <div class=\"m-foot\">\n <div class=\"m-texto\" [innerHTML]=\"texts?.notFound\"></div>\n </div>\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";html{font-size:62.5%}html body{font:14px \"\"}@media (min-width: 1921px) and (max-height: 600px){html{font-size:55.5%}}body,section{font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem}section .mdl-container{width:100%;max-width:178rem;margin:0 auto}.readmoreinit{line-height:1.6!important}@media screen and (max-width: 1200px){.readmoreinit{line-height:1.6!important}}@media screen and (max-width: 600px){.readmoreinit{line-height:1.6!important}}.read-more{display:flex;flex-direction:column;font-family:CoreSansG,sans-serif;font-size:1.5rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.4;letter-spacing:normal;color:#e6411e;text-decoration:underline;cursor:pointer;margin-top:2rem}.read-more .less{display:none}.w100{font-weight:100}.w300{font-weight:300}.w400{font-weight:400}.w500{font-weight:medium}.w600{font-weight:600}.w700{font-weight:700}.w900{font-weight:900}.italic{font-style:italic}.row{display:flex;flex-direction:row}.col{display:flex;flex-direction:column}body{cursor:default;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{color:inherit;border:0;margin:0;padding:0}a{text-size-adjust:none;-webkit-text-size-adjust:none;text-decoration:none;cursor:pointer}ul{list-style-position:outside}li{padding-left:3rem;list-style:none;position:relative}li:before{content:\"\\25cf\";position:absolute;top:0;left:0}button,mark{background:none}button,label{cursor:pointer}:focus{outline:none!important}::-moz-focus-inner{border:0}summary::-webkit-details-marker{display:none}button,input[type=submit],input[type=text]{-webkit-appearance:none}h1,h2,h3,h4,h5,h6{text-transform:none}p{width:100%}img{width:auto;height:auto;object-fit:contain}@-webkit-keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes swingV{15%{-webkit-transform:translateY(.5rem);transform:translateY(.5rem)}30%{-webkit-transform:translateY(-.5rem);transform:translateY(-.5rem)}50%{-webkit-transform:translateY(.3rem);transform:translateY(.3rem)}65%{-webkit-transform:translateY(-.3rem);transform:translateY(-.3rem)}80%{-webkit-transform:translateY(.2rem);transform:translateY(.2rem)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}@keyframes swingH{15%{-webkit-transform:translateX(.5rem);transform:translate(.5rem)}30%{-webkit-transform:translateX(-.5rem);transform:translate(-.5rem)}50%{-webkit-transform:translateX(.3rem);transform:translate(.3rem)}65%{-webkit-transform:translateX(-.3rem);transform:translate(-.3rem)}80%{-webkit-transform:translateX(.2rem);transform:translate(.2rem)}to{-webkit-transform:translateX(0);transform:translate(0)}}.fancybox__backdrop{background-color:#00000087!important}.fancybox__content{padding:0!important}.fancybox__content>.carousel__button.is-close{color:#b6b8bb!important}.fancybox__counter{display:none!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-background-clip:text;-webkit-text-fill-color:#ffffff;transition:background-color 5000s ease-in-out 0s;box-shadow:inset 0 0 20px 20px #23232329}.mdl-LisC1ImgTxt{overflow:hidden;padding-left:0!important;padding-right:0!important}.mdl-LisC1ImgTxt .mdl-container{max-width:150rem;padding:0 5rem;box-sizing:border-box}.mdl-LisC1ImgTxt .mdl-container .m-head{display:flex;justify-content:space-between;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{width:100%;max-width:52.7rem;font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{width:100%;max-width:39.1rem;font-family:new-atten,sans-serif;font-size:1.6rem;font-weight:400;line-height:2.8rem;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content{margin-top:5rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-titulo{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-left .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right{font-family:new-atten,sans-serif}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{display:flex;gap:40px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{font-family:new-atten,sans-serif;width:21.4rem;border:2px solid #cfcfcf;border-radius:.4rem;padding:4px 16px 14px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field legend{font-family:new-atten,sans-serif;padding:0 8px;font-size:13px;color:#393939;margin-top:-1.6rem;background-color:#fdfbf9;width:fit-content}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field select{font-family:new-atten,sans-serif;width:100%;border:none;outline:none;font-size:14px;color:#666;background:transparent;appearance:none;cursor:pointer}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field{font-family:new-atten,sans-serif;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .select-field:after{font-family:new-atten,sans-serif;content:\"\";position:absolute;right:18px;top:57%;width:10px;height:10px;border-right:3px solid #777;border-bottom:3px solid #777;transform:translateY(-120%) rotate(45deg);pointer-events:none}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item{margin-top:3rem!important;margin-bottom:-1px;display:flex;flex-direction:column;align-items:center;position:relative}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open{margin:1px}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item.m-open svg{transition:.5s;transform:rotate(135deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{display:flex;justify-content:space-between;align-items:center;padding:5rem 5rem 5rem 0;width:100%;position:relative;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD:hover:before{content:\"\";width:200vw;margin-left:-100vw;height:100%;position:absolute;z-index:-1}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD svg{transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-family:CoreSansG,sans-serif;font-size:8rem;font-style:normal;font-weight:700;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:6rem;line-height:5rem}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{font-size:3rem;line-height:3rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD .m-titulo{text-align:left}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado{display:flex;gap:6rem;width:100%;max-width:125rem;flex-wrap:wrap;overflow:hidden;transition:height .35s ease,opacity .25s ease;will-change:height}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:calc(50% - 3rem);display:flex;flex-direction:column;align-items:center;text-align:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list a{display:flex;flex-direction:column;align-items:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen{aspect-ratio:625/417;width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-imagen img{width:100%;height:100%;object-fit:cover;aspect-ratio:625/417}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-family:CoreSansG,sans-serif;font-size:4rem;font-style:normal;font-weight:300;line-height:5rem}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{font-size:3rem;line-height:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-subtitulo{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:12%;line-height:100%;text-transform:uppercase;color:#393637;margin-top:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars{display:flex;gap:1.7rem;margin-top:.9rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-stars svg{transform:rotate(143deg)}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{display:flex;gap:2.8rem;margin-top:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button1{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;border-radius:8rem;padding:2rem 5rem;transition:.5s;min-width:26rem;background-color:#fcdd3f;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2 span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2:hover{background-color:#f9bf10;transition:.5s}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons .m-button2{padding:2rem 8rem;min-width:auto;white-space:nowrap}.mdl-LisC1ImgTxt .mdl-container .m-foot{margin-top:5rem;display:flex;justify-content:space-between}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-family:Breathing Personal,sans-serif;font-size:6rem;font-weight:400;line-height:100%}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{font-size:4rem}}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-texto{color:#fcdd3f}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{font-family:new-atten,sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2rem;line-height:none;text-transform:uppercase;line-height:inherit!important;border-radius:8rem;border:1px solid #393637;padding:2rem 5rem;transition:.5s;min-width:26rem;display:flex;align-items:center;justify-content:center}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot span{color:#393637}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot:hover{background-color:#fcdd3f;transition:.5s;border:1px solid #FCDD3F}.mdl-LisC1ImgTxt .mdl-container .m-foot .m-buttonfoot{min-width:16rem;text-align:center}@media (max-width: 1441px){.mdl-LisC1ImgTxt .mdl-container{padding:0 2rem}}@media (max-width: 1080px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:9rem}}@media (max-width: 1200px){.mdl-LisC1ImgTxt .mdl-container .m-content .m-top{flex-direction:column;align-items:center;text-align:center;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem!important}}@media (max-width: 850px){.mdl-LisC1ImgTxt .mdl-container .m-head{flex-direction:column}.mdl-LisC1ImgTxt .mdl-container .m-head .m-left,.mdl-LisC1ImgTxt .mdl-container .m-head .m-right{max-width:60.1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-top .m-right .selectors{flex-direction:column;gap:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{margin-bottom:2rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-buttons{flex-direction:column;gap:1rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-buttonD{padding:5rem 0}.mdl-LisC1ImgTxt .mdl-container .m-foot{align-items:center}}@media (max-width: 600px){.mdl-LisC1ImgTxt .mdl-container .m-foot{flex-direction:column;gap:3rem}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list{width:100%}.mdl-LisC1ImgTxt .mdl-container .m-content .m-item .m-listado .m-item-list .m-titulo{height:auto}}\n"] }]
|
|
227
205
|
}], propDecorators: { texts: [{
|
|
228
206
|
type: Input
|
|
229
207
|
}], items: [{
|
|
@@ -237,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
237
215
|
}], showFilters: [{
|
|
238
216
|
type: Input
|
|
239
217
|
}] } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzLWMyLWltZy10eHQtY3RhLXY0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2V4dGVybmFsL2NvcmUvbGlzLWMyLWltZy10eHQtY3RhLXY0L2xpcy1jMi1pbWctdHh0LWN0YS12NC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2xpcy1jMi1pbWctdHh0LWN0YS12NC9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLEVBQStDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJB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LGFBQWEsQ0FBQyxLQUF5QjtRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0FyUVEseUJBQXlCO21HQUF6Qix5QkFBeUIsa1JDN0J0Qyx3cEpBaUlBLGd3YkQ3R1EsWUFBWSwrQkFDWix3QkFBd0Isa0tBRXhCLFdBQVc7OzRGQU1OLHlCQUF5QjtrQkFickMsU0FBUzsrQkFDSSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLFdBQVc7cUJBQ2QsaUJBR2MsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJhYnlsb25JbWFnZUksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGJ1aWxkRmlsdGVyT3B0aW9ucywgZmlsdGVyZWRJdGVtcywgZ2V0SXRlbUJyYW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZmlsdGVyLnV0aWxzJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkN1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2JhYnlsb24tY3VycmVuY3kucGlwZSc7XG5cbmltcG9ydCB7IE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhYnlsb25HbG9iYWxJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWdsb2JhbC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IG5vcm1hbGl6ZUdsb2JhbEl0ZW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplLWl0ZW1zLnV0aWxzJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpcy1jMi1pbWctdHh0LWN0YS12NCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBCYWJ5bG9uQ3VycmVuY3lQaXBlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBMaXNDMkltZ1R4dEN0YVY0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogQmFieWxvbkdsb2JhbEl0ZW1bXTtcbiAgICBASW5wdXQoKSBsaW5rcz86IEJhYnlsb25CdXR0b25JW107XG4gICAgQElucHV0KCkgYWRkaXRpb25hbDFMaWtlTWFyY2E/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0NsZWFuRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlOyAvLyB0byBzaG93IG9yIGhpZGUgZmlsdGVycyBzZWN0aW9uXG5cbiAgICB0YWdOYW1lOiBzdHJpbmcgPSAnTGlzQzJJbWdUeHRDdGFWNCc7XG5cbiAgICBzZWxlY3RlZEhvdGVsVHlwZTogc3RyaW5nID0gJyc7XG4gICAgc2VsZWN0ZWREZXN0aW5hdGlvbjogc3RyaW5nID0gJyc7XG4gICAgc2VsZWN0ZWRCcmFuZDogc3RyaW5nID0gJyc7XG5cbiAgICBob3RlbFR5cGVPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGRlc3RpbmF0aW9uT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBicmFuZE9wdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmaWx0ZXJMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgZGVzdGluYXRpb25MYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgYnJhbmRMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBxcFN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHBlbmRpbmdEZXN0aW5hdGlvbj86IHN0cmluZztcblxuICAgIC8vIEl0ZW1zIGZpbHRyYWRvcyBzaW4gbm9ybWFsaXphciAodXNhZG9zIHBhcmEgbMOzZ2ljYSlcbiAgICBwcml2YXRlIF9maWx0ZXJlZEl0ZW1zUmF3OiBCYWJ5bG9uR2xvYmFsSXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGZpbmRBbmRTZWxlY3REZXN0aW5hdGlvbihkZXN0aW5hdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IGRlc3RpbmF0aW9uTmFtZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAvLyBQcmltZXJvIGJ1c2NhciBlbiBlbCBhcnJheSBkZSBzdHJpbmdzIGRlIGRlc3Rpbm9zXG4gICAgICAgIGxldCBmb3VuZCA9IHRoaXMuZGVzdGluYXRpb25PcHRpb25zPy5maW5kKFxuICAgICAgICAgICAgKGRlc3RpbmF0aW9uKSA9PiBkZXN0aW5hdGlvbi50b0xvd2VyQ2FzZSgpLnRyaW0oKSA9PT0gbm9ybWFsaXplZE5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbiA9IGZvdW5kO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaSBubyBlbmN1ZW50cmEgZW4gZGVzdGluYXRpb25PcHRpb25zLCBidXNjYXIgZW4gbG9zIGl0ZW1zIHBvciBjb3VudHJ5XG4gICAgICAgIGNvbnN0IGl0ZW1XaXRoQ291bnRyeSA9IHRoaXMuaXRlbXM/LmZpbmQoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jb3VudHJ5Py50b0xvd2VyQ2FzZSgpLnRyaW0oKSA9PT0gbm9ybWFsaXplZE5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoaXRlbVdpdGhDb3VudHJ5ICYmIGl0ZW1XaXRoQ291bnRyeS5jb3VudHJ5KSB7XG4gICAgICAgICAgICAvLyBGaWx0cmFyIGRpcmVjdGFtZW50ZSBwb3IgY291bnRyeSBhdW5xdWUgbm8gZXhpc3RhIGVuIGRlc3RpbmF0aW9uT3B0aW9uc1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERlc3RpbmF0aW9uID0gaXRlbVdpdGhDb3VudHJ5LmNvdW50cnk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIGVsIGxhYmVsIGRlbCBib3TDs24gZW4gbGEgcG9zaWNpw7NuIGluZGV4LCBidXNjYW5kbyBlbiBpdGVtLmJ1dHRvbnNbaW5kZXhdLmxhYmVsXG4gICAgICogeSBzaSBubyBleGlzdGUsIGVuIGl0ZW0ubXVsdGltZWRpYS5pbWFnZW5lc1swXS5idXR0b25zW2luZGV4XS5sYWJlbFxuICAgICAqL1xuICAgIGdldEJ1dHRvbkxhYmVsKGl0ZW06IEJhYnlsb25HbG9iYWxJdGVtLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKGl0ZW0/LmJ1dHRvbnM/LltpbmRleF0/LmxhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbS5idXR0b25zW2luZGV4XS5sYWJlbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uYnV0dG9ucz8uW2luZGV4XT8ubGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uVXJsKGl0ZW06IEJhYnlsb25HbG9iYWxJdGVtLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuYnVpbGRNZW51VXJsKGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF0/LmJ1dHRvbnM/LltpbmRleF0pIHx8XG4gICAgICAgICAgICB0aGlzLmJ1aWxkTWVudVVybChpdGVtPy5idXR0b25zPy5baW5kZXhdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEJ1dHRvbkxpbmtUeXBlKGl0ZW06IEJhYnlsb25HbG9iYWxJdGVtLCBpbmRleDogbnVtYmVyKTogYW55IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdPy5idXR0b25zPy5baW5kZXhdPy5saW5rVHlwZSB8fFxuICAgICAgICAgICAgaXRlbT8uYnV0dG9ucz8uW2luZGV4XT8ubGlua1R5cGVcblxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEhvdGVsU3RhcnMoaXRlbTogQmFieWxvbkdsb2JhbEl0ZW0pOiBudW1iZXIge1xuICAgICAgICBjb25zdCByYXdIb3RlbENhdGVnb3J5ID0gaXRlbT8uaG90ZWxjYXRlZ29yeT8udG9TdHJpbmcoKS50cmltKCkgPz8gJyc7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gcmF3SG90ZWxDYXRlZ29yeS5tYXRjaCgvXFxkKy8pO1xuICAgICAgICBpZiAoIW1hdGNoKSByZXR1cm4gMDtcblxuICAgICAgICBjb25zdCBzdGFycyA9IE51bWJlci5wYXJzZUludChtYXRjaFswXSwgMTApO1xuICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShzdGFycykgfHwgc3RhcnMgPD0gMCkgcmV0dXJuIDA7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHN0YXJzLCA1KTtcbiAgICB9XG5cbiAgICBnZXRIb3RlbFN0YXJJbmRleGVzKGl0ZW06IEJhYnlsb25HbG9iYWxJdGVtKTogbnVtYmVyW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5nZXRIb3RlbFN0YXJzKGl0ZW0pIH0sIChfLCBpbmRleCkgPT4gaW5kZXgpO1xuICAgIH1cblxuICAgIGJ1aWxkTWVudVVybChpdGVtOiBCYWJ5bG9uQnV0dG9uSSB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgICBpZiAoIWl0ZW0/LnVybCkgcmV0dXJuICcnO1xuXG4gICAgICBjb25zdCBiYXNlVXJsID0gaXRlbS51cmwucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9IChpdGVtLnZhcnMgPz8gJycpLnRvU3RyaW5nKCkudHJpbSgpO1xuXG4gICAgICBpZiAoIWRlc3RpbmF0aW9uKSByZXR1cm4gYmFzZVVybDtcblxuICAgICAgY29uc3Qgc2x1ZyA9IFV0aWxzLnRvU2x1ZyhkZXN0aW5hdGlvbik7XG4gICAgICBpZiAoIXNsdWcpIHJldHVybiBiYXNlVXJsO1xuXG4gICAgICByZXR1cm4gYCR7YmFzZVVybH0/ZGVzdGluYXRpb25zPSR7ZGVzdGluYXRpb259YDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydpdGVtcyddKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRzID0gYnVpbGRGaWx0ZXJPcHRpb25zKFxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPz8gW10sXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsMUxpa2VNYXJjYSA/PyBmYWxzZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuaG90ZWxUeXBlT3B0aW9ucyA9IG9wdHMuaG90ZWxUeXBlT3B0aW9ucztcbiAgICAgICAgICAgIHRoaXMuZGVzdGluYXRpb25PcHRpb25zID0gb3B0cy5kZXN0aW5hdGlvbk9wdGlvbnM7XG5cbiAgICAgICAgICAgIC8vIFJlbGxlbmFyIGJyYW5kT3B0aW9ucyB1c2FuZG8gZ2V0SXRlbUJyYW5kIHBhcmEgY29oZXJlbmNpYVxuICAgICAgICAgICAgY29uc3QgYnJhbmRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgICAgICAodGhpcy5pdGVtcyA/PyBbXSkuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBicmFuZCA9IGdldEl0ZW1CcmFuZChcbiAgICAgICAgICAgICAgICAgICAgaXQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbDFMaWtlTWFyY2EgPz8gZmFsc2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChicmFuZCkgYnJhbmRzLmFkZChicmFuZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYnJhbmRPcHRpb25zID0gQXJyYXkuZnJvbShicmFuZHMpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJMYWJlbFRvU2x1ZyA9IG9wdHMuZmlsdGVyTGFiZWxUb1NsdWc7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uTGFiZWxUb1NsdWcgPSBvcHRzLmRlc3RpbmF0aW9uTGFiZWxUb1NsdWc7XG4gICAgICAgICAgICB0aGlzLmJyYW5kTGFiZWxUb1NsdWcgPSBvcHRzLmJyYW5kTGFiZWxUb1NsdWc7XG5cbiAgICAgICAgICAgIC8vIFNvbG8gcmVzZXRlYXIgc2kgbm8gaGF5IHVuIGRlc3Rpbm8gcGVuZGllbnRlIGRlIGxhIFVSTFxuICAgICAgICAgICAgaWYgKCF0aGlzLnBlbmRpbmdEZXN0aW5hdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRIb3RlbFR5cGUgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGVzdGluYXRpb24gPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQnJhbmQgPSAnJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gU2kgaGF5IHVuIGRlc3Rpbm8gcGVuZGllbnRlIGRlIGxhIFVSTCwgaW50ZW50YSBzZWxlY2Npb25hcmxvIGFob3JhXG4gICAgICAgICAgICAgICAgdGhpcy5maW5kQW5kU2VsZWN0RGVzdGluYXRpb24odGhpcy5wZW5kaW5nRGVzdGluYXRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY3R1YWxpemFyIGl0ZW1zIGZpbHRyYWRvc1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gU3VzY3JpYmlyc2UgYSBsb3MgY2FtYmlvcyBkZSBxdWVyeSBwYXJhbXNcbiAgICAgICAgdGhpcy5xcFN1YiA9IHRoaXMucm91dGUucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb25zUGFyYW0gPSBwYXJhbXMuZ2V0KCdkZXN0aW5hdGlvbnMnKTtcblxuICAgICAgICAgICAgaWYgKGRlc3RpbmF0aW9uc1BhcmFtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVjb2RlZERlc3RpbmF0aW9uID0gZGVjb2RlVVJJQ29tcG9uZW50KGRlc3RpbmF0aW9uc1BhcmFtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBlbmRpbmdEZXN0aW5hdGlvbiA9IGRlY29kZWREZXN0aW5hdGlvbjtcblxuICAgICAgICAgICAgICAgIC8vIFNpIHlhIHRlbmVtb3MgZGVzdGluYXRpb25PcHRpb25zLCBidXNjYXIgeSBzZWxlY2Npb25hclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlc3RpbmF0aW9uT3B0aW9ucyAmJiB0aGlzLmRlc3RpbmF0aW9uT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFuZFNlbGVjdERlc3RpbmF0aW9uKGRlY29kZWREZXN0aW5hdGlvbik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXBTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV2dWVsdmUgdW4gYXJyYXkgbm9ybWFsaXphZG8gZGUgQmFieWxvbkdsb2JhbEl0ZW1cbiAgICAgKi9cbiAgICBnZXQgbm9ybWFsaXplZEl0ZW1zKCk6IEJhYnlsb25HbG9iYWxJdGVtW10ge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplR2xvYmFsSXRlbXModGhpcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgZ2V0Rmlyc3RJbWFnZUJ5VGFnKHRhZ05hbWU6IHN0cmluZywgaW1hZ2VuZXM6IEJhYnlsb25JbWFnZUlbXSkge1xuICAgICAgICByZXR1cm4gZ2V0Rmlyc3RJbWFnZUJ5VGFnRnJvbUltYWdlcyhpbWFnZW5lcywgdGFnTmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbHRlcmVkSXRlbXMoKSB7XG4gICAgICAgIC8vIERldm9sdmVyIGxvcyBpdGVtcyBmaWx0cmFkb3Mgbm9ybWFsaXphZG9zXG4gICAgICAgIHJldHVybiBub3JtYWxpemVHbG9iYWxJdGVtcyh0aGlzLl9maWx0ZXJlZEl0ZW1zUmF3KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZpbHRlcmVkSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBpdGVtcyA9IGZpbHRlcmVkSXRlbXMoe1xuICAgICAgICAgICAgaXRlbXM6IHRoaXMuaXRlbXMgPz8gW10sXG4gICAgICAgICAgICBzZWxlY3RlZEhvdGVsVHlwZTogdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkRGVzdGluYXRpb246IHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkQnJhbmQ6IHRoaXMuc2VsZWN0ZWRCcmFuZCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWwxTGlrZU1hcmNhOiB0aGlzLmFkZGl0aW9uYWwxTGlrZU1hcmNhID8/IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTaSBoYXkgZGVzdGluYXRpb25TZWxlY3RlZCB5IG5vIHRpZW5lIHJlc3VsdGFkb3MsIGludGVudGFyIGZpbHRyYXIgcG9yIGNvdW50cnlcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbiAmJiBpdGVtcy5sZW5ndGggPT09IDAgJiYgdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhvdGVsVHlwZU9rID1cbiAgICAgICAgICAgICAgICAgICAgIXRoaXMuc2VsZWN0ZWRIb3RlbFR5cGUgfHxcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0gYXMgYW55KT8uaG90ZWx0eXBlID09PSB0aGlzLnNlbGVjdGVkSG90ZWxUeXBlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZGVzdGluYXRpb25PayA9XG4gICAgICAgICAgICAgICAgICAgICF0aGlzLnNlbGVjdGVkRGVzdGluYXRpb24gfHxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jb3VudHJ5Py50b0xvd2VyQ2FzZSgpLnRyaW0oKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbi50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGJyYW5kT2sgPVxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5zZWxlY3RlZEJyYW5kIHx8XG4gICAgICAgICAgICAgICAgICAgIFV0aWxzLnRvU2x1ZyhnZXRJdGVtQnJhbmQoaXRlbSwgdGhpcy5hZGRpdGlvbmFsMUxpa2VNYXJjYSA/PyBmYWxzZSkpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgVXRpbHMudG9TbHVnKHRoaXMuc2VsZWN0ZWRCcmFuZCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaG90ZWxUeXBlT2sgJiYgZGVzdGluYXRpb25PayAmJiBicmFuZE9rO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9maWx0ZXJlZEl0ZW1zUmF3ID0gaXRlbXM7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGdldCBoYXNBY3RpdmVGaWx0ZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRCcmFuZCxcbiAgICAgICAgXS5zb21lKCh2KSA9PiB2ICYmIHYgIT09ICcnKTtcbiAgICB9XG5cbiAgICBvbkhvdGVsVHlwZUNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRIb3RlbFR5cGUgPSB2YWx1ZSA/PyAnJztcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25EZXN0aW5hdGlvbkNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbiA9IHZhbHVlID8/ICcnO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICB9XG5cbiAgICBvbkJyYW5kQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEJyYW5kID0gdmFsdWUgPz8gJyc7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVycygpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSA9ICcnO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGVzdGluYXRpb24gPSAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RlZEJyYW5kID0gJyc7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgIH1cblxuICAgIHRyYWNrRmlsdGVyKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIHRyYWNrT3B0aW9uKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIHRyYWNrT2ZmZXIoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1kbC1MaXNDMUltZ1R4dFwiPlxuICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLXRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1sZWZ0XCI+XG4gICAgICAgICAgQGlmICh0ZXh0cz8udGl0bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRpdHVsb1wiIFtpbm5lckhUTUxdPVwidGV4dHM/LnRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAodGV4dHM/LnN1YnRpdGxlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1zdWJ0aXR1bG9cIiBbaW5uZXJIVE1MXT1cInRleHRzPy5zdWJ0aXRsZVwiPjwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChzaG93RmlsdGVycykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXJpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JzXCI+XG4gICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz1cInNlbGVjdC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodGV4dHM/Lm1hcmNhKSB7XG4gICAgICAgICAgICAgICAgICA8bGVnZW5kPnt7IHRleHRzPy5tYXJjYSB9fTwvbGVnZW5kPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQnJhbmRcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CcmFuZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+e3sgdGV4dHM/Lm1hcmNhIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICBAZm9yIChvcHQgb2YgYnJhbmRPcHRpb25zOyB0cmFjayB0cmFja09wdGlvbigkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdFwiPnt7IG9wdCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz1cInNlbGVjdC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodGV4dHM/LmRlc3RpbmF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgPGxlZ2VuZD57eyB0ZXh0cz8uZGVzdGluYXRpb25zIH19PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREZXN0aW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRlc3RpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj57eyB0ZXh0cz8uZGVzdGluYXRpb25zIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICBAZm9yIChvcHQgb2YgZGVzdGluYXRpb25PcHRpb25zOyB0cmFjayB0cmFja09wdGlvbigkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdFwiPnt7IG9wdCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibS1pdGVtIG0tb3BlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1saXN0YWRvXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayB0cmFja09mZmVyKCRpbmRleCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWl0ZW0tbGlzdFwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImdldEJ1dHRvblVybChpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImdldEJ1dHRvbkxpbmtUeXBlKGl0ZW0sIDEpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgZ2V0Rmlyc3RJbWFnZUJ5VGFnKHRhZ05hbWUsIGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzID8/IFtdKSA/PyBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBhcyBpbWdcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWc/LmltZz8uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hbHRdPVwiaW1nPy5pbWc/LmFsdCA/PyAoaXRlbT8udGV4dHM/LnRpdGxlIHx8IGl0ZW0/LnRleHRzPy5uYW1lIHx8ICcnKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0/LnRleHRzPy50aXRsZSB8fCBpdGVtPy50ZXh0cz8ubmFtZSkge1xuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tdGl0dWxvXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtPy50ZXh0cz8udGl0bGUgfHwgaXRlbT8udGV4dHM/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbT8udGV4dHM/LmFkZGl0aW9uYWwxKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1zdWJ0aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0/LnRleHRzPy5hZGRpdGlvbmFsMVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxTdGFycyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tc3RhcnNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEhvdGVsU3RhcnMoaXRlbSkgKyAnIGVzdHJlbGxhcydcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoc3RhciBvZiBnZXRIb3RlbFN0YXJJbmRleGVzKGl0ZW0pOyB0cmFjayBzdGFyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEyIDExXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMEw3LjQxNiA0LjJIMTJMOC4yOTIgNi44TDkuNzA4IDExTDYgOC40TDIuMjkyIDExTDMuNzA4IDYuOEwwIDQuMkg0LjU4NEw2IDBaXCIgZmlsbD1cIiMzOTM2MzdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0QnV0dG9uTGFiZWwoaXRlbSwgMCkpIHtcbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b24xXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0QnV0dG9uVXJsKGl0ZW0sIDApXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImdldEJ1dHRvbkxpbmtUeXBlKGl0ZW0sIDApXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QnV0dG9uTGFiZWwoaXRlbSwgMCkgfX1cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKGdldEJ1dHRvbkxhYmVsKGl0ZW0sIDEpKSB7XG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uMlwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldEJ1dHRvblVybChpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJnZXRCdXR0b25MaW5rVHlwZShpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEJ1dHRvbkxhYmVsKGl0ZW0sIDEpIH19XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmICghZmlsdGVyZWRJdGVtcz8ubGVuZ3RoICYmIHRleHRzPy5ub3RGb3VuZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb290XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tdGV4dG9cIiBbaW5uZXJIVE1MXT1cInRleHRzPy5ub3RGb3VuZFwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzLWMyLWltZy10eHQtY3RhLXY0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2V4dGVybmFsL2NvcmUvbGlzLWMyLWltZy10eHQtY3RhLXY0L2xpcy1jMi1pbWctdHh0LWN0YS12NC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9leHRlcm5hbC9jb3JlL2xpcy1jMi1pbWctdHh0LWN0YS12NC9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLEVBQStDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJB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QUM7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBYTtRQUNyQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0FwT1EseUJBQXlCO21HQUF6Qix5QkFBeUIsa1JDN0J0Qyx3cEpBaUlBLHE2YkQ3R1EsWUFBWSwrQkFDWix3QkFBd0Isa0tBRXhCLFdBQVc7OzRGQU1OLHlCQUF5QjtrQkFickMsU0FBUzsrQkFDSSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLFdBQVc7cUJBQ2QsaUJBR2MsaUJBQWlCLENBQUMsUUFBUTs4QkFHaEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJhYnlsb25JbWFnZUksIEJhYnlsb25UZXh0SW5mb0kgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGJ1aWxkRmlsdGVyT3B0aW9ucywgZmlsdGVyZWRJdGVtcywgZ2V0SXRlbUJyYW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZmlsdGVyLnV0aWxzJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvbkN1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2JhYnlsb24tY3VycmVuY3kucGlwZSc7XG5cbmltcG9ydCB7IE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhYnlsb25HbG9iYWxJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWdsb2JhbC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXRGaXJzdEltYWdlQnlUYWdGcm9tSW1hZ2VzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbXV0aW1lZGlhLnV0aWxzJztcbmltcG9ydCB7IG5vcm1hbGl6ZUdsb2JhbEl0ZW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplLWl0ZW1zLnV0aWxzJztcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpcy1jMi1pbWctdHh0LWN0YS12NCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQmFieWxvbkxpbmtUeXBlRGlyZWN0aXZlLFxuICAgICAgICBCYWJ5bG9uQ3VycmVuY3lQaXBlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9saXMtYzItaW1nLXR4dC1jdGEtdjQuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxufSlcbmV4cG9ydCBjbGFzcyBMaXNDMkltZ1R4dEN0YVY0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogQmFieWxvbkdsb2JhbEl0ZW1bXTtcbiAgICBASW5wdXQoKSBsaW5rcz86IEJhYnlsb25CdXR0b25JW107XG4gICAgQElucHV0KCkgYWRkaXRpb25hbDFMaWtlTWFyY2E/OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd0NsZWFuRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgc2hvd0ZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlOyAvLyB0byBzaG93IG9yIGhpZGUgZmlsdGVycyBzZWN0aW9uXG5cbiAgICB0YWdOYW1lOiBzdHJpbmcgPSAnTGlzQzJJbWdUeHRDdGFWNCc7XG5cbiAgICBzZWxlY3RlZEhvdGVsVHlwZTogc3RyaW5nID0gJyc7XG4gICAgc2VsZWN0ZWREZXN0aW5hdGlvbjogc3RyaW5nID0gJyc7XG4gICAgc2VsZWN0ZWRCcmFuZDogc3RyaW5nID0gJyc7XG5cbiAgICBob3RlbFR5cGVPcHRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGRlc3RpbmF0aW9uT3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgICBicmFuZE9wdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmaWx0ZXJMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgZGVzdGluYXRpb25MYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgYnJhbmRMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBxcFN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHBlbmRpbmdEZXN0aW5hdGlvbj86IHN0cmluZztcblxuICAgIC8vIEl0ZW1zIGZpbHRyYWRvcyBzaW4gbm9ybWFsaXphciAodXNhZG9zIHBhcmEgbMOzZ2ljYSlcbiAgICBwcml2YXRlIF9maWx0ZXJlZEl0ZW1zUmF3OiBCYWJ5bG9uR2xvYmFsSXRlbVtdID0gW107XG5cbiAgICBwcml2YXRlIGZpbmRBbmRTZWxlY3REZXN0aW5hdGlvbihkZXN0aW5hdGlvbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IGRlc3RpbmF0aW9uTmFtZS50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAvLyBQcmltZXJvIGJ1c2NhciBlbiBlbCBhcnJheSBkZSBzdHJpbmdzIGRlIGRlc3Rpbm9zXG4gICAgICAgIGxldCBmb3VuZCA9IHRoaXMuZGVzdGluYXRpb25PcHRpb25zPy5maW5kKFxuICAgICAgICAgICAgKGRlc3RpbmF0aW9uKSA9PiBkZXN0aW5hdGlvbi50b0xvd2VyQ2FzZSgpLnRyaW0oKSA9PT0gbm9ybWFsaXplZE5hbWVcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbiA9IGZvdW5kO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXZ1ZWx2ZSBlbCBsYWJlbCBkZWwgYm90w7NuIGVuIGxhIHBvc2ljacOzbiBpbmRleCwgYnVzY2FuZG8gZW4gaXRlbS5idXR0b25zW2luZGV4XS5sYWJlbFxuICAgICAqIHkgc2kgbm8gZXhpc3RlLCBlbiBpdGVtLm11bHRpbWVkaWEuaW1hZ2VuZXNbMF0uYnV0dG9uc1tpbmRleF0ubGFiZWxcbiAgICAgKi9cbiAgICBnZXRCdXR0b25MYWJlbChpdGVtOiBCYWJ5bG9uR2xvYmFsSXRlbSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmIChpdGVtPy5idXR0b25zPy5baW5kZXhdPy5sYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uYnV0dG9uc1tpbmRleF0ubGFiZWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzPy5bMF0/LmJ1dHRvbnM/LltpbmRleF0/LmxhYmVsO1xuICAgIH1cblxuICAgIGdldEJ1dHRvblVybChpdGVtOiBCYWJ5bG9uR2xvYmFsSXRlbSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmJ1aWxkTWVudVVybChpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdPy5idXR0b25zPy5baW5kZXhdKSB8fFxuICAgICAgICAgICAgdGhpcy5idWlsZE1lbnVVcmwoaXRlbT8uYnV0dG9ucz8uW2luZGV4XSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRCdXR0b25MaW5rVHlwZShpdGVtOiBCYWJ5bG9uR2xvYmFsSXRlbSwgaW5kZXg6IG51bWJlcik6IGFueSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgaXRlbT8ubXVsdGltZWRpYT8uaW1hZ2VuZXM/LlswXT8uYnV0dG9ucz8uW2luZGV4XT8ubGlua1R5cGUgfHxcbiAgICAgICAgICAgIGl0ZW0/LmJ1dHRvbnM/LltpbmRleF0/LmxpbmtUeXBlXG5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRIb3RlbFN0YXJzKGl0ZW06IEJhYnlsb25HbG9iYWxJdGVtKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcmF3SG90ZWxDYXRlZ29yeSA9IGl0ZW0/LmhvdGVsY2F0ZWdvcnk/LnRvU3RyaW5nKCkudHJpbSgpID8/ICcnO1xuICAgICAgICBjb25zdCBtYXRjaCA9IHJhd0hvdGVsQ2F0ZWdvcnkubWF0Y2goL1xcZCsvKTtcbiAgICAgICAgaWYgKCFtYXRjaCkgcmV0dXJuIDA7XG5cbiAgICAgICAgY29uc3Qgc3RhcnMgPSBOdW1iZXIucGFyc2VJbnQobWF0Y2hbMF0sIDEwKTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoc3RhcnMpIHx8IHN0YXJzIDw9IDApIHJldHVybiAwO1xuXG4gICAgICAgIHJldHVybiBNYXRoLm1pbihzdGFycywgNSk7XG4gICAgfVxuXG4gICAgZ2V0SG90ZWxTdGFySW5kZXhlcyhpdGVtOiBCYWJ5bG9uR2xvYmFsSXRlbSk6IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuZ2V0SG90ZWxTdGFycyhpdGVtKSB9LCAoXywgaW5kZXgpID0+IGluZGV4KTtcbiAgICB9XG5cbiAgICBidWlsZE1lbnVVcmwoaXRlbTogQmFieWxvbkJ1dHRvbkkgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgICAgaWYgKCFpdGVtPy51cmwpIHJldHVybiAnJztcblxuICAgICAgY29uc3QgYmFzZVVybCA9IGl0ZW0udXJsLnJlcGxhY2UoL1xcLyskLywgJycpO1xuICAgICAgY29uc3QgZGVzdGluYXRpb24gPSAoaXRlbS52YXJzID8/ICcnKS50b1N0cmluZygpLnRyaW0oKTtcblxuICAgICAgaWYgKCFkZXN0aW5hdGlvbikgcmV0dXJuIGJhc2VVcmw7XG5cbiAgICAgIGNvbnN0IHNsdWcgPSBVdGlscy50b1NsdWcoZGVzdGluYXRpb24pO1xuICAgICAgaWYgKCFzbHVnKSByZXR1cm4gYmFzZVVybDtcblxuICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9P2Rlc3RpbmF0aW9ucz0ke2Rlc3RpbmF0aW9ufWA7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSkge1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IGJ1aWxkRmlsdGVyT3B0aW9ucyhcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zID8/IFtdLFxuICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbDFMaWtlTWFyY2EgPz8gZmFsc2VcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmhvdGVsVHlwZU9wdGlvbnMgPSBvcHRzLmhvdGVsVHlwZU9wdGlvbnM7XG4gICAgICAgICAgICB0aGlzLmRlc3RpbmF0aW9uT3B0aW9ucyA9IG9wdHMuZGVzdGluYXRpb25PcHRpb25zO1xuXG4gICAgICAgICAgICAvLyBSZWxsZW5hciBicmFuZE9wdGlvbnMgdXNhbmRvIGdldEl0ZW1CcmFuZCBwYXJhIGNvaGVyZW5jaWFcbiAgICAgICAgICAgIGNvbnN0IGJyYW5kcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICAgICAgKHRoaXMuaXRlbXMgPz8gW10pLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnJhbmQgPSBnZXRJdGVtQnJhbmQoXG4gICAgICAgICAgICAgICAgICAgIGl0LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZGl0aW9uYWwxTGlrZU1hcmNhID8/IGZhbHNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoYnJhbmQpIGJyYW5kcy5hZGQoYnJhbmQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmJyYW5kT3B0aW9ucyA9IEFycmF5LmZyb20oYnJhbmRzKTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyTGFiZWxUb1NsdWcgPSBvcHRzLmZpbHRlckxhYmVsVG9TbHVnO1xuICAgICAgICAgICAgdGhpcy5kZXN0aW5hdGlvbkxhYmVsVG9TbHVnID0gb3B0cy5kZXN0aW5hdGlvbkxhYmVsVG9TbHVnO1xuICAgICAgICAgICAgdGhpcy5icmFuZExhYmVsVG9TbHVnID0gb3B0cy5icmFuZExhYmVsVG9TbHVnO1xuXG4gICAgICAgICAgICAvLyBTb2xvIHJlc2V0ZWFyIHNpIG5vIGhheSB1biBkZXN0aW5vIHBlbmRpZW50ZSBkZSBsYSBVUkxcbiAgICAgICAgICAgIGlmICghdGhpcy5wZW5kaW5nRGVzdGluYXRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSG90ZWxUeXBlID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERlc3RpbmF0aW9uID0gJyc7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEJyYW5kID0gJyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFNpIGhheSB1biBkZXN0aW5vIHBlbmRpZW50ZSBkZSBsYSBVUkwsIGludGVudGEgc2VsZWNjaW9uYXJsbyBhaG9yYVxuICAgICAgICAgICAgICAgIHRoaXMuZmluZEFuZFNlbGVjdERlc3RpbmF0aW9uKHRoaXMucGVuZGluZ0Rlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWN0dWFsaXphciBpdGVtcyBmaWx0cmFkb3NcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZGUgcXVlcnkgcGFyYW1zXG4gICAgICAgIHRoaXMucXBTdWIgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uc1BhcmFtID0gcGFyYW1zLmdldCgnZGVzdGluYXRpb25zJyk7XG5cbiAgICAgICAgICAgIGlmIChkZXN0aW5hdGlvbnNQYXJhbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY29kZWREZXN0aW5hdGlvbiA9IGRlY29kZVVSSUNvbXBvbmVudChkZXN0aW5hdGlvbnNQYXJhbSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wZW5kaW5nRGVzdGluYXRpb24gPSBkZWNvZGVkRGVzdGluYXRpb247XG5cbiAgICAgICAgICAgICAgICAvLyBTaSB5YSB0ZW5lbW9zIGRlc3RpbmF0aW9uT3B0aW9ucywgYnVzY2FyIHkgc2VsZWNjaW9uYXJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZXN0aW5hdGlvbk9wdGlvbnMgJiYgdGhpcy5kZXN0aW5hdGlvbk9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmRBbmRTZWxlY3REZXN0aW5hdGlvbihkZWNvZGVkRGVzdGluYXRpb24pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnFwU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldnVlbHZlIHVuIGFycmF5IG5vcm1hbGl6YWRvIGRlIEJhYnlsb25HbG9iYWxJdGVtXG4gICAgICovXG4gICAgZ2V0IG5vcm1hbGl6ZWRJdGVtcygpOiBCYWJ5bG9uR2xvYmFsSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUdsb2JhbEl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgIH1cblxuICAgIGdldEZpcnN0SW1hZ2VCeVRhZyh0YWdOYW1lOiBzdHJpbmcsIGltYWdlbmVzOiBCYWJ5bG9uSW1hZ2VJW10pIHtcbiAgICAgICAgcmV0dXJuIGdldEZpcnN0SW1hZ2VCeVRhZ0Zyb21JbWFnZXMoaW1hZ2VuZXMsIHRhZ05hbWUpO1xuICAgIH1cblxuICAgIGdldCBmaWx0ZXJlZEl0ZW1zKCkge1xuICAgICAgICAvLyBEZXZvbHZlciBsb3MgaXRlbXMgZmlsdHJhZG9zIG5vcm1hbGl6YWRvc1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplR2xvYmFsSXRlbXModGhpcy5fZmlsdGVyZWRJdGVtc1Jhdyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWx0ZXJlZEl0ZW1zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGZpbHRlcmVkSXRlbXMoe1xuICAgICAgICAgICAgaXRlbXM6IHRoaXMuaXRlbXMgPz8gW10sXG4gICAgICAgICAgICBzZWxlY3RlZEhvdGVsVHlwZTogdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkRGVzdGluYXRpb246IHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbixcbiAgICAgICAgICAgIHNlbGVjdGVkQnJhbmQ6IHRoaXMuc2VsZWN0ZWRCcmFuZCxcbiAgICAgICAgICAgIGFkZGl0aW9uYWwxTGlrZU1hcmNhOiB0aGlzLmFkZGl0aW9uYWwxTGlrZU1hcmNhID8/IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9maWx0ZXJlZEl0ZW1zUmF3ID0gaXRlbXM7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGdldCBoYXNBY3RpdmVGaWx0ZXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbixcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRCcmFuZCxcbiAgICAgICAgXS5zb21lKCh2KSA9PiB2ICYmIHYgIT09ICcnKTtcbiAgICB9XG5cbiAgICBvbkhvdGVsVHlwZUNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRIb3RlbFR5cGUgPSB2YWx1ZSA/PyAnJztcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgb25EZXN0aW5hdGlvbkNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREZXN0aW5hdGlvbiA9IHZhbHVlID8/ICcnO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkSXRlbXMoKTtcbiAgICB9XG5cbiAgICBvbkJyYW5kQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEJyYW5kID0gdmFsdWUgPz8gJyc7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgIH1cblxuICAgIGNsZWFyRmlsdGVycygpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEhvdGVsVHlwZSA9ICcnO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGVzdGluYXRpb24gPSAnJztcbiAgICAgICAgdGhpcy5zZWxlY3RlZEJyYW5kID0gJyc7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyZWRJdGVtcygpO1xuICAgIH1cblxuICAgIHRyYWNrRmlsdGVyKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIHRyYWNrT3B0aW9uKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuICAgIHRyYWNrT2ZmZXIoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1kbC1MaXNDMUltZ1R4dFwiPlxuICA8ZGl2IGNsYXNzPVwibWRsLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLXRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1sZWZ0XCI+XG4gICAgICAgICAgQGlmICh0ZXh0cz8udGl0bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRpdHVsb1wiIFtpbm5lckhUTUxdPVwidGV4dHM/LnRpdGxlXCI+PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAodGV4dHM/LnN1YnRpdGxlKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1zdWJ0aXR1bG9cIiBbaW5uZXJIVE1MXT1cInRleHRzPy5zdWJ0aXRsZVwiPjwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChzaG93RmlsdGVycykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXJpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3JzXCI+XG4gICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz1cInNlbGVjdC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodGV4dHM/Lm1hcmNhKSB7XG4gICAgICAgICAgICAgICAgICA8bGVnZW5kPnt7IHRleHRzPy5tYXJjYSB9fTwvbGVnZW5kPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQnJhbmRcIlxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CcmFuZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+e3sgdGV4dHM/Lm1hcmNhIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICBAZm9yIChvcHQgb2YgYnJhbmRPcHRpb25zOyB0cmFjayB0cmFja09wdGlvbigkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdFwiPnt7IG9wdCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz1cInNlbGVjdC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAodGV4dHM/LmRlc3RpbmF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgPGxlZ2VuZD57eyB0ZXh0cz8uZGVzdGluYXRpb25zIH19PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREZXN0aW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRlc3RpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj57eyB0ZXh0cz8uZGVzdGluYXRpb25zIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICBAZm9yIChvcHQgb2YgZGVzdGluYXRpb25PcHRpb25zOyB0cmFjayB0cmFja09wdGlvbigkaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdFwiPnt7IG9wdCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibS1pdGVtIG0tb3BlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibS1saXN0YWRvXCI+XG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZEl0ZW1zOyB0cmFjayB0cmFja09mZmVyKCRpbmRleCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWl0ZW0tbGlzdFwiPlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImdldEJ1dHRvblVybChpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImdldEJ1dHRvbkxpbmtUeXBlKGl0ZW0sIDEpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWltYWdlblwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAgICAgZ2V0Rmlyc3RJbWFnZUJ5VGFnKHRhZ05hbWUsIGl0ZW0/Lm11bHRpbWVkaWE/LmltYWdlbmVzID8/IFtdKSA/PyBpdGVtPy5tdWx0aW1lZGlhPy5pbWFnZW5lcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBhcyBpbWdcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWc/LmltZz8uc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hbHRdPVwiaW1nPy5pbWc/LmFsdCA/PyAoaXRlbT8udGV4dHM/LnRpdGxlIHx8IGl0ZW0/LnRleHRzPy5uYW1lIHx8ICcnKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0/LnRleHRzPy50aXRsZSB8fCBpdGVtPy50ZXh0cz8ubmFtZSkge1xuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tdGl0dWxvXCJcbiAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJpdGVtPy50ZXh0cz8udGl0bGUgfHwgaXRlbT8udGV4dHM/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbT8udGV4dHM/LmFkZGl0aW9uYWwxKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1zdWJ0aXR1bG9cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIml0ZW0/LnRleHRzPy5hZGRpdGlvbmFsMVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0SG90ZWxTdGFycyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tc3RhcnNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEhvdGVsU3RhcnMoaXRlbSkgKyAnIGVzdHJlbGxhcydcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoc3RhciBvZiBnZXRIb3RlbFN0YXJJbmRleGVzKGl0ZW0pOyB0cmFjayBzdGFyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTFcIiB2aWV3Qm94PVwiMCAwIDEyIDExXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYgMEw3LjQxNiA0LjJIMTJMOC4yOTIgNi44TDkuNzA4IDExTDYgOC40TDIuMjkyIDExTDMuNzA4IDYuOEwwIDQuMkg0LjU4NEw2IDBaXCIgZmlsbD1cIiMzOTM2MzdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoZ2V0QnV0dG9uTGFiZWwoaXRlbSwgMCkpIHtcbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibS1idXR0b24xXCJcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0QnV0dG9uVXJsKGl0ZW0sIDApXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImdldEJ1dHRvbkxpbmtUeXBlKGl0ZW0sIDApXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0QnV0dG9uTGFiZWwoaXRlbSwgMCkgfX1cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKGdldEJ1dHRvbkxhYmVsKGl0ZW0sIDEpKSB7XG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tYnV0dG9uMlwiXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldEJ1dHRvblVybChpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJnZXRCdXR0b25MaW5rVHlwZShpdGVtLCAxKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldEJ1dHRvbkxhYmVsKGl0ZW0sIDEpIH19XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmICghZmlsdGVyZWRJdGVtcz8ubGVuZ3RoICYmIHRleHRzPy5ub3RGb3VuZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb290XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tdGV4dG9cIiBbaW5uZXJIVE1MXT1cInRleHRzPy5ub3RGb3VuZFwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -5,9 +5,7 @@ export function filteredItems({ items = [], selectedHotelType = '', selectedDest
|
|
|
5
5
|
const hotelTypeOk = !selectedHotelType ||
|
|
6
6
|
canonicalSlug(itemHotelType) === canonicalSlug(selectedHotelType);
|
|
7
7
|
const destinationOk = !selectedDestination ||
|
|
8
|
-
(it?.destinations ?? []).some((d) => Utils.toSlug(d?.name ?? '').toLowerCase() === Utils.toSlug(selectedDestination).toLowerCase())
|
|
9
|
-
it?.locality?.toLowerCase() === selectedDestination.toLowerCase() ||
|
|
10
|
-
it?.country?.toLowerCase() === selectedDestination.toLowerCase();
|
|
8
|
+
(it?.destinations ?? []).some((d) => Utils.toSlug(d?.name ?? '').toLowerCase() === Utils.toSlug(selectedDestination).toLowerCase());
|
|
11
9
|
const brandOk = !selectedBrand ||
|
|
12
10
|
Utils.toSlug(itemBrand) === Utils.toSlug(selectedBrand);
|
|
13
11
|
return hotelTypeOk && destinationOk && brandOk;
|
|
@@ -50,26 +48,6 @@ export function buildFilterOptions(items = [], additional1LikeMarca = false) {
|
|
|
50
48
|
destinationMap.set(key, trimmed);
|
|
51
49
|
}
|
|
52
50
|
});
|
|
53
|
-
items
|
|
54
|
-
.map((i) => i?.locality)
|
|
55
|
-
.filter(Boolean)
|
|
56
|
-
.forEach((v) => {
|
|
57
|
-
const trimmed = v.trim();
|
|
58
|
-
const key = trimmed.toLowerCase();
|
|
59
|
-
if (!destinationMap.has(key)) {
|
|
60
|
-
destinationMap.set(key, trimmed);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
items
|
|
64
|
-
.map((i) => i?.country)
|
|
65
|
-
.filter(Boolean)
|
|
66
|
-
.forEach((v) => {
|
|
67
|
-
const trimmed = v.trim();
|
|
68
|
-
const key = trimmed.toLowerCase();
|
|
69
|
-
if (!destinationMap.has(key)) {
|
|
70
|
-
destinationMap.set(key, trimmed);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
51
|
const destinationOptions = Array.from(destinationMap.values())
|
|
74
52
|
.sort((a, b) => a.localeCompare(b));
|
|
75
53
|
const brandOptions = Array.from(new Set(items.map((i) => getItemBrand(i, additional1LikeMarca)).filter(Boolean))).sort((a, b) => a.localeCompare(b));
|
|
@@ -112,4 +90,4 @@ export function buildFilterOptions(items = [], additional1LikeMarca = false) {
|
|
|
112
90
|
brandLabelToSlug,
|
|
113
91
|
};
|
|
114
92
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL3V0aWxzL2ZpbHRlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQzVCLEtBQUssR0FBRyxFQUFFLEVBQ1YsaUJBQWlCLEdBQUcsRUFBRSxFQUN0QixtQkFBbUIsR0FBRyxFQUFFLEVBQ3hCLGFBQWEsR0FBRyxFQUFFLEVBQ2xCLG9CQUFvQixHQUFHLEtBQUssR0FDZjtJQUNiLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLE1BQU0sYUFBYSxHQUFJLEVBQVUsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV6RCxNQUFNLFdBQVcsR0FDZixDQUFDLGlCQUFpQjtZQUNsQixhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFcEUsTUFBTSxhQUFhLEdBQ2pCLENBQUMsbUJBQW1CO1lBQ25CLENBQUUsRUFBVSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQVcsQ0FBQyxJQUFJLENBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNyRztZQUNBLEVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssbUJBQW1CLENBQUMsV0FBVyxFQUFFO1lBQ3pFLEVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFNUUsTUFBTSxPQUFPLEdBQ1gsQ0FBQyxhQUFhO1lBQ2QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELE9BQU8sV0FBVyxJQUFJLGFBQWEsSUFBSSxPQUFPLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQztBQWUxQixNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQU8sRUFBRSxvQkFBNkI7SUFDakUsSUFBSSxvQkFBb0I7UUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkUsT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQWE7SUFDekMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixJQUFJLENBQUMsQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsUUFBNkIsRUFBRSxFQUMvQix1QkFBZ0MsS0FBSztJQUVyQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ2pDLElBQUksR0FBRyxDQUNMLEtBQUs7U0FDRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQVMsRUFBRSxTQUFTLENBQUM7U0FDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQ2hDLENBQ0YsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckMsNERBQTREO0lBQzVELE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBRWpELEtBQUs7U0FDRixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUUsQ0FBUyxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN6RSxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDckIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsS0FBSztTQUNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxFQUFFLFFBQVEsQ0FBQztTQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDckIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsS0FBSztTQUNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsQ0FBUyxFQUFFLE9BQU8sQ0FBQztTQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ2YsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDckIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEMsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDN0IsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2pGLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXJDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDcEQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUN6RCxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ25ELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDcEQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUN6RCxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBRW5ELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRXBDLEtBQUssTUFBTSxLQUFLLElBQUksZ0JBQWdCLEVBQUU7UUFDcEMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNwQztJQUNELEtBQUssTUFBTSxLQUFLLElBQUksa0JBQWtCLEVBQUU7UUFDdEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3pDO0lBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxZQUFZLEVBQUU7UUFDaEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUM7UUFDNUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDL0MsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ25DO0lBRUQsT0FBTztRQUNMLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsZ0JBQWdCO0tBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclBhcmFtcyB7XG4gIGl0ZW1zOiBCYWJ5bG9uR2xvYmFsSXRlbVtdO1xuICBzZWxlY3RlZEhvdGVsVHlwZTogc3RyaW5nO1xuICBzZWxlY3RlZERlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIHNlbGVjdGVkQnJhbmQ6IHN0cmluZztcbiAgYWRkaXRpb25hbDFMaWtlTWFyY2E/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyZWRJdGVtcyh7XG4gIGl0ZW1zID0gW10sXG4gIHNlbGVjdGVkSG90ZWxUeXBlID0gJycsXG4gIHNlbGVjdGVkRGVzdGluYXRpb24gPSAnJyxcbiAgc2VsZWN0ZWRCcmFuZCA9ICcnLFxuICBhZGRpdGlvbmFsMUxpa2VNYXJjYSA9IGZhbHNlLFxufTogRmlsdGVyUGFyYW1zKTogQmFieWxvbkdsb2JhbEl0ZW1bXSB7XG4gIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0KSA9PiB7XG4gICAgY29uc3QgaXRlbUhvdGVsVHlwZSA9IChpdCBhcyBhbnkpPy5ob3RlbHR5cGUgPz8gJyc7XG4gICAgY29uc3QgaXRlbUJyYW5kID0gZ2V0SXRlbUJyYW5kKGl0LCBhZGRpdGlvbmFsMUxpa2VNYXJjYSk7XG5cbiAgICBjb25zdCBob3RlbFR5cGVPayA9XG4gICAgICAhc2VsZWN0ZWRIb3RlbFR5cGUgfHxcbiAgICAgIGNhbm9uaWNhbFNsdWcoaXRlbUhvdGVsVHlwZSkgPT09IGNhbm9uaWNhbFNsdWcoc2VsZWN0ZWRIb3RlbFR5cGUpO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb25PayA9XG4gICAgICAhc2VsZWN0ZWREZXN0aW5hdGlvbiB8fFxuICAgICAgKCgoaXQgYXMgYW55KT8uZGVzdGluYXRpb25zID8/IFtdKSBhcyBhbnlbXSkuc29tZShcbiAgICAgICAgKGQpID0+IFV0aWxzLnRvU2x1ZyhkPy5uYW1lID8/ICcnKS50b0xvd2VyQ2FzZSgpID09PSBVdGlscy50b1NsdWcoc2VsZWN0ZWREZXN0aW5hdGlvbikudG9Mb3dlckNhc2UoKVxuICAgICAgKSB8fFxuICAgICAgKGl0IGFzIGFueSk/LmxvY2FsaXR5Py50b0xvd2VyQ2FzZSgpID09PSBzZWxlY3RlZERlc3RpbmF0aW9uLnRvTG93ZXJDYXNlKCkgfHxcbiAgICAgIChpdCBhcyBhbnkpPy5jb3VudHJ5Py50b0xvd2VyQ2FzZSgpID09PSBzZWxlY3RlZERlc3RpbmF0aW9uLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb25zdCBicmFuZE9rID1cbiAgICAgICFzZWxlY3RlZEJyYW5kIHx8XG4gICAgICBVdGlscy50b1NsdWcoaXRlbUJyYW5kKSA9PT0gVXRpbHMudG9TbHVnKHNlbGVjdGVkQnJhbmQpO1xuXG4gICAgcmV0dXJuIGhvdGVsVHlwZU9rICYmIGRlc3RpbmF0aW9uT2sgJiYgYnJhbmRPaztcbiAgfSk7XG59XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4nO1xuaW1wb3J0IHsgQmFieWxvbkdsb2JhbEl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JhYnlsb24tZ2xvYmFsLWl0ZW0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJPcHRpb25zUmVzdWx0IHtcbiAgaG90ZWxUeXBlT3B0aW9uczogc3RyaW5nW107XG4gIGRlc3RpbmF0aW9uT3B0aW9uczogc3RyaW5nW107XG4gIGJyYW5kT3B0aW9uczogc3RyaW5nW107XG4gIGZpbHRlclNsdWdUb0xhYmVsOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBkZXN0aW5hdGlvblNsdWdUb0xhYmVsOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBicmFuZFNsdWdUb0xhYmVsOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBmaWx0ZXJMYWJlbFRvU2x1ZzogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgZGVzdGluYXRpb25MYWJlbFRvU2x1ZzogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgYnJhbmRMYWJlbFRvU2x1ZzogTWFwPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1CcmFuZChpdDogYW55LCBhZGRpdGlvbmFsMUxpa2VNYXJjYTogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChhZGRpdGlvbmFsMUxpa2VNYXJjYSkgcmV0dXJuIChpdD8udGV4dHM/LmFkZGl0aW9uYWwxID8/ICcnKS50cmltKCk7XG4gIHJldHVybiAoaXQ/Lm1hcmNhID8/IGl0Py5icmFuZCA/PyBpdD8uZ3JvdXAgPz8gJycpLnRyaW0oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbm9uaWNhbFNsdWcodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBzID0gVXRpbHMudG9TbHVnKHZhbHVlKTtcbiAgaWYgKCFzKSByZXR1cm4gJyc7XG4gIGlmIChzLmxlbmd0aCA+IDMgJiYgcy5lbmRzV2l0aCgnZXMnKSkge1xuICAgIGNvbnN0IGJhc2UgPSBzLnNsaWNlKDAsIC0yKTtcbiAgICBpZiAoYmFzZS5lbmRzV2l0aCgnYycpKSByZXR1cm4gYmFzZS5zbGljZSgwLCAtMSkgKyAneic7XG4gICAgcmV0dXJuIGJhc2U7XG4gIH1cbiAgaWYgKHMubGVuZ3RoID4gMyAmJiBzLmVuZHNXaXRoKCdzJykpIHJldHVybiBzLnNsaWNlKDAsIC0xKTtcbiAgcmV0dXJuIHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEZpbHRlck9wdGlvbnMoXG4gIGl0ZW1zOiBCYWJ5bG9uR2xvYmFsSXRlbVtdID0gW10sXG4gIGFkZGl0aW9uYWwxTGlrZU1hcmNhOiBib29sZWFuID0gZmFsc2Vcbik6IEZpbHRlck9wdGlvbnNSZXN1bHQge1xuICBjb25zdCBob3RlbFR5cGVPcHRpb25zID0gQXJyYXkuZnJvbShcbiAgICBuZXcgU2V0KFxuICAgICAgaXRlbXNcbiAgICAgICAgLm1hcCgoaSkgPT4gKGkgYXMgYW55KT8uaG90ZWx0eXBlKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5tYXAoKHY6IHN0cmluZykgPT4gdi50cmltKCkpXG4gICAgKVxuICApLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSk7XG5cbiAgLy8gTWFudGVuZXIgdmFsb3JlcyBvcmlnaW5hbGVzIHBlcm8gZGVkdXBsaWNhciBwb3IgbG93ZXJjYXNlXG4gIGNvbnN0IGRlc3RpbmF0aW9uTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBpdGVtc1xuICAgIC5mbGF0TWFwKChpKSA9PiAoKGkgYXMgYW55KT8uZGVzdGluYXRpb25zID8/IFtdKS5tYXAoKGQ6IGFueSkgPT4gZD8ubmFtZSkpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5mb3JFYWNoKCh2OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRyaW1tZWQgPSB2LnRyaW0oKTtcbiAgICAgIGNvbnN0IGtleSA9IHRyaW1tZWQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmICghZGVzdGluYXRpb25NYXAuaGFzKGtleSkpIHtcbiAgICAgICAgZGVzdGluYXRpb25NYXAuc2V0KGtleSwgdHJpbW1lZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgaXRlbXNcbiAgICAubWFwKChpKSA9PiAoaSBhcyBhbnkpPy5sb2NhbGl0eSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmZvckVhY2goKHY6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHJpbW1lZCA9IHYudHJpbSgpO1xuICAgICAgY29uc3Qga2V5ID0gdHJpbW1lZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKCFkZXN0aW5hdGlvbk1hcC5oYXMoa2V5KSkge1xuICAgICAgICBkZXN0aW5hdGlvbk1hcC5zZXQoa2V5LCB0cmltbWVkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICBpdGVtc1xuICAgIC5tYXAoKGkpID0+IChpIGFzIGFueSk/LmNvdW50cnkpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5mb3JFYWNoKCh2OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRyaW1tZWQgPSB2LnRyaW0oKTtcbiAgICAgIGNvbnN0IGtleSA9IHRyaW1tZWQudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmICghZGVzdGluYXRpb25NYXAuaGFzKGtleSkpIHtcbiAgICAgICAgZGVzdGluYXRpb25NYXAuc2V0KGtleSwgdHJpbW1lZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgY29uc3QgZGVzdGluYXRpb25PcHRpb25zID0gQXJyYXkuZnJvbShkZXN0aW5hdGlvbk1hcC52YWx1ZXMoKSlcbiAgICAuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKTtcblxuICBjb25zdCBicmFuZE9wdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgIG5ldyBTZXQoaXRlbXMubWFwKChpKSA9PiBnZXRJdGVtQnJhbmQoaSwgYWRkaXRpb25hbDFMaWtlTWFyY2EpKS5maWx0ZXIoQm9vbGVhbikpXG4gICkuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKTtcblxuICBjb25zdCBmaWx0ZXJTbHVnVG9MYWJlbCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IGRlc3RpbmF0aW9uU2x1Z1RvTGFiZWwgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBicmFuZFNsdWdUb0xhYmVsID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3QgZmlsdGVyTGFiZWxUb1NsdWcgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBkZXN0aW5hdGlvbkxhYmVsVG9TbHVnID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3QgYnJhbmRMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgY29uc3QgdXNlZEZpbHRlciA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCB1c2VkRGVzdCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCB1c2VkQnJhbmQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBmb3IgKGNvbnN0IGxhYmVsIG9mIGhvdGVsVHlwZU9wdGlvbnMpIHtcbiAgICBjb25zdCBiYXNlID0gY2Fub25pY2FsU2x1ZyhsYWJlbCk7XG4gICAgY29uc3Qgc2x1ZyA9IFV0aWxzLnVuaXF1ZVNsdWcoYmFzZSwgdXNlZEZpbHRlcik7XG4gICAgZmlsdGVyU2x1Z1RvTGFiZWwuc2V0KHNsdWcsIGxhYmVsKTtcbiAgICBmaWx0ZXJMYWJlbFRvU2x1Zy5zZXQobGFiZWwsIHNsdWcpO1xuICB9XG4gIGZvciAoY29uc3QgbGFiZWwgb2YgZGVzdGluYXRpb25PcHRpb25zKSB7XG4gICAgY29uc3QgYmFzZSA9IFV0aWxzLnRvU2x1ZyhsYWJlbCkgfHwgJ2Rlc3RpbmF0aW9uJztcbiAgICBjb25zdCBzbHVnID0gVXRpbHMudW5pcXVlU2x1ZyhiYXNlLCB1c2VkRGVzdCk7XG4gICAgZGVzdGluYXRpb25TbHVnVG9MYWJlbC5zZXQoc2x1ZywgbGFiZWwpO1xuICAgIGRlc3RpbmF0aW9uTGFiZWxUb1NsdWcuc2V0KGxhYmVsLCBzbHVnKTtcbiAgfVxuICBmb3IgKGNvbnN0IGxhYmVsIG9mIGJyYW5kT3B0aW9ucykge1xuICAgIGNvbnN0IGJhc2UgPSBVdGlscy50b1NsdWcobGFiZWwpIHx8ICdicmFuZCc7XG4gICAgY29uc3Qgc2x1ZyA9IFV0aWxzLnVuaXF1ZVNsdWcoYmFzZSwgdXNlZEJyYW5kKTtcbiAgICBicmFuZFNsdWdUb0xhYmVsLnNldChzbHVnLCBsYWJlbCk7XG4gICAgYnJhbmRMYWJlbFRvU2x1Zy5zZXQobGFiZWwsIHNsdWcpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBob3RlbFR5cGVPcHRpb25zLFxuICAgIGRlc3RpbmF0aW9uT3B0aW9ucyxcbiAgICBicmFuZE9wdGlvbnMsXG4gICAgZmlsdGVyU2x1Z1RvTGFiZWwsXG4gICAgZGVzdGluYXRpb25TbHVnVG9MYWJlbCxcbiAgICBicmFuZFNsdWdUb0xhYmVsLFxuICAgIGZpbHRlckxhYmVsVG9TbHVnLFxuICAgIGRlc3RpbmF0aW9uTGFiZWxUb1NsdWcsXG4gICAgYnJhbmRMYWJlbFRvU2x1ZyxcbiAgfTtcbn1cbiJdfQ==
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL3V0aWxzL2ZpbHRlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQzVCLEtBQUssR0FBRyxFQUFFLEVBQ1YsaUJBQWlCLEdBQUcsRUFBRSxFQUN0QixtQkFBbUIsR0FBRyxFQUFFLEVBQ3hCLGFBQWEsR0FBRyxFQUFFLEVBQ2xCLG9CQUFvQixHQUFHLEtBQUssR0FDZjtJQUNiLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ3pCLE1BQU0sYUFBYSxHQUFJLEVBQVUsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV6RCxNQUFNLFdBQVcsR0FDZixDQUFDLGlCQUFpQjtZQUNsQixhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFcEUsTUFBTSxhQUFhLEdBQ2pCLENBQUMsbUJBQW1CO1lBQ25CLENBQUUsRUFBVSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQVcsQ0FBQyxJQUFJLENBQy9DLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUNyRyxDQUFDO1FBRUosTUFBTSxPQUFPLEdBQ1gsQ0FBQyxhQUFhO1lBQ2QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELE9B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YWNlIEZpbHRlclBhcmFtcyB7XG4gIGl0ZW1zOiBCYWJ5bG9uR2xvYmFsSXRlbVtdO1xuICBzZWxlY3RlZEhvdGVsVHlwZTogc3RyaW5nO1xuICBzZWxlY3RlZERlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIHNlbGVjdGVkQnJhbmQ6IHN0cmluZztcbiAgYWRkaXRpb25hbDFMaWtlTWFyY2E/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyZWRJdGVtcyh7XG4gIGl0ZW1zID0gW10sXG4gIHNlbGVjdGVkSG90ZWxUeXBlID0gJycsXG4gIHNlbGVjdGVkRGVzdGluYXRpb24gPSAnJyxcbiAgc2VsZWN0ZWRCcmFuZCA9ICcnLFxuICBhZGRpdGlvbmFsMUxpa2VNYXJjYSA9IGZhbHNlLFxufTogRmlsdGVyUGFyYW1zKTogQmFieWxvbkdsb2JhbEl0ZW1bXSB7XG4gIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0KSA9PiB7XG4gICAgY29uc3QgaXRlbUhvdGVsVHlwZSA9IChpdCBhcyBhbnkpPy5ob3RlbHR5cGUgPz8gJyc7XG4gICAgY29uc3QgaXRlbUJyYW5kID0gZ2V0SXRlbUJyYW5kKGl0LCBhZGRpdGlvbmFsMUxpa2VNYXJjYSk7XG5cbiAgICBjb25zdCBob3RlbFR5cGVPayA9XG4gICAgICAhc2VsZWN0ZWRIb3RlbFR5cGUgfHxcbiAgICAgIGNhbm9uaWNhbFNsdWcoaXRlbUhvdGVsVHlwZSkgPT09IGNhbm9uaWNhbFNsdWcoc2VsZWN0ZWRIb3RlbFR5cGUpO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb25PayA9XG4gICAgICAhc2VsZWN0ZWREZXN0aW5hdGlvbiB8fFxuICAgICAgKCgoaXQgYXMgYW55KT8uZGVzdGluYXRpb25zID8/IFtdKSBhcyBhbnlbXSkuc29tZShcbiAgICAgICAgKGQpID0+IFV0aWxzLnRvU2x1ZyhkPy5uYW1lID8/ICcnKS50b0xvd2VyQ2FzZSgpID09PSBVdGlscy50b1NsdWcoc2VsZWN0ZWREZXN0aW5hdGlvbikudG9Mb3dlckNhc2UoKVxuICAgICAgKTtcblxuICAgIGNvbnN0IGJyYW5kT2sgPVxuICAgICAgIXNlbGVjdGVkQnJhbmQgfHxcbiAgICAgIFV0aWxzLnRvU2x1ZyhpdGVtQnJhbmQpID09PSBVdGlscy50b1NsdWcoc2VsZWN0ZWRCcmFuZCk7XG5cbiAgICByZXR1cm4gaG90ZWxUeXBlT2sgJiYgZGVzdGluYXRpb25PayAmJiBicmFuZE9rO1xuICB9KTtcbn1cbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLic7XG5pbXBvcnQgeyBCYWJ5bG9uR2xvYmFsSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYmFieWxvbi1nbG9iYWwtaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck9wdGlvbnNSZXN1bHQge1xuICBob3RlbFR5cGVPcHRpb25zOiBzdHJpbmdbXTtcbiAgZGVzdGluYXRpb25PcHRpb25zOiBzdHJpbmdbXTtcbiAgYnJhbmRPcHRpb25zOiBzdHJpbmdbXTtcbiAgZmlsdGVyU2x1Z1RvTGFiZWw6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIGRlc3RpbmF0aW9uU2x1Z1RvTGFiZWw6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIGJyYW5kU2x1Z1RvTGFiZWw6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIGZpbHRlckxhYmVsVG9TbHVnOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBkZXN0aW5hdGlvbkxhYmVsVG9TbHVnOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICBicmFuZExhYmVsVG9TbHVnOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SXRlbUJyYW5kKGl0OiBhbnksIGFkZGl0aW9uYWwxTGlrZU1hcmNhOiBib29sZWFuKTogc3RyaW5nIHtcbiAgaWYgKGFkZGl0aW9uYWwxTGlrZU1hcmNhKSByZXR1cm4gKGl0Py50ZXh0cz8uYWRkaXRpb25hbDEgPz8gJycpLnRyaW0oKTtcbiAgcmV0dXJuIChpdD8ubWFyY2EgPz8gaXQ/LmJyYW5kID8/IGl0Py5ncm91cCA/PyAnJykudHJpbSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2Fub25pY2FsU2x1Zyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHMgPSBVdGlscy50b1NsdWcodmFsdWUpO1xuICBpZiAoIXMpIHJldHVybiAnJztcbiAgaWYgKHMubGVuZ3RoID4gMyAmJiBzLmVuZHNXaXRoKCdlcycpKSB7XG4gICAgY29uc3QgYmFzZSA9IHMuc2xpY2UoMCwgLTIpO1xuICAgIGlmIChiYXNlLmVuZHNXaXRoKCdjJykpIHJldHVybiBiYXNlLnNsaWNlKDAsIC0xKSArICd6JztcbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuICBpZiAocy5sZW5ndGggPiAzICYmIHMuZW5kc1dpdGgoJ3MnKSkgcmV0dXJuIHMuc2xpY2UoMCwgLTEpO1xuICByZXR1cm4gcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRmlsdGVyT3B0aW9ucyhcbiAgaXRlbXM6IEJhYnlsb25HbG9iYWxJdGVtW10gPSBbXSxcbiAgYWRkaXRpb25hbDFMaWtlTWFyY2E6IGJvb2xlYW4gPSBmYWxzZVxuKTogRmlsdGVyT3B0aW9uc1Jlc3VsdCB7XG4gIGNvbnN0IGhvdGVsVHlwZU9wdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgIG5ldyBTZXQoXG4gICAgICBpdGVtc1xuICAgICAgICAubWFwKChpKSA9PiAoaSBhcyBhbnkpPy5ob3RlbHR5cGUpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgLm1hcCgodjogc3RyaW5nKSA9PiB2LnRyaW0oKSlcbiAgICApXG4gICkuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKTtcblxuICAvLyBNYW50ZW5lciB2YWxvcmVzIG9yaWdpbmFsZXMgcGVybyBkZWR1cGxpY2FyIHBvciBsb3dlcmNhc2VcbiAgY29uc3QgZGVzdGluYXRpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gIGl0ZW1zXG4gICAgLmZsYXRNYXAoKGkpID0+ICgoaSBhcyBhbnkpPy5kZXN0aW5hdGlvbnMgPz8gW10pLm1hcCgoZDogYW55KSA9PiBkPy5uYW1lKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmZvckVhY2goKHY6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdHJpbW1lZCA9IHYudHJpbSgpO1xuICAgICAgY29uc3Qga2V5ID0gdHJpbW1lZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKCFkZXN0aW5hdGlvbk1hcC5oYXMoa2V5KSkge1xuICAgICAgICBkZXN0aW5hdGlvbk1hcC5zZXQoa2V5LCB0cmltbWVkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICBjb25zdCBkZXN0aW5hdGlvbk9wdGlvbnMgPSBBcnJheS5mcm9tKGRlc3RpbmF0aW9uTWFwLnZhbHVlcygpKVxuICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xuXG4gIGNvbnN0IGJyYW5kT3B0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgbmV3IFNldChpdGVtcy5tYXAoKGkpID0+IGdldEl0ZW1CcmFuZChpLCBhZGRpdGlvbmFsMUxpa2VNYXJjYSkpLmZpbHRlcihCb29sZWFuKSlcbiAgKS5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpO1xuXG4gIGNvbnN0IGZpbHRlclNsdWdUb0xhYmVsID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3QgZGVzdGluYXRpb25TbHVnVG9MYWJlbCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IGJyYW5kU2x1Z1RvTGFiZWwgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBmaWx0ZXJMYWJlbFRvU2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IGRlc3RpbmF0aW9uTGFiZWxUb1NsdWcgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBicmFuZExhYmVsVG9TbHVnID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBjb25zdCB1c2VkRmlsdGVyID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IHVzZWREZXN0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IHVzZWRCcmFuZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgbGFiZWwgb2YgaG90ZWxUeXBlT3B0aW9ucykge1xuICAgIGNvbnN0IGJhc2UgPSBjYW5vbmljYWxTbHVnKGxhYmVsKTtcbiAgICBjb25zdCBzbHVnID0gVXRpbHMudW5pcXVlU2x1ZyhiYXNlLCB1c2VkRmlsdGVyKTtcbiAgICBmaWx0ZXJTbHVnVG9MYWJlbC5zZXQoc2x1ZywgbGFiZWwpO1xuICAgIGZpbHRlckxhYmVsVG9TbHVnLnNldChsYWJlbCwgc2x1Zyk7XG4gIH1cbiAgZm9yIChjb25zdCBsYWJlbCBvZiBkZXN0aW5hdGlvbk9wdGlvbnMpIHtcbiAgICBjb25zdCBiYXNlID0gVXRpbHMudG9TbHVnKGxhYmVsKSB8fCAnZGVzdGluYXRpb24nO1xuICAgIGNvbnN0IHNsdWcgPSBVdGlscy51bmlxdWVTbHVnKGJhc2UsIHVzZWREZXN0KTtcbiAgICBkZXN0aW5hdGlvblNsdWdUb0xhYmVsLnNldChzbHVnLCBsYWJlbCk7XG4gICAgZGVzdGluYXRpb25MYWJlbFRvU2x1Zy5zZXQobGFiZWwsIHNsdWcpO1xuICB9XG4gIGZvciAoY29uc3QgbGFiZWwgb2YgYnJhbmRPcHRpb25zKSB7XG4gICAgY29uc3QgYmFzZSA9IFV0aWxzLnRvU2x1ZyhsYWJlbCkgfHwgJ2JyYW5kJztcbiAgICBjb25zdCBzbHVnID0gVXRpbHMudW5pcXVlU2x1ZyhiYXNlLCB1c2VkQnJhbmQpO1xuICAgIGJyYW5kU2x1Z1RvTGFiZWwuc2V0KHNsdWcsIGxhYmVsKTtcbiAgICBicmFuZExhYmVsVG9TbHVnLnNldChsYWJlbCwgc2x1Zyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhvdGVsVHlwZU9wdGlvbnMsXG4gICAgZGVzdGluYXRpb25PcHRpb25zLFxuICAgIGJyYW5kT3B0aW9ucyxcbiAgICBmaWx0ZXJTbHVnVG9MYWJlbCxcbiAgICBkZXN0aW5hdGlvblNsdWdUb0xhYmVsLFxuICAgIGJyYW5kU2x1Z1RvTGFiZWwsXG4gICAgZmlsdGVyTGFiZWxUb1NsdWcsXG4gICAgZGVzdGluYXRpb25MYWJlbFRvU2x1ZyxcbiAgICBicmFuZExhYmVsVG9TbHVnLFxuICB9O1xufVxuIl19
|