/**
 * Strips the unit from a given number-unit-combination and returns the number. 
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
 * Simply adds the em unit to a given number. This is used twice in the
 * function underneath, thus the need for a separate function.
 */
/**
 * Calculates em values for a given list of (px or em) values and a given em
 * base. Multiply base values for nested em structures (last @usage example).
 * @usage: em(10px, 1.125) => .55556em
 *         em(24px, .875em) => 1.71429em
 *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
 *         em(12px) + em(3em) => 3.75em
 *         em(23px, em(53px)) => .43396em
 *         em(24px, 1.5 * 1.125) => .88889em
 */
@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); /* Start at the original position */
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); /* Move fully to the left */
  }
}
@keyframes marquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); /* Start at the original position */
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); /* Move fully to the left */
  }
}
.mobile-has-xs-margin-size {
  margin: 0.25rem;
}

.mobile-has-xs-margin-top-size {
  margin-top: 0.25rem;
}

.mobile-has-xs-margin-right-size {
  margin-right: 0.25rem;
}

.mobile-has-xs-margin-bottom-size {
  margin-bottom: 0.25rem;
}

.mobile-has-xs-margin-left-size {
  margin-left: 0.25rem;
}

.mobile-has-xs-padding-size {
  padding: 0.25rem;
}

.mobile-has-xs-padding-top-size {
  padding-top: 0.25rem;
}

.mobile-has-xs-padding-right-size {
  padding-right: 0.25rem;
}

.mobile-has-xs-padding-bottom-size {
  padding-bottom: 0.25rem;
}

.mobile-has-xs-padding-left-size {
  padding-left: 0.25rem;
}

.mobile-has-xs-gap-size {
  gap: 0.25rem;
}

.mobile-has-s-margin-size {
  margin: 0.5rem;
}

.mobile-has-s-margin-top-size {
  margin-top: 0.5rem;
}

.mobile-has-s-margin-right-size {
  margin-right: 0.5rem;
}

.mobile-has-s-margin-bottom-size {
  margin-bottom: 0.5rem;
}

.mobile-has-s-margin-left-size {
  margin-left: 0.5rem;
}

.mobile-has-s-padding-size {
  padding: 0.5rem;
}

.mobile-has-s-padding-top-size {
  padding-top: 0.5rem;
}

.mobile-has-s-padding-right-size {
  padding-right: 0.5rem;
}

.mobile-has-s-padding-bottom-size {
  padding-bottom: 0.5rem;
}

.mobile-has-s-padding-left-size {
  padding-left: 0.5rem;
}

.mobile-has-s-gap-size {
  gap: 0.5rem;
}

.mobile-has-d-margin-size {
  margin: 0.75rem;
}

.mobile-has-d-margin-top-size {
  margin-top: 0.75rem;
}

.mobile-has-d-margin-right-size {
  margin-right: 0.75rem;
}

.mobile-has-d-margin-bottom-size {
  margin-bottom: 0.75rem;
}

.mobile-has-d-margin-left-size {
  margin-left: 0.75rem;
}

.mobile-has-d-padding-size {
  padding: 0.75rem;
}

.mobile-has-d-padding-top-size {
  padding-top: 0.75rem;
}

.mobile-has-d-padding-right-size {
  padding-right: 0.75rem;
}

.mobile-has-d-padding-bottom-size {
  padding-bottom: 0.75rem;
}

.mobile-has-d-padding-left-size {
  padding-left: 0.75rem;
}

.mobile-has-d-gap-size {
  gap: 0.75rem;
}

.mobile-has-m-margin-size {
  margin: 1rem;
}

.mobile-has-m-margin-top-size {
  margin-top: 1rem;
}

.mobile-has-m-margin-right-size {
  margin-right: 1rem;
}

.mobile-has-m-margin-bottom-size {
  margin-bottom: 1rem;
}

.mobile-has-m-margin-left-size {
  margin-left: 1rem;
}

.mobile-has-m-padding-size {
  padding: 1rem;
}

.mobile-has-m-padding-top-size {
  padding-top: 1rem;
}

.mobile-has-m-padding-right-size {
  padding-right: 1rem;
}

.mobile-has-m-padding-bottom-size {
  padding-bottom: 1rem;
}

.mobile-has-m-padding-left-size {
  padding-left: 1rem;
}

.mobile-has-m-gap-size {
  gap: 1rem;
}

.mobile-has-l-margin-size {
  margin: 1.25rem;
}

.mobile-has-l-margin-top-size {
  margin-top: 1.25rem;
}

.mobile-has-l-margin-right-size {
  margin-right: 1.25rem;
}

.mobile-has-l-margin-bottom-size {
  margin-bottom: 1.25rem;
}

.mobile-has-l-margin-left-size {
  margin-left: 1.25rem;
}

.mobile-has-l-padding-size {
  padding: 1.25rem;
}

.mobile-has-l-padding-top-size {
  padding-top: 1.25rem;
}

.mobile-has-l-padding-right-size {
  padding-right: 1.25rem;
}

.mobile-has-l-padding-bottom-size {
  padding-bottom: 1.25rem;
}

.mobile-has-l-padding-left-size {
  padding-left: 1.25rem;
}

.mobile-has-l-gap-size {
  gap: 1.25rem;
}

.mobile-has-xl-margin-size {
  margin: 1.5rem;
}

.mobile-has-xl-margin-top-size {
  margin-top: 1.5rem;
}

.mobile-has-xl-margin-right-size {
  margin-right: 1.5rem;
}

.mobile-has-xl-margin-bottom-size {
  margin-bottom: 1.5rem;
}

.mobile-has-xl-margin-left-size {
  margin-left: 1.5rem;
}

.mobile-has-xl-padding-size {
  padding: 1.5rem;
}

.mobile-has-xl-padding-top-size {
  padding-top: 1.5rem;
}

.mobile-has-xl-padding-right-size {
  padding-right: 1.5rem;
}

.mobile-has-xl-padding-bottom-size {
  padding-bottom: 1.5rem;
}

.mobile-has-xl-padding-left-size {
  padding-left: 1.5rem;
}

.mobile-has-xl-gap-size {
  gap: 1.5rem;
}

.mobile-has-xxl-margin-size {
  margin: 1.75rem;
}

.mobile-has-xxl-margin-top-size {
  margin-top: 1.75rem;
}

.mobile-has-xxl-margin-right-size {
  margin-right: 1.75rem;
}

.mobile-has-xxl-margin-bottom-size {
  margin-bottom: 1.75rem;
}

.mobile-has-xxl-margin-left-size {
  margin-left: 1.75rem;
}

.mobile-has-xxl-padding-size {
  padding: 1.75rem;
}

.mobile-has-xxl-padding-top-size {
  padding-top: 1.75rem;
}

.mobile-has-xxl-padding-right-size {
  padding-right: 1.75rem;
}

.mobile-has-xxl-padding-bottom-size {
  padding-bottom: 1.75rem;
}

.mobile-has-xxl-padding-left-size {
  padding-left: 1.75rem;
}

.mobile-has-xxl-gap-size {
  gap: 1.75rem;
}

.mobile-has-xxxl-margin-size {
  margin: 2rem;
}

.mobile-has-xxxl-margin-top-size {
  margin-top: 2rem;
}

.mobile-has-xxxl-margin-right-size {
  margin-right: 2rem;
}

.mobile-has-xxxl-margin-bottom-size {
  margin-bottom: 2rem;
}

.mobile-has-xxxl-margin-left-size {
  margin-left: 2rem;
}

.mobile-has-xxxl-padding-size {
  padding: 2rem;
}

.mobile-has-xxxl-padding-top-size {
  padding-top: 2rem;
}

.mobile-has-xxxl-padding-right-size {
  padding-right: 2rem;
}

.mobile-has-xxxl-padding-bottom-size {
  padding-bottom: 2rem;
}

.mobile-has-xxxl-padding-left-size {
  padding-left: 2rem;
}

.mobile-has-xxxl-gap-size {
  gap: 2rem;
}

@media (min-width: 768px) {
  .tablet-has-xs-margin-size {
    margin: 0.375rem;
  }
  .tablet-has-xs-margin-top-size {
    margin-top: 0.375rem;
  }
  .tablet-has-xs-margin-right-size {
    margin-right: 0.375rem;
  }
  .tablet-has-xs-margin-bottom-size {
    margin-bottom: 0.375rem;
  }
  .tablet-has-xs-margin-left-size {
    margin-left: 0.375rem;
  }
  .tablet-has-xs-padding-size {
    padding: 0.375rem;
  }
  .tablet-has-xs-padding-top-size {
    padding-top: 0.375rem;
  }
  .tablet-has-xs-padding-right-size {
    padding-right: 0.375rem;
  }
  .tablet-has-xs-padding-bottom-size {
    padding-bottom: 0.375rem;
  }
  .tablet-has-xs-padding-left-size {
    padding-left: 0.375rem;
  }
  .tablet-has-xs-gap-size {
    gap: 0.375rem;
  }
  .tablet-has-s-margin-size {
    margin: 0.625rem;
  }
  .tablet-has-s-margin-top-size {
    margin-top: 0.625rem;
  }
  .tablet-has-s-margin-right-size {
    margin-right: 0.625rem;
  }
  .tablet-has-s-margin-bottom-size {
    margin-bottom: 0.625rem;
  }
  .tablet-has-s-margin-left-size {
    margin-left: 0.625rem;
  }
  .tablet-has-s-padding-size {
    padding: 0.625rem;
  }
  .tablet-has-s-padding-top-size {
    padding-top: 0.625rem;
  }
  .tablet-has-s-padding-right-size {
    padding-right: 0.625rem;
  }
  .tablet-has-s-padding-bottom-size {
    padding-bottom: 0.625rem;
  }
  .tablet-has-s-padding-left-size {
    padding-left: 0.625rem;
  }
  .tablet-has-s-gap-size {
    gap: 0.625rem;
  }
  .tablet-has-d-margin-size {
    margin: 1rem;
  }
  .tablet-has-d-margin-top-size {
    margin-top: 1rem;
  }
  .tablet-has-d-margin-right-size {
    margin-right: 1rem;
  }
  .tablet-has-d-margin-bottom-size {
    margin-bottom: 1rem;
  }
  .tablet-has-d-margin-left-size {
    margin-left: 1rem;
  }
  .tablet-has-d-padding-size {
    padding: 1rem;
  }
  .tablet-has-d-padding-top-size {
    padding-top: 1rem;
  }
  .tablet-has-d-padding-right-size {
    padding-right: 1rem;
  }
  .tablet-has-d-padding-bottom-size {
    padding-bottom: 1rem;
  }
  .tablet-has-d-padding-left-size {
    padding-left: 1rem;
  }
  .tablet-has-d-gap-size {
    gap: 1rem;
  }
  .tablet-has-m-margin-size {
    margin: 1.25rem;
  }
  .tablet-has-m-margin-top-size {
    margin-top: 1.25rem;
  }
  .tablet-has-m-margin-right-size {
    margin-right: 1.25rem;
  }
  .tablet-has-m-margin-bottom-size {
    margin-bottom: 1.25rem;
  }
  .tablet-has-m-margin-left-size {
    margin-left: 1.25rem;
  }
  .tablet-has-m-padding-size {
    padding: 1.25rem;
  }
  .tablet-has-m-padding-top-size {
    padding-top: 1.25rem;
  }
  .tablet-has-m-padding-right-size {
    padding-right: 1.25rem;
  }
  .tablet-has-m-padding-bottom-size {
    padding-bottom: 1.25rem;
  }
  .tablet-has-m-padding-left-size {
    padding-left: 1.25rem;
  }
  .tablet-has-m-gap-size {
    gap: 1.25rem;
  }
  .tablet-has-l-margin-size {
    margin: 1.625rem;
  }
  .tablet-has-l-margin-top-size {
    margin-top: 1.625rem;
  }
  .tablet-has-l-margin-right-size {
    margin-right: 1.625rem;
  }
  .tablet-has-l-margin-bottom-size {
    margin-bottom: 1.625rem;
  }
  .tablet-has-l-margin-left-size {
    margin-left: 1.625rem;
  }
  .tablet-has-l-padding-size {
    padding: 1.625rem;
  }
  .tablet-has-l-padding-top-size {
    padding-top: 1.625rem;
  }
  .tablet-has-l-padding-right-size {
    padding-right: 1.625rem;
  }
  .tablet-has-l-padding-bottom-size {
    padding-bottom: 1.625rem;
  }
  .tablet-has-l-padding-left-size {
    padding-left: 1.625rem;
  }
  .tablet-has-l-gap-size {
    gap: 1.625rem;
  }
  .tablet-has-xl-margin-size {
    margin: 2.125rem;
  }
  .tablet-has-xl-margin-top-size {
    margin-top: 2.125rem;
  }
  .tablet-has-xl-margin-right-size {
    margin-right: 2.125rem;
  }
  .tablet-has-xl-margin-bottom-size {
    margin-bottom: 2.125rem;
  }
  .tablet-has-xl-margin-left-size {
    margin-left: 2.125rem;
  }
  .tablet-has-xl-padding-size {
    padding: 2.125rem;
  }
  .tablet-has-xl-padding-top-size {
    padding-top: 2.125rem;
  }
  .tablet-has-xl-padding-right-size {
    padding-right: 2.125rem;
  }
  .tablet-has-xl-padding-bottom-size {
    padding-bottom: 2.125rem;
  }
  .tablet-has-xl-padding-left-size {
    padding-left: 2.125rem;
  }
  .tablet-has-xl-gap-size {
    gap: 2.125rem;
  }
  .tablet-has-xxl-margin-size {
    margin: 2.375rem;
  }
  .tablet-has-xxl-margin-top-size {
    margin-top: 2.375rem;
  }
  .tablet-has-xxl-margin-right-size {
    margin-right: 2.375rem;
  }
  .tablet-has-xxl-margin-bottom-size {
    margin-bottom: 2.375rem;
  }
  .tablet-has-xxl-margin-left-size {
    margin-left: 2.375rem;
  }
  .tablet-has-xxl-padding-size {
    padding: 2.375rem;
  }
  .tablet-has-xxl-padding-top-size {
    padding-top: 2.375rem;
  }
  .tablet-has-xxl-padding-right-size {
    padding-right: 2.375rem;
  }
  .tablet-has-xxl-padding-bottom-size {
    padding-bottom: 2.375rem;
  }
  .tablet-has-xxl-padding-left-size {
    padding-left: 2.375rem;
  }
  .tablet-has-xxl-gap-size {
    gap: 2.375rem;
  }
  .tablet-has-xxxl-margin-size {
    margin: 2.75rem;
  }
  .tablet-has-xxxl-margin-top-size {
    margin-top: 2.75rem;
  }
  .tablet-has-xxxl-margin-right-size {
    margin-right: 2.75rem;
  }
  .tablet-has-xxxl-margin-bottom-size {
    margin-bottom: 2.75rem;
  }
  .tablet-has-xxxl-margin-left-size {
    margin-left: 2.75rem;
  }
  .tablet-has-xxxl-padding-size {
    padding: 2.75rem;
  }
  .tablet-has-xxxl-padding-top-size {
    padding-top: 2.75rem;
  }
  .tablet-has-xxxl-padding-right-size {
    padding-right: 2.75rem;
  }
  .tablet-has-xxxl-padding-bottom-size {
    padding-bottom: 2.75rem;
  }
  .tablet-has-xxxl-padding-left-size {
    padding-left: 2.75rem;
  }
  .tablet-has-xxxl-gap-size {
    gap: 2.75rem;
  }
}
@media (min-width: 1280px) {
  .desktop-has-xs-margin-size {
    margin: 0.5rem;
  }
  .desktop-has-xs-margin-top-size {
    margin-top: 0.5rem;
  }
  .desktop-has-xs-margin-right-size {
    margin-right: 0.5rem;
  }
  .desktop-has-xs-margin-bottom-size {
    margin-bottom: 0.5rem;
  }
  .desktop-has-xs-margin-left-size {
    margin-left: 0.5rem;
  }
  .desktop-has-xs-padding-size {
    padding: 0.5rem;
  }
  .desktop-has-xs-padding-top-size {
    padding-top: 0.5rem;
  }
  .desktop-has-xs-padding-right-size {
    padding-right: 0.5rem;
  }
  .desktop-has-xs-padding-bottom-size {
    padding-bottom: 0.5rem;
  }
  .desktop-has-xs-padding-left-size {
    padding-left: 0.5rem;
  }
  .desktop-has-xs-gap-size {
    gap: 0.5rem;
  }
  .desktop-has-s-margin-size {
    margin: 0.75rem;
  }
  .desktop-has-s-margin-top-size {
    margin-top: 0.75rem;
  }
  .desktop-has-s-margin-right-size {
    margin-right: 0.75rem;
  }
  .desktop-has-s-margin-bottom-size {
    margin-bottom: 0.75rem;
  }
  .desktop-has-s-margin-left-size {
    margin-left: 0.75rem;
  }
  .desktop-has-s-padding-size {
    padding: 0.75rem;
  }
  .desktop-has-s-padding-top-size {
    padding-top: 0.75rem;
  }
  .desktop-has-s-padding-right-size {
    padding-right: 0.75rem;
  }
  .desktop-has-s-padding-bottom-size {
    padding-bottom: 0.75rem;
  }
  .desktop-has-s-padding-left-size {
    padding-left: 0.75rem;
  }
  .desktop-has-s-gap-size {
    gap: 0.75rem;
  }
  .desktop-has-d-margin-size {
    margin: 1.25rem;
  }
  .desktop-has-d-margin-top-size {
    margin-top: 1.25rem;
  }
  .desktop-has-d-margin-right-size {
    margin-right: 1.25rem;
  }
  .desktop-has-d-margin-bottom-size {
    margin-bottom: 1.25rem;
  }
  .desktop-has-d-margin-left-size {
    margin-left: 1.25rem;
  }
  .desktop-has-d-padding-size {
    padding: 1.25rem;
  }
  .desktop-has-d-padding-top-size {
    padding-top: 1.25rem;
  }
  .desktop-has-d-padding-right-size {
    padding-right: 1.25rem;
  }
  .desktop-has-d-padding-bottom-size {
    padding-bottom: 1.25rem;
  }
  .desktop-has-d-padding-left-size {
    padding-left: 1.25rem;
  }
  .desktop-has-d-gap-size {
    gap: 1.25rem;
  }
  .desktop-has-m-margin-size {
    margin: 1.5rem;
  }
  .desktop-has-m-margin-top-size {
    margin-top: 1.5rem;
  }
  .desktop-has-m-margin-right-size {
    margin-right: 1.5rem;
  }
  .desktop-has-m-margin-bottom-size {
    margin-bottom: 1.5rem;
  }
  .desktop-has-m-margin-left-size {
    margin-left: 1.5rem;
  }
  .desktop-has-m-padding-size {
    padding: 1.5rem;
  }
  .desktop-has-m-padding-top-size {
    padding-top: 1.5rem;
  }
  .desktop-has-m-padding-right-size {
    padding-right: 1.5rem;
  }
  .desktop-has-m-padding-bottom-size {
    padding-bottom: 1.5rem;
  }
  .desktop-has-m-padding-left-size {
    padding-left: 1.5rem;
  }
  .desktop-has-m-gap-size {
    gap: 1.5rem;
  }
  .desktop-has-l-margin-size {
    margin: 2rem;
  }
  .desktop-has-l-margin-top-size {
    margin-top: 2rem;
  }
  .desktop-has-l-margin-right-size {
    margin-right: 2rem;
  }
  .desktop-has-l-margin-bottom-size {
    margin-bottom: 2rem;
  }
  .desktop-has-l-margin-left-size {
    margin-left: 2rem;
  }
  .desktop-has-l-padding-size {
    padding: 2rem;
  }
  .desktop-has-l-padding-top-size {
    padding-top: 2rem;
  }
  .desktop-has-l-padding-right-size {
    padding-right: 2rem;
  }
  .desktop-has-l-padding-bottom-size {
    padding-bottom: 2rem;
  }
  .desktop-has-l-padding-left-size {
    padding-left: 2rem;
  }
  .desktop-has-l-gap-size {
    gap: 2rem;
  }
  .desktop-has-xl-margin-size {
    margin: 2.5rem;
  }
  .desktop-has-xl-margin-top-size {
    margin-top: 2.5rem;
  }
  .desktop-has-xl-margin-right-size {
    margin-right: 2.5rem;
  }
  .desktop-has-xl-margin-bottom-size {
    margin-bottom: 2.5rem;
  }
  .desktop-has-xl-margin-left-size {
    margin-left: 2.5rem;
  }
  .desktop-has-xl-padding-size {
    padding: 2.5rem;
  }
  .desktop-has-xl-padding-top-size {
    padding-top: 2.5rem;
  }
  .desktop-has-xl-padding-right-size {
    padding-right: 2.5rem;
  }
  .desktop-has-xl-padding-bottom-size {
    padding-bottom: 2.5rem;
  }
  .desktop-has-xl-padding-left-size {
    padding-left: 2.5rem;
  }
  .desktop-has-xl-gap-size {
    gap: 2.5rem;
  }
  .desktop-has-xxl-margin-size {
    margin: 2.75rem;
  }
  .desktop-has-xxl-margin-top-size {
    margin-top: 2.75rem;
  }
  .desktop-has-xxl-margin-right-size {
    margin-right: 2.75rem;
  }
  .desktop-has-xxl-margin-bottom-size {
    margin-bottom: 2.75rem;
  }
  .desktop-has-xxl-margin-left-size {
    margin-left: 2.75rem;
  }
  .desktop-has-xxl-padding-size {
    padding: 2.75rem;
  }
  .desktop-has-xxl-padding-top-size {
    padding-top: 2.75rem;
  }
  .desktop-has-xxl-padding-right-size {
    padding-right: 2.75rem;
  }
  .desktop-has-xxl-padding-bottom-size {
    padding-bottom: 2.75rem;
  }
  .desktop-has-xxl-padding-left-size {
    padding-left: 2.75rem;
  }
  .desktop-has-xxl-gap-size {
    gap: 2.75rem;
  }
  .desktop-has-xxxl-margin-size {
    margin: 3.125rem;
  }
  .desktop-has-xxxl-margin-top-size {
    margin-top: 3.125rem;
  }
  .desktop-has-xxxl-margin-right-size {
    margin-right: 3.125rem;
  }
  .desktop-has-xxxl-margin-bottom-size {
    margin-bottom: 3.125rem;
  }
  .desktop-has-xxxl-margin-left-size {
    margin-left: 3.125rem;
  }
  .desktop-has-xxxl-padding-size {
    padding: 3.125rem;
  }
  .desktop-has-xxxl-padding-top-size {
    padding-top: 3.125rem;
  }
  .desktop-has-xxxl-padding-right-size {
    padding-right: 3.125rem;
  }
  .desktop-has-xxxl-padding-bottom-size {
    padding-bottom: 3.125rem;
  }
  .desktop-has-xxxl-padding-left-size {
    padding-left: 3.125rem;
  }
  .desktop-has-xxxl-gap-size {
    gap: 3.125rem;
  }
}
.border-radius-s {
  border-radius: 0.75rem;
}

.border-radius-m {
  border-radius: 1.5rem;
}

