/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
/* ====================================*/
.catalogue-header__product-count-wrapper {
  margin-left: auto;
  font-weight: 600;
  text-transform: uppercase;
}
.catalogue-header__product-count {
  color: #0095d6;
}

.catalogue-filter {
  display: flex;
  flex-wrap: wrap;
}
.catalogue-filter__elem {
  border-top-width: 2px;
  border-bottom-width: 2px;
  cursor: pointer;
  outline: none;
  font-weight: 600;
  color: #55565a;
  border-color: #55565a;
  padding-top: 4.5px;
  padding-bottom: 4.5px;
  padding-left: 9px;
  padding-right: 20px;
}
.catalogue-filter__elem:first-child {
  border-left-width: 2px;
}
.catalogue-filter__elem:last-child {
  border-right-width: 2px;
}
.catalogue-filter__elem--select {
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: right 8px center;
  line-height: 1.35;
  min-width: 100px;
}
.catalogue-filter__elem--select:not(:active) {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='11'%20height='5'%3E%3Cpolygon%20points='0,0%2011,0%205.5,5'%20fill='%23000'%2F%3E%3C%2Fsvg%3E");
}
.catalogue-filter__elem--select:active {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='11'%20height='5'%3E%3Cpolygon%20points='0,5%2011,5%205.5,0'%20fill='%23000'/%3E%3C/svg%3E");
}

.catalogue-list__wrapper {
  display: grid;
}
@media (min-width: 1501px) {
  .catalogue-list__wrapper {
    row-gap: 80px;
  }
}
@media (max-width: 1500px) and (min-width: 1201px) {
  .catalogue-list__wrapper {
    row-gap: 70px;
  }
}
@media (min-width: 1201px) {
  .catalogue-list__wrapper {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 2.5717703349%;
  }
}
@media (max-width: 1200px) and (min-width: 601px) {
  .catalogue-list__wrapper {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 37px;
    row-gap: 54px;
  }
}

.product-card {
  position: relative;
}
@media (max-width: 600px) {
  .catalogue-list__wrapper .product-card:not(:first-child) {
    margin-top: 42px;
  }
}
.product-card__link {
  text-decoration: none;
  display: block;
}
.product-card__image {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 1.4980544747;
  object-fit: cover;
  object-position: center;
  margin-bottom: 26px;
  background-color: #e6e6e6;
}
.product-card__new {
  position: absolute;
  top: 0px;
  right: 15px;
}
.product-card__special-offer {
  position: absolute;
  top: 14px;
  left: 0px;
}
.product-card__title {
  font-size: 1.5rem;
  line-height: 1.4583333333;
  transition: 0.21s color;
}
.product-card__link:not(:hover) .product-card__title {
  color: #55565a;
}
.product-card__info {
  margin-top: 10px;
  color: #6C6D6E;
}
.product-card__price-wrapper {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 20px;
}
.product-card__price-sold {
  color: #CF3214;
  font-size: 1.25rem;
  line-height: 1.45;
}
.product-card__price-old {
  color: #CF3214;
  text-decoration: line-through;
}
.product-card__price {
  color: #0077AB;
  font-size: 1.25rem;
  line-height: 1.45;
}

@media (min-width: 601px) {
  .product-catalogue {
    margin-top: 180px;
  }
}
@media (max-width: 600px) {
  .product-catalogue {
    margin-top: 100px;
  }
}
@media (min-width: 601px) {
  .product-catalogue {
    margin-bottom: 180px;
  }
}
@media (max-width: 600px) {
  .product-catalogue {
    margin-bottom: 100px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsImNhdGFsb2d1ZS5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FBdEZBO0FBNkNBO0FBS0E7QUFJQTtBQXNCQTtBQVVBO0FDM0VJO0VBQ0k7RUFDQTtFQUNBOztBQUtKO0VBQ0ksT0RLQzs7O0FDQVQ7RUFDSTtFQUNBOztBQUtBO0VBQ0k7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBLE9EbkNLO0VDb0NMLGNEcENLO0VDcUNMO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFNUjtFQUNJO0VBRUE7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBRUE7O0FBR0E7RUFDSTs7QUFHSjtFQUNJOzs7QUFVUjtFQUNJOztBQUdBO0VBSko7SUFLUTs7O0FBR0o7RUFSSjtJQVNROzs7QUFHSjtFQVpKO0lBYVE7SUFDQTs7O0FBR0o7RUFqQko7SUFrQlE7SUFDQTtJQUNBOzs7O0FBUVo7RUFDSTs7QUFHQTtFQUNJO0lBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkR6SWE7O0FDOElqQjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFLSjtFQzFKQTtFQUNBO0VEMkpJOztBQUVBO0VBQ0ksT0R0S0M7O0FDNEtUO0VBQ0k7RUFDQSxPRDNJVTs7QUNnSmQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0ksT0QxSk87RUU3Qlg7RUFDQTs7QUQ0TEE7RUFDSSxPRGpLTztFQ2tLUDs7QUFLSjtFQUNJLE9EM0tVO0VFMUJkO0VBQ0E7OztBQUlBO0VEdU1KO0lDdE1ROzs7QUFHSjtFRG1NSjtJQ2xNUTs7O0FBS0o7RUQ2TEo7SUM1TFE7OztBQUdKO0VEeUxKO0lDeExRIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjg7XG4kZm9udC1zaXplLW1haW46IDE2O1xuJGNvbG9yLWJhc2U6ICM1NTU2NWE7XG4kYmFja2dyb3VuZC1iYXNlLWNvbG9yOiAjZjdmN2Y3O1xuXG4kcHJvZHVjdC1ncmF5LWNvbG9yOiAjZTZlNmU2O1xuXG4kcmVkOiAjZTYzODE2O1xuXG5cbiRlcnJvcjogJHJlZDtcbiRzdWNjZXNzOiAjMjhhNzQ1O1xuXG5cbiRmb3JtLWJvcmRlci1yYWRpdXM6IDMycHg7XG5cbiRncmF5LTE6ICM2NTY1NjU7XG4kZ3JheS0yOiAjYzdjN2M4O1xuJGdyYXktMzogIzlkOWQ5ZDtcbiRncmF5LTQ6ICNhNmE3YTk7XG5cblxuJGJsdWUtMTogIzAwOTVkNjtcblxuJHdoaXRlOiAjZmZmO1xuXG5cblxuXG5cbiRiYWNrZ3JvdW5kLWJhc2UtY29sb3I6ICNmOWY5Zjk7XG4vLyRibHVlLTE6ICMwMDc3QUI7XG4vLyRncmF5LTQ6ICM2QzZENkU7XG4vLyRyZWQ6ICNDRjMyMTQ7XG5cbiRjb250cmFzdC1ibHVlLTE6ICMwMDc3QUI7XG4kY29udHJhc3QtZ3JheS0zOiAjNkU2RTZFO1xuJGNvbnRyYXN0LWdyYXktNDogIzZDNkQ2RTtcbiRjb250cmFzdC1yZWQ6ICNDRjMyMTQ7XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZGlzcGxheXM6IG5vbmUsIGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLXJvdywgdGFibGUtY2VsbCwgZmxleCxcbmlubGluZS1mbGV4ICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kbWFpbi1jb250YWluZXItbWF4LXdpZGh0OiAxNjcycHg7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiRtZWRpYS14eGw6IDE5MjBweDsgLy8gZnVsbCBoZFxuJG1lZGlhLXhsOiAxNTAwcHg7IC8vIGxhcHRvcCA8XG4kbWVkaWEtbWQ6IDEyMDBweDsgLy8gdGFibGV0IDxcbiRtZWRpYS1zbTogNjAwcHg7IC8vIG1vYmlsZSA8XG5cbiRmb250LW1lZGlhLXh4bDogMTkyMHB4OyAvLyBmdWxsIGhkXG4kZm9udC1tZWRpYS14bDogMTQyMHB4OyAvLyBsYXB0b3AgPFxuJGZvbnQtbWVkaWEtbWQ6IDc2OHB4OyAvLyB0YWJsZXQgPFxuJGZvbnQtbWVkaWEtc206IDM3NXB4OyAvLyBtb2JpbGUgPFxuXG4kY29udGFpbmVyLXBhZGRpbmcteHhsLWwtcjogMzJweDtcbiRjb250YWluZXItcGFkZGluZy14bC1sLXI6IDMycHg7XG4kY29udGFpbmVyLXBhZGRpbmctbWQtbC1yOiAzMnB4O1xuJGNvbnRhaW5lci1wYWRkaW5nLXNtLWwtcjogMTVweDtcblxuJGNvbnRhaW5lci14eGw6ICRtYWluLWNvbnRhaW5lci1tYXgtd2lkaHQgKyAkY29udGFpbmVyLXBhZGRpbmcteHhsLWwtciAqIDI7XG4kY29udGFpbmVyLXhsOiAkbWVkaWEteGwgLSAkY29udGFpbmVyLXBhZGRpbmcteGwtbC1yICogMjtcbiRjb250YWluZXItbWQ6ICRtZWRpYS1tZCAtICRjb250YWluZXItcGFkZGluZy1tZC1sLXIgKiAyO1xuJGNvbnRhaW5lci1zbTogJG1lZGlhLXNtIC0gJGNvbnRhaW5lci1wYWRkaW5nLXNtLWwtciAqIDI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbi8vINCU0LDQvdC90YvQtSDQtNC70Y8g0LHQu9C+0LrQsCDQs9Cw0LvQtdGA0LXQuVxuXG4kZ2FsbGVyeU5hdkJ1dHRvbldpZHRoOiAxNjBweDtcbiRnYWxsZXJ5SXRlbVBhZGRpbmc6IDIycHg7XG4kZ2FsbGVyeVdpZHRoQWJzOiAxNDY4cHg7XG4kZ2FsbGVyeVdpZHRoSW1nSG9yOiA3MTJweDtcbiRnYWxsZXJ5V2lkdGhJbWdWZXI6IDMzNHB4O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuIiwiQGltcG9ydCBcImJvb3RzdHJhcC1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAtdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiZm9udC1zdHlsZVwiO1xuXG5cbi5jYXRhbG9ndWUtaGVhZGVyIHtcblxuICAgIC8vIC5jYXRhbG9ndWUtaGVhZGVyX19wcm9kdWN0LWNvdW50LXdyYXBwZXJcblxuICAgICZfX3Byb2R1Y3QtY291bnQtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC8vIC5jYXRhbG9ndWUtaGVhZGVyX19wcm9kdWN0LWNvdW50XG5cbiAgICAmX19wcm9kdWN0LWNvdW50IHtcbiAgICAgICAgY29sb3I6ICRibHVlLTE7XG4gICAgfVxufVxuXG5cbi5jYXRhbG9ndWUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuXG4gICAgLy8gLmNhdGFsb2d1ZS1maWx0ZXJfX2VsZW1cblxuICAgICZfX2VsZW0ge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblxuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1iYXNlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC41cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0LjVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmNhdGFsb2d1ZS1maWx0ZXJfX2VsZW0tLXNlbGVjdFxuXG4gICAgJl9fZWxlbS0tc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cblxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA4cHggY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogKDI3LzIwKTtcblxuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuXG5cbiAgICAgICAgJjpub3QoOmFjdGl2ZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUyMHdpZHRoPScxMSclMjBoZWlnaHQ9JzUnJTNFJTNDcG9seWdvbiUyMHBvaW50cz0nMCwwJTIwMTEsMCUyMDUuNSw1JyUyMGZpbGw9JyUyMzAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTIwd2lkdGg9JzExJyUyMGhlaWdodD0nNSclM0UlM0Nwb2x5Z29uJTIwcG9pbnRzPScwLDUlMjAxMSw1JTIwNS41LDAnJTIwZmlsbD0nJTIzMDAwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jYXRhbG9ndWUtbGlzdCB7XG5cbiAgICAvLyAuY2F0YWxvZ3VlLWxpc3RfX3dyYXBwZXJcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuXG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtZWRpYS14bCArIDFweCkge1xuICAgICAgICAgICAgcm93LWdhcDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtbWQgKyAxcHgpIHtcbiAgICAgICAgICAgIHJvdy1nYXA6IDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLW1kICsgMXB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogKDQzcHggLyAkbWFpbi1jb250YWluZXItbWF4LXdpZGh0ICogMTAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLW1kKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogKDM3cHgpO1xuICAgICAgICAgICAgcm93LWdhcDogNTRweDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG5cblxuLnByb2R1Y3QtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXNtKSB7XG4gICAgICAgIC5jYXRhbG9ndWUtbGlzdF9fd3JhcHBlciAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQycHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIC5wcm9kdWN0LWNhcmRfX2xpbmtcblxuICAgICZfX2xpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIC5wcm9kdWN0LWNhcmRfX2ltYWdlXG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFzcGVjdC1yYXRpbzogKDM4NS8yNTcpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWdyYXktY29sb3I7XG4gICAgfVxuXG4gICAgLy8gLnByb2R1Y3QtY2FyZF9fbmV3XG5cbiAgICAmX19uZXcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICByaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAvLyAucHJvZHVjdC1jYXJkX19zcGVjaWFsLW9mZmVyXG5cbiAgICAmX19zcGVjaWFsLW9mZmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICB9XG5cbiAgICAvLyAucHJvZHVjdC1jYXJkX190aXRsZVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBGU0woMjQsIDM1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogLjIxcyBjb2xvcjtcblxuICAgICAgICAucHJvZHVjdC1jYXJkX19saW5rOm5vdCg6aG92ZXIpICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLnByb2R1Y3QtY2FyZF9faW5mb1xuXG4gICAgJl9faW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAkY29udHJhc3QtZ3JheS00O1xuICAgIH1cblxuICAgIC8vIC5wcm9kdWN0LWNhcmRfX3ByaWNlLXdyYXBwZXJcblxuICAgICZfX3ByaWNlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgY29sdW1uLWdhcDogMjBweDtcbiAgICB9XG5cbiAgICAvLyAucHJvZHVjdC1jYXJkX19wcmljZS1zb2xkXG5cbiAgICAmX19wcmljZS1zb2xkIHtcbiAgICAgICAgY29sb3I6ICRjb250cmFzdC1yZWQ7XG4gICAgICAgIEBpbmNsdWRlIEZTTCgyMCwgMjkpO1xuICAgIH1cblxuICAgIC8vIC5wcm9kdWN0LWNhcmRfX3ByaWNlLW9sZFxuXG4gICAgJl9fcHJpY2Utb2xkIHtcbiAgICAgICAgY29sb3I6ICRjb250cmFzdC1yZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuICAgIC8vIC5wcm9kdWN0LWNhcmRfX3ByaWNlXG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkY29udHJhc3QtYmx1ZS0xO1xuICAgICAgICBAaW5jbHVkZSBGU0woMjAsIDI5KTtcbiAgICB9XG5cbn1cblxuXG4ucHJvZHVjdC1jYXRhbG9ndWUge1xuICAgIEBpbmNsdWRlIG1hcmdpbi10b3AtYm90dG9tKCk7XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vINCf0LXRgNC10LLQvtC00LjRgtGMINGA0LDQt9C80LXRgCDQuNC3INC/0LjQutGB0LXQu9C10Lkg0LIgcmVtINC+0YLQvdC+0YHQuNGC0LXQu9GM0L3QviDQsdCw0LfQvtCy0L7Qs9C+INGA0LDRidC80LXRgNCwINGI0YDQuNGE0YLQvtCyINCyINCx0YDQsNGD0LfQtdGA0LVcbkBmdW5jdGlvbiByZW1GUygkZm9udC1zaXplKSB7XG4gICAgJGZvbnQtc2l6ZS1weDogJGZvbnQtc2l6ZSAqIDFweDtcbiAgICAkZm9udC1zaXplLW1haW4tcHg6ICRmb250LXNpemUtbWFpbiAqIDFweDtcbiAgICBAcmV0dXJuICgkZm9udC1zaXplLXB4LyRmb250LXNpemUtbWFpbi1weCkgKiAxcmVtO1xufVxuXG4vLyDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgNCw0LfQvNC10YDRiyDRiNGA0LjRhNGC0LAg0Lgg0LLRi9GB0L7RgtGLINGI0YDQuNGE0YLQsFxuLy8gQGluY2x1ZGUgRlNMKDIwLCAzMik7XG5AbWl4aW4gRlNMKCRmb250LXNpemUsICRmb250LWxpbmUtaGVpZ2h0KSB7XG4gICAgZm9udC1zaXplOiByZW1GUygkZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogKCRmb250LWxpbmUtaGVpZ2h0LyRmb250LXNpemUpO1xufVxuXG5AbWl4aW4gbWFyZ2luLXRvcCgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXNtICsgMXB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gbWFyZ2luLXRvcC1ib3R0b20oKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luLXRvcCgpO1xuICAgIEBpbmNsdWRlIG1hcmdpbi1ib3R0b20oKTtcbn1cblxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gICAgQGlmIHR5cGUtb2YoJG51bWJlcikgPT0gXCJudW1iZXJcIiBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcbiAgICAgICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbnVtYmVyO1xufVxuXG5AZnVuY3Rpb24gY2FsY0ZsdWlkRm9udFNpemUoJHctbWF4LCAkdy1taW4sICRmLW1heCwgJGYtbWluLCAkdW5pdHM6IHB4KSB7XG4gICAgJGYtbWluOiBzdHJpcC11bml0KCRmLW1pbik7XG4gICAgJGYtbWF4OiBzdHJpcC11bml0KCRmLW1heCk7XG4gICAgJHctbWluOiBzdHJpcC11bml0KCR3LW1pbik7XG4gICAgJHctbWF4OiBzdHJpcC11bml0KCR3LW1heCk7XG5cbiAgICAkazogKCRmLW1heCAtICRmLW1pbikvICgkdy1tYXggLSAkdy1taW4pO1xuICAgICRiOiAkZi1taW4gLSAkayAqICR3LW1pbjtcblxuICAgICRiOiAkYiArICR1bml0cztcblxuICAgIEByZXR1cm4gY2FsYygjeyRrfSAqIDEwMHZ3ICsgI3skYn0pO1xufVxuXG4vL1xuXG5AbWl4aW4gbWVkaWFfZm9udF9zaXplX3dpZHRoX192MihcbiAgICAkbWVkaWFfbWF4LFxuICAgICRtZWRpYV9taW4sXG4gICAgJGZvbnRfbmFtZV9tYXgsXG4gICAgJGZvbnRfbmFtZV9taW4sXG4gICAgJGlzX21lZGlhX21pblxuKSB7XG4gICAgJG1lZGlhX21heDogc3RyaXAtdW5pdCgkbWVkaWFfbWF4KTtcbiAgICAkbWVkaWFfbWluOiBzdHJpcC11bml0KCRtZWRpYV9taW4pO1xuICAgICRmb250X25hbWVfbWF4OiBzdHJpcC11bml0KCRmb250X25hbWVfbWF4KTtcbiAgICAkZm9udF9uYW1lX21pbjogc3RyaXAtdW5pdCgkZm9udF9uYW1lX21pbik7XG5cbiAgICAkazogKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW4pLyAoJG1lZGlhX21heCAtICRtZWRpYV9taW4pO1xuICAgICRiOiAkZm9udF9uYW1lX21pbiAtICRrICogJG1lZGlhX21pbjtcblxuICAgICRiOiAkYiAvICRmb250LXNpemUtbWFpbiAqIDFyZW07XG5cbiAgICAkbWVkaWFfbWF4X3B4OiAkbWVkaWFfbWF4ICogMXB4O1xuXG4gICAgQGlmICRpc19tZWRpYV9taW4gPT0gMSB7XG4gICAgICAgICRtZWRpYV9taW5fcHg6ICRtZWRpYV9taW4gKiAxcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYV9tYXhfcHgpIGFuZCAobWluLXdpZHRoOiAkbWVkaWFfbWluX3B4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoI3ska30gKiAxMDB2dyArICN7JGJ9KTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhX21heF9weCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKCN7JGt9ICogMTAwdncgKyAjeyRifSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aCg5MDAsIDMyMCwgODAsIDU4LCAwKTtcbkBtaXhpbiBtZWRpYV9mb250X3NpemVfd2lkdGgoXG4gICAgJG1lZGlhX21heCxcbiAgICAkbWVkaWFfbWluLFxuICAgICRmb250X25hbWVfbWF4LFxuICAgICRmb250X25hbWVfbWluLFxuICAgICRpc19taW5fbWVkaWFcbikge1xuICAgICRyYXpuOiAkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfbWluO1xuXG4gICAgQGZvciAkZm9udF9uYW1lX2kgZnJvbSAxIHRocm91Z2ggJHJhem4ge1xuICAgICAgICAkbWVkaWE6ICRtZWRpYV9tYXgvJGZvbnRfbmFtZV9tYXg7XG5cbiAgICAgICAgJG1lZGlhX2NvZWY6ICgkbWVkaWFfbWF4IC0gJG1lZGlhX21pbikgL1xuICAgICAgICAgICAgKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW4pO1xuXG4gICAgICAgIEBpZiAkaXNfbWluX21lZGlhID09IDEge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIGFuZCAobWluLXdpZHRoOiAkbWVkaWFfbWluICogMXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoKCRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9pKSAvICRmb250LXNpemUtbWFpbikgKlxuICAgICAgICAgICAgICAgICAgICAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRmb250X21heF9tZWRpYTogJG1lZGlhX21heCAtXG4gICAgICAgICAgICAgICAgZmxvb3IoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpICpcbiAgICAgICAgICAgICAgICAxcHg7XG5cbiAgICAgICAgICAgICRmb250X21pbl9tZWRpYTogJG1lZGlhX21heCAtXG4gICAgICAgICAgICAgICAgZmxvb3IoKCRmb250X25hbWVfaSkgKiAkbWVkaWFfY29lZikgKlxuICAgICAgICAgICAgICAgIDFweDtcblxuICAgICAgICAgICAgQGlmICRmb250X21pbl9tZWRpYSA+ICRtZWRpYV9taW4ge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZm9udF9tYXhfbWVkaWEpIGFuZCAobWluLXdpZHRoOiAoJGZvbnRfbWluX21lZGlhICsgMXB4KSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluXG4gICAgICAgICAgICAgICAgICAgICAgICApICogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGZvbnRfbWF4X21lZGlhKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkZm9udF9uYW1lX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgKiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQGluY2x1ZGUgbWVkaWFfZm9udF9zaXplX3dpZHRoKDkwMCwgMzIwLCA4MCwgNTgsIDApO1xuLy8gQG1peGluIG1lZGlhX2ZvbnRfc2l6ZV93aWR0aChcbi8vICAgICAkbWVkaWFfbWF4LFxuLy8gICAgICRtZWRpYV9taW4sXG4vLyAgICAgJGZvbnRfbmFtZV9tYXgsXG4vLyAgICAgJGZvbnRfbmFtZV9taW4sXG4vLyAgICAgJGlzX21pbl9tZWRpYVxuLy8gKSB7XG4vLyAgICAgJHJhem46ICRmb250X25hbWVfbWF4IC0gJGZvbnRfbmFtZV9taW47XG5cbi8vICAgICBAZm9yICRmb250X25hbWVfaSBmcm9tIDEgdGhyb3VnaCAkcmF6biB7XG4vLyAgICAgICAgICRtZWRpYTogJG1lZGlhX21heC8kZm9udF9uYW1lX21heDtcblxuLy8gICAgICAgICAkbWVkaWFfY29lZjogKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKSAvXG4vLyAgICAgICAgICAgICAoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX21pbik7XG5cbi8vICAgICAgICAgQGlmICRpc19taW5fbWVkaWEgPT0gMSB7XG4vLyAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogKCRtZWRpYV9tYXggLSAoKCRmb250X25hbWVfaSAtIDEpICogJG1lZGlhX2NvZWYpKSAqIDFweCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYV9taW4gKiAxcHgpIHtcbi8vICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4vLyAgICAgICAgICAgICAgICAgICAgIDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH0gQGVsc2Uge1xuLy8gICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9uYW1lX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIHtcbi8vICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfbmFtZV9tYXggLSAkZm9udF9uYW1lX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4vLyAgICAgICAgICAgICAgICAgICAgIDFyZW07XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG4vLyB9XG5cbi8vIEBpbmNsdWRlIG1lZGlhX2ZvbnRfc2l6ZV9oZWlnaHQoOTAwLCAzMjAsIDgwLCA1OCwgMCk7XG5AbWl4aW4gbWVkaWFfZm9udF9zaXplX2hlaWdodChcbiAgICAkbWVkaWFfbWF4LFxuICAgICRtZWRpYV9taW4sXG4gICAgJGZvbnRfc2l6ZV9tYXgsXG4gICAgJGZvbnRfc2l6ZV9taW4sXG4gICAgJGlzX21pbl9tZWRpYVxuKSB7XG4gICAgJHJhem46ICRmb250X3NpemVfbWF4IC0gJGZvbnRfc2l6ZV9taW47XG5cbiAgICBAZm9yICRmb250X3NpemVfaSBmcm9tIDEgdGhyb3VnaCAkcmF6biB7XG4gICAgICAgICRtZWRpYTogJG1lZGlhX21heC8kZm9udF9zaXplX21heDtcblxuICAgICAgICAkbWVkaWFfY29lZjogKCRtZWRpYV9tYXggLSAkbWVkaWFfbWluKSAvXG4gICAgICAgICAgICAoJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9zaXplX21pbik7XG5cbiAgICAgICAgQGlmICRpc19taW5fbWVkaWEgPT0gMSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9zaXplX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIGFuZCAobWluLWhlaWdodDogJG1lZGlhX21pbiAqIDFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCgkZm9udF9zaXplX21heCAtICRmb250X25hbWVfaSkgLyAkZm9udC1zaXplLW1haW4pICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6ICgkbWVkaWFfbWF4IC0gKCgkZm9udF9zaXplX2kgLSAxKSAqICRtZWRpYV9jb2VmKSkgKiAxcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICgoJGZvbnRfc2l6ZV9tYXggLSAkZm9udF9zaXplX2kpIC8gJGZvbnQtc2l6ZS1tYWluKSAqXG4gICAgICAgICAgICAgICAgICAgIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgICBAaWYgJG1pbiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBzbGlja0RvdHMoKSB7XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAoJG1lZGlhLXhsKzEpKSB7XG4gICAgICAgICAgICBib3R0b206IDY1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSBhbmQgKG1pbi13aWR0aDogKCRtZWRpYS1tZCsxKSkge1xuICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpYS1tZCkgYW5kIChtaW4td2lkdGg6ICgkbWVkaWEtc20rMSkpIHtcbiAgICAgICAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEtc20pIHtcbiAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcuNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjVweDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjFzIGJhY2tncm91bmQtY29sb3IsIDAuMjFzIHdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAwLjIxcyBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5zbGljay1hY3RpdmUpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHNsaWNrQmlnQXJyb3dzKCkge1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG5cbiAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaWEteHhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteHhsKSBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXhsICsgMXB4KSB7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWVkaWEteGwpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGlhLXh4bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXh4bCkgYW5kIChtaW4td2lkdGg6ICRtZWRpYS14bCArIDFweCkge1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1lZGlhLXhsKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8vINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIENTUy3QstGL0YDQsNC20LXQvdC40LUg0LLQuNC00LBcbi8vLyBtaW4oY2FsYygoMTAwdncgLSBjb250YWluZXIgLSBuYXYgLSBpdGVtcyAtIHNjcm9sbGJhcikgKiAod2lkdGhYIC8gdG90YWxXaWR0aCkpLCB3aWR0aFgpXG5AZnVuY3Rpb24gZmx1aWQtbWF4KCR3aWR0aFhweCkge1xuICAgICR1bml0bGVzc1g6ICR3aWR0aFhweCAgICAgICAgICAvIDFweDtcbiAgICAkdW5pdGxlc3NUb3RhbDogJGdhbGxlcnlXaWR0aEFicyAgIC8gMXB4O1xuXG4gICAgLy8g0JLRi9Cx0LjRgNCw0LXQvCDQvdGD0LbQvdGD0Y4g0YTRg9C90LrRhtC40Y46INC10YHQu9C4INC+0YLRgNC40YbQsNGC0LXQu9GM0L3QvtC1IOKAlCBtYXgsINC40L3QsNGH0LUgbWluXG4gICAgJGZuOiBpZigkdW5pdGxlc3NYIDwgMCwgXCJtYXhcIiwgXCJtaW5cIik7XG5cbiAgICBAcmV0dXJuIHVucXVvdGUoXG4gICAgICAgICAgICAgICAgICAgIFwiI3skZm59KGNhbGMoKDEwMHZ3IC0gI3skY29udGFpbmVyLXBhZGRpbmcteHhsLWwtciAqIDJ9IC0gI3skZ2FsbGVyeU5hdkJ1dHRvbldpZHRofSAtICN7JGdhbGxlcnlJdGVtUGFkZGluZyAqIDJ9IC0gdmFyKC0tc2Nyb2xsQmFyKSkgKiAoI3skdW5pdGxlc3NYfSAvICN7JHVuaXRsZXNzVG90YWx9KSksICN7JHdpZHRoWHB4fSlcIlxuICAgICk7XG5cbn1cbiJdLCJmaWxlIjoiY2F0YWxvZ3VlLmNzcyJ9 */
