ctt-babylon 0.2.3 → 0.4.0

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.
Files changed (87) hide show
  1. package/esm2022/lib/components/core/babylon-404/babylon-404.component.mjs +1 -1
  2. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.component.mjs +22 -0
  3. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.interface.mjs +2 -0
  4. package/esm2022/lib/components/core/babylon-action-banner/index.mjs +3 -0
  5. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.component.mjs +1 -1
  6. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.component.mjs +29 -3
  7. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.component.mjs +10 -3
  8. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.interface.mjs +1 -1
  9. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.component.mjs +2 -2
  10. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.component.mjs +1 -1
  11. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.mjs +2 -2
  12. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.component.mjs +1 -1
  13. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.mjs +1 -1
  14. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.component.mjs +1 -1
  15. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.component.mjs +2 -2
  16. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.mjs +2 -2
  17. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.component.mjs +1 -1
  18. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.mjs +2 -2
  19. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.mjs +2 -2
  20. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.mjs +2 -2
  21. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.mjs +1 -1
  22. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.mjs +2 -2
  23. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.component.mjs +1 -1
  24. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.component.mjs +2 -2
  25. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.component.mjs +2 -2
  26. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.mjs +1 -1
  27. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.component.mjs +13 -3
  28. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.interface.mjs +1 -1
  29. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.mjs +2 -2
  30. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.mjs +1 -1
  31. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.mjs +1 -1
  32. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.component.mjs +2 -2
  33. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.mjs +2 -2
  34. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.component.mjs +1 -1
  35. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.component.mjs +1 -1
  36. package/esm2022/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.mjs +2 -2
  37. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.mjs +1 -1
  38. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.mjs +39 -0
  39. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.mjs +2 -0
  40. package/esm2022/lib/components/core/babylon-modal-popup/index.mjs +3 -0
  41. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.mjs +2 -2
  42. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.mjs +1 -1
  43. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.mjs +2 -2
  44. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.mjs +2 -2
  45. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.component.mjs +2 -2
  46. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.component.mjs +21 -5
  47. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.interface.mjs +2 -0
  48. package/esm2022/lib/components/core/babylon-press-list/index.mjs +2 -1
  49. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.mjs +2 -2
  50. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.mjs +2 -2
  51. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.mjs +1 -1
  52. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.mjs +1 -1
  53. package/esm2022/lib/components/core/babylon-slider2col/babylon-slider2col.component.mjs +2 -2
  54. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.component.mjs +2 -2
  55. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3col.component.mjs +2 -2
  56. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.component.mjs +2 -2
  57. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.component.mjs +2 -2
  58. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.mjs +1 -1
  59. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.mjs +1 -1
  60. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +2 -2
  61. package/esm2022/lib/components/core/index.mjs +2 -1
  62. package/esm2022/lib/directives/babylon-pagination/babylon-pagination.directive.mjs +127 -0
  63. package/esm2022/lib/directives/link-type/link-type.directive.mjs +7 -2
  64. package/esm2022/lib/services/mapper/mapper.service.mjs +57 -5
  65. package/esm2022/lib/services/modals-service/modals.service.mjs +17 -1
  66. package/fesm2022/ctt-babylon.mjs +370 -71
  67. package/fesm2022/ctt-babylon.mjs.map +1 -1
  68. package/lib/components/core/babylon-action-banner/babylon-action-banner.component.d.ts +10 -0
  69. package/lib/components/core/babylon-action-banner/babylon-action-banner.interface.d.ts +5 -0
  70. package/lib/components/core/babylon-action-banner/index.d.ts +2 -0
  71. package/lib/components/core/babylon-blog-details/babylon-blog-details.component.d.ts +8 -1
  72. package/lib/components/core/babylon-blog-list/babylon-blog-list.component.d.ts +3 -1
  73. package/lib/components/core/babylon-blog-list/babylon-blog-list.interface.d.ts +2 -0
  74. package/lib/components/core/babylon-info-intro/babylon-info-intro.component.d.ts +3 -1
  75. package/lib/components/core/babylon-info-intro/babylon-info-intro.interface.d.ts +1 -0
  76. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.d.ts +25 -0
  77. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.d.ts +8 -0
  78. package/lib/components/core/babylon-modal-popup/index.d.ts +2 -0
  79. package/lib/components/core/babylon-press-list/babylon-press-list.component.d.ts +13 -1
  80. package/lib/components/core/babylon-press-list/babylon-press-list.interface.d.ts +8 -0
  81. package/lib/components/core/babylon-press-list/index.d.ts +1 -0
  82. package/lib/components/core/index.d.ts +1 -0
  83. package/lib/directives/babylon-pagination/babylon-pagination.directive.d.ts +39 -0
  84. package/lib/directives/link-type/link-type.directive.d.ts +2 -1
  85. package/lib/services/mapper/mapper.service.d.ts +5 -1
  86. package/lib/services/modals-service/modals.service.d.ts +2 -0
  87. package/package.json +1 -1
@@ -135,7 +135,7 @@ export class BabylonRoomsColsComponent {
135
135
  });
136
136
  }