@media (max-width: 1023px) {
  .justify-content-center-mobile {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
}

@media (min-width: 768px) {
  .narrow-content-286 {
    max-width: 17.875rem;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .narrow-content-340 {
    max-width: 21.25rem;
  }
}

.narrow-content-380 {
  max-width: 23.75rem;
}

.narrow-content-450 {
  max-width: 28.125rem;
}

.narrow-content-480 {
  max-width: 30rem;
}

.narrow-content-500 {
  max-width: 31.25rem;
}

.narrow-content-600 {
  max-width: 37.5rem;
  margin: 0 auto;
}

.narrow-content-720 {
  max-width: 45rem;
  margin: 0 auto;
}

.narrow-content-770 {
  max-width: 48.125rem;
  margin: 0 auto;
}

.narrow-content-940 {
  max-width: 58.75rem;
}

.narrow-content-1060 {
  max-width: 66.25rem;
  margin: 0 auto;
}

.width-100 {
  width: 100%;
}

.link-button {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  color: #007953;
  padding: 0.75rem 0;
}

.link-button-white {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  padding: 0.75rem 0;
}

.link-with-arrow-right {
  position: relative;
  padding-right: 1.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.link-with-arrow-right:after {
  content: url("/wp-content/themes/humanitas-ai/assets/images/arrow-right.svg");
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.link-with-arrow-right-white {
  position: relative;
  padding-right: 1.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.link-with-arrow-right-white:after {
  content: url("/wp-content/themes/humanitas-ai/assets/images/arrow-right-white.svg");
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hide-on-desktop {
    display: none !important;
  }
}

.m-b-16 {
  margin-bottom: 1rem;
}

.m-b-24 {
  margin-bottom: 1.5rem;
}

.m-b-32 {
  margin-bottom: 2rem;
}

.m-b-40 {
  margin-bottom: 2.5rem;
}

.no-pd-top {
  padding-top: 0 !important;
}

.no-pd-bt {
  padding-bottom: 0 !important;
}

.pill {
  border: 1.5px solid #007953;
  border-radius: 1.875rem;
  padding: 0.375rem 1.125rem;
  text-transform: uppercase;
  color: #007953;
}

.side-vectors {
  position: relative;
}
@media (min-width: 1024px) {
  .side-vectors:before {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector1.svg");
    position: absolute;
    left: calc((100vw - 93%) / -2);
    top: 50%;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .side-vectors:after {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector2.svg");
    position: absolute;
    right: calc((100vw - 93%) / -2);
    top: -1.25rem;
    z-index: -1;
  }
}

.side-vectors-block {
  position: relative;
}
@media (min-width: 1024px) {
  .side-vectors-block:before {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector1.svg");
    position: absolute;
    left: calc((100vw - 93%) / -2);
    top: 50%;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .side-vectors-block:after {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector2.svg");
    position: absolute;
    right: calc((100vw - 93%) / -2);
    top: -1.25rem;
    z-index: -1;
  }
}

.divider {
  height: 1px;
  background: #D3D3D3;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background-clip: content-box;
}

.sectionPaddingXS {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .sectionPaddingXS {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingXS {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.sectionPaddingM {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .sectionPaddingM {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingM {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.sectionPaddingL {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 768px) {
  .sectionPaddingL {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingL {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.sectionPadding-D-100 {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .sectionPadding-D-100 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media (min-width: 1024px) {
  .sectionPadding-D-100 {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.line-height-1-45 {
  line-height: 1.45;
}

.font-size-20 {
  font-size: 1.125rem;
}
@media (min-width: 1024px) {
  .font-size-20 {
    font-size: 1.25rem;
  }
}

.font-size-30 {
  font-size: 1.5rem;
}
@media (min-width: 1024px) {
  .font-size-30 {
    font-size: 1.875rem;
  }
}

.border-gradient {
  position: relative;
  position: relative;
}
.border-gradient::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: linear-gradient(91.5deg, #A8F0D2 -3.73%, rgba(0, 121, 83, 0) 17.81%), linear-gradient(297.76deg, #A8F0D2 3.58%, rgba(0, 121, 83, 0) 25.14%);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

@media (min-width: 768px) {
  .highlights-counter-block {
    padding: 1.25rem 0;
  }
}
.highlights-counter-block.is-style-about .highlights-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767px) {
  .highlights-counter-block.is-style-about .highlights-wrapper {
    gap: 0;
    -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;
  }
}
.highlights-counter-block.is-style-about .highlights-wrapper .highlight {
  padding: 1.5rem 0;
}
@media (min-width: 768px) {
  .highlights-counter-block.is-style-about .highlights-wrapper .highlight {
    max-width: 15rem;
    padding: 0 2.375rem;
  }
}
@media (max-width: 767px) {
  .highlights-counter-block.is-style-about .highlights-wrapper .highlight:not(:first-of-type):before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 5.625rem;
    height: 1px;
    background: #D3D3D3;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.highlights-counter-block.is-style-about .highlights-wrapper .highlight .value {
  color: #007953;
  font-weight: 500;
}
.highlights-counter-block.is-style-about .highlights-wrapper .highlight .label {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
}
.highlights-counter-block .highlights-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media (min-width: 1024px) {
  .highlights-counter-block .highlights-wrapper {
    gap: 2.5rem;
  }
}
.highlights-counter-block .highlights-wrapper .highlight {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media (min-width: 1024px) {
  .highlights-counter-block .highlights-wrapper .highlight {
    gap: 0.75rem;
  }
}
.highlights-counter-block .highlights-wrapper .highlight:not(:first-of-type):before {
  content: "";
  position: absolute;
  left: -0.625rem;
  top: 50%;
  width: 1px;
  height: 100%;
  background: #D3D3D3;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 1024px) {
  .highlights-counter-block .highlights-wrapper .highlight:not(:first-of-type):before {
    left: -1.25rem;
    height: 140%;
  }
}
.highlights-counter-block .highlights-wrapper .highlight.row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 1024px) {
  .highlights-counter-block .highlights-wrapper .highlight.row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.highlights-counter-block .highlights-wrapper .highlight.column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.highlights-counter-block .highlights-wrapper .highlight .value {
  font-size: 2.1875rem;
}
.highlights-counter-block .highlights-wrapper .highlight .label {
  color: #6D7181;
  line-height: 1.3;
  font-weight: 500;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy9fc2l6aW5nLWZ1bmN0aW9ucy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvbWl4aW5zL19taXhpbnMtbWFzdGVyLnNjc3MiLCJibG9jay1oaWdobGlnaHRzLWNvdW50ZXIvc2Nzcy9ibG9jay1oaWdobGlnaHRzLWNvdW50ZXIuY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL19yZXVzYWJsZS1jbGFzc2VzLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Fzcy92YXJpYWJsZXMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi8uLi9hc3NldHMvc2Fzcy92YXJpYWJsZXMvX3N0cnVjdHVyZS5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9hc3NldHMvc2Fzcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwiYmxvY2staGlnaGxpZ2h0cy1jb3VudGVyL3Njc3MvYmxvY2staGlnaGxpZ2h0cy1jb3VudGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7Ozs7RUFBQTtBQVdFOzs7RUFBQTtBQWFBOzs7Ozs7Ozs7RUFBQTtBQzRIRjtFQUNFO0lBQ0UsdUNBQUE7WUFBQSwrQkFBQSxFQUFBLG1DQUFBO0VDcElGO0VEc0lBO0lBQ0UsMkNBQUE7WUFBQSxtQ0FBQSxFQUFBLDJCQUFBO0VDcElGO0FBQ0Y7QUQ4SEE7RUFDRTtJQUNFLHVDQUFBO1lBQUEsK0JBQUEsRUFBQSxtQ0FBQTtFQ3BJRjtFRHNJQTtJQUNFLDJDQUFBO1lBQUEsbUNBQUEsRUFBQSwyQkFBQTtFQ3BJRjtBQUNGO0FEZU07RUFDRSxlRXRDTztBRHlCZjs7QURlTTtFQUNFLG1CRXpDTztBRDZCZjs7QURjTTtFQUNFLHFCRTVDTztBRGlDZjs7QURhTTtFQUNFLHNCRS9DTztBRHFDZjs7QURZTTtFQUNFLG9CRWxETztBRHlDZjs7QURXTTtFQUNFLGdCRXJETztBRDZDZjs7QURVTTtFQUNFLG9CRXhETztBRGlEZjs7QURTTTtFQUNFLHNCRTNETztBRHFEZjs7QURRTTtFQUNFLHVCRTlETztBRHlEZjs7QURPTTtFQUNFLHFCRWpFTztBRDZEZjs7QURNTTtFQUNFLFlFcEVPO0FEaUVmOztBRDVCTTtFQUNFLGNFdENPO0FEcUVmOztBRDdCTTtFQUNFLGtCRXpDTztBRHlFZjs7QUQ5Qk07RUFDRSxvQkU1Q087QUQ2RWY7O0FEL0JNO0VBQ0UscUJFL0NPO0FEaUZmOztBRGhDTTtFQUNFLG1CRWxETztBRHFGZjs7QURqQ007RUFDRSxlRXJETztBRHlGZjs7QURsQ007RUFDRSxtQkV4RE87QUQ2RmY7O0FEbkNNO0VBQ0UscUJFM0RPO0FEaUdmOztBRHBDTTtFQUNFLHNCRTlETztBRHFHZjs7QURyQ007RUFDRSxvQkVqRU87QUR5R2Y7O0FEdENNO0VBQ0UsV0VwRU87QUQ2R2Y7O0FEeEVNO0VBQ0UsZUV0Q087QURpSGY7O0FEekVNO0VBQ0UsbUJFekNPO0FEcUhmOztBRDFFTTtFQUNFLHFCRTVDTztBRHlIZjs7QUQzRU07RUFDRSxzQkUvQ087QUQ2SGY7O0FENUVNO0VBQ0Usb0JFbERPO0FEaUlmOztBRDdFTTtFQUNFLGdCRXJETztBRHFJZjs7QUQ5RU07RUFDRSxvQkV4RE87QUR5SWY7O0FEL0VNO0VBQ0Usc0JFM0RPO0FENklmOztBRGhGTTtFQUNFLHVCRTlETztBRGlKZjs7QURqRk07RUFDRSxxQkVqRU87QURxSmY7O0FEbEZNO0VBQ0UsWUVwRU87QUR5SmY7O0FEcEhNO0VBQ0UsWUV0Q087QUQ2SmY7O0FEckhNO0VBQ0UsZ0JFekNPO0FEaUtmOztBRHRITTtFQUNFLGtCRTVDTztBRHFLZjs7QUR2SE07RUFDRSxtQkUvQ087QUR5S2Y7O0FEeEhNO0VBQ0UsaUJFbERPO0FENktmOztBRHpITTtFQUNFLGFFckRPO0FEaUxmOztBRDFITTtFQUNFLGlCRXhETztBRHFMZjs7QUQzSE07RUFDRSxtQkUzRE87QUR5TGY7O0FENUhNO0VBQ0Usb0JFOURPO0FENkxmOztBRDdITTtFQUNFLGtCRWpFTztBRGlNZjs7QUQ5SE07RUFDRSxTRXBFTztBRHFNZjs7QURoS007RUFDRSxlRXRDTztBRHlNZjs7QURqS007RUFDRSxtQkV6Q087QUQ2TWY7O0FEbEtNO0VBQ0UscUJFNUNPO0FEaU5mOztBRG5LTTtFQUNFLHNCRS9DTztBRHFOZjs7QURwS007RUFDRSxvQkVsRE87QUR5TmY7O0FEcktNO0VBQ0UsZ0JFckRPO0FENk5mOztBRHRLTTtFQUNFLG9CRXhETztBRGlPZjs7QUR2S007RUFDRSxzQkUzRE87QURxT2Y7O0FEeEtNO0VBQ0UsdUJFOURPO0FEeU9mOztBRHpLTTtFQUNFLHFCRWpFTztBRDZPZjs7QUQxS007RUFDRSxZRXBFTztBRGlQZjs7QUQ1TU07RUFDRSxjRXRDTztBRHFQZjs7QUQ3TU07RUFDRSxrQkV6Q087QUR5UGY7O0FEOU1NO0VBQ0Usb0JFNUNPO0FENlBmOztBRC9NTTtFQUNFLHFCRS9DTztBRGlRZjs7QURoTk07RUFDRSxtQkVsRE87QURxUWY7O0FEak5NO0VBQ0UsZUVyRE87QUR5UWY7O0FEbE5NO0VBQ0UsbUJFeERPO0FENlFmOztBRG5OTTtFQUNFLHFCRTNETztBRGlSZjs7QURwTk07RUFDRSxzQkU5RE87QURxUmY7O0FEck5NO0VBQ0Usb0JFakVPO0FEeVJmOztBRHROTTtFQUNFLFdFcEVPO0FENlJmOztBRHhQTTtFQUNFLGVFdENPO0FEaVNmOztBRHpQTTtFQUNFLG1CRXpDTztBRHFTZjs7QUQxUE07RUFDRSxxQkU1Q087QUR5U2Y7O0FEM1BNO0VBQ0Usc0JFL0NPO0FENlNmOztBRDVQTTtFQUNFLG9CRWxETztBRGlUZjs7QUQ3UE07RUFDRSxnQkVyRE87QURxVGY7O0FEOVBNO0VBQ0Usb0JFeERPO0FEeVRmOztBRC9QTTtFQUNFLHNCRTNETztBRDZUZjs7QURoUU07RUFDRSx1QkU5RE87QURpVWY7O0FEalFNO0VBQ0UscUJFakVPO0FEcVVmOztBRGxRTTtFQUNFLFlFcEVPO0FEeVVmOztBRHBTTTtFQUNFLFlFdENPO0FENlVmOztBRHJTTTtFQUNFLGdCRXpDTztBRGlWZjs7QUR0U007RUFDRSxrQkU1Q087QURxVmY7O0FEdlNNO0VBQ0UsbUJFL0NPO0FEeVZmOztBRHhTTTtFQUNFLGlCRWxETztBRDZWZjs7QUR6U007RUFDRSxhRXJETztBRGlXZjs7QUQxU007RUFDRSxpQkV4RE87QURxV2Y7O0FEM1NNO0VBQ0UsbUJFM0RPO0FEeVdmOztBRDVTTTtFQUNFLG9CRTlETztBRDZXZjs7QUQ3U007RUFDRSxrQkVqRU87QURpWGY7O0FEOVNNO0VBQ0UsU0VwRU87QURxWGY7O0FFMVVJO0VIZ0NJO0lBQ0UsZ0JFakVLO0VEK1diO0VENVNNO0lBQ0Usb0JFcEVLO0VEa1hiO0VENVNNO0lBQ0Usc0JFdkVLO0VEcVhiO0VENVNNO0lBQ0UsdUJFMUVLO0VEd1hiO0VENVNNO0lBQ0UscUJFN0VLO0VEMlhiO0VENVNNO0lBQ0UsaUJFaEZLO0VEOFhiO0VENVNNO0lBQ0UscUJFbkZLO0VEaVliO0VENVNNO0lBQ0UsdUJFdEZLO0VEb1liO0VENVNNO0lBQ0Usd0JFekZLO0VEdVliO0VENVNNO0lBQ0Usc0JFNUZLO0VEMFliO0VENVNNO0lBQ0UsYUUvRks7RUQ2WWI7RUQ3VU07SUFDRSxnQkVqRUs7RURnWmI7RUQ3VU07SUFDRSxvQkVwRUs7RURtWmI7RUQ3VU07SUFDRSxzQkV2RUs7RURzWmI7RUQ3VU07SUFDRSx1QkUxRUs7RUR5WmI7RUQ3VU07SUFDRSxxQkU3RUs7RUQ0WmI7RUQ3VU07SUFDRSxpQkVoRks7RUQrWmI7RUQ3VU07SUFDRSxxQkVuRks7RURrYWI7RUQ3VU07SUFDRSx1QkV0Rks7RURxYWI7RUQ3VU07SUFDRSx3QkV6Rks7RUR3YWI7RUQ3VU07SUFDRSxzQkU1Rks7RUQyYWI7RUQ3VU07SUFDRSxhRS9GSztFRDhhYjtFRDlXTTtJQUNFLFlFakVLO0VEaWJiO0VEOVdNO0lBQ0UsZ0JFcEVLO0VEb2JiO0VEOVdNO0lBQ0Usa0JFdkVLO0VEdWJiO0VEOVdNO0lBQ0UsbUJFMUVLO0VEMGJiO0VEOVdNO0lBQ0UsaUJFN0VLO0VENmJiO0VEOVdNO0lBQ0UsYUVoRks7RURnY2I7RUQ5V007SUFDRSxpQkVuRks7RURtY2I7RUQ5V007SUFDRSxtQkV0Rks7RURzY2I7RUQ5V007SUFDRSxvQkV6Rks7RUR5Y2I7RUQ5V007SUFDRSxrQkU1Rks7RUQ0Y2I7RUQ5V007SUFDRSxTRS9GSztFRCtjYjtFRC9ZTTtJQUNFLGVFakVLO0VEa2RiO0VEL1lNO0lBQ0UsbUJFcEVLO0VEcWRiO0VEL1lNO0lBQ0UscUJFdkVLO0VEd2RiO0VEL1lNO0lBQ0Usc0JFMUVLO0VEMmRiO0VEL1lNO0lBQ0Usb0JFN0VLO0VEOGRiO0VEL1lNO0lBQ0UsZ0JFaEZLO0VEaWViO0VEL1lNO0lBQ0Usb0JFbkZLO0VEb2ViO0VEL1lNO0lBQ0Usc0JFdEZLO0VEdWViO0VEL1lNO0lBQ0UsdUJFekZLO0VEMGViO0VEL1lNO0lBQ0UscUJFNUZLO0VENmViO0VEL1lNO0lBQ0UsWUUvRks7RURnZmI7RURoYk07SUFDRSxnQkVqRUs7RURtZmI7RURoYk07SUFDRSxvQkVwRUs7RURzZmI7RURoYk07SUFDRSxzQkV2RUs7RUR5ZmI7RURoYk07SUFDRSx1QkUxRUs7RUQ0ZmI7RURoYk07SUFDRSxxQkU3RUs7RUQrZmI7RURoYk07SUFDRSxpQkVoRks7RURrZ0JiO0VEaGJNO0lBQ0UscUJFbkZLO0VEcWdCYjtFRGhiTTtJQUNFLHVCRXRGSztFRHdnQmI7RURoYk07SUFDRSx3QkV6Rks7RUQyZ0JiO0VEaGJNO0lBQ0Usc0JFNUZLO0VEOGdCYjtFRGhiTTtJQUNFLGFFL0ZLO0VEaWhCYjtFRGpkTTtJQUNFLGdCRWpFSztFRG9oQmI7RURqZE07SUFDRSxvQkVwRUs7RUR1aEJiO0VEamRNO0lBQ0Usc0JFdkVLO0VEMGhCYjtFRGpkTTtJQUNFLHVCRTFFSztFRDZoQmI7RURqZE07SUFDRSxxQkU3RUs7RURnaUJiO0VEamRNO0lBQ0UsaUJFaEZLO0VEbWlCYjtFRGpkTTtJQUNFLHFCRW5GSztFRHNpQmI7RURqZE07SUFDRSx1QkV0Rks7RUR5aUJiO0VEamRNO0lBQ0Usd0JFekZLO0VENGlCYjtFRGpkTTtJQUNFLHNCRTVGSztFRCtpQmI7RURqZE07SUFDRSxhRS9GSztFRGtqQmI7RURsZk07SUFDRSxnQkVqRUs7RURxakJiO0VEbGZNO0lBQ0Usb0JFcEVLO0VEd2pCYjtFRGxmTTtJQUNFLHNCRXZFSztFRDJqQmI7RURsZk07SUFDRSx1QkUxRUs7RUQ4akJiO0VEbGZNO0lBQ0UscUJFN0VLO0VEaWtCYjtFRGxmTTtJQUNFLGlCRWhGSztFRG9rQmI7RURsZk07SUFDRSxxQkVuRks7RUR1a0JiO0VEbGZNO0lBQ0UsdUJFdEZLO0VEMGtCYjtFRGxmTTtJQUNFLHdCRXpGSztFRDZrQmI7RURsZk07SUFDRSxzQkU1Rks7RURnbEJiO0VEbGZNO0lBQ0UsYUUvRks7RURtbEJiO0VEbmhCTTtJQUNFLGVFakVLO0VEc2xCYjtFRG5oQk07SUFDRSxtQkVwRUs7RUR5bEJiO0VEbmhCTTtJQUNFLHFCRXZFSztFRDRsQmI7RURuaEJNO0lBQ0Usc0JFMUVLO0VEK2xCYjtFRG5oQk07SUFDRSxvQkU3RUs7RURrbUJiO0VEbmhCTTtJQUNFLGdCRWhGSztFRHFtQmI7RURuaEJNO0lBQ0Usb0JFbkZLO0VEd21CYjtFRG5oQk07SUFDRSxzQkV0Rks7RUQybUJiO0VEbmhCTTtJQUNFLHVCRXpGSztFRDhtQmI7RURuaEJNO0lBQ0UscUJFNUZLO0VEaW5CYjtFRG5oQk07SUFDRSxZRS9GSztFRG9uQmI7QUFDRjtBRW5rQkk7RUhjSTtJQUNFLGNFdERNO0VEOG1CZDtFRHRqQk07SUFDRSxrQkV6RE07RURpbkJkO0VEdGpCTTtJQUNFLG9CRTVETTtFRG9uQmQ7RUR0akJNO0lBQ0UscUJFL0RNO0VEdW5CZDtFRHRqQk07SUFDRSxtQkVsRU07RUQwbkJkO0VEdGpCTTtJQUNFLGVFckVNO0VENm5CZDtFRHRqQk07SUFDRSxtQkV4RU07RURnb0JkO0VEdGpCTTtJQUNFLHFCRTNFTTtFRG1vQmQ7RUR0akJNO0lBQ0Usc0JFOUVNO0VEc29CZDtFRHRqQk07SUFDRSxvQkVqRk07RUR5b0JkO0VEdGpCTTtJQUNFLFdFcEZNO0VENG9CZDtFRHZsQk07SUFDRSxlRXRETTtFRCtvQmQ7RUR2bEJNO0lBQ0UsbUJFekRNO0VEa3BCZDtFRHZsQk07SUFDRSxxQkU1RE07RURxcEJkO0VEdmxCTTtJQUNFLHNCRS9ETTtFRHdwQmQ7RUR2bEJNO0lBQ0Usb0JFbEVNO0VEMnBCZDtFRHZsQk07SUFDRSxnQkVyRU07RUQ4cEJkO0VEdmxCTTtJQUNFLG9CRXhFTTtFRGlxQmQ7RUR2bEJNO0lBQ0Usc0JFM0VNO0VEb3FCZDtFRHZsQk07SUFDRSx1QkU5RU07RUR1cUJkO0VEdmxCTTtJQUNFLHFCRWpGTTtFRDBxQmQ7RUR2bEJNO0lBQ0UsWUVwRk07RUQ2cUJkO0VEeG5CTTtJQUNFLGVFdERNO0VEZ3JCZDtFRHhuQk07SUFDRSxtQkV6RE07RURtckJkO0VEeG5CTTtJQUNFLHFCRTVETTtFRHNyQmQ7RUR4bkJNO0lBQ0Usc0JFL0RNO0VEeXJCZDtFRHhuQk07SUFDRSxvQkVsRU07RUQ0ckJkO0VEeG5CTTtJQUNFLGdCRXJFTTtFRCtyQmQ7RUR4bkJNO0lBQ0Usb0JFeEVNO0VEa3NCZDtFRHhuQk07SUFDRSxzQkUzRU07RURxc0JkO0VEeG5CTTtJQUNFLHVCRTlFTTtFRHdzQmQ7RUR4bkJNO0lBQ0UscUJFakZNO0VEMnNCZDtFRHhuQk07SUFDRSxZRXBGTTtFRDhzQmQ7RUR6cEJNO0lBQ0UsY0V0RE07RURpdEJkO0VEenBCTTtJQUNFLGtCRXpETTtFRG90QmQ7RUR6cEJNO0lBQ0Usb0JFNURNO0VEdXRCZDtFRHpwQk07SUFDRSxxQkUvRE07RUQwdEJkO0VEenBCTTtJQUNFLG1CRWxFTTtFRDZ0QmQ7RUR6cEJNO0lBQ0UsZUVyRU07RURndUJkO0VEenBCTTtJQUNFLG1CRXhFTTtFRG11QmQ7RUR6cEJNO0lBQ0UscUJFM0VNO0VEc3VCZDtFRHpwQk07SUFDRSxzQkU5RU07RUR5dUJkO0VEenBCTTtJQUNFLG9CRWpGTTtFRDR1QmQ7RUR6cEJNO0lBQ0UsV0VwRk07RUQrdUJkO0VEMXJCTTtJQUNFLFlFdERNO0VEa3ZCZDtFRDFyQk07SUFDRSxnQkV6RE07RURxdkJkO0VEMXJCTTtJQUNFLGtCRTVETTtFRHd2QmQ7RUQxckJNO0lBQ0UsbUJFL0RNO0VEMnZCZDtFRDFyQk07SUFDRSxpQkVsRU07RUQ4dkJkO0VEMXJCTTtJQUNFLGFFckVNO0VEaXdCZDtFRDFyQk07SUFDRSxpQkV4RU07RURvd0JkO0VEMXJCTTtJQUNFLG1CRTNFTTtFRHV3QmQ7RUQxckJNO0lBQ0Usb0JFOUVNO0VEMHdCZDtFRDFyQk07SUFDRSxrQkVqRk07RUQ2d0JkO0VEMXJCTTtJQUNFLFNFcEZNO0VEZ3hCZDtFRDN0Qk07SUFDRSxjRXRETTtFRG14QmQ7RUQzdEJNO0lBQ0Usa0JFekRNO0VEc3hCZDtFRDN0Qk07SUFDRSxvQkU1RE07RUR5eEJkO0VEM3RCTTtJQUNFLHFCRS9ETTtFRDR4QmQ7RUQzdEJNO0lBQ0UsbUJFbEVNO0VEK3hCZDtFRDN0Qk07SUFDRSxlRXJFTTtFRGt5QmQ7RUQzdEJNO0lBQ0UsbUJFeEVNO0VEcXlCZDtFRDN0Qk07SUFDRSxxQkUzRU07RUR3eUJkO0VEM3RCTTtJQUNFLHNCRTlFTTtFRDJ5QmQ7RUQzdEJNO0lBQ0Usb0JFakZNO0VEOHlCZDtFRDN0Qk07SUFDRSxXRXBGTTtFRGl6QmQ7RUQ1dkJNO0lBQ0UsZUV0RE07RURvekJkO0VENXZCTTtJQUNFLG1CRXpETTtFRHV6QmQ7RUQ1dkJNO0lBQ0UscUJFNURNO0VEMHpCZDtFRDV2Qk07SUFDRSxzQkUvRE07RUQ2ekJkO0VENXZCTTtJQUNFLG9CRWxFTTtFRGcwQmQ7RUQ1dkJNO0lBQ0UsZ0JFckVNO0VEbTBCZDtFRDV2Qk07SUFDRSxvQkV4RU07RURzMEJkO0VENXZCTTtJQUNFLHNCRTNFTTtFRHkwQmQ7RUQ1dkJNO0lBQ0UsdUJFOUVNO0VENDBCZDtFRDV2Qk07SUFDRSxxQkVqRk07RUQrMEJkO0VENXZCTTtJQUNFLFlFcEZNO0VEazFCZDtFRDd4Qk07SUFDRSxnQkV0RE07RURxMUJkO0VEN3hCTTtJQUNFLG9CRXpETTtFRHcxQmQ7RUQ3eEJNO0lBQ0Usc0JFNURNO0VEMjFCZDtFRDd4Qk07SUFDRSx1QkUvRE07RUQ4MUJkO0VEN3hCTTtJQUNFLHFCRWxFTTtFRGkyQmQ7RUQ3eEJNO0lBQ0UsaUJFckVNO0VEbzJCZDtFRDd4Qk07SUFDRSxxQkV4RU07RUR1MkJkO0VEN3hCTTtJQUNFLHVCRTNFTTtFRDAyQmQ7RUQ3eEJNO0lBQ0Usd0JFOUVNO0VENjJCZDtFRDd4Qk07SUFDRSxzQkVqRk07RURnM0JkO0VEN3hCTTtJQUNFLGFFcEZNO0VEbTNCZDtBQUNGO0FDLzFCQTtFQUNFLHNCRXBDZ0I7QUhxNEJsQjs7QUM5MUJBO0VBQ0UscUJFdkNnQjtBSHc0QmxCOztBRWgyQkk7RURFSjtJQUVJLG1DQUFBO1FBQUEsZ0NBQUE7WUFBQSxrQ0FBQTtFRGkyQkY7QUFDRjs7QUU1MkJJO0VEY0o7SUFFSSxvQkFBQTtJQUNBLFdBQUE7RURpMkJGO0FBQ0Y7O0FFdjJCSTtFRFNKO0lBRUksbUJBQUE7RURpMkJGO0FBQ0Y7O0FDOTFCQTtFQUNFLG1CQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0Usb0JBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxnQkFBQTtBRGkyQkY7O0FDOTFCQTtFQUNFLG1CQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0Usb0JBQUE7RUFDQSxjQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0UsbUJBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxtQkFBQTtFQUNBLGNBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxXQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0UseUJBQUE7RUFDQSxtQkczR1k7RUg0R1osZ0JBQUE7RUFDQSxjSXhIZTtFSnlIZixrQkFBQTtBRGkyQkY7O0FDOTFCQTtFQUNFLHlCQUFBO0VBQ0EsbUJHbkhZO0VIb0haLGdCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0Usa0JBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0VBQUEsdUJBQUE7RUFBQSxrQkFBQTtBRGkyQkY7QUMvMUJFO0VBQ0UsNkVBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxRQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBRGkyQko7O0FDNzFCQTtFQUNFLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSwwQkFBQTtFQUFBLHVCQUFBO0VBQUEsa0JBQUE7QURnMkJGO0FDOTFCRTtFQUNFLG1GQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsUUFBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7QURnMkJKOztBRXI5Qkk7RUR5SEo7SUFFSSx3QkFBQTtFRCsxQkY7QUFDRjs7QUVyOUJJO0VEeUhKO0lBRUksd0JBQUE7RUQrMUJGO0FBQ0Y7O0FDNTFCQTtFQUNFLG1CQUFBO0FEKzFCRjs7QUM1MUJBO0VBQ0UscUJBQUE7QUQrMUJGOztBQzUxQkE7RUFDRSxtQkFBQTtBRCsxQkY7O0FDNTFCQTtFQUNFLHFCQUFBO0FEKzFCRjs7QUM1MUJBO0VBQ0UseUJBQUE7QUQrMUJGOztBQzUxQkE7RUFDRSw0QkFBQTtBRCsxQkY7O0FDNTFCQTtFQUNFLDJCQUFBO0VBQ0EsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0l6TWU7QUx3aUNqQjs7QUM1MUJBO0VBQ0Usa0JBQUE7QUQrMUJGO0FFbi9CSTtFRHNKRjtJQUVJLHVGQUFBO0lBQ0Esa0JBQUE7SUFDQSw4QkFBQTtJQUNBLFFBQUE7SUFDQSxXQUFBO0VEKzFCSjtBQUNGO0FFNS9CSTtFRGlLRjtJQUVJLHVGQUFBO0lBQ0Esa0JBQUE7SUFDQSwrQkFBQTtJQUNBLGFBQUE7SUFDQSxXQUFBO0VENjFCSjtBQUNGOztBQ3gxQkE7RUFDRSxrQkFBQTtBRDIxQkY7QUV6Z0NJO0VEZ0xGO0lBRUksdUZBQUE7SUFDQSxrQkFBQTtJQUNBLDhCQUFBO0lBQ0EsUUFBQTtJQUNBLFdBQUE7RUQyMUJKO0FBQ0Y7QUVsaENJO0VEMkxGO0lBRUksdUZBQUE7SUFDQSxrQkFBQTtJQUNBLCtCQUFBO0lBQ0EsYUFBQTtJQUNBLFdBQUE7RUR5MUJKO0FBQ0Y7O0FDcDFCQTtFRnVQRSxXQUFBO0VBQ0EsbUJNN2RvQjtFTjhkcEIsK0JBQUE7VUFBQSx1QkFBQTtFQUNBLDRCQUFBO0FDaW1CRjs7QUN2MUJBO0VGM0RFLG9CQUFBO0VBQ0EsdUJBQUE7QUNzNUJGO0FFbmpDSTtFRHVOSjtJRnhESSxxQkFBQTtJQUNBLHdCQUFBO0VDdzVCRjtBQUNGO0FFN2lDSTtFRDJNSjtJRnBESSxtQkFBQTtJQUNBLHNCQUFBO0VDMDVCRjtBQUNGOztBQ3AyQkE7RUZsREUsbUJBQUE7RUFDQSxzQkFBQTtBQzA1QkY7QUVwa0NJO0VEMk5KO0lGL0NJLG9CQUFBO0lBQ0EsdUJBQUE7RUM0NUJGO0FBQ0Y7QUU5akNJO0VEK01KO0lGM0NJLGlCQUFBO0lBQ0Esb0JBQUE7RUM4NUJGO0FBQ0Y7O0FDajNCQTtFRnpDRSxpQkFBQTtFQUNBLG9CQUFBO0FDODVCRjtBRXJsQ0k7RUQrTko7SUZ0Q0ksb0JBQUE7SUFDQSx1QkFBQTtFQ2c2QkY7QUFDRjtBRS9rQ0k7RURtTko7SUZsQ0ksbUJBQUE7SUFDQSxzQkFBQTtFQ2s2QkY7QUFDRjs7QUM5M0JBO0VGaENFLG9CQUFBO0VBQ0EsdUJBQUE7QUNrNkJGO0FFdG1DSTtFRG1PSjtJRjdCSSxpQkFBQTtJQUNBLG9CQUFBO0VDbzZCRjtBQUNGO0FFaG1DSTtFRHVOSjtJRnpCSSxvQkFBQTtJQUNBLHVCQUFBO0VDczZCRjtBQUNGOztBQzM0QkE7RUFDRSxpQkFBQTtBRDg0QkY7O0FDMzRCQTtFQUNFLG1CQUFBO0FEODRCRjtBRTltQ0k7RUQrTko7SUFHSSxrQkFBQTtFRGc1QkY7QUFDRjs7QUM3NEJBO0VBQ0UsaUJBQUE7QURnNUJGO0FFdm5DSTtFRHNPSjtJQUdJLG1CQUFBO0VEazVCRjtBQUNGOztBQy80QkE7RUFDRSxrQkFBQTtFRjhKQSxrQkFBQTtBQ3F2QkY7QURwdkJFO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLHVKQUFBO0VBRUEsb0tBQUE7RUFBQSw4RUFBQTtFQUVBLDJCQUFBO0VBQ0EsdUJBQUE7QUNvdkJKOztBRTNwQ0k7RUk1Q0o7SUFFSSxrQkFBQTtFTjBzQ0Y7QUFDRjtBTXRzQ0k7RUFDRSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7RUFDQSxhQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0FOd3NDTjtBRTVxQ0k7RUkvQkE7SUFLSSxNQUFBO0lBQ0EsNEJBQUE7SUFBQSw2QkFBQTtRQUFBLDBCQUFBO1lBQUEsc0JBQUE7SUFDQSx5QkFBQTtRQUFBLHNCQUFBO1lBQUEsbUJBQUE7RU4wc0NOO0FBQ0Y7QU14c0NNO0VBQ0UsaUJBQUE7QU4wc0NSO0FFaHJDSTtFSTNCRTtJQUlJLGdCQUFBO0lBQ0EsbUJBQUE7RU4yc0NSO0FBQ0Y7QUU1ckNJO0VJWk07SUFHSSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxTQUFBO0lBQ0EsTUFBQTtJQUNBLGVBQUE7SUFDQSxXQUFBO0lBQ0EsbUJEVFE7SUNVUixtQ0FBQTtZQUFBLDJCQUFBO0VOeXNDWjtBQUNGO0FNcHNDUTtFQUNFLGNENUNPO0VDNkNQLGdCQUFBO0FOc3NDVjtBTW5zQ1E7RUFDRSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QU5xc0NWO0FNL3JDRTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0EsWUFBQTtBTmlzQ0o7QUVwc0NJO0VJQUY7SUFNSSxXQUFBO0VOa3NDSjtBQUNGO0FNaHNDSTtFQUNFLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO01BQUEsc0JBQUE7VUFBQSxtQkFBQTtFQUNBLGtCQUFBO0FOa3NDTjtBRS9zQ0k7RUlTQTtJQU1JLFlBQUE7RU5vc0NOO0FBQ0Y7QU1qc0NRO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLG1CRHhEWTtFQ3lEWixtQ0FBQTtVQUFBLDJCQUFBO0FObXNDVjtBRTl0Q0k7RUltQkk7SUFVSSxjQUFBO0lBQ0EsWUFBQTtFTnFzQ1Y7QUFDRjtBTWpzQ007RUFDRSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtBTm1zQ1I7QUV2dUNJO0VJbUNFO0lBR0ksOEJBQUE7SUFBQSw2QkFBQTtRQUFBLHVCQUFBO1lBQUEsbUJBQUE7RU5xc0NSO0FBQ0Y7QU1sc0NNO0VBQ0UsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7QU5vc0NSO0FNanNDTTtFQUNFLG9CQUFBO0FObXNDUjtBTWhzQ007RUFDRSxjRDFHSTtFQzJHSixnQkFBQTtFQUNBLGdCQUFBO0FOa3NDUiIsImZpbGUiOiJibG9jay1oaWdobGlnaHRzLWNvdW50ZXIvc2Nzcy9ibG9jay1oaWdobGlnaHRzLWNvdW50ZXIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUFggdG8gRU0vUkVNIC0gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vaXNlbGxzb2FwLzgyOTk3MjZcblxuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuXG4vKipcbiAqIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgZ2l2ZW4gbnVtYmVyLXVuaXQtY29tYmluYXRpb24gYW5kIHJldHVybnMgdGhlIG51bWJlci4gXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxuICogQHVzYWdlOiBwYXJzZS1pbnQoMTBweCkgPT4gMTBcbiAqL1xuIEB1c2UgJ3Nhc3M6bWF0aCc7XG4gQGZ1bmN0aW9uIHBhcnNlLWludCgkbnVtYmVyKSB7XG4gIFxuICAgIEByZXR1cm4gbWF0aC5kaXYoJG51bWJlciwgJG51bWJlciAqIDAgKyAxKTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIFNpbXBseSBhZGRzIHRoZSBlbSB1bml0IHRvIGEgZ2l2ZW4gbnVtYmVyLiBUaGlzIGlzIHVzZWQgdHdpY2UgaW4gdGhlXG4gICAqIGZ1bmN0aW9uIHVuZGVybmVhdGgsIHRodXMgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgZnVuY3Rpb24uXG4gICAqL1xuICBcbiAgQGZ1bmN0aW9uIGFkZC1lbS11bml0KCRudW1iZXIpIHtcbiAgICBAcmV0dXJuICRudW1iZXIgKiAxZW07XG4gIH1cbiAgXG4gIEBmdW5jdGlvbiBhZGQtcmVtLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAqIDFyZW07XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIGVtIHZhbHVlcyBmb3IgYSBnaXZlbiBsaXN0IG9mIChweCBvciBlbSkgdmFsdWVzIGFuZCBhIGdpdmVuIGVtXG4gICAqIGJhc2UuIE11bHRpcGx5IGJhc2UgdmFsdWVzIGZvciBuZXN0ZWQgZW0gc3RydWN0dXJlcyAobGFzdCBAdXNhZ2UgZXhhbXBsZSkuXG4gICAqIEB1c2FnZTogZW0oMTBweCwgMS4xMjUpID0+IC41NTU1NmVtXG4gICAqICAgICAgICAgZW0oMjRweCwgLjg3NWVtKSA9PiAxLjcxNDI5ZW1cbiAgICogICAgICAgICBlbSgxMnB4IDAgN2VtIHJnYmEoMCwgMCwgMCwgLjcpLCAxLjc1KSA9PiAuNDI4NTdlbSAwIDRlbSByZ2JhKDAsIDAsIDAsIDAuNylcbiAgICogICAgICAgICBlbSgxMnB4KSArIGVtKDNlbSkgPT4gMy43NWVtXG4gICAqICAgICAgICAgZW0oMjNweCwgZW0oNTNweCkpID0+IC40MzM5NmVtXG4gICAqICAgICAgICAgZW0oMjRweCwgMS41ICogMS4xMjUpID0+IC44ODg4OWVtXG4gICAqL1xuICBcbiAgQGZ1bmN0aW9uIGVtKCR2YWx1ZXMsICRlbS1iYXNlOiAxKSB7XG4gICAgJGJhc2UtZm9udC1zaXplOiBwYXJzZS1pbnQoJGJhc2UtZm9udC1zaXplKTtcbiAgICAkZW0tYmFzZTogcGFyc2UtaW50KCRlbS1iYXNlKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgXG4gICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgICAgQGlmICR2YWx1ZSA9PSAwIG9yIHR5cGUtb2YoJHZhbHVlKSAhPSBcIm51bWJlclwiIHtcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcbiAgICAgICAgJHZhbHVlOiBwYXJzZS1pbnQoJHZhbHVlKTtcbiAgXG4gICAgICAgIEBpZiAkdW5pdCA9PSBcInB4XCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgoY2FsYygkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSkpKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkdW5pdCA9PSBcImVtXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdChjYWxjKCR2YWx1ZSAvICRlbS1iYXNlKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgoY2FsYygkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgLyoqXG4gICAgICogSWYgb25seSBvbmUgdmFsdWUgaXMgcHJvdmlkZWQsIG91dHB1dCB0aGUgaW5zdGFuY2Ugb2YgdGhhdCBvYmplY3QgaW5zdGVhZFxuICAgICAqIG9mIHRoZSB3aG9sZSBsaXN0LiBUaGlzIGVuYWJsZXMgdXNlIGNhc2VzIGxpa2UgbmVzdGVkIGZ1bmN0aW9uIGludm9jYXRpb25zXG4gICAgICogKGUuZy4gYGVtKDJweCwgZW0oMTVweCkpYCkgb3IgYWRkaXRpb25zL3N1YnRyYWN0aW9ucyAoZS5nLiBgZW0oNXB4KSArIGVtKDMycHgpYCkuXG4gICAgICovXG4gICAgQGlmIGxlbmd0aCgkcmVzdWx0KSA9PSAxIHtcbiAgICAgIEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiAkcmVzdWx0O1xuICAgIH1cbiAgfVxuICBcbiAgXG4gIEBmdW5jdGlvbiByZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcbiAgICAkYmFzZS1mb250LXNpemU6IHBhcnNlLWludCgkYmFzZS1mb250LXNpemUpO1xuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xuICAgICRyZXN1bHQ6ICgpO1xuICBcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuICAgICAgICAkdmFsdWU6IHBhcnNlLWludCgkdmFsdWUpO1xuICBcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgoY2FsYygkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSkpKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkdW5pdCA9PSBcImVtXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoY2FsYygkdmFsdWUgLyAkZW0tYmFzZSkpKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkdW5pdCA9PSBcIlwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLXJlbS11bml0KChjYWxjKCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAvKipcbiAgICAgKiBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwcm92aWRlZCwgb3V0cHV0IHRoZSBpbnN0YW5jZSBvZiB0aGF0IG9iamVjdCBpbnN0ZWFkXG4gICAgICogb2YgdGhlIHdob2xlIGxpc3QuIFRoaXMgZW5hYmxlcyB1c2UgY2FzZXMgbGlrZSBuZXN0ZWQgZnVuY3Rpb24gaW52b2NhdGlvbnNcbiAgICAgKiAoZS5nLiBgZW0oMnB4LCBlbSgxNXB4KSlgKSBvciBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIChlLmcuIGBlbSg1cHgpICsgZW0oMzJweClgKS5cbiAgICAgKi9cbiAgICBAaWYgbGVuZ3RoKCRyZXN1bHQpID09IDEge1xuICAgICAgQHJldHVybiBudGgoJHJlc3VsdCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfVxuICB9IiwiLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEpIHtcbiAgZm9udC1zaXplOiAoJHNpemVWYWx1ZSAqIDE2KSAqIDFweDtcbiAgZm9udC1zaXplOiAkc2l6ZVZhbHVlICogMXJlbTtcbn1cblxuLy8gQ2VudGVyIGJsb2NrXG5AbWl4aW4gY2VudGVyLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIENsZWFyZml4XG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4vLyBDbGVhciBhZnRlciAobm90IGFsbCBjbGVhcmZpeCBuZWVkIHRoaXMgYWxzbylcbkBtaXhpbiBjbGVhcmZpeC1hZnRlcigpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDb2x1bW4gd2lkdGggd2l0aCBtYXJnaW5cbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcbiAgd2lkdGg6IG1hcC1nZXQoJGNvbHVtbnMsICRudW1iZXJDb2x1bW5zKSAtICggKCAkY29sdW1uc19fbWFyZ2luICogKCAkbnVtYmVyQ29sdW1ucyAtIDEgKSApIC8gJG51bWJlckNvbHVtbnMgKTtcbn1cblxuQG1peGluIGdlbmVyYXRlLXNpemUtY2xhc3Nlcygkc2l6ZS1tYXAsICRkZXZpY2UsICRicmVha3BvaW50OiBudWxsKSB7XG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAvLyBObyBtZWRpYSBxdWVyeSBmb3IgbW9iaWxlXG4gICAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkc2l6ZS1tYXAge1xuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1zaXplIHtcbiAgICAgICAgbWFyZ2luOiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLXRvcC1zaXplIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1sZWZ0LXNpemUge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctc2l6ZSB7XG4gICAgICAgIHBhZGRpbmc6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1sZWZ0LXNpemUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1nYXAtc2l6ZSB7XG4gICAgICAgIGdhcDogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gTWVkaWEgcXVlcnkgZm9yIHRhYmxldCBhbmQgZGVza3RvcFxuICAgIEBpbmNsdWRlIGJwKCRicmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRzaXplLW1hcCB7XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1tYXJnaW4tc2l6ZSB7XG4gICAgICAgICAgbWFyZ2luOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLXNpemUge1xuICAgICAgICAgIHBhZGRpbmc6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tZ2FwLXNpemUge1xuICAgICAgICAgIGdhcDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBzZWFyY2gtcmVzdWx0cyB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiByZW0oNCk7XG4gIHBhZGRpbmc6IHJlbSg4KSByZW0oMTIpO1xuICBtYXJnaW4tdG9wOiByZW0oOCk7XG4gIG1heC1oZWlnaHQ6IHJlbSgyNDApO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cbiAgLnNlYXJjaC1yZXN1bHQtaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBwYWRkaW5nOiByZW0oOCkgcmVtKDE2KSByZW0oOCkgcmVtKDI4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLyogU3RhcnQgYXQgdGhlIG9yaWdpbmFsIHBvc2l0aW9uICovXG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IC8qIE1vdmUgZnVsbHkgdG8gdGhlIGxlZnQgKi9cbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyUGFkZGluZyB7XG5cbiAgQGluY2x1ZGUgYnAodGFibGV0ZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKDE2KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTYpO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfdGFibGV0KSAvIDIpKTtcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbShjYWxjKCgxMDB2dyAtIDkzJSkgLyAyKSk7XG4gIH1cbiAgQGluY2x1ZGUgYnAobGFwdG9weHMpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbShjYWxjKCgxMDB2dyAtICRzaXRlX3dpZHRoX2xhcHRvcHhzKSAvIDIpKTtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyQXJyb3cge1xuICAuYXJyb3cge1xuICAgIHdpZHRoOiByZW0oNDgpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6bm90KC5zbGljay1kaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3JfX3ByaW1hcnk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5jdXN0b20tcHJldiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNlY3Rpb25QYWRkaW5nWFMge1xuICBwYWRkaW5nLXRvcDogcmVtKDIwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSgyMCk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzApO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oNDApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xuICB9XG59XG5cbkBtaXhpbiBzZWN0aW9uUGFkZGluZ00ge1xuICBwYWRkaW5nLXRvcDogcmVtKDQwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSg0MCk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oNjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oODApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oODApO1xuICB9XG59XG5cbkBtaXhpbiBzZWN0aW9uUGFkZGluZ0wge1xuICBwYWRkaW5nLXRvcDogcmVtKDgwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSg4MCk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTAwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEwMCk7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgxMjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTIwKTtcbiAgfVxufVxuXG5AbWl4aW4gc2VjdGlvblBhZGRpbmdEMTAwIHtcbiAgcGFkZGluZy10b3A6IHJlbSg2MCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW0oNjApO1xuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDgwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDEwMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDApO1xuICB9XG59XG5cbkBtaXhpbiBjYXRlZ29yeU1ldGFDUFQge1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogcmVtKDMyKTtcblxuICAucHVibGlzaC1kYXRlIHtcbiAgICBjb2xvcjogJGdyZXktdGV4dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBkb3RCZWZvcmVUZXh0O1xuXG4gIH1cbn1cblxuQG1peGluIGRvdEJlZm9yZVRleHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogcmVtKDUpO1xuICAgIGhlaWdodDogcmVtKDUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiByZW0oLTE2KTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJGdyZXktdGV4dDtcbiAgfVxufVxuXG5AbWl4aW4gcG9zdHNIb2xkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICBnYXA6IHJlbSgyNCk7XG4gIHBhZGRpbmc6IHJlbSgyNCkgMCByZW0oNDApIDA7XG4gIG1heC13aWR0aDogcmVtKDEwNjApO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZzogcmVtKDQwKSAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuXG5AbWl4aW4gcG9zdHNIb2xkZXI0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiByZW0oMjQpO1xuICBwYWRkaW5nOiByZW0oMjQpIDAgcmVtKDQwKSAwO1xuICBtYXgtd2lkdGg6IHJlbSgxMDYwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmc6IHJlbSg0MCkgMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cbn1cblxuQG1peGluIHBvc3RDYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JvcmRlci1pbnB1dDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMS41cHggI0QzRDNEMztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYuaGlnaGxpZ2h0ZWQge1xuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbTtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbSgzODApO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmltYWdlLXBhcnQge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDU1MCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtcGFydCB7XG4gICAgICBmbGV4OiAxO1xuXG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDU1KSByZW0oNjApO1xuICAgICAgfVxuXG4gICAgICAucG9zdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmhpZ2hsaWdodGVkKSB7XG5cblxuICAgICY6aG92ZXIge1xuICAgICAgJjpub3QoLmhpZ2hsaWdodGVkKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxNHB4IDQ1cHggLTZweCAjMTAxODI4MjY7XG5cblxuICAgICAgICBAaW5jbHVkZSBib3JkZXJHcmFkaWVudDtcblxuICAgICAgICAvL2JveC1zaGFkb3c6IDBweCAxNHB4IDQ1cHggLTZweCAjMTAxODI4MjY7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLy9ib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MS41ZGVnLCAjQThGMEQyIC0zLjczJSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAxNy44MSUsIHJnYmEoMCwgMTIxLCA4MywgMCkgMTAwJSkgMTtcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zO1xuXG4gICAgICAgIC5jb250ZW50LXBhcnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNGMkY4RjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1hZ2UtcGFydCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiByZW0oMjYwKTtcbiAgICBtYXgtaGVpZ2h0OiByZW0oMjYwKTtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbSgyODApO1xuICAgICAgbWF4LWhlaWdodDogcmVtKDI4MCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud3AtcG9zdC1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtcGFydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcmVtKDE2KTtcbiAgICBwYWRkaW5nOiByZW0oMTYpIHJlbSgxNikgcmVtKDI0KSByZW0oMTYpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuXG4gICAgLmNhdGVnb3J5IHtcbiAgICAgIEBpbmNsdWRlIGNhdGVnb3J5TWV0YUNQVFxuICAgIH1cblxuICAgIC5wb3N0LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmV4Y2VycHQge1xuICAgICAgY29sb3I6ICRncmV5LXRleHQ7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBsaW5lLWNsYW1wOiAzOyAvKiBPbmx5IHdvcmtzIGZvciBXZWJLaXQgKi9cbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMzsgLyogTGltaXQgdG8gMyBsaW5lcyAqL1xuICAgICAgbWF4LWhlaWdodDogcmVtKDY2KTsgLyogQWRqdXN0IHRoaXMgYmFzZWQgb24geW91ciBsaW5lLWhlaWdodCAoMyBsaW5lcyAqIGxpbmUtaGVpZ2h0KSAqL1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyMik7IC8qIFNldCBhIGxpbmUtaGVpZ2h0IHZhbHVlICovXG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyR3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDEuNXB4OyAvLyBBZGp1c3QgdGhpcyB2YWx1ZSB0byBjaGFuZ2UgYm9yZGVyIHRoaWNrbmVzc1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MS41ZGVnLCAjQThGMEQyIC0zLjczJSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAxNy44MSUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgyOTcuNzZkZWcsICNBOEYwRDIgMy41OCUsIHJnYmEoMCwgMTIxLCA4MywgMCkgMjUuMTQlKTtcbiAgICAtd2Via2l0LW1hc2s6IGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsXG4gICAgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTtcbiAgICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiB4b3I7XG4gICAgbWFzay1jb21wb3NpdGU6IGV4Y2x1ZGU7XG4gICAgLy9wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gc2luZ2xlQ3B0U2VjdGlvblRpdGxlIHtcbiAgZm9udC1zaXplOiByZW0oMjQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgZm9udC1zaXplOiByZW0oMzApO1xuICB9XG59XG5cbkBtaXhpbiBjb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogZW0oMTYpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbSgxNik7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF9sYXB0b3B4cyAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBkaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbn1cblxuQG1peGluIG1lbWJlckNhcmQge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHJlbSgyNTYpO1xuICBoZWlnaHQ6IHJlbSgzMDQpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgIC5tZW1iZXItaW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5tZW1iZXItaW5mbyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHJlbSgxMzYpKSByb3RhdGUoNWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IC8vIEtlZXAgdGhlIHNhbWUgc29saWQgYmFja2dyb3VuZCBmb3Igc21vb3RoIGJsZW5kaW5nXG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IC8vIEZhZGUgaW4gdGhlIGdyYWRpZW50IG9uIGhvdmVyXG4gICAgICAgIH1cblxuICAgICAgICAudG9wLXBhcnQge1xuICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnBvc2l0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX2JvcmRlci1pbnB1dDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5ib3R0b20tcGFydCB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAubWVtYmVyLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICAgIEBpbmNsdWRlIGJwKHBob25lbGFuZHNjYXBlKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG5cbiAgICAvL2JhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1OS4zNyUgNTAlIGF0IDUwJSA1MCUsICNGRkZGRkYgMCUsICNGNUY1RjUgMTAwJSk7XG5cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDI1KTtcbiAgICB9XG4gIH1cblxuICAubWVtYmVyLWluZm8ge1xuICAgIHBhZGRpbmc6IHJlbSgzMikgcmVtKDI0KTtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCByZW0oMTM2KSkgcm90YXRlKDVkZWcpO1xuXG4gICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZSgwKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgYSBwc2V1ZG8tZWxlbWVudCBmb3IgdGhlIGdyYWRpZW50XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MC41JSAzNS44MSUgYXQgNTAlIDUwJSwgIzFEODg2NiAwJSwgIzJCOEY3MCAxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7IC8vIFNtb290aCBvcGFjaXR5IHRyYW5zaXRpb25cbiAgICAgIHotaW5kZXg6IC0xOyAvLyBNYWtlIHN1cmUgdGhlIGdyYWRpZW50IHN0YXlzIGJlaGluZCB0aGUgZWxlbWVudFxuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbTtcblxuICAgICAgLy9ib3JkZXI6IDEuNXB4IHNvbGlkOyAvKiBEZWZpbmVzIHRoZSB3aWR0aCBhbmQgc3R5bGUgb2YgdGhlIGJvcmRlciAqL1xuICAgICAgLy9ib3JkZXItaW1hZ2Utc291cmNlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikpLFxuICAgICAgLy9saW5lYXItZ3JhZGllbnQoOTEuNWRlZywgI0E4RjBEMiAtMy43MyUsIHJnYmEoMjAsIDE0MSwgMTAzLCAwKSAxNy44MSUpLFxuICAgICAgLy9saW5lYXItZ3JhZGllbnQoMjk3Ljc2ZGVnLCAjQThGMEQyIDMuNTglLCByZ2JhKDIwLCAxNDEsIDEwMywgMCkgMjUuMTQlKTtcbiAgICAgIC8vYm9yZGVyLWltYWdlLXNsaWNlOiAxO1xuICAgICAgYm94LXNoYWRvdzogM3B4IDVweCAxNXB4IDBweCAjMDAwMDAwMjYsXG4gICAgICAycHggNHB4IDVweCAtMnB4ICMwMDAwMDAxQTtcblxuICAgICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgICAgb3BhY2l0eTogMDsgLy8gSW5pdGlhbGx5IGhpZGUgdGhlIGdyYWRpZW50XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1wYXJ0IHtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBvc2l0aW9uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIEBpbmNsdWRlIGJwKHBob25lbGFuZHNjYXBlKSB7XG4gICAgICAgICAgY29sb3I6ICRncmV5LXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJvdHRvbS1wYXJ0IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIEBpbmNsdWRlIGJwKHBob25lbGFuZHNjYXBlKSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbWJlclNpbmdsZUNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHJlbSgxNik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiByZW0oMjApO1xuICAgIG1heC13aWR0aDogcmVtKDI3MCk7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogcmVtKDgwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgIHdpZHRoOiByZW0oMTIwKTtcbiAgICB9XG4gIH1cblxuICAubWVtYmVyLWluZm8ge1xuICAgIC5uYW1lIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNik7XG4gICAgfVxuXG4gICAgLnBvc2l0aW9uIHtcbiAgICAgIGNvbG9yOiAkZ3JleS10ZXh0O1xuICAgIH1cblxuICAgIC5lbWFpbCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oNik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiByZW0oOCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93blNlbGVjdCB7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHJlbSg4KTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JfX2JvcmRlci1pbnB1dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogRm9yIENocm9tZSwgU2FmYXJpLCBhbmQgT3BlcmEgKi9cbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvKiBGb3IgRmlyZWZveCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8qIEZvciBDaHJvbWUgYW5kIFNhZmFyaSAqL1xuICBwYWRkaW5nOiByZW0oMTQpIHJlbSg1MikgcmVtKDE0KSByZW0oMTQpO1xuXG4gIGJhY2tncm91bmQ6IHVybCgnI3skdGVtcGxhdGVfZGlyZWN0b3J5fS9hc3NldHMvaWNvbnMvYWktY2hldnJvbi1kb3duLnN2ZycpIG5vLXJlcGVhdCByaWdodCByZW0oMTApIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiByZW0oMjQpO1xuXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cblxufVxuXG5AbWl4aW4gZmlsdGVyV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ3JpZC1nYXA6IHJlbSgyMCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn0iLCIvKipcbiAqIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgZ2l2ZW4gbnVtYmVyLXVuaXQtY29tYmluYXRpb24gYW5kIHJldHVybnMgdGhlIG51bWJlci4gXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxuICogQHVzYWdlOiBwYXJzZS1pbnQoMTBweCkgPT4gMTBcbiAqL1xuLyoqXG4gKiBTaW1wbHkgYWRkcyB0aGUgZW0gdW5pdCB0byBhIGdpdmVuIG51bWJlci4gVGhpcyBpcyB1c2VkIHR3aWNlIGluIHRoZVxuICogZnVuY3Rpb24gdW5kZXJuZWF0aCwgdGh1cyB0aGUgbmVlZCBmb3IgYSBzZXBhcmF0ZSBmdW5jdGlvbi5cbiAqL1xuLyoqXG4gKiBDYWxjdWxhdGVzIGVtIHZhbHVlcyBmb3IgYSBnaXZlbiBsaXN0IG9mIChweCBvciBlbSkgdmFsdWVzIGFuZCBhIGdpdmVuIGVtXG4gKiBiYXNlLiBNdWx0aXBseSBiYXNlIHZhbHVlcyBmb3IgbmVzdGVkIGVtIHN0cnVjdHVyZXMgKGxhc3QgQHVzYWdlIGV4YW1wbGUpLlxuICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cbiAqICAgICAgICAgZW0oMjRweCwgLjg3NWVtKSA9PiAxLjcxNDI5ZW1cbiAqICAgICAgICAgZW0oMTJweCAwIDdlbSByZ2JhKDAsIDAsIDAsIC43KSwgMS43NSkgPT4gLjQyODU3ZW0gMCA0ZW0gcmdiYSgwLCAwLCAwLCAwLjcpXG4gKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cbiAqICAgICAgICAgZW0oMjNweCwgZW0oNTNweCkpID0+IC40MzM5NmVtXG4gKiAgICAgICAgIGVtKDI0cHgsIDEuNSAqIDEuMTI1KSA9PiAuODg4ODllbVxuICovXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLyogU3RhcnQgYXQgdGhlIG9yaWdpbmFsIHBvc2l0aW9uICovXG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IC8qIE1vdmUgZnVsbHkgdG8gdGhlIGxlZnQgKi9cbiAgfVxufVxuLm1vYmlsZS1oYXMteHMtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLXBhZGRpbmctc2l6ZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtZ2FwLXNpemUge1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1tYXJnaW4tdG9wLXNpemUge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLWdhcC1zaXplIHtcbiAgZ2FwOiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWQtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDAuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWQtbWFyZ2luLXRvcC1zaXplIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLW1hcmdpbi1sZWZ0LXNpemUge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1wYWRkaW5nLXNpemUge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLXBhZGRpbmctYm90dG9tLXNpemUge1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1nYXAtc2l6ZSB7XG4gIGdhcDogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbS1tYXJnaW4tc2l6ZSB7XG4gIG1hcmdpbjogMXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbS1tYXJnaW4tdG9wLXNpemUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tbWFyZ2luLWxlZnQtc2l6ZSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLXBhZGRpbmctc2l6ZSB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tcGFkZGluZy10b3Atc2l6ZSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLWdhcC1zaXplIHtcbiAgZ2FwOiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1sLW1hcmdpbi1zaXplIHtcbiAgbWFyZ2luOiAxLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1sLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtcGFkZGluZy1sZWZ0LXNpemUge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtZ2FwLXNpemUge1xuICBnYXA6IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhsLW1hcmdpbi1zaXplIHtcbiAgbWFyZ2luOiAxLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtZ2FwLXNpemUge1xuICBnYXA6IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLW1hcmdpbi1zaXplIHtcbiAgbWFyZ2luOiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICBtYXJnaW4tbGVmdDogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLXBhZGRpbmctc2l6ZSB7XG4gIHBhZGRpbmc6IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgcGFkZGluZy10b3A6IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1nYXAtc2l6ZSB7XG4gIGdhcDogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHh4bC1tYXJnaW4tc2l6ZSB7XG4gIG1hcmdpbjogMnJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHh4bC1tYXJnaW4tdG9wLXNpemUge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLXBhZGRpbmctc2l6ZSB7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtcGFkZGluZy10b3Atc2l6ZSB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLWdhcC1zaXplIHtcbiAgZ2FwOiAycmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYmxldC1oYXMteHMtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMC4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHMtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLWdhcC1zaXplIHtcbiAgICBnYXA6IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLWdhcC1zaXplIHtcbiAgICBnYXA6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhsLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDIuMTI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtZ2FwLXNpemUge1xuICAgIGdhcDogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLWdhcC1zaXplIHtcbiAgICBnYXA6IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtZ2FwLXNpemUge1xuICAgIGdhcDogMi43NXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAuZGVza3RvcC1oYXMteHMtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLWdhcC1zaXplIHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtZ2FwLXNpemUge1xuICAgIGdhcDogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtZ2FwLXNpemUge1xuICAgIGdhcDogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLWdhcC1zaXplIHtcbiAgICBnYXA6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eHhsLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDMuMTI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eHhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtZ2FwLXNpemUge1xuICAgIGdhcDogMy4xMjVyZW07XG4gIH1cbn1cbi5ib3JkZXItcmFkaXVzLXMge1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xufVxuXG4uYm9yZGVyLXJhZGl1cy1tIHtcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLW1vYmlsZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hcnJvdy1jb250ZW50LTI4NiB7XG4gICAgbWF4LXdpZHRoOiAxNy44NzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubmFycm93LWNvbnRlbnQtMzQwIHtcbiAgICBtYXgtd2lkdGg6IDIxLjI1cmVtO1xuICB9XG59XG5cbi5uYXJyb3ctY29udGVudC0zODAge1xuICBtYXgtd2lkdGg6IDIzLjc1cmVtO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNDUwIHtcbiAgbWF4LXdpZHRoOiAyOC4xMjVyZW07XG59XG5cbi5uYXJyb3ctY29udGVudC00ODAge1xuICBtYXgtd2lkdGg6IDMwcmVtO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNTAwIHtcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTYwMCB7XG4gIG1heC13aWR0aDogMzcuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5uYXJyb3ctY29udGVudC03MjAge1xuICBtYXgtd2lkdGg6IDQ1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5hcnJvdy1jb250ZW50LTc3MCB7XG4gIG1heC13aWR0aDogNDguMTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5hcnJvdy1jb250ZW50LTk0MCB7XG4gIG1heC13aWR0aDogNTguNzVyZW07XG59XG5cbi5uYXJyb3ctY29udGVudC0xMDYwIHtcbiAgbWF4LXdpZHRoOiA2Ni4yNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi53aWR0aC0xMDAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxpbmstYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDc5NTM7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbn1cblxuLmxpbmstYnV0dG9uLXdoaXRlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbn1cblxuLmxpbmstd2l0aC1hcnJvdy1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmxpbmstd2l0aC1hcnJvdy1yaWdodDphZnRlciB7XG4gIGNvbnRlbnQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWkvYXNzZXRzL2ltYWdlcy9hcnJvdy1yaWdodC5zdmdcIik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5saW5rLXdpdGgtYXJyb3ctcmlnaHQtd2hpdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5saW5rLXdpdGgtYXJyb3ctcmlnaHQtd2hpdGU6YWZ0ZXIge1xuICBjb250ZW50OiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvaHVtYW5pdGFzLWFpL2Fzc2V0cy9pbWFnZXMvYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGUtb24tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRlLW9uLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubS1iLTE2IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm0tYi0yNCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLm0tYi0zMiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5tLWItNDAge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi5uby1wZC10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGQtYnQge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucGlsbCB7XG4gIGJvcmRlcjogMS41cHggc29saWQgIzAwNzk1MztcbiAgYm9yZGVyLXJhZGl1czogMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDEuMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwNzk1Mztcbn1cblxuLnNpZGUtdmVjdG9ycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNpZGUtdmVjdG9yczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWkvYXNzZXRzL2ltYWdlcy9ibG9jay1wcm9qZWN0LXZlY3RvcjEuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKCgxMDB2dyAtIDkzJSkgLyAtMik7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNpZGUtdmVjdG9yczphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2h1bWFuaXRhcy1haS9hc3NldHMvaW1hZ2VzL2Jsb2NrLXByb2plY3QtdmVjdG9yMi5zdmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKCgxMDB2dyAtIDkzJSkgLyAtMik7XG4gICAgdG9wOiAtMS4yNXJlbTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4uc2lkZS12ZWN0b3JzLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZS12ZWN0b3JzLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2h1bWFuaXRhcy1haS9hc3NldHMvaW1hZ2VzL2Jsb2NrLXByb2plY3QtdmVjdG9yMS5zdmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gOTMlKSAvIC0yKTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZS12ZWN0b3JzLWJsb2NrOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvaHVtYW5pdGFzLWFpL2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IyLnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gOTMlKSAvIC0yKTtcbiAgICB0b3A6IC0xLjI1cmVtO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cbi5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICNEM0QzRDM7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG4uc2VjdGlvblBhZGRpbmdYUyB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VjdGlvblBhZGRpbmdYUyB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2VjdGlvblBhZGRpbmdYUyB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uUGFkZGluZ00ge1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZ00ge1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZ00ge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uUGFkZGluZ0wge1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb25QYWRkaW5nTCB7XG4gICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNlY3Rpb25QYWRkaW5nTCB7XG4gICAgcGFkZGluZy10b3A6IDcuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNy41cmVtO1xuICB9XG59XG5cbi5zZWN0aW9uUGFkZGluZy1ELTEwMCB7XG4gIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VjdGlvblBhZGRpbmctRC0xMDAge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZy1ELTEwMCB7XG4gICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07XG4gIH1cbn1cblxuLmxpbmUtaGVpZ2h0LTEtNDUge1xuICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLmZvbnQtc2l6ZS0yMCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mb250LXNpemUtMjAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuXG4uZm9udC1zaXplLTMwIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mb250LXNpemUtMzAge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIH1cbn1cblxuLmJvcmRlci1ncmFkaWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJvcmRlci1ncmFkaWVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDEuNXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTEuNWRlZywgI0E4RjBEMiAtMy43MyUsIHJnYmEoMCwgMTIxLCA4MywgMCkgMTcuODElKSwgbGluZWFyLWdyYWRpZW50KDI5Ny43NmRlZywgI0E4RjBEMiAzLjU4JSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAyNS4xNCUpO1xuICAtd2Via2l0LW1hc2s6IGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCkgY29udGVudC1ib3gsIGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7XG4gIC13ZWJraXQtbWFzay1jb21wb3NpdGU6IHhvcjtcbiAgbWFzay1jb21wb3NpdGU6IGV4Y2x1ZGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gIH1cbn1cbi5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2suaXMtc3R5bGUtYWJvdXQgLmhpZ2hsaWdodHMtd3JhcHBlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNjI1cmVtO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrLmlzLXN0eWxlLWFib3V0IC5oaWdobGlnaHRzLXdyYXBwZXIge1xuICAgIGdhcDogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2suaXMtc3R5bGUtYWJvdXQgLmhpZ2hsaWdodHMtd3JhcHBlciAuaGlnaGxpZ2h0IHtcbiAgcGFkZGluZzogMS41cmVtIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZ2hsaWdodHMtY291bnRlci1ibG9jay5pcy1zdHlsZS1hYm91dCAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQge1xuICAgIG1heC13aWR0aDogMTVyZW07XG4gICAgcGFkZGluZzogMCAyLjM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2suaXMtc3R5bGUtYWJvdXQgLmhpZ2hsaWdodHMtd3JhcHBlciAuaGlnaGxpZ2h0Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA1LjYyNXJlbTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjRDNEM0QzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuLmhpZ2hsaWdodHMtY291bnRlci1ibG9jay5pcy1zdHlsZS1hYm91dCAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQgLnZhbHVlIHtcbiAgY29sb3I6ICMwMDc5NTM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrLmlzLXN0eWxlLWFib3V0IC5oaWdobGlnaHRzLXdyYXBwZXIgLmhpZ2hsaWdodCAubGFiZWwge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrIC5oaWdobGlnaHRzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEuMjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2sgLmhpZ2hsaWdodHMtd3JhcHBlciB7XG4gICAgZ2FwOiAyLjVyZW07XG4gIH1cbn1cbi5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2sgLmhpZ2hsaWdodHMtd3JhcHBlciAuaGlnaGxpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjI1cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2sgLmhpZ2hsaWdodHMtd3JhcHBlciAuaGlnaGxpZ2h0IHtcbiAgICBnYXA6IDAuNzVyZW07XG4gIH1cbn1cbi5oaWdobGlnaHRzLWNvdW50ZXItYmxvY2sgLmhpZ2hsaWdodHMtd3JhcHBlciAuaGlnaGxpZ2h0Om5vdCg6Zmlyc3Qtb2YtdHlwZSk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMC42MjVyZW07XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNEM0QzRDM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhpZ2hsaWdodHMtY291bnRlci1ibG9jayAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQ6bm90KDpmaXJzdC1vZi10eXBlKTpiZWZvcmUge1xuICAgIGxlZnQ6IC0xLjI1cmVtO1xuICAgIGhlaWdodDogMTQwJTtcbiAgfVxufVxuLmhpZ2hsaWdodHMtY291bnRlci1ibG9jayAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQucm93IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhpZ2hsaWdodHMtY291bnRlci1ibG9jayAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrIC5oaWdobGlnaHRzLXdyYXBwZXIgLmhpZ2hsaWdodC5jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmhpZ2hsaWdodHMtY291bnRlci1ibG9jayAuaGlnaGxpZ2h0cy13cmFwcGVyIC5oaWdobGlnaHQgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG59XG4uaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrIC5oaWdobGlnaHRzLXdyYXBwZXIgLmhpZ2hsaWdodCAubGFiZWwge1xuICBjb2xvcjogIzZENzE4MTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn0iLCJAaW1wb3J0IFwiLi4vbWl4aW5zL21peGlucy1tYXN0ZXJcIjtcblxuJHRlbXBsYXRlX2RpcmVjdG9yeTogJy93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWknO1xuXG4kc2l6ZXMtbW9iaWxlOiAoXG4gICAgICAgIHhzOiByZW0oNCksIC8vIFNtYWxsZXIgYmFzZSBzaXplIGZvciBleHRyYSBzbWFsbCBlbGVtZW50cyBvbiBtb2JpbGVcbiAgICAgICAgczogcmVtKDgpLCAvLyBTbWFsbCBzaXplIGZvciBlbGVtZW50cyBvbiBtb2JpbGVcbiAgICAgICAgZDogcmVtKDEyKSwgLy8gRGVmYXVsdCBzaXplLCB1c2VkIG1vcmUgZnJlcXVlbnRseSBvbiBtb2JpbGVcbiAgICAgICAgbTogcmVtKDE2KSwgLy8gTWVkaXVtIHNpemUgZm9yIG1vYmlsZSwgc2xpZ2h0bHkgc21hbGxlciB0aGFuIGRlc2t0b3BcbiAgICAgICAgbDogcmVtKDIwKSwgLy8gTGFyZ2VyIHNpemUsIGxlc3MgY29tbW9uIG9uIG1vYmlsZVxuICAgICAgICB4bDogcmVtKDI0KSwgLy8gRXh0cmEgbGFyZ2Ugc2l6ZSBmb3IgcHJvbWluZW50IGVsZW1lbnRzIG9uIG1vYmlsZVxuICAgICAgICB4eGw6IHJlbSgyOCksIC8vIEV4dHJhIGV4dHJhIGxhcmdlIHNpemUsIHJhcmVseSB1c2VkIG9uIG1vYmlsZVxuICAgICAgICB4eHhsOiByZW0oMzIpIC8vIExhcmdlc3Qgc2l6ZSwgdHlwaWNhbGx5IGZvciBzcGVjaWFsIHVzZSBjYXNlc1xuKTtcblxuJHNpemVzLXRhYmxldDogKFxuICAgICAgICB4czogcmVtKDYpLCAvLyBTbGlnaHRseSBsYXJnZXIgdGhhbiBtb2JpbGUgZXh0cmEgc21hbGwgc2l6ZVxuICAgICAgICBzOiByZW0oMTApLCAvLyBTbWFsbCBzaXplIGFkanVzdGVkIGZvciB0YWJsZXRcbiAgICAgICAgZDogcmVtKDE2KSwgLy8gRGVmYXVsdCBzaXplLCBjb21tb24gb24gdGFibGV0IHNjcmVlbnNcbiAgICAgICAgbTogcmVtKDIwKSwgLy8gTWVkaXVtIHNpemUsIHNpbWlsYXIgdG8gc21hbGxlciBkZXNrdG9wIHNpemVzXG4gICAgICAgIGw6IHJlbSgyNiksIC8vIExhcmdlciBzaXplLCBmb3Igbm90YWJsZSBlbGVtZW50cyBvbiB0YWJsZXRzXG4gICAgICAgIHhsOiByZW0oMzQpLCAvLyBFeHRyYSBsYXJnZSwgZ2V0dGluZyBjbG9zZXIgdG8gZGVza3RvcCBzaXplc1xuICAgICAgICB4eGw6IHJlbSgzOCksIC8vIEV4dHJhIGV4dHJhIGxhcmdlIGZvciBzdGFuZG91dCB0YWJsZXQgZWxlbWVudHNcbiAgICAgICAgeHh4bDogcmVtKDQ0KSAvLyBMYXJnZXN0IHNpemUsIHVzZWZ1bCBmb3IgcHJvbWluZW50IGl0ZW1zIG9uIHRhYmxldHNcbik7XG5cbiRzaXplcy1kZXNrdG9wOiAoXG4gICAgICAgIHhzOiByZW0oOCksIC8vIEV4dHJhIHNtYWxsIHNpemUgZm9yIGRlc2t0b3AsIHVzZWQgZm9yIHNtYWxsIGVsZW1lbnRzXG4gICAgICAgIHM6IHJlbSgxMiksIC8vIFNtYWxsIHNpemUgZm9yIGRlc2t0b3AsIHNsaWdodGx5IGxhcmdlciB0aGFuIHRhYmxldFxuICAgICAgICBkOiByZW0oMjApLCAvLyBEZWZhdWx0IHNpemUsIGNvbW1vbiBmb3IgbWFueSBkZXNrdG9wIGVsZW1lbnRzXG4gICAgICAgIG06IHJlbSgyNCksIC8vIE1lZGl1bSBzaXplLCBmcmVxdWVudGx5IHVzZWQgb24gZGVza3RvcHNcbiAgICAgICAgbDogcmVtKDMyKSwgLy8gTGFyZ2Ugc2l6ZSBmb3IgZGVza3RvcCwgdXNlZCBmb3Iga2V5IGNvbXBvbmVudHNcbiAgICAgICAgeGw6IHJlbSg0MCksIC8vIEV4dHJhIGxhcmdlIHNpemUgZm9yIHNpZ25pZmljYW50IGRlc2t0b3AgZWxlbWVudHNcbiAgICAgICAgeHhsOiByZW0oNDQpLCAvLyBFeHRyYSBleHRyYSBsYXJnZSBzaXplIGZvciBlbXBoYXNpc1xuICAgICAgICB4eHhsOiByZW0oNTApIC8vIExhcmdlc3Qgc2l6ZSwgdHlwaWNhbGx5IGZvciB2ZXJ5IGxhcmdlIGRlc2t0b3AgaXRlbXNcbik7XG5cbi8vIE1vYmlsZSBzdHlsZXMgKGRlZmF1bHQsIG5vIG1lZGlhIHF1ZXJ5KVxuQGluY2x1ZGUgZ2VuZXJhdGUtc2l6ZS1jbGFzc2VzKCRzaXplcy1tb2JpbGUsIG1vYmlsZSk7XG5cbi8vIFRhYmxldCBzdHlsZXMgKHdpdGggbWVkaWEgcXVlcnkpXG5AaW5jbHVkZSBnZW5lcmF0ZS1zaXplLWNsYXNzZXMoJHNpemVzLXRhYmxldCwgdGFibGV0LCB0YWJsZXQpO1xuXG4vLyBEZXNrdG9wIHN0eWxlcyAod2l0aCBtZWRpYSBxdWVyeSBzdGFydGluZyBhdCBsYXB0b3B4cyBicmVha3BvaW50KVxuQGluY2x1ZGUgZ2VuZXJhdGUtc2l6ZS1jbGFzc2VzKCRzaXplcy1kZXNrdG9wLCBkZXNrdG9wLCBsYXB0b3B4cyk7XG5cblxuLmJvcmRlci1yYWRpdXMtcyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXM7XG59XG5cbi5ib3JkZXItcmFkaXVzLW0ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tO1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlci1tb2JpbGUge1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGVkb3duKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubmFycm93LWNvbnRlbnQtMjg2IHtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgbWF4LXdpZHRoOiByZW0oMjg2KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubmFycm93LWNvbnRlbnQtMzQwIHtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgbWF4LXdpZHRoOiByZW0oMzQwKTtcbiAgfVxufVxuXG4ubmFycm93LWNvbnRlbnQtMzgwIHtcbiAgbWF4LXdpZHRoOiByZW0oMzgwKTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTQ1MCB7XG4gIG1heC13aWR0aDogcmVtKDQ1MCk7XG59XG5cbi5uYXJyb3ctY29udGVudC00ODAge1xuICBtYXgtd2lkdGg6IHJlbSg0ODApO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNTAwIHtcbiAgbWF4LXdpZHRoOiByZW0oNTAwKTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTYwMCB7XG4gIG1heC13aWR0aDogcmVtKDYwMCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNzIwIHtcbiAgbWF4LXdpZHRoOiByZW0oNzIwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5uYXJyb3ctY29udGVudC03NzAge1xuICBtYXgtd2lkdGg6IHJlbSg3NzApO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5hcnJvdy1jb250ZW50LTk0MCB7XG4gIG1heC13aWR0aDogcmVtKDk0MCk7XG59XG5cbi5uYXJyb3ctY29udGVudC0xMDYwIHtcbiAgbWF4LXdpZHRoOiByZW0oMTA2MCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ud2lkdGgtMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5saW5rLWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICBwYWRkaW5nOiByZW0oMTIpIDA7XG59XG5cbi5saW5rLWJ1dHRvbi13aGl0ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogcmVtKDEyKSAwO1xufVxuXG4ubGluay13aXRoLWFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiByZW0oMjgpO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiI3skdGVtcGxhdGVfZGlyZWN0b3J5fS9hc3NldHMvaW1hZ2VzL2Fycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbi5saW5rLXdpdGgtYXJyb3ctcmlnaHQtd2hpdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbSgyOCk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmhpZGUtb24tbW9iaWxlIHtcbiAgQGluY2x1ZGUgYnAodGFibGV0ZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1vbi1kZXNrdG9wIHtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tLWItMTYge1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xufVxuXG4ubS1iLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbn1cblxuLm0tYi0zMiB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgzMik7XG59XG5cbi5tLWItNDAge1xuICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xufVxuXG4ubm8tcGQtdG9wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm5vLXBkLWJ0IHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnBpbGwge1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogcmVtKDMwKTtcbiAgcGFkZGluZzogcmVtKDYpIHJlbSgxOCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG59XG5cbi5zaWRlLXZlY3RvcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgY29udGVudDogdXJsKFwiI3skdGVtcGxhdGVfZGlyZWN0b3J5fS9hc3NldHMvaW1hZ2VzL2Jsb2NrLXByb2plY3QtdmVjdG9yMS5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiBjYWxjKCgxMDB2dyAtICRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZSkgLyAtMik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IyLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBjYWxjKCgxMDB2dyAtICRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZSkgLyAtMik7XG4gICAgICB0b3A6IHJlbSgtMjApO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gIH1cbn1cblxuLnNpZGUtdmVjdG9ycy1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IxLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlKSAvIC0yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIiN7JHRlbXBsYXRlX2RpcmVjdG9yeX0vYXNzZXRzL2ltYWdlcy9ibG9jay1wcm9qZWN0LXZlY3RvcjIuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlKSAvIC0yKTtcbiAgICAgIHRvcDogcmVtKC0yMCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgfVxufVxuXG4uZGl2aWRlciB7XG4gIEBpbmNsdWRlIGRpdmlkZXI7XG59XG5cbi5zZWN0aW9uUGFkZGluZ1hTIHtcbiAgQGluY2x1ZGUgc2VjdGlvblBhZGRpbmdYUztcbn1cblxuLnNlY3Rpb25QYWRkaW5nTSB7XG4gIEBpbmNsdWRlIHNlY3Rpb25QYWRkaW5nTTtcbn1cblxuLnNlY3Rpb25QYWRkaW5nTCB7XG4gIEBpbmNsdWRlIHNlY3Rpb25QYWRkaW5nTDtcbn1cblxuLnNlY3Rpb25QYWRkaW5nLUQtMTAwIHtcbiAgQGluY2x1ZGUgc2VjdGlvblBhZGRpbmdEMTAwO1xufVxuXG4ubGluZS1oZWlnaHQtMS00NSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uZm9udC1zaXplLTIwIHtcbiAgZm9udC1zaXplOiByZW0oMTgpO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gIH1cbn1cblxuLmZvbnQtc2l6ZS0zMCB7XG4gIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgZm9udC1zaXplOiByZW0oMzApO1xuICB9XG59XG5cbi5ib3JkZXItZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJvcmRlckdyYWRpZW50O1xufVxuXG4vLy5jYXJkcy1ncmFkaWVudC1ib3JkZXIge1xuLy8gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICBiYWNrZ3JvdW5kOiAjZmZmOyAvLyBPciBhbnkgYmFja2dyb3VuZCBjb2xvciB5b3UgcHJlZmVyXG4vLyAgYm9yZGVyLXJhZGl1czogMTBweDsgLy8gQWRqdXN0IHRoaXMgdmFsdWUgYXMgbmVlZGVkXG4vL1xuLy9cbi8vfSIsIlxuLy8gRGVmYXVsdCAtIDMyMSAtIDQwMFxuXG5AbWl4aW4gYnAoJHBvaW50KSB7XG5cbiAgQGlmICRwb2ludCA9PSBwaG9uZXh4c3tcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJHBvaW50ID09IHBob25leHNkb3due1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb2ludCA9PSBwaG9uZXhse1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb2ludCA9PSBwaG9uZWxhbmRzY2FwZSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU2OHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9pbnQgPT0gcGhvbmVsYW5kc2NhcGVPbmx5IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NzBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lbGFuZHNjYXBleGxPbmx5IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0ZG93biB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0bGFuZHNjYXBlZG93bntcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kc2NhcGV7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weHMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpe1xuICAgICAgQGNvbnRlbnQ7IFxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcHhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9weHMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4bCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1MDBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufSIsIi8vIE1haW4gQ29udGFpbmVyIFNpemVzXG4kc2l0ZV93aWR0aF9sYXB0b3B4czogcmVtKDEyMDApO1xuJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlOiA5MyU7XG4kc2l0ZV93aWR0aF90YWJsZXQ6IHJlbSg3MzApO1xuXG4kc2luZ2xlX3Bvc3RfY29udGVudF93aWR0aF9kZXNrdG9wOiByZW0oNzIwKTtcblxuLy9IZWFkZXIgc2l6ZXNcbiRoZWFkZXJfaGVpZ2h0X21vYmlsZTogcmVtKDUwKTtcbiRoZWFkZXJfaGVpZ2h0X2Rlc2t0b3A6IHJlbSg0OCk7XG5cbi8vIEJvcmRlciByYWRpdXNcbiRib3JkZXItcmFkaXVzLXM6IHJlbSgxMik7XG4kYm9yZGVyLXJhZGl1cy1tOiByZW0oMjQpOyIsIi8vICBGb250cyBhbmQgaWNvbnNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy9cbi8vIEZvciBHb29nbGUgRm9udHMgdXNlICBodHRwczovL2dvb2dsZS13ZWJmb250cy1oZWxwZXIuaGVyb2t1YXBwLmNvbS9mb250c1xuLy8gYW5kIHB1dCB0aGUgZGVmaW5pdGlvbnMgaW4gdHlwb2dyYXBoeS9mb250X2ZhY2VzXG4vL1xuLy9cblxuLy8gVXNlZCBtYWlubHkgZm9yIEd1dGVuYmVyZyBmb250LXNpemVzXG4vL0Rlc2t0b3BcbiRmb250LXNpemUteHM6IHJlbSgxMik7XG4kZm9udC1zaXplLXM6IHJlbSgxNCk7XG4kZm9udC1zaXplLWQ6IHJlbSgxNik7XG4kZm9udC1zaXplLW06IHJlbSgxOCk7XG4kZm9udC1zaXplLWw6IHJlbSgyNCk7XG4kZm9udC1zaXplLXhsOiByZW0oMzIpO1xuJGZvbnQtc2l6ZS14eGw6IHJlbSg1Mik7XG4kZm9udC1zaXplLXh4eGw6IHJlbSg0Nik7XG5cbi8vTW9iaWxlIEd1dGVuYmVyZyBmb250LXNpemVzXG4kZm9udC1zaXplLXhzLW1vYmlsZTogcmVtKDEwKTtcbiRmb250LXNpemUtcy1tb2JpbGU6IHJlbSgxNCk7XG4kZm9udC1zaXplLWQtbW9iaWxlOiByZW0oMTYpO1xuJGZvbnQtc2l6ZS1tLW1vYmlsZTogcmVtKDE2KTtcbiRmb250LXNpemUtbC1tb2JpbGU6IHJlbSgyMik7XG4kZm9udC1zaXplLXhsLW1vYmlsZTogcmVtKDI4KTtcbiRmb250LXNpemUteHhsLW1vYmlsZTogcmVtKDMyKTtcbiRmb250LXNpemUteHh4bC1tb2JpbGU6IHJlbSgzNik7XG5cbi8vVGFibGV0IEd1dGVuYmVyZyBmb250LXNpemVzICAoTWF5YmUgbGVhdmUgc2FtZSBhcyBtb2JpbGUgZm9yIHN0YXJ0ZXJzKVxuJGZvbnQtc2l6ZS14cy10YWJsZXQ6IHJlbSgxMCk7XG4kZm9udC1zaXplLXMtdGFibGV0OiByZW0oMTQpO1xuJGZvbnQtc2l6ZS1kLXRhYmxldDogcmVtKDE2KTtcbiRmb250LXNpemUtbS10YWJsZXQ6IHJlbSgxNik7XG4kZm9udC1zaXplLWwtdGFibGV0OiByZW0oMjIpO1xuJGZvbnQtc2l6ZS14bC10YWJsZXQ6IHJlbSgyOCk7XG4kZm9udC1zaXplLXh4bC10YWJsZXQ6IHJlbSgzMik7XG4kZm9udC1zaXplLXh4eGwtdGFibGV0OiByZW0oMzYpO1xuXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJ0xhdG8nLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kZm9udF9fbWFpbjogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udF9fY29kZTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJGZvbnRfX3ByZTogXCJDb3VyaWVyIDEwIFBpdGNoXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRmb250X19saW5lLWhlaWdodC1ib2R5OiAxLjI7XG4kZm9udF9fbGluZS1oZWlnaHQtcHJlOiAxLjY7XG5cbiRmb250X2ZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udF9mYW1pbHlfbWVudTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4kZm9udF9mYW1pbHlfaGVhZGluZ3M6ICRmb250LWZhbWlseS1zZXJpZjtcblxuJGVhc2luZzogZWFzZS1vdXQ7XG5cblxuXG5cbiIsIi8vIEFkZCB5b3VyIG1haW4gY29sb3IgdmFyaWFibGVzIGhlcmVcblxuJGNvbG9yX19wcmltYXJ5OiAjMDA3OTUzO1xuXG4kZ3JleS10ZXh0OiAjNkQ3MTgxO1xuJGRhcmstZ3JleTogIzMzMzMzMztcbiR3aGl0ZTogI2ZmZjtcbiRibGFjazogIzAwMDtcblxuLy8gVmFyaWFibGVzIGZvcm0gVW5kZXJzY29yZXNcblxuLy9UaGUgbmV4dCBmZXcgc2hvdWxkIGJlIHJldmlzZWQgb24gcHJvamVjdCBzdGFydDpcbiRjb2xvcl9fdGV4dC1tYWluOiAjNDA0MDQwOyAvLyBNYWluIHRleHQgY29sb3JcblxuJGNvbG9yX19saW5rOiAjMDA4NmU2OyAvLyBMaW5rc1xuJGNvbG9yX19saW5rLXZpc2l0ZWQ6IGxpZ2h0ZW4oJGNvbG9yX19saW5rLCAxMCUpO1xuJGNvbG9yX19saW5rLWhvdmVyOiAkd2hpdGU7XG5cbiRjb2xvcl9fYmFja2dyb3VuZC1ib2R5OiAkd2hpdGU7XG5cblxuLy9CdXR0b25zXG4kY29sb3JfX3RleHQtYnV0dG9uOiAkd2hpdGU7XG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uOiAkY29sb3JfX3ByaW1hcnk7XG5cbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24taG92ZXI6IGxpZ2h0ZW4oJGNvbG9yX19iYWNrZ3JvdW5kLWJ1dHRvbiwgNCUpO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWJ1dHRvbi1mb2N1czogbGlnaHRlbigkY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLCA4JSk7XG5cbi8vSW5wdXRzXG4kY29sb3JfX2JvcmRlci1pbnB1dDogI0QzRDNEMztcbiRjb2xvcl9fYm9yZGVyLWFiYnI6ICM2NjY7XG4kY29sb3JfX3RleHQtc2NyZWVuOiAjMjE3NTliO1xuJGNvbG9yX190ZXh0LWlucHV0OiAjNjY2O1xuJGNvbG9yX190ZXh0LWlucHV0LWZvY3VzOiAjMTExO1xuXG5cbi8vVGhlc2UgY2FuIGJlIHJldmlzZWQgb24gdGhlIG1vdmUgd2hpbGUgZGV2ZWxvcGluZzpcbiRjb2xvcl9fYmFja2dyb3VuZC1zY3JlZW46ICNmMWYxZjE7XG4kY29sb3JfX2JhY2tncm91bmQtaHI6ICNjY2M7XG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWluczogI2ZmZjljMDtcblxuLy8gQmxvZ1xuJGNvbG9yX19iYWNrZ3JvdW5kLWRhcmtlci1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4ZGVnLCAjQkNGNDkxIC0zMS42NCUsICM5REVBQTggMS45OSUsICM2RUQ1ODYgMzAuNTUlLCAjMkM0QTg1IDkwLjIlKTtcbiRjb2xvcl9fYmFja2dyb3VuZC1ibG9nLWhlYWRlci1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDIzOC4zMmRlZywgI0JDRjQ5MSAtMzEuNjQlLCAjOURFQUE4IDEuOTklLCAjNkVENTg2IDMwLjU1JSwgIzJDNEE4NSA5MC4yJSk7XG5cbiRjb2xvcl9fYmFja2dyb3VuZC1hdXRob3I6ICNGNkY5RkY7XG5cblxuIiwiLy9JbmNsdWRlIFNoYXJlZCB2YXJpYWJsZXMvbWl4aW5zL3N0eWxlcyB3aXRoIHRoZSBtYWluIFN0eWxlcyBvZiB0aGUgc2l0ZVxuQGltcG9ydCBcInNoYXJlZFwiO1xuXG4uaGlnaGxpZ2h0cy1jb3VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZzogcmVtKDIwKSAwO1xuICB9XG5cblxuICAmLmlzLXN0eWxlLWFib3V0IHtcbiAgICAuaGlnaGxpZ2h0cy13cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiByZW0oMTApO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXRkb3duKSB7XG4gICAgICAgIGdhcDogMDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmhpZ2hsaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyNCkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgyNDApO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDM4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRkb3duKSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0oOTApO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX19ib3JkZXItaW5wdXQ7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGlnaGxpZ2h0cy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiByZW0oMjApO1xuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBnYXA6IHJlbSg0MCk7XG4gICAgfVxuXG4gICAgLmhpZ2hsaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiByZW0oNCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICAgIGdhcDogcmVtKDEyKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IHJlbSgtMTApO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGxlZnQ6IHJlbSgtMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5jb2x1bW4ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAudmFsdWUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNSk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS10ZXh0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */
