: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
    }
 */
.hero {
  background-color: var(--color-background-yellow);
  overflow: hidden;
  padding: 0 0.75rem 4rem;
}
.hero .main-title {
  color: var(--color-background-black);
  font-size: 2.875rem;
  font-weight: 400;
  line-height: 2rem;
}
.hero .main-title .highlighted-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.375rem 0 0;
  height: 5.125rem;
  color: var(--color-background-yellow);
  font-weight: 500;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.hero .main-title .highlighted-text:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -5vw;
  width: -webkit-calc(100% + 2vw);
  width: calc(100% + 2vw);
  height: 5rem;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='587' height='93' viewBox='0 0 587 93' fill='none'><path d='M14.465 7.84272L587 0.5L566.469 90.3404L0 92.5L14.465 7.84272Z' fill='%23121314'/></svg>") no-repeat center/contain;
}
.hero .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  margin: 1rem 0 0;
}
.hero .content .subtitle {
  color: var(--color-background-black);
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
}
.hero .content .text {
  color: var(--color-background-black);
  font-size: 1rem;
  line-height: 1.3125rem;
  font-weight: 400;
}
.hero .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  margin: 1.5rem 0 0;
}
.hero .image-col {
  margin-top: 2rem;
}
.hero .image-wrapper {
  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: 100%;
  height: 26.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 131/284;
  position: relative;
}
.hero .image-wrapper img {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 94%;
  max-height: 94%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 2;
  -webkit-transform: rotate(14deg);
          transform: rotate(14deg);
}
.hero .image-wrapper svg {
  color: var(--color-hero-box);
  position: absolute;
  height: 100%;
}
.hero .image-wrapper svg rect {
  -webkit-animation: floatRectangles 3s ease-in-out infinite;
          animation: floatRectangles 3s ease-in-out infinite;
}
.hero .image-wrapper svg rect:nth-of-type(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.hero .image-wrapper svg rect:nth-of-type(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.hero .image-wrapper svg rect:nth-of-type(3) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.hero .image-wrapper svg rect:nth-of-type(4) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.hero .image-wrapper svg rect:nth-of-type(5) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.hero .image-wrapper svg rect:nth-of-type(6) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.hero .image-wrapper svg rect:nth-of-type(7) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.hero .image-wrapper svg rect:nth-of-type(8) {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.hero .image-wrapper svg rect:nth-of-type(9) {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.hero .image-wrapper svg rect:nth-of-type(10) {
  -webkit-animation-delay: 2.7s;
          animation-delay: 2.7s;
}
@-webkit-keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.hero .statistics-row {
  margin-top: 3rem;
}
.hero .statistics-row .col-12 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
.hero .statistics-card {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  min-height: 9.75rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 1rem);
          flex: 1 1 -webkit-calc(50% - 1rem);
          flex: 1 1 calc(50% - 1rem);
  max-width: -webkit-calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  padding: 2.1875rem 2.25rem;
  border-radius: 3rem;
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.hero .statistics-card:last-child:nth-child(odd) {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  max-width: 100%;
}
.hero .statistics-card .title {
  color: var(--color-background-black);
  font-size: 3rem;
  line-height: normal;
  font-weight: 500;
  letter-spacing: -0.125rem;
}
.hero .statistics-card .description {
  color: var(--color-background-black);
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 400;
  text-align: center;
  white-space: pre-line;
}
@media (min-width: 48rem) {
  .hero {
    padding: 0 0 4rem 0;
  }
  .hero .main-title .highlighted-text:after {
    left: -16vw;
    width: -webkit-calc(100% - 6vw);
    width: calc(100% - 6vw);
    height: 4.875rem;
  }
}
@media (min-width: 62rem) {
  .hero {
    padding: 0 0 4.9375rem 0;
  }
  .hero .content-col {
    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;
  }
  .hero .main-title {
    font-size: 4.625rem;
    line-height: 3.25rem;
  }
  .hero .main-title .highlighted-text {
    margin: 0.75rem 0 0;
    height: 5.8125rem;
  }
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 10vw);
    width: calc(100% + 10vw);
    height: 5.8125rem;
  }
  .hero .content {
    gap: 1.625rem;
    margin: 1.875rem 0 0;
  }
  .hero .content .subtitle {
    font-size: 2rem;
    line-height: 1.75rem;
  }
  .hero .content .text {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .hero .button-wrapper {
    margin: 2rem 0 0;
  }
  .hero .image-col {
    margin-top: unset;
  }
  .hero .image-wrapper {
    height: 39.3125rem;
    aspect-ratio: 131/284;
  }
  .hero .statistics-row {
    margin-top: 1.5rem;
  }
  .hero .statistics-row .col-12 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .hero .statistics-card {
    min-height: 13.75rem;
    width: 100%;
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card:last-child:nth-child(odd) {
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card .title {
    font-size: 3.75rem;
    letter-spacing: -0.125rem;
  }
  .hero .statistics-card .description {
    font-size: 1.375rem;
    line-height: 1.8125rem;
  }
}
@media (min-width: 75rem) {
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 7vw);
    width: calc(100% + 7vw);
  }
}
@media (min-width: 90rem) {
  .hero .main-title .highlighted-text:after {
    left: -5.5vw;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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TGQ7QUFDRjtBQ2xQUTtFRGlRUTtJQUNJO0lBQ0E7SUFBQTtFQVpsQjtBQUNGO0FDeFBRO0VEK1FRO0lBQ0k7RUFwQmxCO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYmxvY2tzL2hlcm8vaGVyby5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy9fY3VzdG9tLWJyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJGZvbnQtZmFtaWx5LXByaW1hcnk6IFwiUnViaWtcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6IHNhbnMtc2VyaWY7XG5cbjpyb290IHtcbiAgICAtLWZvbnQtZmFtaWx5LXByaW1hcnk6ICN7JGZvbnQtZmFtaWx5LXByaW1hcnl9O1xuICAgIC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5OiAjeyRmb250LWZhbWlseS1zZWNvbmRhcnl9O1xufVxuXG4vLyBSRlNcbi8vICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlO1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAwO1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAycmVtOyAvLyAzMnB4XG4kcmZzLWJyZWFrcG9pbnQ6IDg1LjM3NXJlbTsgLy8gMTM2NnB4XG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2U7XG5cbi8vIEdyaWRcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsXG4gICAgc206IDM2cmVtLCAvLyA1NzZweFxuICAgIG1kOiA0OHJlbSwgLy8gNzY4cHhcbiAgICBsZzogNjJyZW0sIC8vIDk5MnB4XG4gICAgeGw6IDc1cmVtLCAvLyAxMjAwcHhcbiAgICB4eGw6IDkwcmVtIC8vIDE0NDBweFxuKTtcblxuLy8gQ29udGFpbmVyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgICBzbTogMzYuMjVyZW0sIC8vIDU4MHB4XG4gICAgbWQ6IDM4Ljc1cmVtLCAvLyA2MjBweFxuICAgIGxnOiA2MHJlbSwgLy8gOTYwcHhcbiAgICB4bDogNjZyZW0gLy8gMTA1NnB4XG4pO1xuIiwiQHVzZSBcIkBzYXNzL2Fic3RyYWN0cy9jdXN0b20tYnJlYWtwb2ludHNcIiBhcyBicDtcbkB1c2UgXCJAc2Fzcy9hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgKjtcblxuLmhlcm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQteWVsbG93KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgcHgtdG8tcmVtKDEyKSBweC10by1yZW0oNjQpO1xuXG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ibGFjayk7XG4gICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDQ2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgzMik7XG5cbiAgICAgICAgLmhpZ2hsaWdodGVkLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSg2KSAwIDA7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg4Mik7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC15ZWxsb3cpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTV2dztcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMnZ3KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg4MCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc1ODcnIGhlaWdodD0nOTMnIHZpZXdCb3g9JzAgMCA1ODcgOTMnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00xNC40NjUgNy44NDI3Mkw1ODcgMC41TDU2Ni40NjkgOTAuMzQwNEwwIDkyLjVMMTQuNDY1IDcuODQyNzJaJyBmaWxsPSclMjMxMjEzMTQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogcHgtdG8tcmVtKDYpO1xuICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgxNikgMCAwO1xuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ibGFjayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ibGFjayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDIxKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHB4LXRvLXJlbSgxMik7XG4gICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDI0KSAwIDA7XG4gICAgfVxuXG4gICAgLmltYWdlLWNvbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgzMik7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDQxOSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEzMS8yODQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk0JTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDk0JTtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhlcm8tYm94KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBmbG9hdFJlY3RhbmdsZXMgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICAgICAgICAgICAgIHJlY3Q6bnRoLW9mLXR5cGUoI3skaX0pIHtcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAjeygkaSAtIDEpICogMC4zfXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGtleWZyYW1lcyBmbG9hdFJlY3RhbmdsZXMge1xuXG4gICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhdGlzdGljcy1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiBweC10by1yZW0oNDgpO1xuXG4gICAgICAgIC5jb2wtMTIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogcHgtdG8tcmVtKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aXN0aWNzLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHB4LXRvLXJlbSg2KTtcbiAgICAgICAgbWluLWhlaWdodDogcHgtdG8tcmVtKDE1Nik7XG4gICAgICAgIGZsZXg6IDEgMSBjYWxjKDUwJSAtIDFyZW0pO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICAgIHBhZGRpbmc6IHB4LXRvLXJlbSgzNSkgcHgtdG8tcmVtKDM2KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcHgtdG8tcmVtKDQ4KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMwKTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWJsYWNrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDQ4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHB4LXRvLXJlbSgtMik7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYmxhY2spO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgcHgtdG8tcmVtKDY0KSAwO1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcblxuICAgICAgICAgICAgLmhpZ2hsaWdodGVkLXRleHQge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNnZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNnZ3KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oNzgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIHB4LXRvLXJlbSg3OSkgMDtcblxuICAgICAgICAuY29udGVudC1jb2wge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDc0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oNTIpO1xuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBweC10by1yZW0oMTIpIDAgMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg5Myk7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMuNXZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTB2dyk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDkzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBnYXA6IHB4LXRvLXJlbSgyNik7XG4gICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgzMCkgMCAwO1xuXG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDMyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDIwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgzMikgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLWNvbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDYyOSk7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEzMS8yODQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGlzdGljcy1yb3cge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDI0KTtcblxuICAgICAgICAgICAgLmNvbC0xMiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGF0aXN0aWNzLWNhcmQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogcHgtdG8tcmVtKDIyMCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICBmbGV4OiB1bnNldDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDYwKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcHgtdG8tcmVtKC0yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5tZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cbiAgICAgICAgLm1haW4tdGl0bGUge1xuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMuNXZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgN3Z3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5tZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcblxuICAgICAgICAgICAgLmhpZ2hsaWdodGVkLXRleHQge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC01LjV2dztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIiBhcyB2YXJzO1xuXG4vKlxuUmVwbGFjZW1lbnQgZm9yIGJvb3RzdHJhcHMgbWVkaWEgcXVlcnkgaW5jbHVkZVxuVXNhZ2UgaW4gZmlsZTpcbiAgICBAdXNlIFwiYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL2N1c3RvbS1icmVha3BvaW50c1wiIGFzIGJwO1xuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAvLyBZb3VyIHN0eWxlcyBoZXJlXG4gICAgfVxuICovXG4vLyBMb2NhbCBicmVha3BvaW50cyB3aXRoIGRlZmF1bHQgZmFsbGJhY2tcbiRjdXN0b20tYnJlYWtwb2ludHM6IHZhcnMuJGdyaWQtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vIE1pbi13aWR0aCBicmVha3BvaW50XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIEBpZiBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIlVua25vd24gYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH0uIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkY3VzdG9tLWJyZWFrcG9pbnRzKX1cIjtcbiAgICB9XG59XG5cbi8vIE1heC13aWR0aCBicmVha3BvaW50XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgQGlmIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG4gICAgICAgICRuZXh0LWJyZWFrcG9pbnQ6IF9nZXQtbmV4dC1icmVha3BvaW50KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbiAgICAgICAgQGlmICRuZXh0LWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbmV4dC1icmVha3BvaW50IC0gMC4wMnB4KSkge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBjb250ZW50OyAvLyBObyB1cHBlciBsaW1pdCBmb3IgbGFyZ2VzdCBicmVha3BvaW50XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiVW5rbm93biBicmVha3BvaW50OiAjeyRicmVha3BvaW50fS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRjdXN0b20tYnJlYWtwb2ludHMpfVwiO1xuICAgIH1cbn1cblxuLy8gQmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJGxvd2VyKSBhbmQgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJHVwcGVyKSB7XG4gICAgICAgICRtaW46IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJGxvd2VyKTtcbiAgICAgICAgJG1heDogbWFwLmdldCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkdXBwZXIpO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICgkbWF4IC0gMC4wMnB4KSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiSW52YWxpZCBicmVha3BvaW50IHJhbmdlLiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGN1c3RvbS1icmVha3BvaW50cyl9XCI7XG4gICAgfVxufVxuXG4vLyBQcml2YXRlIGhlbHBlciBmdW5jdGlvblxuQGZ1bmN0aW9uIF9nZXQtbmV4dC1icmVha3BvaW50KCRtYXAsICRrZXkpIHtcbiAgICAka2V5czogbWFwLmtleXMoJG1hcCk7XG4gICAgJGk6IGxpc3QuaW5kZXgoJGtleXMsICRrZXkpO1xuICAgIEByZXR1cm4gaWYoJGkgYW5kICRpIDwgbGlzdC5sZW5ndGgoJGtleXMpLCBtYXAuZ2V0KCRtYXAsIGxpc3QubnRoKCRrZXlzLCAkaSArIDEpKSwgbnVsbCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/