137
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonRoomsColsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonRoomsColsComponent, isStandalone: true, selector: "lib-babylon-rooms-cols", inputs: { pretitle: "pretitle", title: "title", items: "items", stFilters: "stFilters", ndFilters: "ndFilters", filters: "filters", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"babylon__rooms-cols margin-main\">\n <div class=\"container\">\n @if (title || pretitle) {\n <div class=\"d-flex flex-column align-items-center pb-4\">\n @if (pretitle) {\n <span class=\"pretitle\"> {{ pretitle }} </span>\n }\n @if (title) {\n <lib-babylon-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"title\"\n [content]=\"title\"\n [color]=\"textColors?.title\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n ></lib-babylon-dynamic-heading>\n }\n </div>\n }\n <div class=\"row justify-content-center filters\">\n @if (filters?.length) {\n @for (filter of filters; track $index) {\n @if (filter.filterId !== 2) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"filter.options\"\n optionLabel=\"name\"\n [placeholder]=\"filter.placeholder\"\n [(ngModel)]=\"filter.title\"\n (ngModelChange)=\"dropdownChange($event, filter)\"\n >\n </p-dropdown>\n </div>\n }\n }\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row cs_gap_y_80\">\n @if (itemsfiltered?.length) {\n @for (item of itemsfiltered; track $index) {\n <div class=\"col-xl-4 col-md-6\">\n <div\n class=\"cs_card cs_style_7 cs--radius overflow-hidden\"\n >\n <a\n [href]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.url\n : '#'\n \"\n [attr.aria-label]=\"\n item.buttons?.length\n ? item.buttons?.[0]?.url\n : '#'\n \"\n [linkType]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.linkType\n : undefined\n \"\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n loading=\"lazy\"\n />\n }\n <span\n class=\"cs_card_btn position-absolute cs_zindex_2\"\n >\n <div\n class=\"btns__box align--center cs__mode-no_mobile\"\n >\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn--light\"\n [ngClass]=\"{\n btn_primary: !$odd,\n btn_call: $odd,\n }\"\n >\n <b> {{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n }\n </div>\n </span>\n </a>\n\n <a\n [href]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.url\n : '#'\n \"\n [attr.aria-label]=\"\n item.buttons?.length\n ? item.buttons?.[0]?.url\n : '#'\n \"\n [linkType]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.linkType\n : undefined\n \"\n >\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}\u20AC\n </h3>\n }\n @if (item.equipment?.length) {\n <div class=\"list-equipament\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n <div\n class=\"info--icon\"\n >\n @if (\n equipment.icon\n ) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n }\n </div>\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </a>\n\n <div\n class=\"btns__box align--center cs__mode-only_mobile\"\n >\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn_primary: $odd,\n btn_call: !$odd,\n }\"\n >\n <b> {{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38)}@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}.cs_card.cs_style_1 .cs_card_list,.cs_card.cs_style_2 .cs_card_list,.cs_card.cs_style_3 .cs_card_list,.cs_card.cs_style_4 .cs_card_list,.cs_card.cs_style_5 .cs_card_list,.cs_card.cs_style_7 .cs_card_list{display:inline-flex;flex-wrap:wrap}.cs_card.cs_style_1 .cs_card_list li,.cs_card.cs_style_2 .cs_card_list li,.cs_card.cs_style_3 .cs_card_list li,.cs_card.cs_style_4 .cs_card_list li,.cs_card.cs_style_5 .cs_card_list li,.cs_card.cs_style_7 .cs_card_list li{position:relative}.cs_card.cs_style_1 .cs_card_list li:not(:last-child),.cs_card.cs_style_2 .cs_card_list li:not(:last-child),.cs_card.cs_style_3 .cs_card_list li:not(:last-child),.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_5 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:15px;margin-right:14px}@media (max-width: 767px){.cs_card.cs_style_1 .cs_card_list li:not(:last-child),.cs_card.cs_style_2 .cs_card_list li:not(:last-child),.cs_card.cs_style_3 .cs_card_list li:not(:last-child),.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_5 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:9px;margin-right:8px}}.cs_card.cs_style_1 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_2 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_3 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_4 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_5 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_7 .cs_card_list li:not(:last-child):after{content:\"\";position:absolute;right:0;top:50%;margin-top:-10px;height:20px;width:1px;background-color:var(--secondary)}.cs_card.cs_style_1 .cs_card_price,.cs_card.cs_style_2 .cs_card_price,.cs_card.cs_style_3 .cs_card_price,.cs_card.cs_style_4 .cs_card_price,.cs_card.cs_style_5 .cs_card_price,.cs_card.cs_style_7 .cs_card_price{display:flex;align-items:center;gap:20px}.cs_card.cs_style_1.text-center .cs_card_price,.cs_card.cs_style_1.text-center .cs_card_list,.cs_card.cs_style_2.text-center .cs_card_price,.cs_card.cs_style_2.text-center .cs_card_list,.cs_card.cs_style_3.text-center .cs_card_price,.cs_card.cs_style_3.text-center .cs_card_list,.cs_card.cs_style_4.text-center .cs_card_price,.cs_card.cs_style_4.text-center .cs_card_list,.cs_card.cs_style_5.text-center .cs_card_price,.cs_card.cs_style_5.text-center .cs_card_list,.cs_card.cs_style_7.text-center .cs_card_price,.cs_card.cs_style_7.text-center .cs_card_list{justify-content:center}.cs_card.cs_style_7{border:1px solid var(--ternary);transition:all .4s ease}.cs_card.cs_style_7 .cs_card_btn{top:50%;left:50%;transform:translate(-50%,-50%);transition:all .4s ease;margin-top:30px;opacity:0;display:block;max-width:90%}.cs_card.cs_style_7 .cs_card_btn .btns__box{flex-direction:column}.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}@media (max-width: 1024px){.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}}@media (max-width: 767px){.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}}.cs_card.cs_style_7 .cs_card_thumb img{transition:all .4s ease;border-radius:var(--img_radius)}.cs_card.cs_style_7:hover{transform:translateY(-5px)}.cs_card.cs_style_7:hover .cs_card_btn{margin-top:0;opacity:1}.cs_card.cs_style_7:hover .cs_card_thumb img{transform:scale(1.03)}.cs_card.cs_style_7.cs_type_1 .cs_card_info p{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 768px){.cs_card.cs_style_7.cs_type_1{display:flex;align-items:center}.cs_card.cs_style_7.cs_type_1 .cs_card_thumb{flex:none;width:45%;height:415px}.cs_card.cs_style_7.cs_type_1 .cs_card_thumb img{height:100%;width:100%;object-fit:cover}}.cs_card.cs_style_4 .cs_card_list,.cs_card.cs_style_7 .cs_card_list{display:inline-flex;flex-wrap:wrap;width:100%;gap:5px 20px}.cs_card.cs_style_4 .cs_card_list li,.cs_card.cs_style_7 .cs_card_list li{position:relative;display:flex;gap:10px;align-items:center}.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:5px;margin-right:4px}@media (max-width: 767px){.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:4px;margin-right:4px}}.cs_card.cs_style_4 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_7 .cs_card_list li:not(:last-child):after{content:\"\";position:absolute;right:-10px;top:0;margin-top:-10px;height:calc(100% + 20px);width:1px;background-color:var(--cl_text-light);opacity:.3}.dropdown__wrapper{display:flex;flex-direction:column;gap:5px;width:250px}.dropdown{position:relative;width:100%}.dropdown-btn{width:100%;font-family:var(--font-text);font-size:15px;color:var(--cl_dropdown-text);font-weight:300;line-height:20px;text-align:left;background-color:#fff;border:1px solid var(--cl_background_dark);border-radius:var(--dropdown-radius);padding:12px 15px;cursor:pointer;-moz-transition:all .1s ease;-o-transition:all .1s ease;-webkit-transition:all .1s ease;-ms-transition:all .1s ease;transition:all .1s ease}.dropdown-btn:after{content:\"\\203a\";font-size:25px;position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(90deg) scaleX(1.5)}.filters{display:flex;flex-direction:column;align-items:center;gap:30px;padding-bottom:40px}@media (min-width: 768px){.filters{flex-direction:row;justify-content:center}}.filters .dropdown__wrapper{border-radius:0%!important}.filters .dropdown{display:block;width:100%;font-family:var(--font-text);font-size:15px;color:var(--cl_dropdown-text);font-weight:300;line-height:20px;text-align:left;position:relative}.filters .dropdown__wrapper{width:250px}.filters .dropdown__wrapper{padding:15px 25px;max-height:60px;border:1px solid var(--cl_dropdown);background-color:#fff;width:250px;position:relative;border-radius:var(--btn_radius)}.filters .dropdown ::ng-deep .p-inputwrapper{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.filters .dropdown ::ng-deep .p-inputtext{padding-right:25px;font-family:var(--font-text)}.filters .dropdown ::ng-deep .p-inputtext:focus-visible{outline:none}.filters .dropdown ::ng-deep .p-overlay{background:#fff;margin-top:6px;left:-26px!important;top:32px!important;border-bottom-left-radius:6px;border-bottom-right-radius:6px;width:250px;border:1px solid var(--cl_dropdown);border-top:0}.filters .dropdown ::ng-deep .p-overlay ul{display:flex;flex-direction:column}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem{width:100%}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li{padding:15px}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li:focus-visible{outline:none}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li:hover{background-color:var(--cl_dropdown-hover);color:#fff}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick"], outputs: ["anchorClicked"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonRoomsColsComponent, isStandalone: true, selector: "lib-babylon-rooms-cols", inputs: { pretitle: "pretitle", title: "title", items: "items", stFilters: "stFilters", ndFilters: "ndFilters", filters: "filters", tags: "tags", textColors: "textColors" }, ngImport: i0, template: "<section class=\"babylon__rooms-cols margin-main\">\n <div class=\"container\">\n @if (title || pretitle) {\n <div class=\"d-flex flex-column align-items-center pb-4\">\n @if (pretitle) {\n <span class=\"pretitle\"> {{ pretitle }} </span>\n }\n @if (title) {\n <lib-babylon-dynamic-heading\n [tag]=\"tags?.title || 'h1'\"\n cssClass=\"title\"\n [content]=\"title\"\n [color]=\"textColors?.title\"\n data-wow-duration=\"0.8s\"\n data-wow-delay=\"0.2s\"\n ></lib-babylon-dynamic-heading>\n }\n </div>\n }\n <div class=\"row justify-content-center filters\">\n @if (filters?.length) {\n @for (filter of filters; track $index) {\n @if (filter.filterId !== 2) {\n <div class=\"dropdown__wrapper\">\n <p-dropdown\n class=\"dropdown\"\n [options]=\"filter.options\"\n optionLabel=\"name\"\n [placeholder]=\"filter.placeholder\"\n [(ngModel)]=\"filter.title\"\n (ngModelChange)=\"dropdownChange($event, filter)\"\n >\n </p-dropdown>\n </div>\n }\n }\n }\n </div>\n </div>\n <div class=\"container-fluid cs_plr_100\">\n <div class=\"row cs_gap_y_80\">\n @if (itemsfiltered?.length) {\n @for (item of itemsfiltered; track $index) {\n <div class=\"col-xl-4 col-md-6\">\n <div\n class=\"cs_card cs_style_7 cs--radius overflow-hidden\"\n >\n <a\n [href]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.url\n : '#'\n \"\n [attr.aria-label]=\"\n item.buttons?.length\n ? item.buttons?.[0]?.url\n : '#'\n \"\n [linkType]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.linkType\n : undefined\n \"\n class=\"cs_card_thumb d-block overflow-hidden position-relative cs_primary_bg\"\n >\n @if (item.img) {\n <img\n [src]=\"item.img.src\"\n [alt]=\"item.img.alt\"\n loading=\"lazy\"\n />\n }\n <span\n class=\"cs_card_btn position-absolute cs_zindex_2\"\n >\n <div\n class=\"btns__box align--center cs__mode-no_mobile\"\n >\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn--light\"\n [ngClass]=\"{\n btn_primary: !$odd,\n btn_call: $odd,\n }\"\n >\n <b> {{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n }\n </div>\n </span>\n </a>\n\n <a\n [href]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.url\n : '#'\n \"\n [attr.aria-label]=\"\n item.buttons?.length\n ? item.buttons?.[0]?.url\n : '#'\n \"\n [linkType]=\"\n item.buttons?.length\n ? item.buttons?.[1]?.linkType\n : undefined\n \"\n >\n <div class=\"cs_card_info position-relative\">\n <div class=\"intro_info\">\n @if (item.title) {\n <h2 class=\"title--small mb--10\">\n {{ item.title }}\n </h2>\n }\n @if (item.price) {\n <h3 class=\"subtitle\">\n <span class=\"text\">{{\n item.priceText\n }}</span>\n {{ item.price }}\u20AC\n </h3>\n }\n @if (item.equipment?.length) {\n <div class=\"list-equipament\">\n <ul\n class=\"cs_card_list cs_mp_0\"\n >\n @for (\n equipment of item.equipment;\n track $index\n ) {\n <li>\n <div\n class=\"info--icon\"\n >\n @if (\n equipment.icon\n ) {\n <i\n class=\"icon--svg\"\n [ngClass]=\"\n equipment.icon\n \"\n ></i>\n }\n </div>\n @if (\n equipment.label\n ) {\n <p\n class=\"text--small\"\n >\n {{\n equipment.label\n }}\n </p>\n }\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </a>\n\n <div\n class=\"btns__box align--center cs__mode-only_mobile\"\n >\n @if (item.buttons?.length) {\n @for (\n button of item.buttons;\n track $index\n ) {\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn\"\n [ngClass]=\"{\n btn_primary: $odd,\n btn_call: !$odd,\n }\"\n >\n <b> {{ button.label }}</b>\n <span\n class=\"babylon-arrow-right-big\"\n ></span>\n </a>\n }\n }\n </div>\n </div>\n </div>\n }\n }\n </div>\n </div>\n</section>\n", styles: ["@charset \"UTF-8\";:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38)}@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}.cs_card.cs_style_1 .cs_card_list,.cs_card.cs_style_2 .cs_card_list,.cs_card.cs_style_3 .cs_card_list,.cs_card.cs_style_4 .cs_card_list,.cs_card.cs_style_5 .cs_card_list,.cs_card.cs_style_7 .cs_card_list{display:inline-flex;flex-wrap:wrap}.cs_card.cs_style_1 .cs_card_list li,.cs_card.cs_style_2 .cs_card_list li,.cs_card.cs_style_3 .cs_card_list li,.cs_card.cs_style_4 .cs_card_list li,.cs_card.cs_style_5 .cs_card_list li,.cs_card.cs_style_7 .cs_card_list li{position:relative}.cs_card.cs_style_1 .cs_card_list li:not(:last-child),.cs_card.cs_style_2 .cs_card_list li:not(:last-child),.cs_card.cs_style_3 .cs_card_list li:not(:last-child),.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_5 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:15px;margin-right:14px}@media (max-width: 767px){.cs_card.cs_style_1 .cs_card_list li:not(:last-child),.cs_card.cs_style_2 .cs_card_list li:not(:last-child),.cs_card.cs_style_3 .cs_card_list li:not(:last-child),.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_5 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:9px;margin-right:8px}}.cs_card.cs_style_1 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_2 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_3 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_4 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_5 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_7 .cs_card_list li:not(:last-child):after{content:\"\";position:absolute;right:0;top:50%;margin-top:-10px;height:20px;width:1px;background-color:var(--secondary)}.cs_card.cs_style_1 .cs_card_price,.cs_card.cs_style_2 .cs_card_price,.cs_card.cs_style_3 .cs_card_price,.cs_card.cs_style_4 .cs_card_price,.cs_card.cs_style_5 .cs_card_price,.cs_card.cs_style_7 .cs_card_price{display:flex;align-items:center;gap:20px}.cs_card.cs_style_1.text-center .cs_card_price,.cs_card.cs_style_1.text-center .cs_card_list,.cs_card.cs_style_2.text-center .cs_card_price,.cs_card.cs_style_2.text-center .cs_card_list,.cs_card.cs_style_3.text-center .cs_card_price,.cs_card.cs_style_3.text-center .cs_card_list,.cs_card.cs_style_4.text-center .cs_card_price,.cs_card.cs_style_4.text-center .cs_card_list,.cs_card.cs_style_5.text-center .cs_card_price,.cs_card.cs_style_5.text-center .cs_card_list,.cs_card.cs_style_7.text-center .cs_card_price,.cs_card.cs_style_7.text-center .cs_card_list{justify-content:center}.cs_card.cs_style_7{border:1px solid var(--ternary);transition:all .4s ease}.cs_card.cs_style_7 .cs_card_btn{top:50%;left:50%;transform:translate(-50%,-50%);transition:all .4s ease;margin-top:30px;opacity:0;display:block;max-width:90%}.cs_card.cs_style_7 .cs_card_btn .btns__box{flex-direction:column}.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}@media (max-width: 1024px){.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}}@media (max-width: 767px){.cs_card.cs_style_7 .cs_card_info{padding:5px 10px 15px}}.cs_card.cs_style_7 .cs_card_thumb img{transition:all .4s ease;border-radius:var(--img_radius)}.cs_card.cs_style_7:hover{transform:translateY(-5px)}.cs_card.cs_style_7:hover .cs_card_btn{margin-top:0;opacity:1}.cs_card.cs_style_7:hover .cs_card_thumb img{transform:scale(1.03)}.cs_card.cs_style_7.cs_type_1 .cs_card_info p{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (min-width: 768px){.cs_card.cs_style_7.cs_type_1{display:flex;align-items:center}.cs_card.cs_style_7.cs_type_1 .cs_card_thumb{flex:none;width:45%;height:415px}.cs_card.cs_style_7.cs_type_1 .cs_card_thumb img{height:100%;width:100%;object-fit:cover}}.cs_card.cs_style_4 .cs_card_list,.cs_card.cs_style_7 .cs_card_list{display:inline-flex;flex-wrap:wrap;width:100%;gap:5px 20px}.cs_card.cs_style_4 .cs_card_list li,.cs_card.cs_style_7 .cs_card_list li{position:relative;display:flex;gap:10px;align-items:center}.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:5px;margin-right:4px}@media (max-width: 767px){.cs_card.cs_style_4 .cs_card_list li:not(:last-child),.cs_card.cs_style_7 .cs_card_list li:not(:last-child){padding-right:4px;margin-right:4px}}.cs_card.cs_style_4 .cs_card_list li:not(:last-child):after,.cs_card.cs_style_7 .cs_card_list li:not(:last-child):after{content:\"\";position:absolute;right:-10px;top:0;margin-top:-10px;height:calc(100% + 20px);width:1px;background-color:var(--cl_text-light);opacity:.3}.dropdown__wrapper{display:flex;flex-direction:column;gap:5px;width:250px}.dropdown{position:relative;width:100%}.dropdown-btn{width:100%;font-family:var(--font-text);font-size:15px;color:var(--cl_dropdown-text);font-weight:300;line-height:20px;text-align:left;background-color:#fff;border:1px solid var(--cl_background_dark);border-radius:var(--dropdown-radius);padding:12px 15px;cursor:pointer;-moz-transition:all .1s ease;-o-transition:all .1s ease;-webkit-transition:all .1s ease;-ms-transition:all .1s ease;transition:all .1s ease}.dropdown-btn:after{content:\"\\203a\";font-size:25px;position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(90deg) scaleX(1.5)}.filters{display:flex;flex-direction:column;align-items:center;gap:30px;padding-bottom:40px}@media (min-width: 768px){.filters{flex-direction:row;justify-content:center}}.filters .dropdown__wrapper{border-radius:0%!important}.filters .dropdown{display:block;width:100%;font-family:var(--font-text);font-size:15px;color:var(--cl_dropdown-text);font-weight:300;line-height:20px;text-align:left;position:relative}.filters .dropdown__wrapper{width:250px}.filters .dropdown__wrapper{padding:15px 25px;max-height:60px;border:1px solid var(--cl_dropdown);background-color:#fff;width:250px;position:relative;border-radius:var(--btn_radius)}.filters .dropdown ::ng-deep .p-inputwrapper{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.filters .dropdown ::ng-deep .p-inputtext{padding-right:25px;font-family:var(--font-text)}.filters .dropdown ::ng-deep .p-inputtext:focus-visible{outline:none}.filters .dropdown ::ng-deep .p-overlay{background:#fff;margin-top:6px;left:-26px!important;top:32px!important;border-bottom-left-radius:6px;border-bottom-right-radius:6px;width:250px;border:1px solid var(--cl_dropdown);border-top:0}.filters .dropdown ::ng-deep .p-overlay ul{display:flex;flex-direction:column}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem{width:100%}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li{padding:15px}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li:focus-visible{outline:none}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem li:hover{background-color:var(--cl_dropdown-hover);color:#fff}.filters .dropdown ::ng-deep .p-overlay ul p-dropdownitem:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: BabylonLinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href", "modalClick", "clickPopup"], outputs: ["anchorClicked"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: BabylonDynamicHeadingComponent, selector: "lib-babylon-dynamic-heading", inputs: ["tag", "wrapper", "cssClass", "content", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
139
139
  }
140
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonRoomsColsComponent, decorators: [{
141
141
  type: Component,
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
163
163
  }], textColors: [{
164
164
  type: Input
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFieWxvbi1yb29tcy1jb2xzL2JhYnlsb24tcm9vbXMtY29scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tcm9vbXMtY29scy9iYWJ5bG9uLXJvb21zLWNvbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFLN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQWdCOUQsTUFBTSxPQUFPLHlCQUF5QjtJQWR0QztRQXdCSSxrQkFBYSxHQUE0QixFQUFFLENBQUM7S0F5Si9DO0lBdkpHLFFBQVE7UUFDSiwyRUFBMkU7UUFDM0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FD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RyxLQUFLLENBQUM7NkJBQ2hCOzRCQUNELE1BQU07d0JBRVY7NEJBQ0ksTUFBTTtxQkFDYjtpQkFDSjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbEtRLHlCQUF5QjttR0FBekIseUJBQXlCLGdRQ3pCdEMsMm9XQW1OQSxrcThCRHBNUSxZQUFZLDZIQUNaLHdCQUF3Qiw4SEFDeEIsY0FBYyx1dENBQ2QsV0FBVywrVkFDWCw4QkFBOEI7OzRGQU16Qix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLDhCQUE4QjtxQkFDakMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25UYWdzSSwgQmFieWxvblRleHRzQ29sb3JzSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24tYnV0dG9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWRyb3Bkb3duLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWltYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLXJvb21zLWNvbHMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvblJvb21zQ29sc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBCYWJ5bG9uUm9vbXNDb2xzSXRlbVtdO1xuICAgIEBJbnB1dCgpIHN0RmlsdGVycz86IEJhYnlsb25Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgbmRGaWx0ZXJzPzogQmFieWxvbkRyb3Bkb3duSTtcbiAgICBASW5wdXQoKSBmaWx0ZXJzPzogQmFieWxvbkRyb3Bkb3duSVtdO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBCYWJ5bG9uVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IEJhYnlsb25UZXh0c0NvbG9yc0k7XG5cbiAgICBpdGVtc2ZpbHRlcmVkPzogQmFieWxvblJvb21zQ29sc0l0ZW1bXSA9IFtdO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEFkZCB0aGUgXCJBbGxcIiBvcHRpb24gdG8gdGhlIG9wdGlvbnMgb2YgZWFjaCBmaWx0ZXIgaWYgd2Ugd2FudCB0aGUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVycz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24uZmlsdGVySWQgPT09IDIpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxsT3B0aW9ucyA9IHRoaXMuZmlsdGVycz8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmZpbHRlcklkID09PSAyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gZmlsdGVyLm9wdGlvbnMgfHwgW107IC8vIEluaXRpYWxpemUgb3B0aW9ucyBpZiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyLm9wdGlvbnMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNvZGU6IGFsbE9wdGlvbnM/LmZpbHRlcklkLCBuYW1lOiBhbGxPcHRpb25zPy50aXRsZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gZmlsdGVyLm9wdGlvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGVmdCBBbGwgb3B0aW9uIG9uIGZpcnN0IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYS5jb2RlID09PSAyKSByZXR1cm4gLTI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYi5jb2RlID09PSAyKSByZXR1cm4gMjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWxwaGFiZXRpY2FsIHNvcnQgZm9yIHRoZSByZXN0IG9mIHRoZSBvcHRpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5uYW1lIS5sb2NhbGVDb21wYXJlKGIubmFtZSA/PyAnJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vuc2l0aXZpdHk6ICdiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1zZmlsdGVyZWQgPSB0aGlzLml0ZW1zIHx8IFtdO1xuICAgICAgICB0aGlzLmZpeEZpbHRlcnMoMTQpO1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBGaXggRnVuY3Rpb246IFJlbW92ZXMgYW5kIHNlcGFyYXRlcyBkb3VibGUgZmlsdGVycyByZWNlaXZlZCB3aXRoIHRoZSArIGNoYXJhY3RlciBhbmQgcmVtb3ZlcyBkdXBsaWNhdGVzXG4gICAgZml4RmlsdGVycyhpZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9uczogYW55W10gPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcnM/LmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmZpbHRlcklkID09PSBpZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIuZmlsdGVySWQgPT09IGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIub3B0aW9ucz8ubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLm5hbWU/LmluY2x1ZGVzKCcgKyAnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcGxpdE9wdGlvbnMgPSBvcHRpb24ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcgKyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgobmFtZSkgPT4gbmFtZS50cmltKCkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0T3B0aW9ucy5mb3JFYWNoKChzaW5nbGVUaXRsZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFmaWx0ZXIub3B0aW9ucz8uc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdC5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXBsYWNlKC9cXHMrL2csICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IHNpbmdsZVRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzaW5nbGVUaXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW5ld09wdGlvbnMuc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmV3T3B0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHQubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXBsYWNlKC9cXHMrL2csICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gbmV3T3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdCwgaW5kZXgsIHNlbGYpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdC5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJvcGRvd25DaGFuZ2UoJGV2ZW50OiBhbnksIGZpbHRlcjogQmFieWxvbkRyb3Bkb3duSSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXNmaWx0ZXJlZCA9IFtdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pdGVtc2ZpbHRlcmVkID0gW107XG4gICAgICAgIHRoaXMuaXRlbXMubWFwKChyb29tOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBmbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVycz8ubWFwKChmaWx0ZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIudGl0bGU/LmNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXIuZmlsdGVySWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTogLy9iZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmFOKGZpbHRlci50aXRsZT8uY29kZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vbS5iZWRyb29tRmlsdGVySWQgIT09IGZpbHRlci50aXRsZS5jb2RlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci50aXRsZS5jb2RlICE9PSAyICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFyb29tPy5iZWRyb29tRmlsdGVySWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50Py5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE0OiAvLyBjYXJhY3RlcnVpc3RpY2FzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05hTihmaWx0ZXIudGl0bGU/LmNvZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFyb29tLmNoYXJhY3RlcmlzdGljc0ZpbHRlcklkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci50aXRsZT8uY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIudGl0bGUuY29kZSAhPT0gMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZmxhZykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNmaWx0ZXJlZD8ucHVzaChyb29tKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25Sb29tc0NvbHNJdGVtIHtcbiAgICBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbiAgICBsaW5rcz86IEJhYnlsb25CdXR0b25JW107XG4gICAgaW1nPzogQmFieWxvbkltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBwcmV0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBlcXVpcG1lbnQ/OiBCYWJ5bG9uUm9vbXNDb2xzRXF1aXBtZW50W107XG4gICAgYmVkcm9vbUZpbHRlcklkPzogbnVtYmVyO1xuICAgIGNoYXJhY3RlcmlzdGljc0ZpbHRlcklkPzogbnVtYmVyO1xuICAgIHByaWNlPzogbnVtYmVyO1xuICAgIHByaWNlVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uUm9vbXNDb2xzRXF1aXBtZW50IHtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9uIHtcbiAgICBjb2RlPzogbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgYWdlcz86IERyb3Bkb3duT3B0aW9uW107XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJhYnlsb25fX3Jvb21zLWNvbHMgbWFyZ2luLW1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAodGl0bGUgfHwgcHJldGl0bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHBiLTRcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJldGl0bGVcIj4ge3sgcHJldGl0bGUgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gxJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcz1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdvdy1kdXJhdGlvbj1cIjAuOHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13b3ctZGVsYXk9XCIwLjJzXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBmaWx0ZXJzXCI+XG4gICAgICAgICAgICBAaWYgKGZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKGZpbHRlciBvZiBmaWx0ZXJzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWx0ZXIuZmlsdGVySWQgIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXIub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRyb3Bkb3duQ2hhbmdlKCRldmVudCwgZmlsdGVyKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIGNzX3Bscl8xMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjc19nYXBfeV84MFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtc2ZpbHRlcmVkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zZmlsdGVyZWQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTQgY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmQgY3Nfc3R5bGVfNyBjcy0tcmFkaXVzIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMV0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMF0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9ucz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmRfdGh1bWIgZC1ibG9jayBvdmVyZmxvdy1oaWRkZW4gcG9zaXRpb24tcmVsYXRpdmUgY3NfcHJpbWFyeV9iZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmRfYnRuIHBvc2l0aW9uLWFic29sdXRlIGNzX3ppbmRleF8yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuc19fYm94IGFsaWduLS1jZW50ZXIgY3NfX21vZGUtbm9fbW9iaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIG9mIGl0ZW0uYnV0dG9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLS1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fcHJpbWFyeTogISRvZGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9jYWxsOiAkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPiB7eyBidXR0b24ubGFiZWwgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMV0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMF0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9ucz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNzX2NhcmRfaW5mbyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludHJvX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGl0bGUtLXNtYWxsIG1iLS0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ucHJpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwic3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wcmljZVRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5wcmljZSB9feKCrFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZXF1aXBtZW50Py5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZXF1aXBhbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjc19jYXJkX2xpc3QgY3NfbXBfMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImluZm8tLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWlwbWVudC5pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tLXN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVpcG1lbnQuaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXF1aXBtZW50LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVpcG1lbnQubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5zX19ib3ggYWxpZ24tLWNlbnRlciBjc19fbW9kZS1vbmx5X21vYmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24gb2YgaXRlbS5idXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9wcmltYXJ5OiAkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX2NhbGw6ICEkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPiB7eyBidXR0b24ubGFiZWwgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlsb24tYXJyb3ctcmlnaHQtYmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFieWxvbi1yb29tcy1jb2xzL2JhYnlsb24tcm9vbXMtY29scy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tcm9vbXMtY29scy9iYWJ5bG9uLXJvb21zLWNvbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFLN0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQWdCOUQsTUFBTSxPQUFPLHlCQUF5QjtJQWR0QztRQXdCSSxrQkFBYSxHQUE0QixFQUFFLENBQUM7S0F5Si9DO0lBdkpHLFFBQVE7UUFDSiwyRUFBMkU7UUFDM0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FD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RyxLQUFLLENBQUM7NkJBQ2hCOzRCQUNELE1BQU07d0JBRVY7NEJBQ0ksTUFBTTtxQkFDYjtpQkFDSjtZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbEtRLHlCQUF5QjttR0FBekIseUJBQXlCLGdRQ3pCdEMsMm9XQW1OQSxrcThCRHBNUSxZQUFZLDZIQUNaLHdCQUF3Qiw0SUFDeEIsY0FBYyx1dENBQ2QsV0FBVywrVkFDWCw4QkFBOEI7OzRGQU16Qix5QkFBeUI7a0JBZHJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLDhCQUE4QjtxQkFDakMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25UYWdzSSwgQmFieWxvblRleHRzQ29sb3JzSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24tYnV0dG9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRHJvcGRvd25JIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWRyb3Bkb3duLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uSW1hZ2VJIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9iYWJ5bG9uLWltYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLXJvb21zLWNvbHMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uRHluYW1pY0hlYWRpbmdDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1yb29tcy1jb2xzLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvblJvb21zQ29sc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHJldGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXM/OiBCYWJ5bG9uUm9vbXNDb2xzSXRlbVtdO1xuICAgIEBJbnB1dCgpIHN0RmlsdGVycz86IEJhYnlsb25Ecm9wZG93bkk7XG4gICAgQElucHV0KCkgbmRGaWx0ZXJzPzogQmFieWxvbkRyb3Bkb3duSTtcbiAgICBASW5wdXQoKSBmaWx0ZXJzPzogQmFieWxvbkRyb3Bkb3duSVtdO1xuICAgIEBJbnB1dCgpIHRhZ3M/OiBCYWJ5bG9uVGFnc0k7XG4gICAgQElucHV0KCkgdGV4dENvbG9ycz86IEJhYnlsb25UZXh0c0NvbG9yc0k7XG5cbiAgICBpdGVtc2ZpbHRlcmVkPzogQmFieWxvblJvb21zQ29sc0l0ZW1bXSA9IFtdO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEFkZCB0aGUgXCJBbGxcIiBvcHRpb24gdG8gdGhlIG9wdGlvbnMgb2YgZWFjaCBmaWx0ZXIgaWYgd2Ugd2FudCB0aGUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVycz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24uZmlsdGVySWQgPT09IDIpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxsT3B0aW9ucyA9IHRoaXMuZmlsdGVycz8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmZpbHRlcklkID09PSAyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gZmlsdGVyLm9wdGlvbnMgfHwgW107IC8vIEluaXRpYWxpemUgb3B0aW9ucyBpZiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyLm9wdGlvbnMgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGNvZGU6IGFsbE9wdGlvbnM/LmZpbHRlcklkLCBuYW1lOiBhbGxPcHRpb25zPy50aXRsZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gZmlsdGVyLm9wdGlvbnMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTGVmdCBBbGwgb3B0aW9uIG9uIGZpcnN0IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYS5jb2RlID09PSAyKSByZXR1cm4gLTI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYi5jb2RlID09PSAyKSByZXR1cm4gMjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWxwaGFiZXRpY2FsIHNvcnQgZm9yIHRoZSByZXN0IG9mIHRoZSBvcHRpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYS5uYW1lIS5sb2NhbGVDb21wYXJlKGIubmFtZSA/PyAnJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vuc2l0aXZpdHk6ICdiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLml0ZW1zZmlsdGVyZWQgPSB0aGlzLml0ZW1zIHx8IFtdO1xuICAgICAgICB0aGlzLmZpeEZpbHRlcnMoMTQpO1xuICAgIH1cblxuICAgIC8vIEZpbHRlciBGaXggRnVuY3Rpb246IFJlbW92ZXMgYW5kIHNlcGFyYXRlcyBkb3VibGUgZmlsdGVycyByZWNlaXZlZCB3aXRoIHRoZSArIGNoYXJhY3RlciBhbmQgcmVtb3ZlcyBkdXBsaWNhdGVzXG4gICAgZml4RmlsdGVycyhpZDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbmV3T3B0aW9uczogYW55W10gPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcnM/LmZpbmQoKGZpbHRlcikgPT4gZmlsdGVyLmZpbHRlcklkID09PSBpZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIuZmlsdGVySWQgPT09IGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIub3B0aW9ucz8ubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9uLm5hbWU/LmluY2x1ZGVzKCcgKyAnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcGxpdE9wdGlvbnMgPSBvcHRpb24ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcgKyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgobmFtZSkgPT4gbmFtZS50cmltKCkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0T3B0aW9ucy5mb3JFYWNoKChzaW5nbGVUaXRsZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFmaWx0ZXIub3B0aW9ucz8uc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdC5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXBsYWNlKC9cXHMrL2csICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IHNpbmdsZVRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBzaW5nbGVUaXRsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIW5ld09wdGlvbnMuc29tZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmV3T3B0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHQubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXBsYWNlKC9cXHMrL2csICcnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci5vcHRpb25zID0gbmV3T3B0aW9ucy5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdCwgaW5kZXgsIHNlbGYpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbmRJbmRleChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdC5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJvcGRvd25DaGFuZ2UoJGV2ZW50OiBhbnksIGZpbHRlcjogQmFieWxvbkRyb3Bkb3duSSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXNmaWx0ZXJlZCA9IFtdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pdGVtc2ZpbHRlcmVkID0gW107XG4gICAgICAgIHRoaXMuaXRlbXMubWFwKChyb29tOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBmbGFnOiBib29sZWFuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVycz8ubWFwKChmaWx0ZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXIudGl0bGU/LmNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXIuZmlsdGVySWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMTogLy9iZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTmFOKGZpbHRlci50aXRsZT8uY29kZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vbS5iZWRyb29tRmlsdGVySWQgIT09IGZpbHRlci50aXRsZS5jb2RlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci50aXRsZS5jb2RlICE9PSAyICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFyb29tPy5iZWRyb29tRmlsdGVySWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50Py5uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmVwbGFjZSgvXFxzKy9nLCAnJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDE0OiAvLyBjYXJhY3RlcnVpc3RpY2FzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05hTihmaWx0ZXIudGl0bGU/LmNvZGUpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFyb29tLmNoYXJhY3RlcmlzdGljc0ZpbHRlcklkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlci50aXRsZT8uY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJlcGxhY2UoL1xccysvZywgJycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIudGl0bGUuY29kZSAhPT0gMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZmxhZykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNmaWx0ZXJlZD8ucHVzaChyb29tKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25Sb29tc0NvbHNJdGVtIHtcbiAgICBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbiAgICBsaW5rcz86IEJhYnlsb25CdXR0b25JW107XG4gICAgaW1nPzogQmFieWxvbkltYWdlSTtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBwcmV0aXRsZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBlcXVpcG1lbnQ/OiBCYWJ5bG9uUm9vbXNDb2xzRXF1aXBtZW50W107XG4gICAgYmVkcm9vbUZpbHRlcklkPzogbnVtYmVyO1xuICAgIGNoYXJhY3RlcmlzdGljc0ZpbHRlcklkPzogbnVtYmVyO1xuICAgIHByaWNlPzogbnVtYmVyO1xuICAgIHByaWNlVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uUm9vbXNDb2xzRXF1aXBtZW50IHtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9uIHtcbiAgICBjb2RlPzogbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgYWdlcz86IERyb3Bkb3duT3B0aW9uW107XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cImJhYnlsb25fX3Jvb21zLWNvbHMgbWFyZ2luLW1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAodGl0bGUgfHwgcHJldGl0bGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIHBiLTRcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHByZXRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJldGl0bGVcIj4ge3sgcHJldGl0bGUgfX0gPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gxJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcz1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZW50XT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdvdy1kdXJhdGlvbj1cIjAuOHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS13b3ctZGVsYXk9XCIwLjJzXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBmaWx0ZXJzXCI+XG4gICAgICAgICAgICBAaWYgKGZpbHRlcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIEBmb3IgKGZpbHRlciBvZiBmaWx0ZXJzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWx0ZXIuZmlsdGVySWQgIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bl9fd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXIub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlci50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRyb3Bkb3duQ2hhbmdlKCRldmVudCwgZmlsdGVyKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIGNzX3Bscl8xMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjc19nYXBfeV84MFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtc2ZpbHRlcmVkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zZmlsdGVyZWQ7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTQgY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmQgY3Nfc3R5bGVfNyBjcy0tcmFkaXVzIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMV0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMF0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9ucz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmRfdGh1bWIgZC1ibG9jayBvdmVyZmxvdy1oaWRkZW4gcG9zaXRpb24tcmVsYXRpdmUgY3NfcHJpbWFyeV9iZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtLmltZy5zcmNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiaXRlbS5pbWcuYWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2NhcmRfYnRuIHBvc2l0aW9uLWFic29sdXRlIGNzX3ppbmRleF8yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuc19fYm94IGFsaWduLS1jZW50ZXIgY3NfX21vZGUtbm9fbW9iaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIG9mIGl0ZW0uYnV0dG9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmtUeXBlXT1cImJ1dHRvbi5saW5rVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLS1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidG5fcHJpbWFyeTogISRvZGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9jYWxsOiAkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPiB7eyBidXR0b24ubGFiZWwgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMV0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJ1dHRvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5idXR0b25zPy5bMF0/LnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJyMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYnV0dG9ucz8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmJ1dHRvbnM/LlsxXT8ubGlua1R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNzX2NhcmRfaW5mbyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludHJvX2luZm9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGl0bGUtLXNtYWxsIG1iLS0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ucHJpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwic3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5wcmljZVRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5wcmljZSB9feKCrFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uZXF1aXBtZW50Py5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3QtZXF1aXBhbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjc19jYXJkX2xpc3QgY3NfbXBfMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWlwbWVudCBvZiBpdGVtLmVxdWlwbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImluZm8tLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWlwbWVudC5pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tLXN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVpcG1lbnQuaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXF1aXBtZW50LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtLXNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVpcG1lbnQubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5zX19ib3ggYWxpZ24tLWNlbnRlciBjc19fbW9kZS1vbmx5X21vYmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYnV0dG9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24gb2YgaXRlbS5idXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJidXR0b24ubGlua1R5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ0bl9wcmltYXJ5OiAkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnRuX2NhbGw6ICEkb2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPiB7eyBidXR0b24ubGFiZWwgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlsb24tYXJyb3ctcmlnaHQtYmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuIl19