:root {
  --hh: 48px;
}
@media (min-width: 768px) {
  :root {
    --hh: 60px;
  }
}
@media (min-width: 1920px) {
  :root {
    --hh: 68px;
  }
}

body.top-promo :root {
  --hh: 72px;
}
@media (min-width: 768px) {
  body.top-promo :root {
    --hh: 88px;
  }
}
@media (min-width: 1920px) {
  body.top-promo :root {
    --hh: 108px;
  }
}

body.display-laptop-menu :root {
  --hh: 74px;
}
@media (min-width: 768px) {
  body.display-laptop-menu :root {
    --hh: 104px;
  }
}
@media (min-width: 1440px) {
  body.display-laptop-menu :root {
    --hh: 60px;
  }
}
@media (min-width: 1920px) {
  body.display-laptop-menu :root {
    --hh: 68px;
  }
}

body.top-promo.display-laptop-menu :root {
  --hh: 98px;
}
@media (min-width: 768px) {
  body.top-promo.display-laptop-menu :root {
    --hh: 132px;
  }
}
@media (min-width: 1440px) {
  body.top-promo.display-laptop-menu :root {
    --hh: 88px;
  }
}
@media (min-width: 1920px) {
  body.top-promo.display-laptop-menu :root {
    --hh: 108px;
  }
}

