/* 70px */
/* 36px */
/* 32px */
/* 26px */
/* 20px */
/* 18px */
[class^=icon-], [class*=" icon-"], .icon {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-download:before {
  content: "\e91a";
}

.icon-filter-mobile:before {
  content: "\e919";
}

.icon-whatsapp:before {
  content: "\e917";
}

.icon-mail:before {
  content: "\e918";
}

.icon-carousel:before {
  content: "\e916";
  color: #fff;
}

.icon-filter:before {
  content: "\e915";
}

.icon-email:before {
  content: "\e912";
}

.icon-fax:before {
  content: "\e913";
}

.icon-telefono:before {
  content: "\e914";
}

.icon-instagram:before {
  content: "\e90e";
}

.icon-youtube:before {
  content: "\e90f";
}

.icon-twitter:before {
  content: "\e910";
}

.icon-facebook:before {
  content: "\e911";
}

.icon-newsletter:before {
  content: "\e90d";
}

.icon-nav:before {
  content: "\e90c";
}

.icon-ul:before {
  content: "\e90b";
}

.icon-mani:before {
  content: "\e907";
}

.icon-casa:before {
  content: "\e908";
}

.icon-cicogna:before {
  content: "\e909";
}

.icon-bullet_full:before {
  content: "\e905";
}

.icon-bullet:before {
  content: "\e906";
}

.icon-play_icon:before {
  content: "\e903";
  color: #fff;
}

.icon-play_bg:before {
  content: "\e904";
}

.icon-menuactive:before {
  content: "\e902";
}

.icon-check:before {
  content: "\e901";
}

.icon-search:before {
  content: "\e900";
}

.gallery-orizzontale {
  padding: 90px 0 70px;
  margin-top: 55px;
  margin-bottom: 8vw;
}
.gallery-orizzontale a {
  color: #d51317;
}
@media (max-width: 991.98px) {
  .gallery-orizzontale {
    padding-top: 30px;
  }
}
.gallery-orizzontale h2 {
  padding-left: 15px;
  padding-right: 15px;
}
.gallery-orizzontale .swiper-buttons {
  position: absolute;
  left: calc(50% + 3.33333em);
  right: 0;
  bottom: 150px;
}
@media (max-width: 991.98px) {
  .gallery-orizzontale .swiper-buttons {
    left: 0;
    bottom: 50px;
  }
}
.gallery-orizzontale .swiper-button-next, .gallery-orizzontale .swiper-button-prev {
  margin: 0 20px;
  transform: rotate(90deg);
  outline: 0;
}
@media (max-width: 575.98px) {
  .gallery-orizzontale .swiper-button-next, .gallery-orizzontale .swiper-button-prev {
    margin: 0 5px;
  }
}
.gallery-orizzontale .swiper-button-next:after, .gallery-orizzontale .swiper-button-prev:after {
  display: none;
}
.gallery-orizzontale .swiper-button-next i, .gallery-orizzontale .swiper-button-prev i {
  font-size: 22px;
  color: #d51317;
}
.gallery-orizzontale .swiper-button-next i {
  transform: rotate(-180deg);
}
.gallery-orizzontale .gallery-main {
  margin-bottom: 10px;
}
.gallery-orizzontale .gallery-main .swiper-slide {
  padding: 120px 0 220px;
  min-height: 685px;
}
@media (max-width: 991.98px) {
  .gallery-orizzontale .gallery-main .swiper-slide {
    min-height: 1px;
    padding-top: 0;
    padding-bottom: 40px;
  }
}
.gallery-orizzontale .gallery-img {
  background-size: cover;
  background-position: center;
}
@media (min-width: 992px) {
  .gallery-orizzontale .gallery-img {
    left: 0;
    top: 0;
    bottom: 0;
  }
}
@media (max-width: 991.98px) {
  .gallery-orizzontale .gallery-img {
    padding-bottom: 50%;
  }
}
.gallery-orizzontale .gallery-txt {
  padding-left: 3.3333333333em;
  font-size: 24px;
  line-height: 1.4166666667em;
}
@media (max-width: 1199.98px) {
  .gallery-orizzontale .gallery-txt {
    padding-left: 1.1111111111em;
  }
}
@media (max-width: 991.98px) {
  .gallery-orizzontale .gallery-txt {
    padding-left: 0;
    font-size: 18px;
  }
}
.gallery-orizzontale .gallery-thumb {
  padding-bottom: 100%;
  background-size: cover;
}
.gallery-orizzontale .gallery-title {
  font-size: 28px;
  font-style: normal !important;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxpdGllcy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlsaXRpZXMvX2ljb25zLnNjc3MiLCJibG9ja3MvZ2FsbGVyeS1vcml6em9udGFsZS5jc3MiLCJibG9ja3MvZ2FsbGVyeS1vcml6em9udGFsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRG1DLFNBQUE7QUFDZixTQUFBO0FBQ2lCLFNBQUE7QUFDQSxTQUFBO0FBQ0EsU0FBQTtBQUNqQixTQUFBO0FDMURwQjtFQUNJLGlDQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7QUNPSjs7QURMQTtFQUNJLGdCQUFBO0FDUUo7O0FETkE7RUFDSSxnQkFBQTtBQ1NKOztBRFBBO0VBQ0ksZ0JBQUE7QUNVSjs7QURSQTtFQUNJLGdCQUFBO0FDV0o7O0FEVEE7RUFDSSxnQkFBQTtFQUNBLFdBQUE7QUNZSjs7QURWQTtFQUNJLGdCQUFBO0FDYUo7O0FEWEE7RUFDSSxnQkFBQTtBQ2NKOztBRFpBO0VBQ0ksZ0JBQUE7QUNlSjs7QURiQTtFQUNJLGdCQUFBO0FDZ0JKOztBRGRBO0VBQ0ksZ0JBQUE7QUNpQko7O0FEZkE7RUFDSSxnQkFBQTtBQ2tCSjs7QURoQkE7RUFDSSxnQkFBQTtBQ21CSjs7QURqQkE7RUFDSSxnQkFBQTtBQ29CSjs7QURsQkE7RUFDSSxnQkFBQTtBQ3FCSjs7QURuQkE7RUFDSSxnQkFBQTtBQ3NCSjs7QURwQkE7RUFDSSxnQkFBQTtBQ3VCSjs7QURyQkE7RUFDSSxnQkFBQTtBQ3dCSjs7QUR0QkE7RUFDSSxnQkFBQTtBQ3lCSjs7QUR2QkE7RUFDSSxnQkFBQTtBQzBCSjs7QUR4QkE7RUFDSSxnQkFBQTtBQzJCSjs7QUR6QkE7RUFDSSxnQkFBQTtBQzRCSjs7QUQxQkE7RUFDSSxnQkFBQTtFQUNBLFdBQUE7QUM2Qko7O0FEM0JBO0VBQ0ksZ0JBQUE7QUM4Qko7O0FENUJBO0VBQ0ksZ0JBQUE7QUMrQko7O0FEN0JBO0VBQ0ksZ0JBQUE7QUNnQ0o7O0FEOUJBO0VBQ0ksZ0JBQUE7QUNpQ0o7O0FDbkhBO0VBQ0ksb0JBQUE7RUFXQSxnQkFBQTtFQUNBLGtCQUFBO0FENEdKO0FDdkhJO0VBQ0ksY0hURjtBRWtJTjtBRTFESTtFRGxFSjtJQU1RLGlCQUFBO0VEMEhOO0FBQ0Y7QUN6SEk7RUFDSSxrQkFBQTtFQUNBLG1CQUFBO0FEMkhSO0FDdkhJO0VBQ0ksa0JBQUE7RUFDQSwyQkFBQTtFQUNBLFFBQUE7RUFDQSxhQUFBO0FEeUhSO0FFekVJO0VEcERBO0lBTVEsT0FBQTtJQUNBLFlBQUE7RUQySFY7QUFDRjtBQ3pISTtFQUNJLGNBQUE7RUFDQSx3QkFBQTtFQUlBLFVBQUE7QUR3SFI7QUVwRkk7RUQxQ0E7SUFJUSxhQUFBO0VEOEhWO0FBQ0Y7QUM1SFE7RUFDSSxhQUFBO0FEOEhaO0FDNUhRO0VBQ0ksZUFBQTtFQUNBLGNIMUNOO0FFd0tOO0FDMUhRO0VBQ0ksMEJBQUE7QUQ0SFo7QUN6SEk7RUFDSSxtQkFBQTtBRDJIUjtBQzFIUTtFQUNJLHNCQUFBO0VBQ0EsaUJBQUE7QUQ0SFo7QUUxR0k7RURwQkk7SUFJUSxlQUFBO0lBQ0EsY0FBQTtJQUNBLG9CQUFBO0VEOEhkO0FBQ0Y7QUMzSEk7RUFTSSxzQkFBQTtFQUNBLDJCQUFBO0FEcUhSO0FFbElJO0VER0E7SUFFUSxPQUFBO0lBQ0EsTUFBQTtJQUNBLFNBQUE7RURpSVY7QUFDRjtBRTVISTtFRFZBO0lBT1EsbUJBQUE7RURtSVY7QUFDRjtBQy9ISTtFQUNJLDRCQUFBO0VBQ0EsZUFBQTtFQUNBLDJCQUFBO0FEaUlSO0FFdElJO0VERUE7SUFLUSw0QkFBQTtFRG1JVjtBQUNGO0FFM0lJO0VERUE7SUFRUSxlQUFBO0lBQ0EsZUFBQTtFRHFJVjtBQUNGO0FDbklJO0VBQ0ksb0JBQUE7RUFDQSxzQkFBQTtBRHFJUjtBQ25JSTtFQUNJLGVBQUE7RUFDQSw2QkFBQTtBRHFJUiIsImZpbGUiOiJibG9ja3MvZ2FsbGVyeS1vcml6em9udGFsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvL3ZpZGFzXG4kcmVkOiAjZDUxMzE3O1xuJGJsdWU6ICMxZDcxYjY7XG4kcmVkX2xpZ2h0OiAjZTI1OTVjO1xuJHBpbms6ICNmYmU3ZTc7XG4kZ3JheTogI2Y1ZjJmMjtcblxuJGZvbnQ6ICdBc2FwJywgc2Fucy1zZXJpZjtcbiRmb250X3RpdGxlOiAnQXNhcCBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuJGZvbnRfbnVtYmVyczogJ0ZyZWVzdHlsZSBTY3JpcHQnO1xuJGJyb3dzZXItY29udGV4dDogMTg7XG5cbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cbi8vYm9vdHN0cmFwXG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjI7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuJGJ0bi1ib3JkZXItcmFkaXVzOiAwLjM3NWVtO1xuXG4kYnRuLWZvbnQtZmFtaWx5OiAkZm9udF90aXRsZTtcbiRidG4tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuJGJ0bi1ib3JkZXItd2lkdGg6IDJweDtcbiRidG4tcGFkZGluZy15OiAuNXJlbTtcbiRidG4tcGFkZGluZy14OiAxLjNyZW07XG4kYnRuLXRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQ7XG5cbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJyZWRcIjogJHJlZCxcbiAgXCJibHVlXCI6ICRibHVlLFxuICBcInBpbmtcIjogJHBpbmssXG4gIFwiZ3JheVwiOiAkZ3JheSxcbiAgXCJyZWRfbGlnaHRcIjogJHJlZF9saWdodCxcbiAgXCJibGFja1wiOiAjMDAwLFxuICBcIndoaXRlXCI6ICNmZmYsXG4pO1xuXG4kc3BhY2VyczogKFxuICAgIDA6IDAsXG4gICAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAgIDI6ICgkc3BhY2VyICogLjUpLFxuICAgIDM6ICRzcGFjZXIsXG4gICAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICAgIDU6ICgkc3BhY2VyICogMyksXG4gICAgNjogKCRzcGFjZXIgKiAzLjUpLFxuICAgIDc6ICgkc3BhY2VyICogNCksXG4gICAgODogKCRzcGFjZXIgKiA1KVxuKTtcblxuJGgxLWZvbnQtc2l6ZTogMy44ODg4ODg4ODg4ODg4ODllbTsvKiA3MHB4ICovXG4kaDItZm9udC1zaXplOiAyZW07IC8qIDM2cHggKi9cbiRoMy1mb250LXNpemU6IDEuNzc3Nzc3Nzc3Nzc3Nzc3N2VtOyAvKiAzMnB4ICovXG4kaDQtZm9udC1zaXplOiAxLjQ0NDQ0NDQ0NDQ0NDQ0NDRlbTsgLyogMjZweCAqL1xuJGg1LWZvbnQtc2l6ZTogMS4xMTExMTExMTExMTExMTEyZW07IC8qIDIwcHggKi9cbiRoNi1mb250LXNpemU6IDFlbTsgLyogMThweCAqL1xuJGhlYWRpbmdzLWNvbG9yOiAjMWEwMzAzO1xuJGJvZHktY29sb3I6ICM0ZDRkNGQ7XG5cbiRlbmFibGUtY2FyZXQ6IGZhbHNlO1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICRyZWQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAkcmVkO1xuJG5hdmJhci1saWdodC1jb2xvcjogIzAwMDtcbiRuYXZiYXItZGFyay1jb2xvcjogI2ZmZjtcbiRuYXZiYXItcGFkZGluZy15OiAwO1xuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6IC42M3JlbTtcbiRuYXZiYXItcGFkZGluZy14OiAyLjVyZW07XG5cbiRkcm9wZG93bi1zcGFjZXI6IDA7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogMDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICNkYmRiZGI7XG4kZHJvcGRvd24tcGFkZGluZy15OiAuODEyNXJlbTtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteTogLjEyNWVtO1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAkcmVkO1xuXG4kdHJhbnNpdGlvbi1mYWRlOiBvcGFjaXR5IC41cyBsaW5lYXI7XG4kdHJhbnNpdGlvbi1mYWRlLWZhc3Q6IG9wYWNpdHkgLjJzIGxpbmVhcjtcblxuJGJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogcXVvdGUoXCI+XCIpO1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAwO1xuJGJyZWFkY3J1bWItcGFkZGluZy15OiAxLjEyNXJlbTtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogI2ZmZjtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICNmZmY7XG5cbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6IDA7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICNmZmY7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50O1xuJG5hdi1saW5rLXBhZGRpbmcteDogNDBweDsiLCJbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0sIC5pY29uIHtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5ldmVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG4uaWNvbi1maWx0ZXItbW9iaWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTlcIjtcbn1cbi5pY29uLXdoYXRzYXBwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTdcIjtcbn1cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljb24tY2Fyb3VzZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmljb24tZmlsdGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTVcIjtcbn1cbi5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY29uLWZheDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG4uaWNvbi10ZWxlZm9ubzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG59XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuLmljb24teW91dHViZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY29uLW5ld3NsZXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tbmF2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cbi5pY29uLXVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGJcIjtcbiAgfVxuLmljb24tbWFuaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1jYXNhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cbi5pY29uLWNpY29nbmE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuLmljb24tYnVsbGV0X2Z1bGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuLmljb24tYnVsbGV0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLXBsYXlfaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uaWNvbi1wbGF5X2JnOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cbi5pY29uLW1lbnVhY3RpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcbn0iLCIvKiA3MHB4ICovXG4vKiAzNnB4ICovXG4vKiAzMnB4ICovXG4vKiAyNnB4ICovXG4vKiAyMHB4ICovXG4vKiAxOHB4ICovXG5bY2xhc3NePWljb24tXSwgW2NsYXNzKj1cIiBpY29uLVwiXSwgLmljb24ge1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5ldmVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuXG4uaWNvbi1maWx0ZXItbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG5cbi5pY29uLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG5cbi5pY29uLW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MThcIjtcbn1cblxuLmljb24tY2Fyb3VzZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTZcIjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5pY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuXG4uaWNvbi1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cblxuLmljb24tdGVsZWZvbm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjtcbn1cblxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG59XG5cbi5pY29uLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjtcbn1cblxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuXG4uaWNvbi1uZXdzbGV0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG5cbi5pY29uLW5hdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiO1xufVxuXG4uaWNvbi11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuXG4uaWNvbi1tYW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG5cbi5pY29uLWNhc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cblxuLmljb24tY2ljb2duYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuXG4uaWNvbi1idWxsZXRfZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuXG4uaWNvbi1idWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLmljb24tcGxheV9pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uaWNvbi1wbGF5X2JnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG5cbi5pY29uLW1lbnVhY3RpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5nYWxsZXJ5LW9yaXp6b250YWxlIHtcbiAgcGFkZGluZzogOTBweCAwIDcwcHg7XG4gIG1hcmdpbi10b3A6IDU1cHg7XG4gIG1hcmdpbi1ib3R0b206IDh2dztcbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIGEge1xuICBjb2xvcjogI2Q1MTMxNztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAuZ2FsbGVyeS1vcml6em9udGFsZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIGgyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuLmdhbGxlcnktb3JpenpvbnRhbGUgLnN3aXBlci1idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBjYWxjKDUwJSArIDMuMzMzMzNlbSk7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDE1MHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9ucyB7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDUwcHg7XG4gIH1cbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLW5leHQsIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBtYXJnaW46IDAgMjBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBvdXRsaW5lOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLW5leHQsIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmdhbGxlcnktb3JpenpvbnRhbGUgLnN3aXBlci1idXR0b24tbmV4dCBpLCAuZ2FsbGVyeS1vcml6em9udGFsZSAuc3dpcGVyLWJ1dHRvbi1wcmV2IGkge1xuICBmb250LXNpemU6IDIycHg7XG4gIGNvbG9yOiAjZDUxMzE3O1xufVxuLmdhbGxlcnktb3JpenpvbnRhbGUgLnN3aXBlci1idXR0b24tbmV4dCBpIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG4uZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS1tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIC5nYWxsZXJ5LW1haW4gLnN3aXBlci1zbGlkZSB7XG4gIHBhZGRpbmc6IDEyMHB4IDAgMjIwcHg7XG4gIG1pbi1oZWlnaHQ6IDY4NXB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5nYWxsZXJ5LW9yaXp6b250YWxlIC5nYWxsZXJ5LW1haW4gLnN3aXBlci1zbGlkZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG4uZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS1pbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmdhbGxlcnktb3JpenpvbnRhbGUgLmdhbGxlcnktaW1nIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAuZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS1pbWcge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIC5nYWxsZXJ5LXR4dCB7XG4gIHBhZGRpbmctbGVmdDogMy4zMzMzMzMzMzMzZW07XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDE2NjY2NjY2N2VtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAuZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS10eHQge1xuICAgIHBhZGRpbmctbGVmdDogMS4xMTExMTExMTExZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTEuOThweCkge1xuICAuZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS10eHQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cbi5nYWxsZXJ5LW9yaXp6b250YWxlIC5nYWxsZXJ5LXRodW1iIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uZ2FsbGVyeS1vcml6em9udGFsZSAuZ2FsbGVyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59IiwiQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIi4uL3V0aWxpdGllcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvaWNvbnNcIjtcbkBpbXBvcnQgXCIuLi91dGlsaXRpZXMvbWl4aW5zXCI7XG5cbi5nYWxsZXJ5LW9yaXp6b250YWxlIHtcbiAgICBwYWRkaW5nOiA5MHB4IDAgNzBweDtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6JHJlZDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB9XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4dnc7XG4gICAgLnN3aXBlci1idXR0b25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OmNhbGMoNTAlICsgMy4zMzMzM2VtKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMTUwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICB9XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdhbGxlcnktbWFpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgcGFkZGluZzogMTIwcHggMCAyMjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY4NXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5nYWxsZXJ5LWltZyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgLmdhbGxlcnktdHh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSg2MCwxOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGVtKDM0LDI0KTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGVtKDIwLDE4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2FsbGVyeS10aHVtYiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgICAuZ2FsbGVyeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsIWltcG9ydGFudDtcbiAgICB9XG59IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
