.waymarks {
  overflow: hidden;
}
.waymarks__grid {
  margin-bottom: 50px;
}
@media screen and (max-width: 1399.98px) {
  .waymarks__grid {
    margin-bottom: 30px;
  }
}

.waymarks-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--gap);
}
@media screen and (max-width: 1199.98px) {
  .waymarks-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767.98px) {
  .waymarks-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.waymark-card-link-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 10px;
  background-color: var(--bg);
  -webkit-transition: var(--transition) background-color;
  transition: var(--transition) background-color;
}
@media screen and (max-width: 1199.98px) {
  .waymark-card-link-btn {
    width: 26px;
    height: 26px;
    border-radius: 6px;
  }
}

.waymarks-card {
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: var(--bg-alt);
  aspect-ratio: 360/438;
  border-radius: 30px;
  padding: 30px;
}
@media screen and (max-width: 1399.98px) {
  .waymarks-card {
    padding: 15px;
  }
}
@media screen and (max-width: 1199.98px) {
  .waymarks-card {
    aspect-ratio: 262/200;
    border-radius: 15px;
  }
}
@media screen and (max-width: 767.98px) {
  .waymarks-card {
    aspect-ratio: 169/200;
  }
}
.waymarks-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 30px;
  background-image: linear-gradient(-35deg, var(--accent) 0%, var(--accent) 50%, transparent 50%, transparent 100%);
  opacity: 0;
  -webkit-transition: var(--transition) opacity;
  transition: var(--transition) opacity;
}
@media (hover: hover) and (pointer: fine) {
  .waymarks-card:hover .waymark-card-link-btn {
    background-color: var(--bg-alt);
  }
  .waymarks-card:hover::before {
    opacity: 1;
  }
}
.waymarks-card:active .waymark-card-link-btn {
  background-color: var(--bg-alt);
  -webkit-transition-duration: var(--transition-active);
          transition-duration: var(--transition-active);
}
.waymarks-card:active::before {
  -webkit-transition-duration: var(--transition-active);
          transition-duration: var(--transition-active);
  opacity: 1;
}

.waymark-card-pic {
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 40px;
  left: 0;
  display: block;
}
@media screen and (max-width: 1199.98px) {
  .waymark-card-pic {
    top: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .waymark-card-pic {
    top: 30px;
    bottom: 10px;
  }
}
.waymark-card-pic > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}

.waymark-card-title {
  position: relative;
}

.waymarks-slide-pic {
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: var(--bg-alt);
  border-radius: 15px;
  -webkit-transition-property: -webkit-box-shadow, -webkit-transform;
  transition-property: -webkit-box-shadow, -webkit-transform;
  transition-property: box-shadow, transform;
  transition-property: box-shadow, transform, -webkit-box-shadow, -webkit-transform;
  -webkit-transition-duration: var(--transition);
          transition-duration: var(--transition);
}
.waymarks-slide-pic, .waymarks-slide-pic > img {
  display: block;
  width: 90px;
  height: 90px;
  -o-object-fit: cover;
     object-fit: cover;
}

.waymarks-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 10px;
  border-right: 1px solid var(--border);
  border-left: 1px solid var(--border);
  width: 100%;
  height: auto;
  text-align: center;
}
.waymarks-slide:first-child {
  border-left: none;
}
.waymarks-slide:last-child {
  border-left: none;
}
@media screen and (max-width: 1399.98px) {
  .waymarks-slide {
    gap: 15px;
    width: 154px;
    min-width: 154px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .waymarks-slide:hover .waymarks-slide-pic {
    -webkit-box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.1607843137);
            box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.1607843137);
    -webkit-transform: scale3d(1.01, 1.01, 1.01);
            transform: scale3d(1.01, 1.01, 1.01);
  }
}
.waymarks-slide:active waymarks-slide-pic {
  -webkit-transition-duration: var(--transition-active);
          transition-duration: var(--transition-active);
  -webkit-box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.1607843137);
          box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.1607843137);
  -webkit-transform: scale3d(1.01, 1.01, 1.01);
          transform: scale3d(1.01, 1.01, 1.01);
}

.waymarks-slide-title {
  font-family: var(--font-family-alt);
  font-weight: 600;
  line-height: 1.1;
  font-size: 12px;
}
@media screen and (min-width: 1400px) {
  .waymarks-slide-title {
    font-size: 15px;
  }
}

.waymarks-swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.waymarks-swiper {
  overflow: visible;
}

.products-card {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: var(--bg-alt);
  border-radius: 40px;
  padding: 10px;
}
@media screen and (max-width: 1599.98px) {
  .products-card {
    padding: 5px;
    border-radius: 10px;
  }
}

.products-card-piclink {
  background-color: var(--bg-fixed-grey);
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 1599.98px) {
  .products-card-piclink {
    border-radius: 7px;
  }
}
.products-card-piclink,
.products-card-piclink picture,
.products-card-piclink img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 432/304;
}
.products-card-piclink > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.products-card-piclink--wide,
.products-card-piclink--wide picture,
.products-card-piclink--wide img {
  aspect-ratio: 586/304;
}

.products-card-content {
  padding: 30px 20px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1599.98px) {
  .products-card-content {
    padding: 15px 10px 0;
  }
}
.products-card-content__in-stock {
  margin-bottom: 20px;
}
@media screen and (max-width: 1599.98px) {
  .products-card-content__in-stock {
    margin-bottom: 10px;
  }
}
.products-card-content__title {
  margin-bottom: 25px;
}
@media screen and (max-width: 1599.98px) {
  .products-card-content__title {
    margin-bottom: 30px;
  }
}
.products-card-content__footer {
  margin-top: auto;
}

.products-card-in-stock {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.products-card-footer {
  border-top: 1px solid var(--border);
  padding-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px var(--gap);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1599.98px) {
  .products-card-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.products-card-buy-btn {
  border-radius: 10px;
  height: 40px;
  min-height: 40px;
  padding: 10px 15px;
  font-size: 15px;
  font-weight: 600;
  width: 160px;
  min-width: 160px;
}
@media screen and (max-width: 1599.98px) {
  .products-card-buy-btn {
    border-radius: 5px;
    height: 52px;
    min-height: 52px;
    font-size: 13px;
    font-weight: 600;
    width: calc(100% + 20px);
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media screen and (max-width: 767.98px) {
  .products-card-buy-btn {
    height: 40px;
    min-height: 40px;
    font-size: 12px;
  }
}

.products-card-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3px 8px;
  white-space: nowrap;
}

.products-card-state {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
@media screen and (max-width: 1399.98px) {
  .products-card-state {
    gap: 4px;
  }
}

.products-card-stickers {
  top: 30px;
  left: 30px;
  max-width: calc(100% - 120px);
  position: absolute;
}
@media screen and (max-width: 1599.98px) {
  .products-card-stickers {
    max-width: calc(100% - 70px);
    top: 15px;
    left: 15px;
  }
}

.products-card-cart-btn {
  padding-left: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 25px;
  right: 25px;
  position: absolute;
  width: 46px;
  height: 46px;
  border-radius: 10px;
  background-color: var(--white);
  color: var(--black);
  cursor: pointer;
}
@media screen and (max-width: 1599.98px) {
  .products-card-cart-btn {
    top: 10px;
    right: 10px;
  }
}
@media screen and (max-width: 1399.98px) {
  .products-card-cart-btn {
    width: 35px;
    height: 35px;
    border-radius: 8px;
  }
}
.products-card-cart-btn .icon {
  -webkit-transition: var(--transition) opacity;
  transition: var(--transition) opacity;
}
@media screen and (max-width: 1399.98px) {
  .products-card-cart-btn .icon {
    width: 18px;
    height: 18px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .products-card-cart-btn:hover .icon {
    opacity: 0.3;
  }
}
.products-card-cart-btn:active .icon {
  -webkit-transition-duration: var(--transition-active);
          transition-duration: var(--transition-active);
  opacity: 0.3;
}
.products-card-cart-btn::after {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  content: "+";
  position: absolute;
  top: calc(50% + 2px);
  left: calc(50% + 2px);
  border: 1px solid var(--white);
  padding: 0;
  height: 16px;
  min-width: 16px;
  border-radius: 50%;
  background-color: var(--white);
  color: var(--black);
  text-align: center;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  font-family: var(--font-family-base);
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.products-card-cart-btn[data-cart-content]::after {
  content: attr(data-cart-content);
  font-size: 12px;
  line-height: 16px;
  border-color: var(--accent);
  background-color: var(--accent);
  color: var(--white);
  border-radius: 50%;
}

.products-slide {
  height: auto;
}

.products-list {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.products-swiper {
  overflow: visible;
}

.products {
  overflow: hidden;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJsb2Nrcy93YXltYXJrcy5zY3NzIiwicHJvZHVjdGlvbi5jc3MiLCJtaXhpbnMvX3NtYXJ0LWdyaWQuc2NzcyIsImJsb2Nrcy9wcm9kdWN0cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQUE7QUNDSjtBRENJO0VBQ0ksbUJBQUE7QUNDUjtBQzBCSTtFRjVCQTtJQUlRLG1CQUFBO0VDRVY7QUFDRjs7QURFQTtFQUNJLGFBQUE7RUFDQSxxQ0FBQTtFQUNBLGVBQUE7QUNDSjtBQzZCSTtFRmpDSjtJQU1RLHFDQUFBO0VDRU47QUFDRjtBQ29ETTtFRjdETjtJQVVRLHFDQUFBO0VDR047QUFDRjs7QURBQTtFQUNJLGtCQUFBO0VBQ0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO01BQUEsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7RUFDQSxzREFBQTtFQUFBLDhDQUFBO0FDR0o7QUNNSTtFRm5CSjtJQWFRLFdBQUE7SUFDQSxZQUFBO0lBQ0Esa0JBQUE7RUNJTjtBQUNGOztBRERBO0VBQ0ksZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsOEJBQUE7RUFDQSwrQkFBQTtFQUVBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0FDR0o7QUM1Qkk7RUZjSjtJQWNRLGFBQUE7RUNJTjtBQUNGO0FDbkJJO0VGQUo7SUFrQlEscUJBQUE7SUFDQSxtQkFBQTtFQ0tOO0FBQ0Y7QUNHTTtFRjVCTjtJQXVCUSxxQkFBQTtFQ01OO0FBQ0Y7QURKSTtFQUNJLFdBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFDQSxtQkFBQTtFQUNBLGlIQUFBO0VBQ0EsVUFBQTtFQUNBLDZDQUFBO0VBQUEscUNBQUE7QUNNUjtBQ3VCRTtFRnhCVTtJQUNJLCtCQUFBO0VDSWQ7RUREVTtJQUNJLFVBQUE7RUNHZDtBQUNGO0FERVE7RUFDSSwrQkFBQTtFQUNBLHFEQUFBO1VBQUEsNkNBQUE7QUNBWjtBREdRO0VBQ0kscURBQUE7VUFBQSw2Q0FBQTtFQUNBLFVBQUE7QUNEWjs7QURPQTtFQUNJLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxZQUFBO0VBQ0EsT0FBQTtFQUNBLGNBQUE7QUNKSjtBQ25FSTtFRmlFSjtJQVNRLE1BQUE7SUFDQSxTQUFBO0VDSE47QUFDRjtBQzdDTTtFRnFDTjtJQWNRLFNBQUE7SUFDQSxZQUFBO0VDRk47QUFDRjtBRElJO0VBQ0ksY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLHdCQUFBO0tBQUEscUJBQUE7QUNGUjs7QURNQTtFQUNJLGtCQUFBO0FDSEo7O0FETUE7RUFDSSxnQkFBQTtFQUNBLG9CQUFBO01BQUEsY0FBQTtFQUNBLCtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrRUFBQTtFQUFBLDBEQUFBO0VBQUEsMENBQUE7RUFBQSxpRkFBQTtFQUNBLDhDQUFBO1VBQUEsc0NBQUE7QUNISjtBREtJO0VBRUksY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQ0pSOztBRFFBO0VBQ0ksb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLFNBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSxlQUFBO0VBQ0EscUNBQUE7RUFDQSxvQ0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUNMSjtBRE9JO0VBQ0ksaUJBQUE7QUNMUjtBRFFJO0VBQ0ksaUJBQUE7QUNOUjtBQzFJSTtFRitISjtJQXFCUSxTQUFBO0lBQ0EsWUFBQTtJQUNBLGdCQUFBO0VDTk47QUFDRjtBQ2xFRTtFRjRFVTtJQUNJLDREQUFBO1lBQUEsb0RBQUE7SUFDQSw0Q0FBQTtZQUFBLG9DQUFBO0VDUGQ7QUFDRjtBRFlRO0VBQ0kscURBQUE7VUFBQSw2Q0FBQTtFQUNBLDREQUFBO1VBQUEsb0RBQUE7RUFDQSw0Q0FBQTtVQUFBLG9DQUFBO0FDVlo7O0FEZUE7RUFDSSxtQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0FDWko7QUN6S0k7RUZpTEo7SUFPUSxlQUFBO0VDWE47QUFDRjs7QURjQTtFQUNJLDBCQUFBO01BQUEsdUJBQUE7VUFBQSxvQkFBQTtBQ1hKOztBRGNBO0VBQ0ksaUJBQUE7QUNYSjs7QUUvTUE7RUFDSSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLCtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0FGa05KO0FFaE5JO0VBVEo7SUFVUSxZQUFBO0lBQ0EsbUJBQUE7RUZtTk47QUFDRjs7QUVoTkE7RUFDSSxzQ0FBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUZtTko7QUVqTkk7RUFMSjtJQU1RLGtCQUFBO0VGb05OO0FBQ0Y7QUVuTkk7OztFQUdJLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0FGcU5SO0FFbE5JO0VBQ0ksc0JBQUE7S0FBQSxtQkFBQTtFQUNBLDBCQUFBO0tBQUEsdUJBQUE7QUZvTlI7QUVoTlE7OztFQUdJLHFCQUFBO0FGa05aOztBRTdNQTtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7TUFBQSxvQkFBQTtVQUFBLFlBQUE7RUFDQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLDhCQUFBO0FGZ05KO0FFOU1JO0VBUEo7SUFRUSxvQkFBQTtFRmlOTjtBQUNGO0FFL01JO0VBQ0ksbUJBQUE7QUZpTlI7QUUvTVE7RUFISjtJQUlRLG1CQUFBO0VGa05WO0FBQ0Y7QUUvTUk7RUFDSSxtQkFBQTtBRmlOUjtBRS9NUTtFQUhKO0lBSVEsbUJBQUE7RUZrTlY7QUFDRjtBRS9NSTtFQUNJLGdCQUFBO0FGaU5SOztBRTdNQTtFQUNJLDJCQUFBO0VBQUEsMkJBQUE7RUFBQSxvQkFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtFQUNBLFFBQUE7QUZnTko7O0FFN01BO0VBQ0ksbUNBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsOEJBQUE7QUZnTko7QUU5TUk7RUFSSjtJQVNRLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0lBQ0EsMEJBQUE7UUFBQSx1QkFBQTtZQUFBLG9CQUFBO0VGaU5OO0FBQ0Y7O0FFOU1BO0VBQ0ksbUJBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBRmlOSjtBRS9NSTtFQVZKO0lBV1Esa0JBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7SUFDQSxlQUFBO0lBQ0EsZ0JBQUE7SUFDQSx3QkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7RUZrTk47QUFDRjtBQzlQTTtFQ3lCTjtJQXNCUSxZQUFBO0lBQ0EsZ0JBQUE7SUFDQSxlQUFBO0VGbU5OO0FBQ0Y7O0FFaE5BO0VBQ0ksb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxtQkFBQTtNQUFBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7QUZtTko7O0FFaE5BO0VBQ0ksMkJBQUE7RUFBQSwyQkFBQTtFQUFBLG9CQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsUUFBQTtBRm1OSjtBQzVUSTtFQ3NHSjtJQU1RLFFBQUE7RUZvTk47QUFDRjs7QUVqTkE7RUFDSSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7QUZvTko7QUVsTkk7RUFOSjtJQU9RLDRCQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7RUZxTk47QUFDRjs7QUVsTkE7RUFDSSxpQkFBQTtFQUNBLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtBRnFOSjtBRWpOSTtFQWpCSjtJQWtCUSxTQUFBO0lBQ0EsV0FBQTtFRm9OTjtBQUNGO0FDcldJO0VDNkhKO0lBdUJRLFdBQUE7SUFDQSxZQUFBO0lBQ0Esa0JBQUE7RUZxTk47QUFDRjtBRW5OSTtFQUNJLDZDQUFBO0VBQUEscUNBQUE7QUZxTlI7QUMvV0k7RUN5SkE7SUFJUSxXQUFBO0lBQ0EsWUFBQTtFRnNOVjtBQUNGO0FDdFNFO0VDcUZVO0lBQ0ksWUFBQTtFRm9OZDtBQUNGO0FFL01RO0VBQ0kscURBQUE7VUFBQSw2Q0FBQTtFQUNBLFlBQUE7QUZpTlo7QUU3TUk7RUFDSSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHdCQUFBO01BQUEscUJBQUE7VUFBQSx1QkFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSw4QkFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQ0FBQTtFQUNBLHFDQUFBO0VBQUEsNkJBQUE7QUYrTVI7QUUxTVE7RUFDSSxnQ0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLDJCQUFBO0VBQ0EsK0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FGNE1aOztBRXZNQTtFQUNJLFlBQUE7QUYwTUo7O0FFdk1BO0VBQ0ksMEJBQUE7TUFBQSx1QkFBQTtVQUFBLG9CQUFBO0FGME1KOztBRXZNQTtFQUNJLGlCQUFBO0FGME1KOztBRXZNQTtFQUNJLGdCQUFBO0FGME1KIiwiZmlsZSI6InByb2R1Y3Rpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndheW1hcmtzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEteHhsKCdkb3duJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndheW1hcmtzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLWdhcCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS14bCgnZG93bicpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1tZCgnZG93bicpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG59XG5cbi53YXltYXJrLWNhcmQtbGluay1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmcpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pIGJhY2tncm91bmQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS14bCgnZG93bicpIHtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cbn1cblxuLndheW1hcmtzLWNhcmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYWx0KTtcblxuICAgIGFzcGVjdC1yYXRpbzogMzYwLzQzODtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS14eGwoJ2Rvd24nKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhLXhsKCdkb3duJykge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDI2Mi8yMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtbWQoJ2Rvd24nKSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTY5LzIwMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMzVkZWcsIHZhcigtLWFjY2VudCkgMCUsIHZhcigtLWFjY2VudCkgNTAlLCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKSBvcGFjaXR5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWhvdmVyIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAud2F5bWFyay1jYXJkLWxpbmstYnRuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1hbHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIC53YXltYXJrLWNhcmQtbGluay1idG4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYWx0KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXRyYW5zaXRpb24tYWN0aXZlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWFjdGl2ZSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi53YXltYXJrLWNhcmQtcGljIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEteGwoJ2Rvd24nKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLW1kKCdkb3duJykge1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAmPmltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICAgIH1cbn1cblxuLndheW1hcmstY2FyZC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2F5bWFya3Mtc2xpZGUtcGljIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWFsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAmLFxuICAgICY+aW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cblxuLndheW1hcmtzLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEteHhsKCdkb3duJykge1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNTRweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1ob3ZlciB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLndheW1hcmtzLXNsaWRlLXBpYyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDRweCAxNnB4ICMwMDAwMDAyOTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMSwgMS4wMSwgMS4wMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHdheW1hcmtzLXNsaWRlLXBpYyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWFjdGl2ZSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDE2cHggIzAwMDAwMDI5O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDEsIDEuMDEsIDEuMDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2F5bWFya3Mtc2xpZGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1hbHQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS14eGwoJ3VwJykge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxufVxuXG4ud2F5bWFya3Mtc3dpcGVyLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ud2F5bWFya3Mtc3dpcGVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbiIsIi53YXltYXJrcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ud2F5bWFya3NfX2dyaWQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC53YXltYXJrc19fZ3JpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4ud2F5bWFya3MtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTkuOThweCkge1xuICAud2F5bWFya3MtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIHtcbiAgLndheW1hcmtzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cblxuLndheW1hcmstY2FyZC1saW5rLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZyk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLndheW1hcmstY2FyZC1saW5rLWJ0biB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgfVxufVxuXG4ud2F5bWFya3MtY2FyZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYWx0KTtcbiAgYXNwZWN0LXJhdGlvOiAzNjAvNDM4O1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC53YXltYXJrcy1jYXJkIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5Ljk4cHgpIHtcbiAgLndheW1hcmtzLWNhcmQge1xuICAgIGFzcGVjdC1yYXRpbzogMjYyLzIwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAud2F5bWFya3MtY2FyZCB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNjkvMjAwO1xuICB9XG59XG4ud2F5bWFya3MtY2FyZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtMzVkZWcsIHZhcigtLWFjY2VudCkgMCUsIHZhcigtLWFjY2VudCkgNTAlLCB0cmFuc3BhcmVudCA1MCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKSBvcGFjaXR5O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAud2F5bWFya3MtY2FyZDpob3ZlciAud2F5bWFyay1jYXJkLWxpbmstYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1hbHQpO1xuICB9XG4gIC53YXltYXJrcy1jYXJkOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi53YXltYXJrcy1jYXJkOmFjdGl2ZSAud2F5bWFyay1jYXJkLWxpbmstYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYWx0KTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1hY3RpdmUpO1xufVxuLndheW1hcmtzLWNhcmQ6YWN0aXZlOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWFjdGl2ZSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi53YXltYXJrLWNhcmQtcGljIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDQwcHg7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OS45OHB4KSB7XG4gIC53YXltYXJrLWNhcmQtcGljIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAud2F5bWFyay1jYXJkLXBpYyB7XG4gICAgdG9wOiAzMHB4O1xuICAgIGJvdHRvbTogMTBweDtcbiAgfVxufVxuLndheW1hcmstY2FyZC1waWMgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcbn1cblxuLndheW1hcmstY2FyZC10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndheW1hcmtzLXNsaWRlLXBpYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1hbHQpO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLndheW1hcmtzLXNsaWRlLXBpYywgLndheW1hcmtzLXNsaWRlLXBpYyA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLndheW1hcmtzLXNsaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLndheW1hcmtzLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4ud2F5bWFya3Mtc2xpZGU6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC53YXltYXJrcy1zbGlkZSB7XG4gICAgZ2FwOiAxNXB4O1xuICAgIHdpZHRoOiAxNTRweDtcbiAgICBtaW4td2lkdGg6IDE1NHB4O1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC53YXltYXJrcy1zbGlkZTpob3ZlciAud2F5bWFya3Mtc2xpZGUtcGljIHtcbiAgICBib3gtc2hhZG93OiAycHggNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE2MDc4NDMxMzcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAxLCAxLjAxLCAxLjAxKTtcbiAgfVxufVxuLndheW1hcmtzLXNsaWRlOmFjdGl2ZSB3YXltYXJrcy1zbGlkZS1waWMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWFjdGl2ZSk7XG4gIGJveC1zaGFkb3c6IDJweCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTYwNzg0MzEzNyk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAxLCAxLjAxLCAxLjAxKTtcbn1cblxuLndheW1hcmtzLXNsaWRlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWFsdCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAud2F5bWFya3Mtc2xpZGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufVxuXG4ud2F5bWFya3Mtc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLndheW1hcmtzLXN3aXBlciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZHVjdHMtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYWx0KTtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOThweCkge1xuICAucHJvZHVjdHMtY2FyZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cbn1cblxuLnByb2R1Y3RzLWNhcmQtcGljbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWZpeGVkLWdyZXkpO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLXBpY2xpbmsge1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgfVxufVxuLnByb2R1Y3RzLWNhcmQtcGljbGluayxcbi5wcm9kdWN0cy1jYXJkLXBpY2xpbmsgcGljdHVyZSxcbi5wcm9kdWN0cy1jYXJkLXBpY2xpbmsgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogNDMyLzMwNDtcbn1cbi5wcm9kdWN0cy1jYXJkLXBpY2xpbmsgPiBpbWcge1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cbi5wcm9kdWN0cy1jYXJkLXBpY2xpbmstLXdpZGUsXG4ucHJvZHVjdHMtY2FyZC1waWNsaW5rLS13aWRlIHBpY3R1cmUsXG4ucHJvZHVjdHMtY2FyZC1waWNsaW5rLS13aWRlIGltZyB7XG4gIGFzcGVjdC1yYXRpbzogNTg2LzMwNDtcbn1cblxuLnByb2R1Y3RzLWNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgLnByb2R1Y3RzLWNhcmQtY29udGVudCB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4IDA7XG4gIH1cbn1cbi5wcm9kdWN0cy1jYXJkLWNvbnRlbnRfX2luLXN0b2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOThweCkge1xuICAucHJvZHVjdHMtY2FyZC1jb250ZW50X19pbi1zdG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuLnByb2R1Y3RzLWNhcmQtY29udGVudF9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLWNvbnRlbnRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG4ucHJvZHVjdHMtY2FyZC1jb250ZW50X19mb290ZXIge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4ucHJvZHVjdHMtY2FyZC1pbi1zdG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbn1cblxuLnByb2R1Y3RzLWNhcmQtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDIwcHggdmFyKC0tZ2FwKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLWZvb3RlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxufVxuXG4ucHJvZHVjdHMtY2FyZC1idXktYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2lkdGg6IDE2MHB4O1xuICBtaW4td2lkdGg6IDE2MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLWJ1eS1idG4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgbWluLWhlaWdodDogNTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLWJ1eS1idG4ge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4ucHJvZHVjdHMtY2FyZC1wcmljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAzcHggOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvZHVjdHMtY2FyZC1zdGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzOTkuOThweCkge1xuICAucHJvZHVjdHMtY2FyZC1zdGF0ZSB7XG4gICAgZ2FwOiA0cHg7XG4gIH1cbn1cblxuLnByb2R1Y3RzLWNhcmQtc3RpY2tlcnMge1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgLnByb2R1Y3RzLWNhcmQtc3RpY2tlcnMge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnByb2R1Y3RzLWNhcmQtY2FydC1idG4ge1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRvcDogMjVweDtcbiAgcmlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgLnByb2R1Y3RzLWNhcmQtY2FydC1idG4ge1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM5OS45OHB4KSB7XG4gIC5wcm9kdWN0cy1jYXJkLWNhcnQtYnRuIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB9XG59XG4ucHJvZHVjdHMtY2FyZC1jYXJ0LWJ0biAuaWNvbiB7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pIG9wYWNpdHk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzk5Ljk4cHgpIHtcbiAgLnByb2R1Y3RzLWNhcmQtY2FydC1idG4gLmljb24ge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucHJvZHVjdHMtY2FyZC1jYXJ0LWJ0bjpob3ZlciAuaWNvbiB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG59XG4ucHJvZHVjdHMtY2FyZC1jYXJ0LWJ0bjphY3RpdmUgLmljb24ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWFjdGl2ZSk7XG4gIG9wYWNpdHk6IDAuMztcbn1cbi5wcm9kdWN0cy1jYXJkLWNhcnQtYnRuOjphZnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb250ZW50OiBcIitcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlICsgMnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgKyAycHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13aGl0ZSk7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYmFzZSk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuLnByb2R1Y3RzLWNhcmQtY2FydC1idG5bZGF0YS1jYXJ0LWNvbnRlbnRdOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1jYXJ0LWNvbnRlbnQpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnByb2R1Y3RzLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucHJvZHVjdHMtbGlzdCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ucHJvZHVjdHMtc3dpcGVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9kdWN0cyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59IiwiJHhzOiAzNzVweCAhZGVmYXVsdDtcbiRzbTogNTc2cHggIWRlZmF1bHQ7XG4kbWQ6IDc2OHB4ICFkZWZhdWx0O1xuJGxnOiA5OTJweCAhZGVmYXVsdDtcbiR4bDogMTIwMHB4ICFkZWZhdWx0O1xuJHh4bDogMTQwMHB4ICFkZWZhdWx0O1xuJHh4eGw6IDE5MjBweCAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWVkaWEteHh4bCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHh4eGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR4eHhsIC0gMC4wMnB4fSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZWRpYS14eGwoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgKCRkaXJlY3Rpb24gPT11cCkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR4eGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR4eGwgLSAwLjAycHh9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lZGlhLXhsKCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICgkZGlyZWN0aW9uID09dXApIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyR4bCAtIDAuMDJweH0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVkaWEtbGcoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgKCRkaXJlY3Rpb24gPT11cCkge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsZykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxnIC0gMC4wMnB4fSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZWRpYS1tZCgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JG1kIC0gMC4wMnB4fSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZWRpYS1zbSgkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc20pIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtIC0gMC4wMnB4fSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZWRpYS14cygkZGlyZWN0aW9uOiBkb3duKSB7XG4gIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkeHMpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHhzIC0gMC4wMnB4fSkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWVkaWEtaG92ZXIge1xuICBAbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLnByb2R1Y3RzLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1hbHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOThweCkge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtY2FyZC1waWNsaW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1maXhlZC1ncmV5KTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIH1cbiAgICAmLFxuICAgIHBpY3R1cmUsXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNDMyLzMwNDtcbiAgICB9XG4gICAgXG4gICAgJj5pbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgICAgJixcbiAgICAgICAgcGljdHVyZSxcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNTg2LzMwNDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLWNhcmQtY29udGVudCB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweCAwO1xuICAgIH1cblxuICAgICZfX2luLXN0b2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OS45OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1jYXJkLWluLXN0b2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xufVxuXG4ucHJvZHVjdHMtY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHggdmFyKC0tZ2FwKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtY2FyZC1idXktYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgbWluLXdpZHRoOiAxNjBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTkuOThweCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1tZCgnZG93bicpIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdHMtY2FyZC1wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAzcHggOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wcm9kdWN0cy1jYXJkLXN0YXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEteHhsKCdkb3duJykge1xuICAgICAgICBnYXA6IDRweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0cy1jYXJkLXN0aWNrZXJzIHtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3RzLWNhcmQtY2FydC1idG4ge1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5Ljk4cHgpIHtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS14eGwoJ2Rvd24nKSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pIG9wYWNpdHk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEteHhsKCdkb3duJykge1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1ob3ZlciB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1hY3RpdmUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29udGVudDogJysnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgKyAycHgpO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSArIDJweCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1iYXNlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgfVxuXG4gICAgJltkYXRhLWNhcnQtY29udGVudF0ge1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jYXJ0LWNvbnRlbnQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3RzLXNsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wcm9kdWN0cy1saXN0IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnByb2R1Y3RzLXN3aXBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wcm9kdWN0cyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiJdfQ== */