.reviews .reviews-title-block .reviews-title h2 {
  margin-bottom: 24px;
  font-size: 23px;
}
@media (min-width: 414px) {
  .reviews .reviews-title-block .reviews-title h2 {
    margin-bottom: 32px;
  }
}
@media (min-width: 768px) {
  .reviews .reviews-title-block .reviews-title h2 {
    margin-bottom: 0;
    font-size: 32px;
  }
}
@media (min-width: 992px) {
  .reviews .reviews-title-block .reviews-title h2 {
    max-width: 560px;
  }
}
@media (min-width: 1920px) {
  .reviews .reviews-title-block .reviews-title h2 {
    font-size: 40px;
    max-width: 700px;
  }
}
.reviews .reviews-title-block.no-reviews {
  display: block;
}
@media (min-width: 992px) {
  .reviews .reviews-title-block.no-reviews {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 768px) {
  .reviews .reviews-title-block.no-reviews h2 {
    margin-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .reviews .reviews-title-block.no-reviews h2 {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .reviews .reviews-title-block.no-reviews .btn {
    max-width: 365px;
    margin: 0 auto;
  }
}
@media (min-width: 992px) {
  .reviews .reviews-title-block.no-reviews .btn {
    max-width: 266px;
    margin: 0 0 0 20px;
  }
}
@media (min-width: 768px) {
  .reviews-title-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.reviews-title-block .btn {
  min-height: 54px;
  font-size: 18px;
}
@media (min-width: 768px) {
  .reviews-title-block .btn {
    min-height: 55px;
    min-width: 241px;
    margin-left: 24px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media (min-width: 992px) {
  .reviews-title-block .btn {
    min-width: 266px;
  }
}
@media (min-width: 1920px) {
  .reviews-title-block .btn {
    font-size: 23px;
  }
}
.reviews-woocommerce-swiper {
  margin-top: 24px;
  overflow: hidden;
  margin-right: -12px;
  padding-right: 12px;
}
@media (min-width: 414px) {
  .reviews-woocommerce-swiper {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .reviews-woocommerce-swiper {
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .reviews-woocommerce-swiper {
    margin-top: 56px;
  }
}
@media (min-width: 1920px) {
  .reviews-woocommerce-swiper {
    margin-top: 64px;
  }
}
@media (min-width: 414px) {
  .reviews-woocommerce-swiper {
    margin-right: -15px;
    padding-right: 15px;
  }
}
@media (min-width: 768px) {
  .reviews-woocommerce-swiper {
    margin-right: -36px;
    padding-right: 36px;
  }
}
@media (min-width: 1440px) {
  .reviews-woocommerce-swiper {
    margin-right: 0;
    padding-right: 0;
  }
}
.reviews-woocommerce-swiper .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.reviews-woocommerce-swiper .star-rating {
  width: 130px;
  height: 22px;
  font-size: 21.7px;
}
.reviews-woocommerce-swiper .star-rating-full,
.reviews-woocommerce-swiper .star-rating-empty {
  letter-spacing: 7px;
}
.reviews .comment {
  background-color: #fff;
  padding: 24px 20px;
  border-radius: 15px;
  border: 1px solid rgba(29, 29, 27, 0.2);
  font-size: 14px;
  height: auto;
}
@media (min-width: 768px) {
  .reviews .comment {
    padding: 24px;
  }
}
.reviews .comment-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.reviews .comment-date {
  font-size: 12px;
  margin-top: 3px;
}
.reviews .comment-content {
  margin: 16px 0;
}
.reviews .comment-author {
  font-weight: 500;
}
@supports (-webkit-appearance:none){

}

 @media (min-width: 768px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 1920px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 1440px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 414px){

@supports (-webkit-appearance:none){

}

}

 @media (min-width: 992px){

@supports (-webkit-appearance:none){

}

}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zY3NzL2NvbXBvbmVudHMvdmFycy5zY3NzIiwic2luZ2xlLXByb2R1Y3QvcmV2aWV3cy9zaW5nbGVfcmV2aWV3cy5jc3MiLCIuLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwic2luZ2xlLXByb2R1Y3QvcmV2aWV3cy9zaW5nbGVfcmV2aWV3cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThHQTtFQUNDLFVBQUE7QUM3R0Q7QUM2REk7RUYrQ0o7SUFHRSxVQUFBO0VDM0dBO0FBQ0Y7QUN3REk7RUYrQ0o7SUFNRSxVQUFBO0VDekdBO0FBQ0Y7O0FEOEdDO0VBQ0MsVUFBQTtBQzNHRjtBQytDSTtFRjJESDtJQUdFLFVBQUE7RUN6R0Q7QUFDRjtBQzBDSTtFRjJESDtJQU1FLFdBQUE7RUN2R0Q7QUFDRjs7QUQ0R0M7RUFDQyxVQUFBO0FDekdGO0FDaUNJO0VGdUVIO0lBR0UsV0FBQTtFQ3ZHRDtBQUNGO0FDNEJJO0VGdUVIO0lBTUUsVUFBQTtFQ3JHRDtBQUNGO0FDdUJJO0VGdUVIO0lBU0UsVUFBQTtFQ25HRDtBQUNGOztBRHVHQztFQUNDLFVBQUE7QUNwR0Y7QUNjSTtFRnFGSDtJQUdFLFdBQUE7RUNsR0Q7QUFDRjtBQ1NJO0VGcUZIO0lBTUUsVUFBQTtFQ2hHRDtBQUNGO0FDSUk7RUZxRkg7SUFTRSxXQUFBO0VDOUZEO0FBQ0Y7O0FFM0RZO0VBQ0ksbUJBQUE7RUFDQSxlSHVCRjtBQ3VDZDtBQ05JO0VDMURRO0lBSVEsbUJBQUE7RUZnRWxCO0FBQ0Y7QUNYSTtFQzFEUTtJQU9RLGdCQUFBO0lBQ0EsZUFBQTtFRmtFbEI7QUFDRjtBQ2pCSTtFQzFEUTtJQVdRLGdCQUFBO0VGb0VsQjtBQUNGO0FDdEJJO0VDMURRO0lBY1EsZUFBQTtJQUNBLGdCQUFBO0VGc0VsQjtBQUNGO0FFbEVRO0VBQ0ksY0FBQTtBRm9FWjtBQy9CSTtFQ3RDSTtJQUdRLG9CQUFBO0lBQUEsb0JBQUE7SUFBQSxhQUFBO0VGc0VkO0FBQ0Y7QUNwQ0k7RUNqQ1E7SUFFUSxtQkFBQTtFRnVFbEI7QUFDRjtBQ3pDSTtFQ2pDUTtJQUtRLGdCQUFBO0VGeUVsQjtBQUNGO0FDOUNJO0VDekJRO0lBRVEsZ0JBQUE7SUFDQSxjQUFBO0VGeUVsQjtBQUNGO0FDcERJO0VDekJRO0lBTVEsZ0JBQUE7SUFDQSxrQkFBQTtFRjJFbEI7QUFDRjtBQzFESTtFQ1pBO0lBRVEsb0JBQUE7SUFBQSxvQkFBQTtJQUFBLGFBQUE7SUFDQSx5QkFBQTtRQUFBLHNCQUFBO1lBQUEsbUJBQUE7SUFDQSx5QkFBQTtRQUFBLHNCQUFBO1lBQUEsOEJBQUE7RUZ3RVY7QUFDRjtBRXZFUTtFQUNJLGdCQUFBO0VBQ0EsZUhsQ0Y7QUMyR1Y7QUNyRUk7RUNOSTtJQUlRLGdCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxpQkFBQTtJQUNBLG9CQUFBO1FBQUEsY0FBQTtFRjJFZDtBQUNGO0FDN0VJO0VDTkk7SUFVUSxnQkFBQTtFRjZFZDtBQUNGO0FDbEZJO0VDTkk7SUFhUSxlSHhDRjtFQ3VIWjtBQUNGO0FFM0VJO0VBQ0ksZ0JBQUE7RUFjQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7QUZnRVI7QUM3Rkk7RUNZQTtJQUdRLGdCQUFBO0VGa0ZWO0FBQ0Y7QUNsR0k7RUNZQTtJQU1RLGdCQUFBO0VGb0ZWO0FBQ0Y7QUN2R0k7RUNZQTtJQVNRLGdCQUFBO0VGc0ZWO0FBQ0Y7QUM1R0k7RUNZQTtJQVlRLGdCQUFBO0VGd0ZWO0FBQ0Y7QUNqSEk7RUNZQTtJQW1CUSxtQkFBQTtJQUNBLG1CQUFBO0VGc0ZWO0FBQ0Y7QUN2SEk7RUNZQTtJQXVCUSxtQkFBQTtJQUNBLG1CQUFBO0VGd0ZWO0FBQ0Y7QUM3SEk7RUNZQTtJQTJCUSxlQUFBO0lBQ0EsZ0JBQUE7RUYwRlY7QUFDRjtBRXpGUTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0FGMkZaO0FFeEZRO0VBQ0ksWUFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtBRjBGWjtBRXhGUTs7RUFFSSxtQkFBQTtBRjBGWjtBRXJGSTtFQUNJLHNCSC9FRTtFR2dGRixrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUNBQUE7RUFDQSxlSHhHRTtFR3lHRixZQUFBO0FGdUZSO0FDdkpJO0VDMERBO0lBUVEsYUFBQTtFRnlGVjtBQUNGO0FFeEZRO0VBQ0ksb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsOEJBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7QUYwRlo7QUV4RlE7RUFDSSxlSHJIRjtFR3NIRSxlQUFBO0FGMEZaO0FFeEZRO0VBQ0ksY0FBQTtBRjBGWjtBRXhGUTtFQUNJLGdCSDlHRTtBQ3dNZDtBQUNBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBOztDQUVDOztBQUVEOztBQUVBOztBQUVBIiwiZmlsZSI6InNpbmdsZS1wcm9kdWN0L3Jldmlld3Mvc2luZ2xlX3Jldmlld3MubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMnO1xuXG4vLyBHcmlkLlxuJGdyaWQtYnJlYWtwb2ludHM6IChcblx0eHM6IDM2MHB4LFxuXHRzbTogNDE0cHgsXG5cdG1kOiA3NjhweCxcblx0bWQtYWx0OiA5OTJweCxcblx0bGctYWx0OiAxMjAwcHgsXG5cdGxnOiAxNDQwcHgsXG5cdHhsOiAxOTIwcHhcbik7XG5cblxuLy8gRm9udCBmYW1pbGllcy5cbiRmZlx0XHRcdFx0OiBPbmVzdCwgc2Fucy1zZXJpZjtcbiRmZi1pdGFsaWNcdFx0OiBQaWF6em9sbGEsIHNhbnMtc2VyaWY7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kZnMteHMtYWx0XHQ6IDExcHg7XG4kZnMteHNcdFx0OiAxMnB4O1xuJGZzLXNtLWFsdFx0OiAxM3B4O1xuJGZzLXNtXHRcdDogMTRweDtcbiRmcy1tZFx0XHQ6IDE2cHg7XG4kZnMtbWQtYWx0XHQ6IDE3cHg7XG4kZnMtbGdcdFx0OiAxOHB4O1xuJGZzLWxnLWFsdFx0OiAxOXB4O1xuJGZzLXhsXHRcdDogMjBweDtcbiRmcy14bC1hbHRcdDogMjFweDtcbiRmcy14eGxcdFx0OiAyMnB4O1xuJGZzLXh4bC1hbHRcdDogMjNweDtcblxuLy8gRm9udCB3ZWlnaHRzLlxuJGZ3LXJlZ3VsYXJcdFx0OiA0MDA7XG4kZnctbWVkaXVtXHRcdDogNTAwO1xuJGZ3LWJvbGRcdFx0OiA3MDA7XG5cbi8vIExpbmUgaGVpZ2h0cy5cbiRsaFx0XHRcdDogMS40O1xuJGxoLXRpdGxlXHQ6IDEuMjtcbiRsaC10ZXh0XHQ6IDEuMzM7XG5cbi8vIENvbG9ycy5cbiR3aGl0ZVx0XHQ6ICNmZmY7XG4kYmxhY2tcdFx0OiAjMDAwO1xuJGRhcmtcdFx0OiAjMUQxRDFCO1xuJGhvdmVyLWRhcmtcdDogIzMzMzMyZTtcbiRibHVlIFx0XHQ6ICMwMDI4NEY7XG4kYmx1ZS1kZWZhdWx0XHQ6ICMxRDYyRDc7XG4kbGlnaHQtYmx1ZVx0OiAjREFFOEZGO1xuXG5cbiRncmF5LW1haW5cdDogIzVDNUM1QztcbiRncmF5IFx0XHQ6ICM5Njk1OTI7XG4kZ3JheS1iZyBcdDogI0NCQ0JDQjtcbiRncmF5LXRleHQgXHQ6ICM5QTlBOUE7XG4kbGlnaHQtZ3JheVx0OiAjRjlGN0Y0O1xuJGdyYXktdGV4dC1hbHQgOiAjQzRDNEM0O1xuJGdyYXktdGV4dC1hbHQtMiA6ICNBQ0FDQUM7XG4kbGlnaHQtZ3JheS1iZ1x0OiAjZjlmOWY5O1xuJGxpZ2h0LWdyYXktYmctYWx0XHQ6ICNGMUYxRjE7XG4kbGlnaHQtZ3JheS1iZy1hbHQtMiA6ICNGM0YzRjM7XG4kbGlnaHQtZ3JheS1iZFx0OiAjRDlEOUQ5O1xuJGxpZ2h0LWdyYXktYmQtYWx0XHQ6ICNkYmRiZGI7XG4kbGlnaHQtZ3JheS1iZC1hbHQtMlx0OiAjRUNFQ0VDO1xuXG5cblxuJHllbGxvd1x0XHRcdDogI0Y1RjM1MjtcblxuJHBpbmstbGlnaHRcdFx0OiAjZmZlYmYwO1xuJGJlaWdlLWxpZ2h0XHQ6ICNmZmVlZDQ7XG4kYmx1ZS1saWdodCBcdDogI2UyZWVmYTtcbiR5ZWxsb3ctbGlnaHRcdDogI2Y4ZmZkMDtcbiRncmVlbi1saWdodCBcdDogI0Q5RjFFNjtcblxuJHBpbmstbWFpblx0XHQ6ICNiZDI1NmU7XG4kYmx1ZS1tYWluXHRcdDogIzQ4NjFiOTtcbiRiZWlnZS1tYWluIFx0OiAjZTM2YzM5O1xuJHllbGxvdy1tYWluIFx0OiAjNWU4ODA2O1xuJGdyZWVuLW1haW4gXHQ6ICM0MUEzNTc7XG5cbiRsaWdodC1yb3NlXHRcdDogI0Y3REZGRjtcbiRsaWdodC1yb3NlLWhvdmVyIDogI0YzRDBGRjtcbiRsaWdodC1yb3NlLWFjdGl2ZVx0OiAjRUVCRUZFO1xuJHJvc2VcdFx0XHQ6ICNFOTkwRkY7XG4kaG92ZXItcm9zZVx0XHQ6ICNFNDUzRkY7XG4kYWN0aXZlLXJvc2VcdDogI0IyMkJDQjtcblxuJHJlZFx0XHRcdDogI0VBNDMzNTtcblxuJGdyZWVuXHRcdFx0OiAjNzVDNTI1O1xuJGdyZWVuLWhvdmVyXHQ6ICM2MkFBMTk7XG4kZ3JlZW4tYWN0aXZlXHQ6ICM1MzkzMTM7XG4kZ3JlZW4tZGFya1x0XHQ6ICM0RDg0MTc7XG5cbiRvcmFuZ2UgXHRcdDogI0UwNzMwRTtcblxuJG9yYW5nZS1hbHRcdFx0OiAjRkY4RDA2O1xuJHJlZC1hbHRcdFx0OiAjRkY3OTZEO1xuJHllbGxvdy1hbHRcdFx0OiAjRjVGMzUyO1xuJGdyZWVuLWFsdFx0XHQ6ICM3NUM1MjU7XG5cblxuLy8gT3RoZXJzLlxuJHRyXHRcdDogMC4zNXM7XG4kcmFkaXVzXHQ6IDVweDtcbiRyYWRpdXMtYm9yZGVyXHQ6IDhweDtcblxuLy8gUm9vdFxuOnJvb3Qge1xuXHQtLWhoOiA0OHB4O1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0LS1oaDogNjBweDtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0LS1oaDogNjhweDtcblx0fVxufVxuXG5cbmJvZHkudG9wLXByb21vIHtcblx0OnJvb3Qge1xuXHRcdC0taGg6IDcycHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0LS1oaDogODhweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdFx0LS1oaDogMTA4cHg7XG5cdFx0fVxuXHR9XG59XG5cdFxuYm9keS5kaXNwbGF5LWxhcHRvcC1tZW51IHtcblx0OnJvb3Qge1xuXHRcdC0taGg6IDc0cHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0LS1oaDogMTA0cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdC0taGg6IDYwcHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdC0taGg6IDY4cHg7XG5cdFx0fVxuXHR9XG59XG5ib2R5LnRvcC1wcm9tby5kaXNwbGF5LWxhcHRvcC1tZW51IHtcblx0OnJvb3Qge1xuXHRcdC0taGg6IDk4cHg7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0LS1oaDogMTMycHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdC0taGg6IDg4cHg7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdC0taGg6IDEwOHB4O1xuXHRcdH1cblx0fVxufSIsIjpyb290IHtcbiAgLS1oaDogNDhweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6cm9vdCB7XG4gICAgLS1oaDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICA6cm9vdCB7XG4gICAgLS1oaDogNjhweDtcbiAgfVxufVxuXG5ib2R5LnRvcC1wcm9tbyA6cm9vdCB7XG4gIC0taGg6IDcycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS50b3AtcHJvbW8gOnJvb3Qge1xuICAgIC0taGg6IDg4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgYm9keS50b3AtcHJvbW8gOnJvb3Qge1xuICAgIC0taGg6IDEwOHB4O1xuICB9XG59XG5cbmJvZHkuZGlzcGxheS1sYXB0b3AtbWVudSA6cm9vdCB7XG4gIC0taGg6IDc0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5kaXNwbGF5LWxhcHRvcC1tZW51IDpyb290IHtcbiAgICAtLWhoOiAxMDRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICBib2R5LmRpc3BsYXktbGFwdG9wLW1lbnUgOnJvb3Qge1xuICAgIC0taGg6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgYm9keS5kaXNwbGF5LWxhcHRvcC1tZW51IDpyb290IHtcbiAgICAtLWhoOiA2OHB4O1xuICB9XG59XG5cbmJvZHkudG9wLXByb21vLmRpc3BsYXktbGFwdG9wLW1lbnUgOnJvb3Qge1xuICAtLWhoOiA5OHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkudG9wLXByb21vLmRpc3BsYXktbGFwdG9wLW1lbnUgOnJvb3Qge1xuICAgIC0taGg6IDEzMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIGJvZHkudG9wLXByb21vLmRpc3BsYXktbGFwdG9wLW1lbnUgOnJvb3Qge1xuICAgIC0taGg6IDg4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgYm9keS50b3AtcHJvbW8uZGlzcGxheS1sYXB0b3AtbWVudSA6cm9vdCB7XG4gICAgLS1oaDogMTA4cHg7XG4gIH1cbn1cblxuLnJldmlld3MgLnJldmlld3MtdGl0bGUtYmxvY2sgLnJldmlld3MtdGl0bGUgaDIge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBmb250LXNpemU6IDIzcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDE0cHgpIHtcbiAgLnJldmlld3MgLnJldmlld3MtdGl0bGUtYmxvY2sgLnJldmlld3MtdGl0bGUgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jayAucmV2aWV3cy10aXRsZSBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jayAucmV2aWV3cy10aXRsZSBoMiB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jayAucmV2aWV3cy10aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gIH1cbn1cbi5yZXZpZXdzIC5yZXZpZXdzLXRpdGxlLWJsb2NrLm5vLXJldmlld3Mge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jay5uby1yZXZpZXdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJldmlld3MgLnJldmlld3MtdGl0bGUtYmxvY2subm8tcmV2aWV3cyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yZXZpZXdzIC5yZXZpZXdzLXRpdGxlLWJsb2NrLm5vLXJldmlld3MgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jay5uby1yZXZpZXdzIC5idG4ge1xuICAgIG1heC13aWR0aDogMzY1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmV2aWV3cyAucmV2aWV3cy10aXRsZS1ibG9jay5uby1yZXZpZXdzIC5idG4ge1xuICAgIG1heC13aWR0aDogMjY2cHg7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJldmlld3MtdGl0bGUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5yZXZpZXdzLXRpdGxlLWJsb2NrIC5idG4ge1xuICBtaW4taGVpZ2h0OiA1NHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJldmlld3MtdGl0bGUtYmxvY2sgLmJ0biB7XG4gICAgbWluLWhlaWdodDogNTVweDtcbiAgICBtaW4td2lkdGg6IDI0MXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJldmlld3MtdGl0bGUtYmxvY2sgLmJ0biB7XG4gICAgbWluLXdpZHRoOiAyNjZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAucmV2aWV3cy10aXRsZS1ibG9jayAuYnRuIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gIH1cbn1cbi5yZXZpZXdzLXdvb2NvbW1lcmNlLXN3aXBlciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1yaWdodDogLTEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDE0cHgpIHtcbiAgLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5yZXZpZXdzLXdvb2NvbW1lcmNlLXN3aXBlciB7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQxNHB4KSB7XG4gIC5yZXZpZXdzLXdvb2NvbW1lcmNlLXN3aXBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIC5zd2lwZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ucmV2aWV3cy13b29jb21tZXJjZS1zd2lwZXIgLnN0YXItcmF0aW5nIHtcbiAgd2lkdGg6IDEzMHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGZvbnQtc2l6ZTogMjEuN3B4O1xufVxuLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIC5zdGFyLXJhdGluZy1mdWxsLFxuLnJldmlld3Mtd29vY29tbWVyY2Utc3dpcGVyIC5zdGFyLXJhdGluZy1lbXB0eSB7XG4gIGxldHRlci1zcGFjaW5nOiA3cHg7XG59XG4ucmV2aWV3cyAuY29tbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyOSwgMjksIDI3LCAwLjIpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGhlaWdodDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucmV2aWV3cyAuY29tbWVudCB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgfVxufVxuLnJldmlld3MgLmNvbW1lbnQtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4ucmV2aWV3cyAuY29tbWVudC1kYXRlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG4ucmV2aWV3cyAuY29tbWVudC1jb250ZW50IHtcbiAgbWFyZ2luOiAxNnB4IDA7XG59XG4ucmV2aWV3cyAuY29tbWVudC1hdXRob3Ige1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6bm9uZSl7XG5cbn1cblxuIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpe1xuXG59XG5cbn1cblxuIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpe1xuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTpub25lKXtcblxufVxuXG59XG5cbiBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KXtcblxuQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6bm9uZSl7XG5cbn1cblxufVxuXG4gQG1lZGlhIChtaW4td2lkdGg6IDQxNHB4KXtcblxuQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6bm9uZSl7XG5cbn1cblxufVxuXG4gQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcblxuQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6bm9uZSl7XG5cbn1cblxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uLy4uL3NyYy9zY3NzL2NvbXBvbmVudHMvdmFycyc7XG5cbi5yZXZpZXdzIHtcbiAgICAucmV2aWV3cy10aXRsZS1ibG9jayB7XG4gICAgICAgIC5yZXZpZXdzLXRpdGxle1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZnMteHhsLWFsdDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kLWFsdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vLXJldmlld3Mge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kLWFsdCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kLWFsdCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQtYWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjY2cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi10aXRsZS1ibG9jayB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTRweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZzLWxnO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQtYWx0KSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmcy14eGwtYWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi13b29jb21tZXJjZS1zd2lwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZC1hbHQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTM2cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMS43cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnN0YXItcmF0aW5nLWZ1bGwsXG4gICAgICAgIC5zdGFyLXJhdGluZy1lbXB0eSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogN3B4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29tbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRkYXJrLCAuMik7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZzLXNtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgICAmLWRhdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZnMteHM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwO1xuICAgICAgICB9XG4gICAgICAgICYtYXV0aG9yIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cbiJdfQ== */
