@charset "UTF-8";

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.translate-center-x {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.translate-center-y {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.translate-center {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.translate-10-y {
  top: 50%;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
}

.rotate-clockwise {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.rotate-counterclockwise {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.translate-center-y-and-rotate-clockwise {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.pointer-events-bounding {
  pointer-events: bounding-box;
}

.break-avoid {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}

.no-content {
  content: "";
}

.content-pipe {
  content: "|";
}

.content-comma {
  content: ",";
}

.mix-multiply {
  mix-blend-mode: multiply;
}

.mix-color {
  mix-blend-mode: color;
}

a.with-arrow {
  font-size: 1rem;
  font-weight: 700;
  color: #125078;
  -webkit-transition-property: background-color, border-color, color, fill, stroke;
  transition-property: background-color, border-color, color, fill, stroke;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}

a.with-arrow:hover {
  color: #2b9dc6;
}

@media (min-width: 1024px) {
  a.with-arrow {
    font-size: 1.125rem;
  }
}

a.with-arrow::before {
  content: "›";
  margin-right: 0.375rem;
  color: #125078;
  font-size: 1.5rem;
  line-height: 1;
  -webkit-transition-property: background-color, border-color, color, fill, stroke;
  transition-property: background-color, border-color, color, fill, stroke;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}

a.with-arrow:hover::before {
  color: #2b9dc6;
}

.flow-root {
  display: flow-root;
}

.column-gap-5 {
  -webkit-column-gap: 5%;
     -moz-column-gap: 5%;
          column-gap: 5%;
}

.column-gap-10 {
  -webkit-column-gap: 10%;
     -moz-column-gap: 10%;
          column-gap: 10%;
}

.column-gap-15 {
  -webkit-column-gap: 15%;
     -moz-column-gap: 15%;
          column-gap: 15%;
}

.col-2 {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}

.col-3 {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
}

.col-4 {
  -webkit-column-count: 4;
     -moz-column-count: 4;
          column-count: 4;
}

.w-max-content {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.flex-basis-0 {
  -ms-flex-preferred-size: 0%;
      flex-basis: 0%;
}

.flex-basis-auto {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

.underline-yellow {
  text-decoration: underline;
  -webkit-text-decoration-color: #ffdf4c;
          text-decoration-color: #ffdf4c;
}

.underline-orange {
  text-decoration: underline;
  -webkit-text-decoration-color: #eb8c2e;
          text-decoration-color: #eb8c2e;
}

.hover\:underline-yellow:hover {
  text-decoration: underline;
  -webkit-text-decoration-color: #ffdf4c;
          text-decoration-color: #ffdf4c;
}

.hover\:underline-orange:hover {
  text-decoration: underline;
  -webkit-text-decoration-color: #eb8c2e;
          text-decoration-color: #eb8c2e;
}

/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);
  or object-fit and object-position:
  @include object-fit(cover, top);
*/

:root {
  --vh: 1vh;
}

#homepage-header {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
}

#homepage-header::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  z-index: 10;
  background-color: #cb2d2d;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 5000ms;
          transition-duration: 5000ms;
  width: 0.25rem;
  bottom: -1.875rem;
}

#homepage-header.no-red-line::after {
  opacity: 0;
}

#homepage-header .background-picture div, #homepage-header .background-picture picture {
  height: 100%;
}

#homepage-header .background-picture img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  font-family: "object-fit: cover; object-position: top";
}

#homepage-header picture img {
  min-height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  font-family: "object-fit: cover; object-position: top";
}

#homepage-hero-video {
  height: 100vh;
  width: 1000vw;
}

@media (min-aspect-ratio: 16/9) {
  #homepage-hero-video {
    height: 1000vw;
    width: 100vw;
  }
}

#homepage-hero-text-overlay::after {
  content: "";
  left: 50%;
  position: absolute;
  background-color: #cb2d2d;
  top: calc(100% + 2.5rem);
  height: calc(100vh);
  width: 0.25rem;
}

@media (min-width: 640px){
  .sm\:column-gap-5 {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }

  .sm\:column-gap-10 {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }

  .sm\:column-gap-15 {
    -webkit-column-gap: 15%;
       -moz-column-gap: 15%;
            column-gap: 15%;
  }

  .sm\:col-2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }

  .sm\:col-3 {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }

  .sm\:col-4 {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }

  .sm\:w-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .sm\:flex-basis-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
  }

  .sm\:flex-basis-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media (min-width: 768px){
  .md\:column-gap-5 {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }

  .md\:column-gap-10 {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }

  .md\:column-gap-15 {
    -webkit-column-gap: 15%;
       -moz-column-gap: 15%;
            column-gap: 15%;
  }

  .md\:col-2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }

  .md\:col-3 {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }

  .md\:col-4 {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }

  .md\:w-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .md\:flex-basis-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
  }

  .md\:flex-basis-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media (min-width: 1024px){
  .lg\:column-gap-5 {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }

  .lg\:column-gap-10 {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }

  .lg\:column-gap-15 {
    -webkit-column-gap: 15%;
       -moz-column-gap: 15%;
            column-gap: 15%;
  }

  .lg\:col-2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }

  .lg\:col-3 {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }

  .lg\:col-4 {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }

  .lg\:w-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .lg\:flex-basis-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
  }

  .lg\:flex-basis-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media (min-width: 1200px){
  .xl\:column-gap-5 {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }

  .xl\:column-gap-10 {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }

  .xl\:column-gap-15 {
    -webkit-column-gap: 15%;
       -moz-column-gap: 15%;
            column-gap: 15%;
  }

  .xl\:col-2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }

  .xl\:col-3 {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }

  .xl\:col-4 {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }

  .xl\:w-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .xl\:flex-basis-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
  }

  .xl\:flex-basis-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){
  .ie11\:column-gap-5 {
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }

  .ie11\:column-gap-10 {
    -webkit-column-gap: 10%;
       -moz-column-gap: 10%;
            column-gap: 10%;
  }

  .ie11\:column-gap-15 {
    -webkit-column-gap: 15%;
       -moz-column-gap: 15%;
            column-gap: 15%;
  }

  .ie11\:col-2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }

  .ie11\:col-3 {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }

  .ie11\:col-4 {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }

  .ie11\:w-max-content {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .ie11\:flex-basis-0 {
    -ms-flex-preferred-size: 0%;
        flex-basis: 0%;
  }

  .ie11\:flex-basis-auto {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWVwYWdlLWhlYWRlci5jc3MiLCIuLi8uLi8uLi9hc3NldHMvc2Nzcy9pbmNsdWRlcy9fY3VzdG9tLWNsYXNzZXMuc2NzcyIsIjxubyBzb3VyY2U+IiwiLi4vLi4vLi4vYXNzZXRzL3Njc3MvaW5jbHVkZXMvX21peGlucy5zY3NzIiwiaG9tZXBhZ2UtaGVhZGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCOztBQ0FqQjtFQ0FBLG1CQUFBO0VBQUEsV0FBQTtFQUFBLFlBQUE7RUFBQSxXQUFBO0VBQUEsYUFBQTtFQUFBLGlCQUFBO0VBQUEsdUJBQUE7RUFBQSxvQkFBQTtFQUFBLGdCQUFBO0NGR0M7O0FDQ0Q7RUNKQSxVQUFBO0VETUUsb0NBQUE7VUFBQSw0QkFBQTtDREVEOztBQ0NEO0VDVEEsU0FBQTtFRFdFLG9DQUFBO1VBQUEsNEJBQUE7Q0RFRDs7QUNDRDtFQ2RBLFVBQUE7RUFBQSxTQUFBO0VEZ0JFLHlDQUFBO1VBQUEsaUNBQUE7Q0RFRDs7QUNDRDtFQ25CQSxTQUFBO0VEcUJFLG9DQUFBO1VBQUEsNEJBQUE7Q0RFRDs7QUNDRDtFQUNFLGlDQUFBO1VBQUEseUJBQUE7Q0RFRDs7QUNDRDtFQUNFLGtDQUFBO1VBQUEsMEJBQUE7Q0RFRDs7QUNDRDtFQ2hDQSxTQUFBO0VEa0NFLGtEQUFBO1VBQUEsMENBQUE7Q0RFRDs7QUNDRDtFQUNFLDZCQUFBO0NERUQ7O0FDQ0Q7RUFDRSxtQ0FBQTtLQUFBLGdDQUFBO1VBQUEsb0JBQUE7Q0RFRDs7QUNDRDtFQUNFLFlBQUE7Q0RFRDs7QUNDRDtFQUNFLGFBQUE7Q0RFRDs7QUNDRDtFQUNFLGFBQUE7Q0RFRDs7QUNDRDtFQUNFLHlCQUFBO0NERUQ7O0FDQ0Q7RUFDRSxzQkFBQTtDREVEOztBQ0NEO0VDakVBLGdCQUFBO0VBQUEsaUJBQUE7RUFBQSxlQUFBO0VBQUEsaUZBQUE7RUFBQSx5RUFBQTtFQUFBLG1DQUFBO1VBQUEsMkJBQUE7Q0ZvRUM7O0FDQUM7RUNwRUYsZUFBQTtDRnVFQzs7QUNDQztFQVBGO0lDakVBLG9CQUFBO0dGMkVHO0NBQ0Y7O0FDQUM7RUFDRSxhQUFBO0VDN0VKLHVCQUFBO0VBQUEsZUFBQTtFQUFBLGtCQUFBO0VBQUEsZUFBQTtFQUFBLGlGQUFBO0VBQUEseUVBQUE7RUFBQSxtQ0FBQTtVQUFBLDJCQUFBO0NGZ0ZDOztBQ0NDO0VDakZGLGVBQUE7Q0ZtRkM7O0FDR0Q7RUFDRSxtQkFBQTtDREFEOztBQ0lDO0VBQ0UsdUJBQUE7S0FBQSxvQkFBQTtVQUFBLGVBQUE7Q0RBRDs7QUNFRDtFQUNFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtDRENEOztBQ0NEO0VBQ0Usd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0NERUQ7O0FDQUQ7RUFDRSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7Q0RHRDs7QUNERDtFQUNFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtDRElEOztBQ0ZEO0VBQ0Usd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0NES0Q7O0FDSEQ7RUFDRSwyQkFBQTtFQUFBLHdCQUFBO0VBQUEsbUJBQUE7Q0RNRDs7QUNKRDtFQUNFLDRCQUFBO01BQUEsZUFBQTtDRE9EOztBQ0xEO0VBQ0UsOEJBQUE7TUFBQSxpQkFBQTtDRFFEOztBQ0hEO0VDekhGLDJCQUFBO0VEMkhJLHVDQUFBO1VBQUEsK0JBQUE7Q0RPRDs7QUNKRDtFQzlIRiwyQkFBQTtFRGdJSSx1Q0FBQTtVQUFBLCtCQUFBO0NET0Q7O0FDZEQ7RUN6SEYsMkJBQUE7RUQySEksdUNBQUE7VUFBQSwrQkFBQTtDRE9EOztBQ0pEO0VDOUhGLDJCQUFBO0VEZ0lJLHVDQUFBO1VBQUEsK0JBQUE7Q0RPRDs7QUc4Tkg7Ozs7O0VBQUE7O0FDcldBO0VBQ0EsVUFBQTtDSmdKQzs7QUk3SUQ7RUFDQSxjQUFBO0VBQ0EsbUNBQUE7Q0pnSkM7O0FJN0lEO0VIcUNFLFlBQUE7RUM5Q0YsbUJBQUE7RUFBQSxVQUFBO0VBQUEsVUFBQTtFQUFBLFlBQUE7RUFBQSwwQkFBQTtFQUFBLHFDQUFBO0VBQUEsNkJBQUE7RUFBQSxvQ0FBQTtVQUFBLDRCQUFBO0VFV0EsZUFBQTtFQUNBLGtCQUFBO0NKK0lDOztBSTVJRDtFRmZBLFdBQUE7Q0Y4SkM7O0FJMUlEO0VGcEJBLGFBQUE7Q0ZpS0M7O0FJeklEO0VGeEJBLGFBQUE7RUFBQSxZQUFBO0VDNFdFLHFCQ2xWRjtFRG1WSyxrQkNuVkw7RURxVkcsd0JDclZIO0VEc1ZNLHFCQ3RWTjtFRHVWRyx1REFBQTtDSHhNRjs7QUkxSUQ7RUYvQkEsaUJBQUE7RUFBQSxZQUFBO0VDNFdFLHFCQzNVRjtFRDRVSyxrQkM1VUw7RUQ4VUcsd0JDOVVIO0VEK1VNLHFCQy9VTjtFRGdWRyx1REFBQTtDSGhNRjs7QUkzSUQ7RUFDQSxjQUFBO0VBQ0EsY0FBQTtDSjhJQzs7QUk3SUQ7RUFIQTtJQUlBLGVBQUE7SUFDQSxhQUFBO0dKZ0pHO0NBQ0Y7O0FJM0lEO0VISEUsWUFBQTtFQzlDRixVQUFBO0VBQUEsbUJBQUE7RUFBQSwwQkFBQTtFRW1EQSx5QkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtDSjhJQzs7QUVuTUQ7RUQyRkU7SUFDRSx1QkFBQTtPQUFBLG9CQUFBO1lBQUEsZUFBQTtHREFEOztFQ0VEO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dEQ0Q7O0VDQ0Q7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RFRDs7RUNBRDtJQUNFLHdCQUFBO09BQUEscUJBQUE7WUFBQSxnQkFBQTtHREdEOztFQ0REO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dESUQ7O0VDRkQ7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RLRDs7RUNIRDtJQUNFLDJCQUFBO0lBQUEsd0JBQUE7SUFBQSxtQkFBQTtHRE1EOztFQ0pEO0lBQ0UsNEJBQUE7UUFBQSxlQUFBO0dET0Q7O0VDTEQ7SUFDRSw4QkFBQTtRQUFBLGlCQUFBO0dEUUQ7Q0U1SEg7O0FBQUE7RUQyRkU7SUFDRSx1QkFBQTtPQUFBLG9CQUFBO1lBQUEsZUFBQTtHREFEOztFQ0VEO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dEQ0Q7O0VDQ0Q7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RFRDs7RUNBRDtJQUNFLHdCQUFBO09BQUEscUJBQUE7WUFBQSxnQkFBQTtHREdEOztFQ0REO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dESUQ7O0VDRkQ7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RLRDs7RUNIRDtJQUNFLDJCQUFBO0lBQUEsd0JBQUE7SUFBQSxtQkFBQTtHRE1EOztFQ0pEO0lBQ0UsNEJBQUE7UUFBQSxlQUFBO0dET0Q7O0VDTEQ7SUFDRSw4QkFBQTtRQUFBLGlCQUFBO0dEUUQ7Q0U1SEg7O0FBQUE7RUQyRkU7SUFDRSx1QkFBQTtPQUFBLG9CQUFBO1lBQUEsZUFBQTtHREFEOztFQ0VEO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dEQ0Q7O0VDQ0Q7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RFRDs7RUNBRDtJQUNFLHdCQUFBO09BQUEscUJBQUE7WUFBQSxnQkFBQTtHREdEOztFQ0REO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dESUQ7O0VDRkQ7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RLRDs7RUNIRDtJQUNFLDJCQUFBO0lBQUEsd0JBQUE7SUFBQSxtQkFBQTtHRE1EOztFQ0pEO0lBQ0UsNEJBQUE7UUFBQSxlQUFBO0dET0Q7O0VDTEQ7SUFDRSw4QkFBQTtRQUFBLGlCQUFBO0dEUUQ7Q0U1SEg7O0FBQUE7RUQyRkU7SUFDRSx1QkFBQTtPQUFBLG9CQUFBO1lBQUEsZUFBQTtHREFEOztFQ0VEO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dEQ0Q7O0VDQ0Q7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RFRDs7RUNBRDtJQUNFLHdCQUFBO09BQUEscUJBQUE7WUFBQSxnQkFBQTtHREdEOztFQ0REO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dESUQ7O0VDRkQ7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RLRDs7RUNIRDtJQUNFLDJCQUFBO0lBQUEsd0JBQUE7SUFBQSxtQkFBQTtHRE1EOztFQ0pEO0lBQ0UsNEJBQUE7UUFBQSxlQUFBO0dET0Q7O0VDTEQ7SUFDRSw4QkFBQTtRQUFBLGlCQUFBO0dEUUQ7Q0U1SEg7O0FBQUE7RUQyRkU7SUFDRSx1QkFBQTtPQUFBLG9CQUFBO1lBQUEsZUFBQTtHREFEOztFQ0VEO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dEQ0Q7O0VDQ0Q7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RFRDs7RUNBRDtJQUNFLHdCQUFBO09BQUEscUJBQUE7WUFBQSxnQkFBQTtHREdEOztFQ0REO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0dESUQ7O0VDRkQ7SUFDRSx3QkFBQTtPQUFBLHFCQUFBO1lBQUEsZ0JBQUE7R0RLRDs7RUNIRDtJQUNFLDJCQUFBO0lBQUEsd0JBQUE7SUFBQSxtQkFBQTtHRE1EOztFQ0pEO0lBQ0UsNEJBQUE7UUFBQSxlQUFBO0dET0Q7O0VDTEQ7SUFDRSw4QkFBQTtRQUFBLGlCQUFBO0dEUUQ7Q0U1SEgiLCJmaWxlIjoiaG9tZXBhZ2UtaGVhZGVyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi52aXN1YWxseS1oaWRkZW4ge1xuICBAYXBwbHkgc3Itb25seTtcbn1cblxuLnRyYW5zbGF0ZS1jZW50ZXIteCB7XG4gIEBhcHBseSBsZWZ0LWhhbGY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnRyYW5zbGF0ZS1jZW50ZXIteSB7XG4gIEBhcHBseSB0b3AtaGFsZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udHJhbnNsYXRlLWNlbnRlciB7XG4gIEBhcHBseSBsZWZ0LWhhbGYgdG9wLWhhbGY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4udHJhbnNsYXRlLTEwLXkge1xuICBAYXBwbHkgdG9wLWhhbGY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbn1cblxuLnJvdGF0ZS1jbG9ja3dpc2Uge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5yb3RhdGUtY291bnRlcmNsb2Nrd2lzZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbi50cmFuc2xhdGUtY2VudGVyLXktYW5kLXJvdGF0ZS1jbG9ja3dpc2Uge1xuICBAYXBwbHkgdG9wLWhhbGY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xufVxuXG4ucG9pbnRlci1ldmVudHMtYm91bmRpbmcge1xuICBwb2ludGVyLWV2ZW50czogYm91bmRpbmctYm94O1xufVxuXG4uYnJlYWstYXZvaWQge1xuICBicmVhay1pbnNpZGU6IGF2b2lkO1xufVxuXG4ubm8tY29udGVudCB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5jb250ZW50LXBpcGUge1xuICBjb250ZW50OiBcInxcIjtcbn1cblxuLmNvbnRlbnQtY29tbWEge1xuICBjb250ZW50OiBcIixcIjtcbn1cblxuLm1peC1tdWx0aXBseSB7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cblxuLm1peC1jb2xvciB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvcjtcbn1cblxuYS53aXRoLWFycm93IHtcbiAgQGFwcGx5IHRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1ibHVlLTUwMCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0yMDA7XG59XG5hLndpdGgtYXJyb3c6aG92ZXIge1xuICBAYXBwbHkgdGV4dC1ibHVlLTMwMDtcbn1cbkBzY3JlZW4gbGcge1xuICBhLndpdGgtYXJyb3cge1xuICAgIEBhcHBseSB0ZXh0LWxnO1xuICB9XG59XG5hLndpdGgtYXJyb3c6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oC6XCI7XG4gIEBhcHBseSBtci02IHRleHQtYmx1ZS01MDAgdGV4dC0yeGwgbGVhZGluZy1ub25lIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMDtcbn1cbmEud2l0aC1hcnJvdzpob3Zlcjo6YmVmb3JlIHtcbiAgQGFwcGx5IHRleHQtYmx1ZS0zMDA7XG59XG5cbi5mbG93LXJvb3Qge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG59XG5cbkByZXNwb25zaXZlIHtcbiAgLmNvbHVtbi1nYXAtNSB7XG4gICAgY29sdW1uLWdhcDogNSU7XG4gIH1cblxuICAuY29sdW1uLWdhcC0xMCB7XG4gICAgY29sdW1uLWdhcDogMTAlO1xuICB9XG5cbiAgLmNvbHVtbi1nYXAtMTUge1xuICAgIGNvbHVtbi1nYXA6IDE1JTtcbiAgfVxuXG4gIC5jb2wtMiB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG5cbiAgLmNvbC0zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cblxuICAuY29sLTQge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxuXG4gIC53LW1heC1jb250ZW50IHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cblxuICAuZmxleC1iYXNpcy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgfVxuXG4gIC5mbGV4LWJhc2lzLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkB2YXJpYW50cyBob3ZlciB7XG4gIC51bmRlcmxpbmUteWVsbG93IHtcbiAgICBAYXBwbHkgdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdGhlbWUoXCJjb2xvcnMueWVsbG93LmRlZmF1bHRcIik7XG4gIH1cblxuICAudW5kZXJsaW5lLW9yYW5nZSB7XG4gICAgQGFwcGx5IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRoZW1lKFwiY29sb3JzLm9yYW5nZS5kZWZhdWx0XCIpO1xuICB9XG59XG4vKlxuICBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LWZpdDpcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb250YWluKTtcbiAgb3Igb2JqZWN0LWZpdCBhbmQgb2JqZWN0LXBvc2l0aW9uOlxuICBAaW5jbHVkZSBvYmplY3QtZml0KGNvdmVyLCB0b3ApO1xuKi9cbjpyb290IHtcbiAgLS12aDogMXZoO1xufVxuXG4jaG9tZXBhZ2UtaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcbn1cbiNob21lcGFnZS1oZWFkZXI6OmFmdGVyIHtcbiAgQGFwcGx5IG5vLWNvbnRlbnQgYWJzb2x1dGUgbGVmdC1oYWxmIHRvcC1mdWxsIHotMTAgYmctcmVkIHRyYW5zaXRpb24tb3BhY2l0eSBkdXJhdGlvbi01MDAwO1xuICB3aWR0aDogMC4yNXJlbTtcbiAgYm90dG9tOiAtMS44NzVyZW07XG59XG4jaG9tZXBhZ2UtaGVhZGVyLm5vLXJlZC1saW5lOjphZnRlciB7XG4gIEBhcHBseSBvcGFjaXR5LTA7XG59XG4jaG9tZXBhZ2UtaGVhZGVyIC5iYWNrZ3JvdW5kLXBpY3R1cmUgZGl2LCAjaG9tZXBhZ2UtaGVhZGVyIC5iYWNrZ3JvdW5kLXBpY3R1cmUgcGljdHVyZSB7XG4gIEBhcHBseSBoLWZ1bGw7XG59XG4jaG9tZXBhZ2UtaGVhZGVyIC5iYWNrZ3JvdW5kLXBpY3R1cmUgaW1nIHtcbiAgQGFwcGx5IGgtZnVsbCB3LWZ1bGw7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLW8tb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3BcIjtcbn1cbiNob21lcGFnZS1oZWFkZXIgcGljdHVyZSBpbWcge1xuICBAYXBwbHkgbWluLWgtZnVsbCB3LWZ1bGw7XG4gIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLW8tb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3BcIjtcbn1cblxuI2hvbWVwYWdlLWhlcm8tdmlkZW8ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwMHZ3O1xufVxuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gICNob21lcGFnZS1oZXJvLXZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMDB2dztcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuI2hvbWVwYWdlLWhlcm8tdGV4dC1vdmVybGF5OjphZnRlciB7XG4gIEBhcHBseSBuby1jb250ZW50IGxlZnQtaGFsZiBhYnNvbHV0ZSBiZy1yZWQ7XG4gIHRvcDogY2FsYygxMDAlICsgMi41cmVtKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoKTtcbiAgd2lkdGg6IDAuMjVyZW07XG59IiwiLnZpc3VhbGx5LWhpZGRlbiB7XG4gIEBhcHBseSBzci1vbmx5O1xufVxuXG4udHJhbnNsYXRlLWNlbnRlci14IHtcbiAgQGFwcGx5IGxlZnQtaGFsZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udHJhbnNsYXRlLWNlbnRlci15IHtcbiAgQGFwcGx5IHRvcC1oYWxmO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi50cmFuc2xhdGUtY2VudGVyIHtcbiAgQGFwcGx5IGxlZnQtaGFsZiB0b3AtaGFsZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi50cmFuc2xhdGUtMTAteSB7XG4gIEBhcHBseSB0b3AtaGFsZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO1xufVxuXG4ucm90YXRlLWNsb2Nrd2lzZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnJvdGF0ZS1jb3VudGVyY2xvY2t3aXNlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLnRyYW5zbGF0ZS1jZW50ZXIteS1hbmQtcm90YXRlLWNsb2Nrd2lzZSB7XG4gIEBhcHBseSB0b3AtaGFsZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5wb2ludGVyLWV2ZW50cy1ib3VuZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBib3VuZGluZy1ib3g7XG59XG5cbi5icmVhay1hdm9pZCB7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbi5uby1jb250ZW50IHtcbiAgY29udGVudDogJyc7XG59XG5cbi5jb250ZW50LXBpcGUge1xuICBjb250ZW50OiAnfCc7XG59XG5cbi5jb250ZW50LWNvbW1hIHtcbiAgY29udGVudDogJywnO1xufVxuXG4ubWl4LW11bHRpcGx5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuXG4ubWl4LWNvbG9yIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yO1xufVxuXG5hLndpdGgtYXJyb3cge1xuICBAYXBwbHkgdGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LWJsdWUtNTAwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMDtcblxuICAmOmhvdmVyIHtcbiAgICBAYXBwbHkgdGV4dC1ibHVlLTMwMDtcbiAgfVxuXG4gIEBzY3JlZW4gbGcge1xuICAgIEBhcHBseSB0ZXh0LWxnO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAzYVwiO1xuICAgIEBhcHBseSBtci02IHRleHQtYmx1ZS01MDAgdGV4dC0yeGwgbGVhZGluZy1ub25lIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTIwMDtcbiAgfVxuXG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgQGFwcGx5IHRleHQtYmx1ZS0zMDA7XG4gIH1cbn1cblxuLmZsb3ctcm9vdCB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbn1cblxuQHJlc3BvbnNpdmUge1xuICAuY29sdW1uLWdhcC01IHtcbiAgICBjb2x1bW4tZ2FwOiA1JTtcbiAgfVxuICAuY29sdW1uLWdhcC0xMCB7XG4gICAgY29sdW1uLWdhcDogMTAlO1xuICB9XG4gIC5jb2x1bW4tZ2FwLTE1IHtcbiAgICBjb2x1bW4tZ2FwOiAxNSU7XG4gIH1cbiAgLmNvbC0yIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLmNvbC0zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLmNvbC00IHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLnctbWF4LWNvbnRlbnQge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgfVxuICAuZmxleC1iYXNpcy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgfVxuICAuZmxleC1iYXNpcy1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbkB2YXJpYW50cyBob3ZlciB7XG4gIC51bmRlcmxpbmUteWVsbG93IHtcbiAgICBAYXBwbHkgdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdGhlbWUoJ2NvbG9ycy55ZWxsb3cuZGVmYXVsdCcpO1xuICB9XG5cbiAgLnVuZGVybGluZS1vcmFuZ2Uge1xuICAgIEBhcHBseSB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0aGVtZSgnY29sb3JzLm9yYW5nZS5kZWZhdWx0Jyk7XG4gIH1cbn1cbiIsbnVsbCwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gY3NzIHV0aWxpdGllc1xuXG4vLyBnZW5lcmF0ZSB0aGUgaW1hZ2UgdXJsIGJ5IHByZWZpeGluZyB0aGUgbGF5b3V0IGltYWdlIHBhdGhcbkBmdW5jdGlvbiBpbWFnZS11cmwoJHVybCkge1xuICBAcmV0dXJuIHVybCgnI3skaW1hZ2UtdXJsLXBhdGh9I3skdXJsfScpO1xufVxuXG4vLyBQcm9wZXIgYmFja2dyb3VuZCBpbWFnZSB1cmwgc3ludGF4LiBSZWxpZXMgb24gcG9zdGNzcyB0byBmaXggU1ZHIGVuY29kaW5nLlxuQGZ1bmN0aW9uIHN2Zy11cmwoJHN2Zykge1xuICBAcmV0dXJuIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJyArICRzdmcpO1xufVxuXG4vLyBCRU0gaGVscGVyc1xuLy8gZm9yIGJsb2NrLS1tb2RpZmllclxuQG1peGluIG1vZGlmaWVyKCRzZWxlY3RvciwgJGZvcmNlX292ZXJyaWRlOiBmYWxzZSkge1xuICBAaWYgKCRmb3JjZV9vdmVycmlkZSkge1xuICAgICYjeyZ9LS0jeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCAjeyZ9LS0jeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBmb3IgYmxvY2tfX2VsZW1lbnRcbkBtaXhpbiBlbGVtZW50KCRzZWxlY3Rvcikge1xuICBAYXQtcm9vdCAjeyZ9X18jeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGNvbW1vbiBwYXR0ZXJuIHV0aWxpdGllc1xuXG4vLyBTdHJpcCBkZWNvcmF0aW9ucyBmcm9tIHVub3JkZXJlZCwgb3JkZXJlZCBsaXN0c1xuQG1peGluIGNsZWFuLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgJiA+IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWluZGVudDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gaGlkZSBhbiBpdGVtIHZpc3VhbGx5IGJ1dCBzaG93IGZvciBzY3JlZW5yZWFkZXJzXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7IFxuICBoZWlnaHQ6IDFweDsgd2lkdGg6IDFweDsgXG4gIG1hcmdpbjogLTFweDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBcbn1cblxuLy8gY2xlYXJmaXggaW4gY2FzZSBpdCdzIDIwMTJcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbi8vIHN0YWNrIHBhdHRlcm5zIGNvbnNpc3RlbnRseVxuQG1peGluIHBhdHRlcm4tc3RhY2stbWFyZ2luKCRtYXJnaW46IGNvbXBvbmVudC1zcGFjaW5nKG0pKSB7XG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcbiAgfVxufVxuXG4vLyB2ZXJ0aWNhbGx5IGNlbnRlciBpdGVtcyBpbiBhIGNvbnRhaW5lclxuQG1peGluIHZlcnRpY2FsbHktY2VudGVyLWNvbnRlbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgJi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gc3RyZXRjaCBhbiBpdGVtIHRvIGZpbGwgMTAwJSBvZiBpdHMgY29udGFpbmVyXG5AbWl4aW4gYWJzb2x1dGUtc3RyZXRjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGhlbHBlcnMgZm9yIHNwZWNpZmljIHBhdHRlcm5zXG5cbi8vIGZpZWxkc2V0IGhhbmRsaW5nIGZvciBjaGVja2JveCBhbmQgcmFkaW8gZ3JvdXBzXG5AbWl4aW4gZmllbGRncm91cCB7XG5cbiAgLy8gcHJldHR5IGhpZ2hsaWdodGluZyB3aGVuIHRoZSBmaWVsZCBpcyBtYXJrZWQgZXJyb3Igb3IgdmFsaWRcbiAgYm9yZGVyOiAxcHggdHJhbnNwYXJlbnQgc29saWQ7XG4gIFxuICBsZWdlbmQge1xuICB9XG4gIHVsIHtcbiAgICBAaW5jbHVkZSBjbGVhbi1saXN0O1xuICB9XG4gIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gZmFrZSBmYW5jeSB1bmRlcmxpbmUgZm9yIGxpbmtzOiBtZWNoYW5pY3Ncbi8vIGNhbGwgdGhpcyBvdXRzaWRlIHRoZSBzY2hlbWUsXG4vLyBzbyB0aGUgc2V0dGluZ3MgY2FuIGJlIG92ZXJ3cml0dGVuIGJ5IHBhcmVudCBwYXR0ZXJuc1xuQG1peGluIGZhdXgtdW5kZXJsaW5lLW1lY2hhbmljcygkdW5kZXJsaW5lLWhlaWdodDogNDAlKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlLCAwIDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAkdW5kZXJsaW5lLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tZWFzaW5nLCBjb2xvciAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLWVhc2luZztcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIC8vIGxlYXZlIHRoZSBcInVuZGVybGluZVwiIGluIHBsYWNlLCBzY2FsZSB1cCB0aGUgaGlnaGxpZ2h0XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDAlLCAxMDAlIDEwMCU7XG4gIH1cbn1cbi8vIGZha2UgZmFuY3kgdW5kZXJsaW5lIGZvciBsaW5rczogaW1hZ2UvY29sb3Igb25seVxuLy8gY2FsbCB0aGlzIGluc2lkZSB0aGUgc2NoZW1lIGxvb3AuXG4vLyB0byB1bnNldC9yZW1vdmUsIHBhc3MgJHVuZGVybGluZS1jb2xvcjogdHJhbnNwYXJlbnRcbi8vIHdoZW4gdW5zZXR0aW5nLCB5b3UgbWF5IHdhbnQgdG8gcGFzcyAkaW5kaWNhdGUtYWN0aW9uOiB0cnVlLFxuLy8gaWYgdGhlIG90aGVyIHN0eWxlcyBvbiB0aGUgbGluayB5b3UncmUgdW5zZXR0aW5nIGRvbid0IGluZGljYXRlIGhvdmVyL2FjdGl2ZS9mb2N1c1xuQG1peGluIGZhdXgtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3I6IGNvbG9yKHVuZGVmaW5lZCksICR1bmRlcmxpbmUtaG92ZXItY29sb3I6IHRyYW5zcGFyZW50LCAkaW5kaWNhdGUtYWN0aW9uOiBmYWxzZSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgIGxpbmVhci1ncmFkaWVudCgkdW5kZXJsaW5lLWNvbG9yIDAlLCAkdW5kZXJsaW5lLWNvbG9yIDEwMCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgkdW5kZXJsaW5lLWhvdmVyLWNvbG9yIDAlLCAkdW5kZXJsaW5lLWhvdmVyLWNvbG9yIDEwMCUpO1xuICBAaWYgJGluZGljYXRlLWFjdGlvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdHJpcCBvZmYgYnJvd3NlciBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nIGZvciBmdW5jdGlvbmFsIGJ1dHRvbnNcbi8vIHRoYXQgZG9uJ3QgbG9vayBsaWtlIFwiYnV0dG9uc1wiXG5AbWl4aW4gYmFyZS1idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIEBhcHBseSBmb250LW11bGk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBmbG9hdCBhbmQgYnJlYWtvdXQgZmxvYXQgdXRpbGl0aWVzXG5cbi8vIGNhbGN1bGF0ZSB0aGUgd2lkdGggb2YgYSBmbG9hdGluZyBpdGVtXG4vLyB0aGlzIGNvdWxkIGJlIHJld3JpdHRlbiB0byBiZSBtb3JlIGZyaWVuZGx5IC0gdGhlIGNhc2VzIGFyZSBmcmFnaWxlXG5AZnVuY3Rpb24gZmxvYXQtd2lkdGgoJGZsb2F0LWNvbnN0cmFpbnQsICRndXR0ZXIsICRtYXgsICRjb250YWluZXIpIHtcbiAgQGlmICRtYXggYW5kICRjb250YWluZXIge1xuICAgIEByZXR1cm4gY2FsYygoI3skZmxvYXQtY29uc3RyYWludH0gLSAjeyRndXR0ZXJ9KSArICgoI3skbWF4fSAtICN7JGNvbnRhaW5lcn0pLzQpKTsgICBcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBjYWxjKCN7JGZsb2F0LWNvbnN0cmFpbnQgLSAjeyRndXR0ZXJ9fSk7XG4gIH1cbn1cblxuLy8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgbWFyZ2luIG9mIGEgZmxvYXQgaXRlbVxuLy8gd2hlbiBpdCdzIGFsbG93ZWQgdG8gYnJlYWsgb3V0IG9mIGl0cyBjb250YWluZXJcbkBmdW5jdGlvbiBmbG9hdC1icmVha291dC1tYXJnaW4oJGd1dHRlciwgJG1heCwgJGNvbnRhaW5lcikge1xuICBAaWYgJG1heCB7XG4gICAgQHJldHVybiBjYWxjKCgoI3stJG1heH0gLSAjey0kY29udGFpbmVyfSkvNCkgLSAjeyRndXR0ZXJ9KTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBjYWxjKCgjey0kY29udGFpbmVyfS80KSAtICN7JGd1dHRlcn0pO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIC5ncmlkIHV0aWxpdGllc1xuXG4vLyBjYWxjdWxhdGUgZ3JpZC1nYXAgZm9yIC5ncmlkIHdoZW4gdXNpbmcgZmxleGJveCBmYWxsYmFja1xuQGZ1bmN0aW9uIGdyaWQtZ2FwLWZhbGxiYWNrKCRnYXApIHtcbiAgQHJldHVybiAkZ2FwLzI7XG59XG5cbi8vIGNhbGN1bGF0ZSBncmlkIGNlbGwgc2l6ZSBmb3IgLmdyaWQgd2hlbiB1c2luZyBmbGV4Ym94IGZhbGxiYWNrXG4vLyAkY2VsbDogaW50ZWdlciBmb3IgbnVtYmVyIG9mIGNvbHVtbnMgKGZvciBldmVuIGNvbHMpIFxuLy8gICAgICAgIE9SIHBlcmNlbnRhZ2UgZm9yIGNlbGwgc2l6ZSAoZm9yIHVuZXZlbiBjb2xzKVxuLy8gJGdhcDogZ3JpZC1nYXAgZm9yIHRoZSBncmlkXG5AZnVuY3Rpb24gZ3JpZC1jZWxsLWZhbGxiYWNrKCRjZWxsLCAkZ2FwKSB7XG4gICRjZWxsLXNpemU6IDA7XG4gIEBpZiBpcy1sZW5ndGgoJGNlbGwpIG9yIGlzLXBlcmNlbnRhZ2UoJGNlbGwpIHtcbiAgICAkY2VsbC1zaXplOiAkY2VsbDtcbiAgfSBAZWxzZSB7XG4gICAgJGNlbGwtc2l6ZTogcGVyY2VudGFnZSgxLyRjZWxsKTtcbiAgfVxuICBAcmV0dXJuIGNhbGMoI3skY2VsbC1zaXplfSAtICN7Z3JpZC1nYXAtZmFsbGJhY2soJGdhcCkqMn0pO1xufVxuXG4vLyBjYWxjdWxhdGUgdGhlIHNtYWxsZXIvbWlub3IgY2VsbCBzaXplIGZvciB1bmV2ZW4gZ3JpZHNcbi8vICRjZWxsOiB0aGUgbGFyZ2VyL21ham9yIGNlbGwgc2l6ZVxuQGZ1bmN0aW9uIHVuZXZlbi1ncmlkLXJlbWFpbmRlcigkY2VsbCkge1xuICBAcmV0dXJuIDEwMCAtICRjZWxsO1xufVxuXG4vLyBnZW5lcmF0ZSBmYWtlIGdyaWQtZ2FwL2dyaWQgZ3V0dGVycyBmcm9tIG1hcmdpbnNcbi8vIGZvciAuZ3JpZCB3aGVuIHVzaW5nIGZsZXhib3ggZmFsbGJhY2tcbkBtaXhpbiBncmlkLWd1dHRlci1mYWxsYmFjaygkZ2FwLCAkZ3JpZC1ib3R0b20tbWFyZ2luOiBjb21wb25lbnQtc3BhY2luZyhtKSkge1xuICBtYXJnaW46IC0oZ3JpZC1nYXAtZmFsbGJhY2soJGdhcCkpIHtcbiAgICBib3R0b206ICRncmlkLWJvdHRvbS1tYXJnaW47XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtKGdyaWQtZ2FwLWZhbGxiYWNrKCRnYXApKTtcbiAgfVxuICA+ICoge1xuICAgIG1hcmdpbjogZ3JpZC1nYXAtZmFsbGJhY2soJGdhcCk7XG4gIH1cbiAgLy8gdW5zZXQgdGhlc2UgbWFyZ2luIHR3ZWFrcyBpZiBncmlkcyBhcmUgc3VwcG9ydGVkLFxuICAvLyBzaW5jZSBncmlkLWdhcCBoYW5kbGVzIGFsbCB0aGF0IGxheW91dFxuICBAc3VwcG9ydHMoZGlzcGxheTogZ3JpZCkge1xuICAgIG1hcmdpbjoge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICA+ICoge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIHNjYWxlIGEgZml4ZWQgZ3JpZCB2YXJpYW50XG4vLyBhc3N1bWVzIGJhc2ljIGdyaWQgZGVmYXVsdHMgYXJlIGRlZmluZWRcbkBtaXhpbiBmaXhlZC1ncmlkKCRjb2x1bW5zLCAkZ2FwKSB7XG4gID4gKiB7XG4gICAgZmxleC1iYXNpczogZ3JpZC1jZWxsLWZhbGxiYWNrKCRjb2x1bW5zLCAkZ2FwKTtcbiAgfVxuICBAc3VwcG9ydHMoZGlzcGxheTogZ3JpZCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCAxZnIpO1xuICB9XG59XG5cbi8vIHNjYWxlIGEgZmxleGlibGUgZ3JpZCB2YXJpYW50XG4vLyBhc3N1bWVzIGJhc2ljIGdyaWQgZGVmYXVsdHMgYXJlIGRlZmluZWRcbkBtaXhpbiBmbGV4aWJsZS1ncmlkKCRjZWxsLW1pbikge1xuICAvLyBmbGV4Ym94IGZhbGxiYWNrIGZpcnN0XG4gID4gKiB7XG4gICAgZmxleC1iYXNpczogJGNlbGwtbWluO1xuICAgIG1pbi13aWR0aDogJGNlbGwtbWluO1xuICB9XG4gIEBzdXBwb3J0cyhkaXNwbGF5OiBncmlkKSB7XG4gICAgLy8gYnVpbGQgZ3JpZFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoJGNlbGwtbWluLCAxZnIpKTtcbiAgICA+ICoge1xuICAgICAgLy8gb3ZlcnJpZGUgZmFsbGJhY2tcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gcnVsZWQgZ3JpZCBoZWxwZXJzXG5AbWl4aW4gcnVsZWQtZ3JpZC1saW5lKCR0aGlja25lc3M6ICRhY2NlbnQtbGluZS10aGlja25lc3MsICRnYXA6ICRncmlkLWdhcCwgJGhvcml6b250YWw6IHRydWUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAkaG9yaXpvbnRhbCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAtKCgkZ2FwLzIpICsgJHRoaWNrbmVzcyk7XG4gICAgaGVpZ2h0OiAkdGhpY2tuZXNzO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0oKCRnYXAvMikgKyAkdGhpY2tuZXNzKTtcbiAgICB3aWR0aDogJHRoaWNrbmVzcztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gb3JuYW1lbnRhbCBcblxuLy8gdHJhaWxpbmcgc2xhc2ggYWZ0ZXIgYnJlYWRjcnVtYiBpdGVtcywgbWV0YSwgdGF4b25vbWllcywgZXRjXG5AbWl4aW4gc2xhc2gtYWZ0ZXIoJHNwYWNpbmc6IGNvbXBvbmVudC1zcGFjaW5nKDJ4cyksICRpbmxpbmU6IGZhbHNlKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLyc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nO1xuICAgIEBpZiAkaW5saW5lIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygjeyRzcGFjaW5nfSAtIDNweCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gdHJhaWxpbmcgcGlwZSBhZnRlciB0ZXJtcywgbWV0YSwgdGF4b25vbWllcywgZXRjXG5AbWl4aW4gcGlwZS1hZnRlcigkc3BhY2luZzogY29tcG9uZW50LXNwYWNpbmcoMnhzKSwgJGlubGluZTogZmFsc2UpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGFjY2VudC1saW5lLXRoaWNrbmVzcyoyO1xuICAgIGhlaWdodDogMS4xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICBAaWYgJGlubGluZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoI3skc3BhY2luZ30gLSAzcHgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZztcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZHJ1cGFsbHkgdGhpbmdzIFxuXG4vLyBBIGhhY2sgZm9yIERydXBhbCBjb250ZXh0dWFsIHJlZ2lvbnNcbkBtaXhpbiBzdGF0aWMtY29udGV4dHVhbCB7XG4gIC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAuY29udGV4dHVhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4vLyBjbGVhbiB1cCBEcnVwYWwgY29udGV4dCBtZW51IGludGVyZmVyZW5jZVxuQG1peGluIHN1cHByZXNzLWNvbnRleHR1YWwtcmVnaW9ucyB7XG4gIC5jb250ZXh0dWFsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLypcbiAgVGhpcyBtaXhpbiBjYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1maXQ6XG4gIEBpbmNsdWRlIG9iamVjdC1maXQoY29udGFpbik7XG4gIG9yIG9iamVjdC1maXQgYW5kIG9iamVjdC1wb3NpdGlvbjpcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgdG9wKTtcbiovXG5AbWl4aW4gb2JqZWN0LWZpdCgkZml0OiBmaWxsLCAkcG9zaXRpb246IG51bGwpe1xuICAtby1vYmplY3QtZml0OiAkZml0O1xuICAgICBvYmplY3QtZml0OiAkZml0O1xuICBAaWYgJHBvc2l0aW9uIHtcblx0ICAtby1vYmplY3QtcG9zaXRpb246ICRwb3NpdGlvbjtcblx0ICAgICBvYmplY3QtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgXHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JGZpdH07IG9iamVjdC1wb3NpdGlvbjogI3skcG9zaXRpb259JztcbiAgfSBAZWxzZSB7XG4gIFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyRmaXR9JztcbiAgfVxufSIsIjpyb290IHtcbiAgLS12aDogMXZoO1xufVxuXG4jaG9tZXBhZ2UtaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwKTtcblxuICAvLyBwYXJ0IG9mIHJlZCB2ZXJ0aWNhbCBsaW5lIHRoYXQgc3RpY2tzIG91dCBiZXlvbmQgaGVhZGVyXG4gICY6OmFmdGVyIHtcbiAgICBAYXBwbHkgbm8tY29udGVudCBhYnNvbHV0ZSBsZWZ0LWhhbGYgdG9wLWZ1bGwgei0xMCBiZy1yZWQgdHJhbnNpdGlvbi1vcGFjaXR5IGR1cmF0aW9uLTUwMDA7XG4gICAgd2lkdGg6IHJlbSg0cHgpO1xuICAgIGJvdHRvbTogcmVtKC0zMHB4KTtcbiAgfVxuXG4gICYubm8tcmVkLWxpbmU6OmFmdGVyIHtcbiAgICBAYXBwbHkgb3BhY2l0eS0wO1xuICB9XG5cbiAgLmJhY2tncm91bmQtcGljdHVyZSB7XG4gICAgZGl2LCBwaWN0dXJlIHtcbiAgICAgIEBhcHBseSBoLWZ1bGw7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIEBhcHBseSBoLWZ1bGwgdy1mdWxsO1xuICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgdG9wKTtcbiAgICB9XG4gIH1cblxuICBwaWN0dXJlIHtcbiAgICBpbWcge1xuICAgICAgQGFwcGx5IG1pbi1oLWZ1bGwgdy1mdWxsO1xuICAgICAgQGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgdG9wKTtcbiAgICB9XG4gIH1cbn1cblxuI2hvbWVwYWdlLWhlcm8tdmlkZW8ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwMHZ3O1xuICBAbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgICBoZWlnaHQ6IDEwMDB2dztcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbn1cblxuI2hvbWVwYWdlLWhlcm8tdGV4dC1vdmVybGF5IHtcbiAgLy8gcGFydCBvZiByZWQgdmVydGljYWwgbGluZSB3aXRoaW4gaGVhZGVyICh1bmRlciB0ZXh0KVxuICAmOjphZnRlciB7XG4gICAgQGFwcGx5IG5vLWNvbnRlbnQgbGVmdC1oYWxmIGFic29sdXRlIGJnLXJlZDtcbiAgICB0b3A6IGNhbGMoMTAwJSArICN7cmVtKDQwcHgpfSk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoKTtcbiAgICB3aWR0aDogcmVtKDRweCk7XG4gIH1cbn1cbiJdfQ== */
