:root {
  --font-family-primary: Rubik, sans-serif;
  --font-family-secondary: sans-serif;
}

/*
Replacement for bootstraps media query include
Usage in file:
    @use "assets/sass/abstracts/custom-breakpoints" as bp;

    @include bp.media-breakpoint-up(lg) {
        // Your styles here
    }
 */
.review-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.1875rem;
  padding: 2.3125rem 1.8125rem 2.5rem 1.75rem;
  border-radius: 1.5rem;
  background-color: var(--color-white);
  -webkit-box-shadow: 0 6px 32px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 32px 0 rgba(0, 0, 0, 0.1);
  min-height: 11.3125rem;
}
.review-card-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
.review-card .author-thumbnail {
  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;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 500;
  background-color: var(--color-review-green);
  color: var(--color-review-green-letter);
}
.review-card .author-thumbnail.alt-1 {
  background-color: var(--color-review-purple);
  color: var(--color-review-purple-letter);
}
.review-card .author-thumbnail.alt-2 {
  background-color: var(--color-review-yellow);
  color: var(--color-review-yellow-letter);
}
.review-card .review-info {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
}
.review-card .review-info .author-name {
  color: var(--color-text-gray-dark);
  font-size: 1rem;
  line-height: 1.75rem;
  font-weight: 500;
}
.review-card .review-info .rating {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.1875rem;
}
.review-card .review-info .rating svg {
  width: 1.25rem;
  height: 1.25rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-review-star);
}
.review-card-content {
  color: var(--color-text-primary);
  font-size: 1rem;
  line-height: 1.375rem;
  font-weight: 400;
}

.reviews {
  padding: 7.5rem 0.75rem;
  overflow: hidden;
  background-color: var(--color-background-gray-light);
}
.reviews .review-card {
  height: 100%;
}
.reviews .title-row {
  margin-bottom: 3.75rem;
}
.reviews .title-row .col-12 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.reviews .title-row h2 {
  font-size: 3.125rem;
  line-height: 3.4375rem;
  font-weight: 500;
  letter-spacing: -0.0625rem;
}
.reviews .title-row .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
.reviews .title-row .button-wrapper .button-secondary:hover, .reviews .title-row .button-wrapper .button-secondary:focus, .reviews .title-row .button-wrapper .button-secondary:focus-visible {
  -webkit-box-shadow: 0 4px 28px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 28px 0 rgba(0, 0, 0, 0.1);
  outline: none;
  border: 1px solid var(--color-white);
}
.reviews .title-row .button-wrapper .button-secondary.inactive {
  cursor: default;
}
.reviews .swiper {
  overflow: visible;
}
.reviews .swiper-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.6875rem;
  margin: 2.9375rem 0 0;
}
.reviews .swiper-navigation button {
  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;
  position: unset;
  width: 3.5625rem;
  height: 3.5625rem;
  border-radius: 1rem;
  border: none;
  background-color: transparent;
  color: var(--color-black);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.reviews .swiper-navigation button:hover {
  background-color: var(--color-background-yellow);
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.reviews .swiper-navigation button:after {
  display: none;
}
.reviews .swiper-navigation button svg {
  width: 0.6875rem;
  height: 1.375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.reviews .swiper-navigation .swiper-button-prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.reviews .swiper-navigation .swiper-button-prev:hover {
  -webkit-transform: translateX(-4px);
          transform: translateX(-4px);
}
@media (min-width: 62rem) {
  .reviews .title-row {
    margin-bottom: 4.375rem;
  }
  .reviews .title-row .col-12 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -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-row .button-wrapper {
    gap: 0.8125rem;
  }
  .reviews .swiper {
    overflow: visible;
  }
  .reviews .swiper-navigation {
    margin: 3.3125rem 0 0;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Jsb2Nrcy9yZXZpZXdzLmNzcyIsIm1hcHBpbmdzIjoiQUFHQTtFQUNJO0VBQ0E7QUNGSjs7QUNDQTs7Ozs7Ozs7RUFBQTtBQ0ZBO0VBQ0k7RUFBQTtFQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtBRmFKO0FFWEk7RUFDSTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtBRmFSO0FFVkk7RUFDSTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGWVI7QUVWUTtFQUNJO0VBQ0E7QUZZWjtBRVRRO0VBQ0k7RUFDQTtBRldaO0FFUEk7RUFDSTtFQUFBO0VBQUE7RUFDQTtFQUFBO01BQUE7VUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0FGU1I7QUVQUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGU1o7QUVOUTtFQUNJO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0FGUVo7QUVOWTtFQUNJO0VBQ0E7RUFDQTtNQUFBO0VBQ0E7QUZRaEI7QUVISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FGS1I7O0FBMUVBO0VBQ0k7RUFDQTtFQUNBO0FBNkVKO0FBM0VJO0VBQ0k7QUE2RVI7QUExRUk7RUFDSTtBQTRFUjtBQTFFUTtFQUNJO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7QUE0RVo7QUF6RVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTJFWjtBQXhFUTtFQUNJO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0FBMEVaO0FBckVnQjtFQUdJO1VBQUE7RUFDQTtFQUNBO0FBcUVwQjtBQWxFZ0I7RUFDSTtBQW9FcEI7QUE5REk7RUFDSTtBQWdFUjtBQTlEUTtFQUNJO0VBQUE7RUFBQTtFQUNBO0VBQ0E7QUFnRVo7QUE5RFk7RUFDSTtFQUFBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QUFnRWhCO0FBOURnQjtFQUNJO0VBQ0E7VUFBQTtBQWdFcEI7QUE3RGdCO0VBQ0k7QUErRHBCO0FBNURnQjtFQUNJO0VBQ0E7RUFDQTtNQUFBO0VBQ0E7RUFBQTtBQThEcEI7QUF4RGdCO0VBQ0k7VUFBQTtBQTBEcEI7QUF2RGdCO0VBQ0k7VUFBQTtBQXlEcEI7QUN2SVE7RURzRkE7SUFDSTtFQW9EVjtFQWxEVTtJQUNJO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7UUFBQTtZQUFBO0VBb0RkO0VBakRVO0lBQ0k7RUFtRGQ7RUEvQ007SUFDSTtFQWlEVjtFQS9DVTtJQUNJO0VBaURkO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYmxvY2tzL3Jldmlld3MvcmV2aWV3cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy9fY3VzdG9tLWJyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvdGVtcGxhdGUtcGFydHMvY2FyZHMvX3Jldmlldy1jYXJkLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJGZvbnQtZmFtaWx5LXByaW1hcnk6IFwiUnViaWtcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6IHNhbnMtc2VyaWY7XG5cbjpyb290IHtcbiAgICAtLWZvbnQtZmFtaWx5LXByaW1hcnk6ICN7JGZvbnQtZmFtaWx5LXByaW1hcnl9O1xuICAgIC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5OiAjeyRmb250LWZhbWlseS1zZWNvbmRhcnl9O1xufVxuXG4vLyBSRlNcbi8vICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlO1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAwO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAycmVtOyAvLyAzMnB4XG4kcmZzLWJyZWFrcG9pbnQ6IDg1LjM3NXJlbTsgLy8gMTM2NnB4XG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2U7XG5cbi8vIEdyaWRcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgc206IDM2cmVtLCAvLyA1NzZweFxuICAgIG1kOiA0OHJlbSwgLy8gNzY4cHhcbiAgICBsZzogNjJyZW0sIC8vIDk5MnB4XG4gICAgeGw6IDc1cmVtLCAvLyAxMjAwcHhcbiAgICB4eGw6IDkwcmVtIC8vIDE0NDBweFxuKTtcblxuLy8gQ29udGFpbmVyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICBzbTogMzYuMjVyZW0sIC8vIDU4MHB4XG4gICAgbWQ6IDM4Ljc1cmVtLCAvLyA2MjBweFxuICAgIGxnOiA2MHJlbSwgLy8gOTYwcHhcbiAgICB4bDogNjZyZW0gLy8gMTA1NnB4XG4pO1xuIiwiQHVzZSBcIkBzYXNzL2Fic3RyYWN0cy9jdXN0b20tYnJlYWtwb2ludHNcIiBhcyBicDtcbkB1c2UgXCJAc2Fzcy9hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgKjtcbkB1c2UgXCJAc2Fzcy90ZW1wbGF0ZS1wYXJ0cy9jYXJkcy9yZXZpZXctY2FyZFwiIGFzICo7XG5cbi5yZXZpZXdzIHtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMTIwKSBweC10by1yZW0oMTIpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ncmF5LWxpZ2h0KTtcblxuICAgIC5yZXZpZXctY2FyZCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAudGl0bGUtcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcHgtdG8tcmVtKDYwKTtcblxuICAgICAgICAuY29sLTEyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSg1NSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHB4LXRvLXJlbSgtMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IHB4LXRvLXJlbSgxMCk7XG5cblxuICAgICAgICAgICAgLmJ1dHRvbi1zZWNvbmRhcnkge1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI4cHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAmLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogcHgtdG8tcmVtKDExKTtcbiAgICAgICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDQ3KSAwIDA7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgICB3aWR0aDogcHgtdG8tcmVtKDU3KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg1Nyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcHgtdG8tcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXllbGxvdyk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBweC10by1yZW0oMTEpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSgyMik7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblxuICAgICAgICAudGl0bGUtcm93IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHB4LXRvLXJlbSg3MCk7XG5cbiAgICAgICAgICAgIC5jb2wtMTIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgICAgJi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSg1MykgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCIgYXMgdmFycztcblxuLypcblJlcGxhY2VtZW50IGZvciBib290c3RyYXBzIG1lZGlhIHF1ZXJ5IGluY2x1ZGVcblVzYWdlIGluIGZpbGU6XG4gICAgQHVzZSBcImFzc2V0cy9zYXNzL2Fic3RyYWN0cy9jdXN0b20tYnJlYWtwb2ludHNcIiBhcyBicDtcblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgLy8gWW91ciBzdHlsZXMgaGVyZVxuICAgIH1cbiAqL1xuLy8gTG9jYWwgYnJlYWtwb2ludHMgd2l0aCBkZWZhdWx0IGZhbGxiYWNrXG4kY3VzdG9tLWJyZWFrcG9pbnRzOiB2YXJzLiRncmlkLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLyBNaW4td2lkdGggYnJlYWtwb2ludFxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJVbmtub3duIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9LiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGN1c3RvbS1icmVha3BvaW50cyl9XCI7XG4gICAgfVxufVxuXG4vLyBNYXgtd2lkdGggYnJlYWtwb2ludFxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIEBpZiBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICAkbmV4dC1icmVha3BvaW50OiBfZ2V0LW5leHQtYnJlYWtwb2ludCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG4gICAgICAgIEBpZiAkbmV4dC1icmVha3BvaW50IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJG5leHQtYnJlYWtwb2ludCAtIDAuMDJweCkpIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAY29udGVudDsgLy8gTm8gdXBwZXIgbGltaXQgZm9yIGxhcmdlc3QgYnJlYWtwb2ludFxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIlVua25vd24gYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH0uIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkY3VzdG9tLWJyZWFrcG9pbnRzKX1cIjtcbiAgICB9XG59XG5cbi8vIEJldHdlZW4gdHdvIGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyKSB7XG4gICAgQGlmIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICRsb3dlcikgYW5kIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICR1cHBlcikge1xuICAgICAgICAkbWluOiBtYXAuZ2V0KCRjdXN0b20tYnJlYWtwb2ludHMsICRsb3dlcik7XG4gICAgICAgICRtYXg6IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJHVwcGVyKTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAoJG1heCAtIDAuMDJweCkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludCByYW5nZS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRjdXN0b20tYnJlYWtwb2ludHMpfVwiO1xuICAgIH1cbn1cblxuLy8gUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb25cbkBmdW5jdGlvbiBfZ2V0LW5leHQtYnJlYWtwb2ludCgkbWFwLCAka2V5KSB7XG4gICAgJGtleXM6IG1hcC5rZXlzKCRtYXApO1xuICAgICRpOiBsaXN0LmluZGV4KCRrZXlzLCAka2V5KTtcbiAgICBAcmV0dXJuIGlmKCRpIGFuZCAkaSA8IGxpc3QubGVuZ3RoKCRrZXlzKSwgbWFwLmdldCgkbWFwLCBsaXN0Lm50aCgka2V5cywgJGkgKyAxKSksIG51bGwpO1xufVxuIiwiQHVzZSBcIkBzYXNzL2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyAqO1xuXG4ucmV2aWV3LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHB4LXRvLXJlbSgxOSk7XG4gICAgcGFkZGluZzogcHgtdG8tcmVtKDM3KSBweC10by1yZW0oMjkpIHB4LXRvLXJlbSg0MCkgcHgtdG8tcmVtKDI4KTtcbiAgICBib3JkZXItcmFkaXVzOiBweC10by1yZW0oMjQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAzMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEwKTtcbiAgICBtaW4taGVpZ2h0OiBweC10by1yZW0oMTgxKTtcblxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiBweC10by1yZW0oMjApO1xuICAgIH1cblxuICAgIC5hdXRob3ItdGh1bWJuYWlsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBweC10by1yZW0oNDgpO1xuICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg0OCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmV2aWV3LWdyZWVuKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJldmlldy1ncmVlbi1sZXR0ZXIpO1xuXG4gICAgICAgICYuYWx0LTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcmV2aWV3LXB1cnBsZSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmV2aWV3LXB1cnBsZS1sZXR0ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbHQtMiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZXZpZXcteWVsbG93KTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1yZXZpZXcteWVsbG93LWxldHRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmV2aWV3LWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiBweC10by1yZW0oNCk7XG5cbiAgICAgICAgLmF1dGhvci1uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWdyYXktZGFyayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAucmF0aW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMyk7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHB4LXRvLXJlbSgyMCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oMjApO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1yZXZpZXctc3Rhcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDIyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/