@keyframes topToBottom {
  0% {
    top: 0;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swipe {
  0% {
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
  }
}
@keyframes swipeRight {
  0% {
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
  }
}
.btn--back:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 0.5em);
  font-size: 2.8125rem;
  height: 1em;
  width: 1em;
  z-index: 1;
}
.btn--back .btn__icon {
  transition-property: background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--back-hover .btn__icon, .btn--back:hover .btn__icon {
  background: white;
  color: #00564a;
}
.panel--white .btn--back-hover .btn__icon, .panel--white .btn--back:hover .btn__icon, .panel--alabaster .btn--back-hover .btn__icon, .panel--alabaster .btn--back:hover .btn__icon {
  background: #00564a;
  color: white;
}
.breadcrumbs a:hover, .breadcrumbs a:focus {
  color: white;
}
.single .breadcrumbs a:hover, .panel--alabaster .breadcrumbs a:hover, .panel--white .breadcrumbs a:hover, .single .breadcrumbs a:focus, .panel--alabaster .breadcrumbs a:focus, .panel--white .breadcrumbs a:focus {
  color: #404042;
}
.share-icons .share-icon {
  transition-property: background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.share-icons .share-icon-hover, .share-icons .share-icon:hover, .share-icons .share-icon:focus {
  color: #002e23;
  background: #2bbaa0;
}
.share-icons-alt, .section--link-back .share-icons, .single-footer .share-icons {
  gap: 1.5625rem;
}
.share-icons-alt ul, .section--link-back .share-icons ul, .single-footer .share-icons ul {
  gap: 1.6875rem;
}
.share-icons-alt .share-icons__title, .section--link-back .share-icons .share-icons__title, .single-footer .share-icons .share-icons__title {
  margin-top: 0.3125rem;
}
.share-icons-alt .share-icon, .section--link-back .share-icons .share-icon, .single-footer .share-icons .share-icon {
  background: transparent;
  color: #002e23;
  height: auto;
  width: auto;
}
.share-icons-alt .share-icon-hover, .section--link-back .share-icons .share-icon-hover, .single-footer .share-icons .share-icon-hover, .share-icons-alt .share-icon:hover, .section--link-back .share-icons .share-icon:hover, .single-footer .share-icons .share-icon:hover, .share-icons-alt .share-icon:focus, .section--link-back .share-icons .share-icon:focus, .single-footer .share-icons .share-icon:focus {
  color: #00a989;
}
.share-icons-donate, .form--donate .share-icons {
  flex-direction: column;
  gap: 1rem;
  margin-top: clamp(2.0625rem, 3.9583333333vw, 3.5625rem);
}
.share-icons-donate .share-icons__title, .form--donate .share-icons .share-icons__title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #002e23;
  line-height: 1.625;
}
.share-icons-donate ul, .form--donate .share-icons ul {
  gap: 0.75rem;
}
.share-icons-donate .share-icon, .form--donate .share-icons .share-icon {
  background: white;
  border-radius: 100%;
  color: #002e23;
  border: 1.5px solid #2bbaa0;
  height: 2.1111111111em;
  width: 2.1111111111em;
}
.share-icons-donate .share-icon:hover, .form--donate .share-icons .share-icon:hover, .share-icons-donate .share-icon:focus, .form--donate .share-icons .share-icon:focus {
  background: #2bbaa0;
}
.btn--icon .btn__icon {
  top: -0.0625em;
  position: relative;
  transition-property: background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--icon .btn__icon svg {
  transition-property: transform;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--solid-peppermint {
  background: #2bbaa0;
  color: #002e23;
}
.btn--solid-peppermint-hover, .btn--solid-peppermint:hover, .btn--solid-peppermint:focus {
  background: #007366;
  color: white;
}
.panel--green .btn--solid-peppermint {
  background: white;
  color: #002e23;
}
.btn--solid-sage {
  background: #007366;
  color: white;
}
.btn--solid-sage-hover, .btn--solid-sage:hover, .btn--solid-sage:focus {
  background: #00564a;
  color: white;
}
.btn--solid-forest {
  background: #002e23;
  color: white;
}
.btn--solid-forest-hover, .block--article-hover .btn--icon.btn--solid-forest, .block--article.block--has-link:hover .btn--icon.btn--solid-forest, .block--article.block--has-link:focus .btn--icon.btn--solid-forest, .btn--solid-forest:hover, .btn--solid-forest:focus {
  background: #2bbaa0;
  color: #002e23;
}
.panel--green .btn--solid-forest-hover, .panel--green .block--article-hover .btn--icon.btn--solid-forest, .block--article-hover .panel--green .btn--icon.btn--solid-forest, .panel--green .block--article.block--has-link:hover .btn--icon.btn--solid-forest, .block--article.block--has-link:hover .panel--green .btn--icon.btn--solid-forest, .panel--green .block--article.block--has-link:focus .btn--icon.btn--solid-forest, .block--article.block--has-link:focus .panel--green .btn--icon.btn--solid-forest, .panel--green .btn--solid-forest:hover, .panel--green .btn--solid-forest:focus {
  background: white;
  color: #002e23;
}
.block--article .block__link:before {
  content: "";
  display: block;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}
.block--article .block__image-wrap img {
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}
.block--article-hover .block__title, .block--article.block--has-link:hover .block__title, .block--article.block--has-link:focus .block__title {
  color: #007366;
}
.block--article-featured, .block--article.block--featured {
  font-size: 1rem;
}
.block--article-featured .block__image-wrap, .block--article.block--featured .block__image-wrap {
  min-height: 100%;
}
.block--article-featured .block__content, .block--article.block--featured .block__content {
  background: #2bbaa0;
  color: #002e23;
  align-items: flex-start;
  padding: 2.5rem 1.4375rem 3.75rem;
}
.block--article-featured .block__content .block__title, .block--article.block--featured .block__content .block__title {
  color: currentColor;
  margin-bottom: 0.675em;
  font-size: clamp(1.875rem, 2.7777777778vw, 2.5rem);
  margin-top: auto;
  line-height: 1.125;
}
.block--article-featured .block__content p:last-child, .block--article.block--featured .block__content p:last-child {
  margin: 0;
}
.block--article-featured .block__content .btn--solid, .block--article.block--featured .block__content .btn--solid {
  margin-top: clamp(1.125rem, 3.9583333333vw, 3.5625rem);
}
.block--article-featured .block__publish-date, .block--article.block--featured .block__publish-date {
  color: currentColor;
}
.block--article-featured .block__tag, .block--article.block--featured .block__tag {
  color: currentColor;
  border-color: currentColor;
}
.block--article-featured .block__meta, .block--article.block--featured .block__meta {
  order: -1;
  margin: 0 0 3.25rem;
  justify-content: space-between;
  width: 100%;
}
.block--article-featured .block__caption, .block--article.block--featured .block__caption {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.block--article-featured .block__inner, .block--article.block--featured .block__inner {
  display: flex;
  flex-direction: column;
}
.block--article-featured .block__inner > div.block__image, .block--article.block--featured .block__inner > div.block__image {
  margin: 0;
}
.slider--mobile-grid {
  --gap: clamp(1.5625rem, 3.1944444444vw, 2.875rem);
}
.slider--mobile-grid .slick-track {
  display: flex;
}
.slider--mobile-grid .slick-slide {
  display: flex;
  height: auto;
  padding-left: var(--gap, 0.9375rem);
}
.slider--mobile-grid .slick-slide > div {
  width: 100%;
}
.slider--mobile-grid .slick-slide {
  width: calc(100vw - 3.75rem);
  max-width: calc(20.4375rem + var(--gap, 0.9375rem));
}
.slider--mobile-grid .slick-list {
  overflow: visible;
  margin-left: calc(var(--gap, 0.9375rem) * -1);
}
.slider--mobile-grid-pagination {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: clamp(1.125rem, 2.8472222222vw, 2.5625rem);
  margin-top: 3.125rem;
}
.slider--mobile-grid-pagination .slick-control {
  background: transparent;
  border: 0.125rem solid #2bbaa0;
  border-radius: 100%;
  font-size: 2.6875rem;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2bbaa0;
  padding: 0;
  z-index: 5;
  transition-property: opacity, background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.slider--mobile-grid-pagination .slick-control[aria-disabled=true], .slider--mobile-grid-pagination .slick-control[disabled], .slider--mobile-grid-pagination .slick-control.slick-disabled {
  opacity: 0.25;
  pointer-events: none;
}
.slider--mobile-grid-pagination .slick-control .slick-control__icon {
  font-size: 0.3488372093em;
  transform-origin: center center;
  padding-left: 0.1764705882em;
}
.slider--mobile-grid-pagination .slick-control .slick-control__icon svg {
  display: block;
  width: var(--icon-width, 1em);
  height: 1em;
  font-size: 1em;
}
.slider--mobile-grid-pagination .slick-control .slick-control__icon svg * {
  stroke: currentColor;
  vector-effect: non-scaling-stroke;
  stroke-width: 0.1375rem;
}
.slider--mobile-grid-pagination .slick-control-hover, .slider--mobile-grid-pagination .slick-control:hover, .slider--mobile-grid-pagination .slick-control:focus {
  background: #2bbaa0;
  color: #002e23;
}
.slider--mobile-grid-pagination .slick-control--prev .slick-control__icon {
  transform: scaleX(-1);
}
.slider--mobile-grid-pagination .slick-dots {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}
.slider--mobile-grid-pagination .slick-dots li {
  margin: 0;
  padding: 0;
}
.slider--mobile-grid-pagination .slick-dots li button {
  padding: 0.25rem;
  display: block;
}
.slider--mobile-grid-pagination .slick-dots li button:before {
  content: "";
  display: block;
  background: rgba(43, 186, 160, 0.3);
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 100%;
  transition-property: background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.slider--mobile-grid-pagination .slick-dots li.slick-active button:before {
  background: #2bbaa0;
}
.section--slider-full .slider--mobile-grid-pagination .slick-dots li button:before {
  background: rgba(0, 46, 35, 0.3);
}
.section--slider-full .slider--mobile-grid-pagination .slick-dots li.slick-active button:before {
  background: #002e23;
}
.slider--mobile-grid-pagination .slick-dots-white li button:before {
  background: rgba(255, 255, 255, 0.3);
}
.slider--mobile-grid-pagination .slick-dots-white li.slick-active button:before {
  background: white;
}
.slider--mobile-grid-pagination .slick-dots {
  order: -1;
  margin-right: auto;
}
.slider--mobile-grid-pagination:empty {
  display: none;
}

.single-footer {
  border-top: 0.3125rem solid #2bbaa0;
  margin-top: clamp(1.6875rem, 4.5833333333vw, 4.125rem);
  padding-top: 1.625rem;
  margin-bottom: clamp(4.0625rem, 13.8888888889vw, 12.5rem);
}

.section--related-articles {
  margin-bottom: clamp(5rem, 9.7222222222vw, 8.75rem);
  overflow: hidden;
}
.section--related-articles .grid {
  --grid-width: 15.8125rem;
  row-gap: clamp(1.875rem, 6.3194444444vw, 5.6875rem);
  column-gap: clamp(1.5625rem, 3.125vw, 2.8125rem);
}
@media (min-width: 992px) {
  .block--article-featured .block__content, .block--article.block--featured .block__content {
    padding: 3.2638888889% 3.75% 3.75%;
  }
  .block--article-featured .block__caption, .block--article.block--featured .block__caption {
    -webkit-line-clamp: 2;
  }
  .block--article-featured .block__inner, .block--article.block--featured .block__inner {
    flex-direction: row;
  }
  .block--article-featured .block__inner > div, .block--article.block--featured .block__inner > div {
    width: 50%;
  }
  .block--article-featured .block__inner > div.block__content, .block--article.block--featured .block__inner > div.block__content {
    max-width: 35.5rem;
  }
  .block--article-featured .block__inner > div.block__image, .block--article.block--featured .block__inner > div.block__image {
    flex-grow: 1;
  }
  .single-footer {
    border-top: 0.375rem solid #2bbaa0;
  }
}
@media (max-width: 991px) {
  .block--article-featured .block__publish-date, .block--article.block--featured .block__publish-date {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px !important;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .btn--icon-hover[data-hover-direction=right] svg, .block--article-hover [data-hover-direction=right].btn--icon.btn--solid-forest svg, .block--article.block--has-link:hover [data-hover-direction=right].btn--icon.btn--solid-forest svg, .block--article.block--has-link:focus [data-hover-direction=right].btn--icon.btn--solid-forest svg, [data-hover-direction=right].btn--icon:hover svg, [data-hover-direction=right].btn--icon:focus svg {
    transform: translateX(0.25rem);
  }
  .btn--icon-hover[data-hover-direction=left] svg, .block--article-hover [data-hover-direction=left].btn--icon.btn--solid-forest svg, .block--article.block--has-link:hover [data-hover-direction=left].btn--icon.btn--solid-forest svg, .block--article.block--has-link:focus [data-hover-direction=left].btn--icon.btn--solid-forest svg, [data-hover-direction=left].btn--icon:hover svg, [data-hover-direction=left].btn--icon:focus svg {
    transform: translateX(-0.25rem);
  }
  .btn--icon-hover[data-hover-direction=down] svg, .block--article-hover [data-hover-direction=down].btn--icon.btn--solid-forest svg, .block--article.block--has-link:hover [data-hover-direction=down].btn--icon.btn--solid-forest svg, .block--article.block--has-link:focus [data-hover-direction=down].btn--icon.btn--solid-forest svg, [data-hover-direction=down].btn--icon:hover svg, [data-hover-direction=down].btn--icon:focus svg {
    transform: translateY(0.25rem);
  }
  .block--article-hover .block__image-wrap img, .block--article.block--has-link:hover .block__image-wrap img, .block--article.block--has-link:focus .block__image-wrap img {
    transform: scale(1.125, 1.125);
  }
}

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